aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUmmon <[email protected]>2014-12-10 22:25:32 +0100
committerUmmon <[email protected]>2014-12-10 22:25:32 +0100
commit6d2f8d67f2423ba6a337359ecf0188bd52227dce (patch)
tree2a83cbb0a893bff7c04553123022c501c95cdff0
parentMerge pull request #114 from DiamondLovesYou/master (diff)
downloadrust-openssl-6d2f8d67f2423ba6a337359ecf0188bd52227dce.tar.xz
rust-openssl-6d2f8d67f2423ba6a337359ecf0188bd52227dce.zip
Add the openssl function prototype 'HMAC_CTX_cleanup'.
-rw-r--r--openssl-sys/src/lib.rs1
-rw-r--r--src/crypto/hmac.rs8
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;