aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy@warmcat.com>2023-10-31 10:50:40 +0000
committerAndy Green <andy@warmcat.com>2023-11-07 06:40:07 +0000
commit5e060e29683229b18c3b21af63693cddc3442ed6 (patch)
treeb41bb80ca10c8ce61812f48dcbc3983649ea54db
parentcf07fef5900e25e581c94666b7ab89b412ea1a50 (diff)
downloadlibwebsockets-5e060e29683229b18c3b21af63693cddc3442ed6.tar.gz
mbedtls: auto adapt to changed session constant
-rw-r--r--cmake/lws_config.h.in1
-rw-r--r--lib/CMakeLists.txt1
-rw-r--r--lib/tls/CMakeLists.txt1
-rw-r--r--lib/tls/mbedtls/CMakeLists.txt2
-rwxr-xr-xlib/tls/mbedtls/wrapper/platform/ssl_pm.c4
5 files changed, 9 insertions, 0 deletions
diff --git a/cmake/lws_config.h.in b/cmake/lws_config.h.in
index f3f4a9d7..e69d0845 100644
--- a/cmake/lws_config.h.in
+++ b/cmake/lws_config.h.in
@@ -78,6 +78,7 @@
#cmakedefine LWS_HAVE_mbedtls_ssl_set_verify
#cmakedefine LWS_HAVE_mbedtls_x509_crt_parse_file
#cmakedefine LWS_HAVE_MBEDTLS_NET_SOCKETS
+#cmakedefine LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET
#cmakedefine LWS_HAVE_MBEDTLS_AUTH_KEY_ID
#cmakedefine LWS_HAVE_NEW_UV_VERSION_H
#cmakedefine LWS_HAVE_OPENSSL_ECDH_H
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 19dc0cf6..fab59a60 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -368,6 +368,7 @@ if (DEFINED LWS_PLAT_UNIX)
endif()
endif()
set(LWS_HAVE_MBEDTLS_NET_SOCKETS ${LWS_HAVE_MBEDTLS_NET_SOCKETS} PARENT_SCOPE)
+set(LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET ${LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET} PARENT_SCOPE)
set(TEST_SERVER_SSL_KEY "${TEST_SERVER_SSL_KEY}" PARENT_SCOPE)
set(TEST_SERVER_SSL_CERT "${TEST_SERVER_SSL_CERT}" PARENT_SCOPE)
set(TEST_SERVER_DATA ${TEST_SERVER_DATA} PARENT_SCOPE)
diff --git a/lib/tls/CMakeLists.txt b/lib/tls/CMakeLists.txt
index f55337cb..e7ab5e00 100644
--- a/lib/tls/CMakeLists.txt
+++ b/lib/tls/CMakeLists.txt
@@ -568,6 +568,7 @@ endif()
exports_to_parent_scope()
set(LWS_HAVE_MBEDTLS_NET_SOCKETS ${LWS_HAVE_MBEDTLS_NET_SOCKETS} PARENT_SCOPE)
+set(LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET ${LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET} PARENT_SCOPE)
set(TEST_SERVER_SSL_KEY "${TEST_SERVER_SSL_KEY}" PARENT_SCOPE)
set(TEST_SERVER_SSL_CERT "${TEST_SERVER_SSL_CERT}" PARENT_SCOPE)
set(TEST_SERVER_DATA ${TEST_SERVER_DATA} PARENT_SCOPE)
diff --git a/lib/tls/mbedtls/CMakeLists.txt b/lib/tls/mbedtls/CMakeLists.txt
index e3415172..6208f182 100644
--- a/lib/tls/mbedtls/CMakeLists.txt
+++ b/lib/tls/mbedtls/CMakeLists.txt
@@ -124,6 +124,7 @@ include_directories(wrapper/include wrapper/include/internal)
# old mbedtls has everything in mbedtls/net.h
CHECK_C_SOURCE_COMPILES("#include <mbedtls/net_sockets.h>\nint main(void) { return 0;}\n" LWS_HAVE_MBEDTLS_NET_SOCKETS)
+CHECK_C_SOURCE_COMPILES("#include <mbedtls/ssl.h>\nint main(void) { return MBEDTLS_SSL_NEW_SESSION_TICKET;}\n" LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET)
#
# Keep explicit parent scope exports at end
@@ -131,3 +132,4 @@ CHECK_C_SOURCE_COMPILES("#include <mbedtls/net_sockets.h>\nint main(void) { retu
exports_to_parent_scope()
set(LWS_HAVE_MBEDTLS_NET_SOCKETS ${LWS_HAVE_MBEDTLS_NET_SOCKETS} PARENT_SCOPE)
+set(LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET ${LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET} PARENT_SCOPE)
diff --git a/lib/tls/mbedtls/wrapper/platform/ssl_pm.c b/lib/tls/mbedtls/wrapper/platform/ssl_pm.c
index 6820b820..e1b7ce2b 100755
--- a/lib/tls/mbedtls/wrapper/platform/ssl_pm.c
+++ b/lib/tls/mbedtls/wrapper/platform/ssl_pm.c
@@ -549,7 +549,11 @@ OSSL_HANDSHAKE_STATE ssl_pm_get_state(const SSL *ssl)
case MBEDTLS_SSL_SERVER_KEY_EXCHANGE:
state = TLS_ST_SR_KEY_EXCH;
break;
+#if defined(LWS_HAVE_MBEDTLS_SSL_NEW_SESSION_TICKET)
+ case MBEDTLS_SSL_NEW_SESSION_TICKET:
+#else
case MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET:
+#endif
state = TLS_ST_SW_SESSION_TICKET;
break;
case MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT: