aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-03-25 09:49:04 +0100
committerMartin Willi <martin@revosec.ch>2014-04-01 14:28:55 +0200
commitddf5222096321580dd307adcb2d61cbfbb96f463 (patch)
tree8fe038939cc31142151fcdaf56fa9bd1a67edb09 /src
parentac5717c9e914edf89ede26ad1d0cbdf16004a6cb (diff)
downloadstrongswan-ddf5222096321580dd307adcb2d61cbfbb96f463.tar.bz2
strongswan-ddf5222096321580dd307adcb2d61cbfbb96f463.tar.xz
tls: Introduce a generic TLS purpose that accepts NULL encryption ciphers
Diffstat (limited to 'src')
-rw-r--r--src/libtls/tls.c1
-rw-r--r--src/libtls/tls.h2
-rw-r--r--src/libtls/tls_crypto.c3
3 files changed, 6 insertions, 0 deletions
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;
}