diff options
author | Martin Willi <martin@revosec.ch> | 2014-03-25 09:49:04 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-04-01 14:28:55 +0200 |
commit | ddf5222096321580dd307adcb2d61cbfbb96f463 (patch) | |
tree | 8fe038939cc31142151fcdaf56fa9bd1a67edb09 | |
parent | ac5717c9e914edf89ede26ad1d0cbdf16004a6cb (diff) | |
download | strongswan-ddf5222096321580dd307adcb2d61cbfbb96f463.tar.bz2 strongswan-ddf5222096321580dd307adcb2d61cbfbb96f463.tar.xz |
tls: Introduce a generic TLS purpose that accepts NULL encryption ciphers
-rw-r--r-- | scripts/tls_test.c | 4 | ||||
-rw-r--r-- | src/libtls/tls.c | 1 | ||||
-rw-r--r-- | src/libtls/tls.h | 2 | ||||
-rw-r--r-- | src/libtls/tls_crypto.c | 3 |
4 files changed, 8 insertions, 2 deletions
diff --git a/scripts/tls_test.c b/scripts/tls_test.c index 7ec477aae..3d47f6f7a 100644 --- a/scripts/tls_test.c +++ b/scripts/tls_test.c @@ -105,7 +105,7 @@ static int run_client(host_t *host, identification_t *server, close(fd); return 1; } - tls = tls_socket_create(FALSE, server, client, fd, cache); + tls = tls_socket_create(FALSE, server, client, fd, cache, TRUE); if (!tls) { close(fd); @@ -162,7 +162,7 @@ static int serve(host_t *host, identification_t *server, } DBG1(DBG_TLS, "%#H connected", host); - tls = tls_socket_create(TRUE, server, NULL, cfd, cache); + tls = tls_socket_create(TRUE, server, NULL, cfd, cache, TRUE); if (!tls) { close(fd); diff --git a/src/libtls/tls.c b/src/libtls/tls.c index 7314602b6..6e2955814 100644 --- a/src/libtls/tls.c +++ b/src/libtls/tls.c @@ -447,6 +447,7 @@ tls_t *tls_create(bool is_server, identification_t *server, case TLS_PURPOSE_EAP_TTLS: case TLS_PURPOSE_EAP_PEAP: case TLS_PURPOSE_GENERIC: + case TLS_PURPOSE_GENERIC_NULLOK: break; default: return NULL; diff --git a/src/libtls/tls.h b/src/libtls/tls.h index db332fbbf..fc1d9b9fd 100644 --- a/src/libtls/tls.h +++ b/src/libtls/tls.h @@ -107,6 +107,8 @@ enum tls_purpose_t { TLS_PURPOSE_EAP_PEAP, /** non-EAP TLS */ TLS_PURPOSE_GENERIC, + /** non-EAP TLS accepting NULL encryption */ + TLS_PURPOSE_GENERIC_NULLOK, /** EAP binding for TNC */ TLS_PURPOSE_EAP_TNC }; diff --git a/src/libtls/tls_crypto.c b/src/libtls/tls_crypto.c index 6addad8fe..4f67b20d6 100644 --- a/src/libtls/tls_crypto.c +++ b/src/libtls/tls_crypto.c @@ -1846,6 +1846,9 @@ tls_crypto_t *tls_crypto_create(tls_t *tls, tls_cache_t *cache) case TLS_PURPOSE_GENERIC: build_cipher_suite_list(this, TRUE); break; + case TLS_PURPOSE_GENERIC_NULLOK: + build_cipher_suite_list(this, FALSE); + break; default: break; } |