diff options
| author | Ummon <[email protected]> | 2014-12-10 22:25:32 +0100 |
|---|---|---|
| committer | Ummon <[email protected]> | 2014-12-10 22:25:32 +0100 |
| commit | 6d2f8d67f2423ba6a337359ecf0188bd52227dce (patch) | |
| tree | 2a83cbb0a893bff7c04553123022c501c95cdff0 | |
| parent | Merge pull request #114 from DiamondLovesYou/master (diff) | |
| download | rust-openssl-6d2f8d67f2423ba6a337359ecf0188bd52227dce.tar.xz rust-openssl-6d2f8d67f2423ba6a337359ecf0188bd52227dce.zip | |
Add the openssl function prototype 'HMAC_CTX_cleanup'.
| -rw-r--r-- | openssl-sys/src/lib.rs | 1 | ||||
| -rw-r--r-- | src/crypto/hmac.rs | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 0644a674..1faf749e 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -361,6 +361,7 @@ extern "C" { pub fn HMAC_Init_ex(ctx: *mut HMAC_CTX, key: *const u8, keylen: c_int, md: *const EVP_MD, imple: *const ENGINE); pub fn HMAC_Final(ctx: *mut HMAC_CTX, output: *mut u8, len: *mut c_uint); pub fn HMAC_Update(ctx: *mut HMAC_CTX, input: *const u8, len: c_uint); + pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX); pub fn PEM_read_bio_X509(bio: *mut BIO, out: *mut *mut X509, callback: Option<PasswordCallback>, diff --git a/src/crypto/hmac.rs b/src/crypto/hmac.rs index a7a854b7..8096a948 100644 --- a/src/crypto/hmac.rs +++ b/src/crypto/hmac.rs @@ -61,6 +61,14 @@ impl HMAC { } } +impl Drop for HMAC { + fn drop(&mut self) { + unsafe { + ffi::HMAC_CTX_cleanup(&mut self.ctx); + } + } +} + #[cfg(test)] mod tests { use serialize::hex::FromHex; |