aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-04-02 20:08:19 -0700
committerSteven Fackler <[email protected]>2015-04-02 20:08:19 -0700
commit129f6c236bedb1b5618cc68c8f331e374ad9384f (patch)
tree334537900cf3d6d55e3b980e69375a407ff0868c
parentRemove two features (diff)
parentFixup for beta (diff)
downloadrust-openssl-129f6c236bedb1b5618cc68c8f331e374ad9384f.tar.xz
rust-openssl-129f6c236bedb1b5618cc68c8f331e374ad9384f.zip
Merge pull request #194 from alexcrichton/beta
Fixup for beta
-rw-r--r--openssl-sys/src/lib.rs12
-rw-r--r--openssl/src/bn/mod.rs6
-rw-r--r--openssl/src/crypto/hash.rs4
-rw-r--r--openssl/src/crypto/hmac.rs2
-rw-r--r--openssl/src/crypto/pkey.rs6
-rw-r--r--openssl/src/crypto/symm.rs4
-rw-r--r--openssl/src/x509/mod.rs4
7 files changed, 25 insertions, 13 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 28db754a..ac1891aa 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -50,6 +50,9 @@ pub struct EVP_MD_CTX {
}
impl Copy for EVP_MD_CTX {}
+impl Clone for EVP_MD_CTX {
+ fn clone(&self) -> EVP_MD_CTX { *self }
+}
#[repr(C)]
pub struct HMAC_CTX {
@@ -62,6 +65,9 @@ pub struct HMAC_CTX {
}
impl Copy for HMAC_CTX {}
+impl Clone for HMAC_CTX {
+ fn clone(&self) -> HMAC_CTX { *self }
+}
#[repr(C)]
pub struct X509V3_CTX {
@@ -77,6 +83,9 @@ pub struct X509V3_CTX {
}
impl Copy for X509V3_CTX {}
+impl Clone for X509V3_CTX {
+ fn clone(&self) -> X509V3_CTX { *self }
+}
#[repr(C)]
pub struct BIGNUM {
@@ -88,6 +97,9 @@ pub struct BIGNUM {
}
impl Copy for BIGNUM {}
+impl Clone for BIGNUM {
+ fn clone(&self) -> BIGNUM { *self }
+}
pub type CRYPTO_EX_new = extern "C" fn(parent: *mut c_void, ptr: *mut c_void,
ad: *const CRYPTO_EX_DATA, idx: c_int,
diff --git a/openssl/src/bn/mod.rs b/openssl/src/bn/mod.rs
index 795788fa..ccf28337 100644
--- a/openssl/src/bn/mod.rs
+++ b/openssl/src/bn/mod.rs
@@ -8,7 +8,7 @@ use ssl::error::SslError;
pub struct BigNum(*mut ffi::BIGNUM);
-#[derive(Copy)]
+#[derive(Copy, Clone)]
#[repr(C)]
pub enum RNGProperty {
MsbMaybeZero = -1,
@@ -196,7 +196,7 @@ impl BigNum {
pub fn div_word(&mut self, w: c_ulong) -> Result<c_ulong, SslError> {
unsafe {
let result = ffi::BN_div_word(self.raw(), w);
- if result != -1 as c_ulong {
+ if result != !0 as c_ulong {
Ok(result)
} else {
Err(SslError::get())
@@ -207,7 +207,7 @@ impl BigNum {
pub fn mod_word(&self, w: c_ulong) -> Result<c_ulong, SslError> {
unsafe {
let result = ffi::BN_mod_word(self.raw(), w);
- if result != -1 as c_ulong {
+ if result != !0 as c_ulong {
Ok(result)
} else {
Err(SslError::get())
diff --git a/openssl/src/crypto/hash.rs b/openssl/src/crypto/hash.rs
index 29e180e5..801d8ca5 100644
--- a/openssl/src/crypto/hash.rs
+++ b/openssl/src/crypto/hash.rs
@@ -6,7 +6,7 @@ use std::io;
use ffi;
/// Message digest (hash) type.
-#[derive(Copy)]
+#[derive(Copy, Clone)]
pub enum Type {
MD5,
SHA1,
@@ -51,7 +51,7 @@ impl Type {
}
}
-#[derive(PartialEq, Copy)]
+#[derive(PartialEq, Copy, Clone)]
enum State {
Reset,
Updated,
diff --git a/openssl/src/crypto/hmac.rs b/openssl/src/crypto/hmac.rs
index dace68aa..a59cb929 100644
--- a/openssl/src/crypto/hmac.rs
+++ b/openssl/src/crypto/hmac.rs
@@ -22,7 +22,7 @@ use std::io::prelude::*;
use crypto::hash::Type;
use ffi;
-#[derive(PartialEq, Copy)]
+#[derive(PartialEq, Copy, Clone)]
enum State {
Reset,
Updated,
diff --git a/openssl/src/crypto/pkey.rs b/openssl/src/crypto/pkey.rs
index e23171ed..9bcc79b6 100644
--- a/openssl/src/crypto/pkey.rs
+++ b/openssl/src/crypto/pkey.rs
@@ -9,7 +9,7 @@ use crypto::hash::Type as HashType;
use ffi;
use ssl::error::{SslError, StreamError};
-#[derive(Copy)]
+#[derive(Copy, Clone)]
enum Parts {
Neither,
Public,
@@ -17,7 +17,7 @@ enum Parts {
}
/// Represents a role an asymmetric key might be appropriate for.
-#[derive(Copy)]
+#[derive(Copy, Clone)]
pub enum Role {
Encrypt,
Decrypt,
@@ -26,7 +26,7 @@ pub enum Role {
}
/// Type of encryption padding to use.
-#[derive(Copy)]
+#[derive(Copy, Clone)]
pub enum EncryptionPadding {
OAEP,
PKCS1v15
diff --git a/openssl/src/crypto/symm.rs b/openssl/src/crypto/symm.rs
index e8bbcf80..62208439 100644
--- a/openssl/src/crypto/symm.rs
+++ b/openssl/src/crypto/symm.rs
@@ -3,14 +3,14 @@ use libc::{c_int};
use ffi;
-#[derive(Copy)]
+#[derive(Copy, Clone)]
pub enum Mode {
Encrypt,
Decrypt,
}
#[allow(non_camel_case_types)]
-#[derive(Copy)]
+#[derive(Copy, Clone)]
pub enum Type {
AES_128_ECB,
AES_128_CBC,
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs
index bce9485e..c19f093d 100644
--- a/openssl/src/x509/mod.rs
+++ b/openssl/src/x509/mod.rs
@@ -20,7 +20,7 @@ use ssl::error::{SslError, StreamError};
#[cfg(test)]
mod tests;
-#[derive(Copy)]
+#[derive(Copy, Clone)]
#[repr(i32)]
pub enum X509FileType {
PEM = ffi::X509_FILETYPE_PEM,
@@ -449,7 +449,7 @@ pub struct X509Name<'x> {
macro_rules! make_validation_error(
($ok_val:ident, $($name:ident = $val:ident,)+) => (
- #[derive(Copy)]
+ #[derive(Copy, Clone)]
pub enum X509ValidationError {
$($name,)+
X509UnknownError(c_int)