diff options
author | Martin Willi <martin@revosec.ch> | 2012-07-06 11:57:01 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-07-16 14:53:34 +0200 |
commit | f3ca96b2bfd60a9896d89f5e84cb9e737f6f1784 (patch) | |
tree | 735ea423ab2bddba8ffd7b1013af401269b191f6 /src/libstrongswan/plugins/openssl/openssl_sha1_prf.c | |
parent | ecc080b393dda6469a9e21f559a2c2d98e51316f (diff) | |
download | strongswan-f3ca96b2bfd60a9896d89f5e84cb9e737f6f1784.tar.bz2 strongswan-f3ca96b2bfd60a9896d89f5e84cb9e737f6f1784.tar.xz |
Add a return value to prf_t.set_key()
Diffstat (limited to 'src/libstrongswan/plugins/openssl/openssl_sha1_prf.c')
-rw-r--r-- | src/libstrongswan/plugins/openssl/openssl_sha1_prf.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_sha1_prf.c b/src/libstrongswan/plugins/openssl/openssl_sha1_prf.c index 1c6dbd821..8501e2cd4 100644 --- a/src/libstrongswan/plugins/openssl/openssl_sha1_prf.c +++ b/src/libstrongswan/plugins/openssl/openssl_sha1_prf.c @@ -77,11 +77,15 @@ METHOD(prf_t, get_key_size, size_t, return HASH_SIZE_SHA1; } -METHOD(prf_t, set_key, void, +METHOD(prf_t, set_key, bool, private_openssl_sha1_prf_t *this, chunk_t key) { SHA1_Init(&this->ctx); + if (key.len % 4) + { + return FALSE; + } if (key.len >= 4) { this->ctx.h0 ^= untoh32(key.ptr); @@ -102,6 +106,7 @@ METHOD(prf_t, set_key, void, { this->ctx.h4 ^= untoh32(key.ptr + 16); } + return TRUE; } METHOD(prf_t, destroy, void, |