aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/openssl/openssl_sha1_prf.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-07-06 11:57:01 +0200
committerMartin Willi <martin@revosec.ch>2012-07-16 14:53:34 +0200
commitf3ca96b2bfd60a9896d89f5e84cb9e737f6f1784 (patch)
tree735ea423ab2bddba8ffd7b1013af401269b191f6 /src/libstrongswan/plugins/openssl/openssl_sha1_prf.c
parentecc080b393dda6469a9e21f559a2c2d98e51316f (diff)
downloadstrongswan-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.c7
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,