Fixup for beta

Add derive(Clone) and don't negate unsigned numbers
This commit is contained in:
Alex Crichton 2015-04-02 18:14:51 -07:00
parent f4761bb292
commit 293f1ce5b1
7 changed files with 25 additions and 13 deletions

View File

@ -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,

View File

@ -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())

View File

@ -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,

View File

@ -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,

View File

@ -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

View File

@ -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,

View File

@ -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)