aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/symm.rs
diff options
context:
space:
mode:
authorValerii Hiora <[email protected]>2014-10-13 17:41:03 +0300
committerValerii Hiora <[email protected]>2014-10-14 08:31:42 +0300
commitdd46d1922e4706cf4c15c8cd915c1254363def8c (patch)
tree9be063d21a6ca4c90f20be1dd54d0dc3144b959f /src/crypto/symm.rs
parentMerge pull request #83 from jmesmon/set-cipher-list (diff)
downloadrust-openssl-dd46d1922e4706cf4c15c8cd915c1254363def8c.tar.xz
rust-openssl-dd46d1922e4706cf4c15c8cd915c1254363def8c.zip
Correct init mutexes and locking function
`libcrypto` uses locks quite intensively even without SSL. So they should be initialized before everything else to function properly in multi-threaded apps in which SSL operations are absent or delayed. Finishes #79
Diffstat (limited to 'src/crypto/symm.rs')
-rw-r--r--src/crypto/symm.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/crypto/symm.rs b/src/crypto/symm.rs
index 9953ac7b..171c1b05 100644
--- a/src/crypto/symm.rs
+++ b/src/crypto/symm.rs
@@ -50,6 +50,8 @@ pub struct Crypter {
impl Crypter {
pub fn new(t: Type) -> Crypter {
+ ffi::init();
+
let ctx = unsafe { ffi::EVP_CIPHER_CTX_new() };
let (evp, keylen, blocksz) = evpc(t);
Crypter { evp: evp, ctx: ctx, keylen: keylen, blocksize: blocksz }