From 9ea9c195e2c8f01616363a24385894e23cd8e813 Mon Sep 17 00:00:00 2001 From: Kevin Ballard Date: Tue, 26 Nov 2013 01:14:38 -0800 Subject: [PATCH] Update for latest master (0.9-pre b42c438) --- crypto.rs | 1 + hash.rs | 5 ----- hmac.rs | 4 ---- pkcs5.rs | 2 -- pkey.rs | 11 ----------- rand.rs | 1 - symm.rs | 7 ------- 7 files changed, 1 insertion(+), 30 deletions(-) diff --git a/crypto.rs b/crypto.rs index 615e8b43..7ed4bfd9 100644 --- a/crypto.rs +++ b/crypto.rs @@ -16,6 +16,7 @@ */ #[link(name = "crypto", + package_id = "crypto", vers = "0.3", uuid = "38297409-b4c2-4499-8131-a99a7e44dad3")]; #[crate_type = "lib"]; diff --git a/hash.rs b/hash.rs index 2f4e8a05..139ae4ca 100644 --- a/hash.rs +++ b/hash.rs @@ -41,7 +41,6 @@ mod libcrypto { } pub fn evpmd(t: HashType) -> (EVP_MD, uint) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { match t { MD5 => (libcrypto::EVP_md5(), 16u), @@ -62,7 +61,6 @@ pub struct Hasher { impl Hasher { pub fn new(ht: HashType) -> Hasher { - #[fixed_stack_segment]; #[inline(never)]; let ctx = unsafe { libcrypto::EVP_MD_CTX_create() }; let (evp, mdlen) = evpmd(ht); unsafe { @@ -74,7 +72,6 @@ impl Hasher { /// Update this hasher with more input bytes pub fn update(&self, data: &[u8]) { - #[fixed_stack_segment]; #[inline(never)]; do data.as_imm_buf |pdata, len| { unsafe { libcrypto::EVP_DigestUpdate(self.ctx, pdata, len as c_uint) @@ -87,7 +84,6 @@ impl Hasher { * initialization */ pub fn final(&self) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; let mut res = vec::from_elem(self.len, 0u8); do res.as_mut_buf |pres, _len| { unsafe { @@ -100,7 +96,6 @@ impl Hasher { impl Drop for Hasher { fn drop(&mut self) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { libcrypto::EVP_MD_CTX_destroy(self.ctx); } diff --git a/hmac.rs b/hmac.rs index de93b850..510c8b2d 100644 --- a/hmac.rs +++ b/hmac.rs @@ -28,7 +28,6 @@ pub struct HMAC_CTX { } #[link_args = "-lcrypto"] -#[abi = "cdecl"] extern { fn HMAC_CTX_init(ctx: *mut HMAC_CTX, key: *u8, keylen: libc::c_int, md: EVP_MD); @@ -43,7 +42,6 @@ pub struct HMAC { } pub fn HMAC(ht: HashType, key: ~[u8]) -> HMAC { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let (evp, mdlen) = evpmd(ht); @@ -68,7 +66,6 @@ pub fn HMAC(ht: HashType, key: ~[u8]) -> HMAC { impl HMAC { pub fn update(&mut self, data: &[u8]) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { do data.as_imm_buf |pdata, len| { HMAC_Update(&mut self.ctx, pdata, len as libc::c_uint) @@ -77,7 +74,6 @@ impl HMAC { } pub fn final(&mut self) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let mut res = vec::from_elem(self.len, 0u8); let mut outlen: libc::c_uint = 0; diff --git a/pkcs5.rs b/pkcs5.rs index 1be74af9..3c5ba23b 100644 --- a/pkcs5.rs +++ b/pkcs5.rs @@ -14,8 +14,6 @@ mod libcrypto { } /// Derives a key from a password and salt using the PBKDF2-HMAC-SHA1 algorithm. -#[fixed_stack_segment] -#[inline(never)] pub fn pbkdf2_hmac_sha1(pass: &str, salt: &[u8], iter: uint, keylen: uint) -> ~[u8] { assert!(iter >= 1u); diff --git a/pkey.rs b/pkey.rs index 6dab8f05..d59e05f1 100644 --- a/pkey.rs +++ b/pkey.rs @@ -87,7 +87,6 @@ pub struct PKey { /// Represents a public key, optionally with a private key attached. impl PKey { pub fn new() -> PKey { - #[fixed_stack_segment]; #[inline(never)]; PKey { evp: unsafe { libcrypto::EVP_PKEY_new() }, parts: Neither, @@ -95,7 +94,6 @@ impl PKey { } fn _tostr(&self, f: extern "C" unsafe fn(*EVP_PKEY, **mut u8) -> c_int) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let len = f(self.evp, ptr::null()); if len < 0 as c_int { return ~[]; } @@ -111,7 +109,6 @@ impl PKey { } fn _fromstr(&mut self, s: &[u8], f: extern "C" unsafe fn(c_int, **EVP_PKEY, **u8, c_uint) -> *EVP_PKEY) { - #[fixed_stack_segment]; #[inline(never)]; do s.as_imm_buf |ps, len| { let evp = ptr::null(); unsafe { @@ -122,7 +119,6 @@ impl PKey { } pub fn gen(&mut self, keysz: uint) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::RSA_generate_key( keysz as c_uint, @@ -176,7 +172,6 @@ impl PKey { * Returns the size of the public key modulus. */ pub fn size(&self) -> uint { - #[fixed_stack_segment]; #[inline(never)]; unsafe { libcrypto::RSA_size(libcrypto::EVP_PKEY_get1_RSA(self.evp)) as uint } @@ -215,7 +210,6 @@ impl PKey { * call. */ pub fn max_data(&self) -> uint { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::EVP_PKEY_get1_RSA(self.evp); let len = libcrypto::RSA_size(rsa); @@ -226,7 +220,6 @@ impl PKey { } pub fn encrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::EVP_PKEY_get1_RSA(self.evp); let len = libcrypto::RSA_size(rsa); @@ -256,7 +249,6 @@ impl PKey { } pub fn decrypt_with_padding(&self, s: &[u8], padding: EncryptionPadding) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::EVP_PKEY_get1_RSA(self.evp); let len = libcrypto::RSA_size(rsa); @@ -310,7 +302,6 @@ impl PKey { pub fn verify(&self, m: &[u8], s: &[u8]) -> bool { self.verify_with_hash(m, s, SHA256) } pub fn sign_with_hash(&self, s: &[u8], hash: HashType) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::EVP_PKEY_get1_RSA(self.evp); let mut len = libcrypto::RSA_size(rsa); @@ -338,7 +329,6 @@ impl PKey { } pub fn verify_with_hash(&self, m: &[u8], s: &[u8], hash: HashType) -> bool { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let rsa = libcrypto::EVP_PKEY_get1_RSA(self.evp); @@ -362,7 +352,6 @@ impl PKey { impl Drop for PKey { fn drop(&mut self) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { libcrypto::EVP_PKEY_free(self.evp); } diff --git a/rand.rs b/rand.rs index 96473ea4..07a39184 100644 --- a/rand.rs +++ b/rand.rs @@ -11,7 +11,6 @@ mod libcrypto { } pub fn rand_bytes(len: uint) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; let mut out = vec::with_capacity(len); do out.as_mut_buf |out_buf, len| { diff --git a/symm.rs b/symm.rs index 3649dea8..edc408cb 100644 --- a/symm.rs +++ b/symm.rs @@ -59,7 +59,6 @@ pub enum Type { } fn evpc(t: Type) -> (EVP_CIPHER, uint, uint) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { match t { AES_128_ECB => (libcrypto::EVP_aes_128_ecb(), 16u, 16u), @@ -87,7 +86,6 @@ pub struct Crypter { impl Crypter { pub fn new(t: Type) -> Crypter { - #[fixed_stack_segment]; #[inline(never)]; let ctx = unsafe { libcrypto::EVP_CIPHER_CTX_new() }; let (evp, keylen, blocksz) = evpc(t); Crypter { evp: evp, ctx: ctx, keylen: keylen, blocksize: blocksz } @@ -98,7 +96,6 @@ impl Crypter { * data encrypted must be a multiple of block size. */ pub fn pad(&self, padding: bool) { - #[fixed_stack_segment]; #[inline(never)]; if self.blocksize > 0 { unsafe { let v = if padding { 1 } else { 0 } as c_int; @@ -111,7 +108,6 @@ impl Crypter { * Initializes this crypter. */ pub fn init(&self, mode: Mode, key: &[u8], iv: &[u8]) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let mode = match mode { Encrypt => 1 as c_int, @@ -138,7 +134,6 @@ impl Crypter { * encrypted or decrypted bytes. */ pub fn update(&self, data: &[u8]) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { do data.as_imm_buf |pdata, len| { let mut res = vec::from_elem(len + self.blocksize, 0u8); @@ -167,7 +162,6 @@ impl Crypter { * Finish crypting. Returns the remaining partial block of output, if any. */ pub fn final(&self) -> ~[u8] { - #[fixed_stack_segment]; #[inline(never)]; unsafe { let mut res = vec::from_elem(self.blocksize, 0u8); @@ -185,7 +179,6 @@ impl Crypter { impl Drop for Crypter { fn drop(&mut self) { - #[fixed_stack_segment]; #[inline(never)]; unsafe { libcrypto::EVP_CIPHER_CTX_free(self.ctx); }