diff options
author | Martin Willi <martin@revosec.ch> | 2010-08-24 08:42:10 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2010-08-24 08:45:49 +0200 |
commit | bda7d9d940d73f0a0d5b19136d99ea16b5178844 (patch) | |
tree | 482cdf48130be6d2e250fe9210661b840baac7ff /src/libtls/tls_crypto.c | |
parent | f55f9c4e1ed1b0cfdd9e0ae75b4b76ec22ff80b4 (diff) | |
download | strongswan-bda7d9d940d73f0a0d5b19136d99ea16b5178844.tar.bz2 strongswan-bda7d9d940d73f0a0d5b19136d99ea16b5178844.tar.xz |
Added generic TLS purposes
Diffstat (limited to 'src/libtls/tls_crypto.c')
-rw-r--r-- | src/libtls/tls_crypto.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/libtls/tls_crypto.c b/src/libtls/tls_crypto.c index a12944af1..12c6b9851 100644 --- a/src/libtls/tls_crypto.c +++ b/src/libtls/tls_crypto.c @@ -862,13 +862,16 @@ METHOD(tls_crypto_t, change_cipher, void, METHOD(tls_crypto_t, derive_eap_msk, void, private_tls_crypto_t *this, chunk_t client_random, chunk_t server_random) { - chunk_t seed; + if (this->msk_label) + { + chunk_t seed; - seed = chunk_cata("cc", client_random, server_random); - free(this->msk.ptr); - this->msk = chunk_alloc(64); - this->prf->get_bytes(this->prf, this->msk_label, seed, - this->msk.len, this->msk.ptr); + seed = chunk_cata("cc", client_random, server_random); + free(this->msk.ptr); + this->msk = chunk_alloc(64); + this->prf->get_bytes(this->prf, this->msk_label, seed, + this->msk.len, this->msk.ptr); + } } METHOD(tls_crypto_t, get_eap_msk, chunk_t, @@ -931,6 +934,10 @@ tls_crypto_t *tls_crypto_create(tls_t *tls) this->msk_label = "ttls keying material"; build_cipher_suite_list(this, TRUE); break; + case TLS_PURPOSE_GENERIC: + case TLS_PURPOSE_GENERIC_CLIENT_AUTH: + build_cipher_suite_list(this, TRUE); + break; } return &this->public; } |