aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtls/tls_crypto.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-02-07 11:41:56 +0100
committerMartin Willi <martin@revosec.ch>2012-02-07 11:42:57 +0100
commitae10ee6d0b16f392b00e636e9e227aa4988c676a (patch)
tree7081bb2615cfb5d1bc94406140b2e13180c05d1a /src/libtls/tls_crypto.c
parentb96eb46d5c8fa6affc2bbcc8e59ed233f758a4aa (diff)
downloadstrongswan-ae10ee6d0b16f392b00e636e9e227aa4988c676a.tar.bz2
strongswan-ae10ee6d0b16f392b00e636e9e227aa4988c676a.tar.xz
Double check if a cached suite is available, overwrite any old suite state
Diffstat (limited to 'src/libtls/tls_crypto.c')
-rw-r--r--src/libtls/tls_crypto.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libtls/tls_crypto.c b/src/libtls/tls_crypto.c
index d8930acbd..4d84876d0 100644
--- a/src/libtls/tls_crypto.c
+++ b/src/libtls/tls_crypto.c
@@ -1598,7 +1598,7 @@ METHOD(tls_crypto_t, resume_session, tls_cipher_suite_t,
this->suite = this->cache->lookup(this->cache, session, id, &master);
if (this->suite)
{
- select_cipher_suite(this, &this->suite, 1, KEY_ANY);
+ this->suite = select_cipher_suite(this, &this->suite, 1, KEY_ANY);
if (this->suite)
{
this->prf->set_key(this->prf, master);
@@ -1606,8 +1606,9 @@ METHOD(tls_crypto_t, resume_session, tls_cipher_suite_t,
}
chunk_clear(&master);
}
+ return this->suite;
}
- return this->suite;
+ return 0;
}
METHOD(tls_crypto_t, get_session, chunk_t,