From b3b8085ae8ff1eacad3f1815d13548d09976e910 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 23 Aug 2015 22:01:37 +0300 Subject: [PATCH] TLS: Add functions for managing cached session state The new tls_connection_set_success_data(), tls_connection_set_success_data_resumed(), tls_connection_get_success_data(), and tls_connection_remove_session() functions can be used to mark cached sessions valid and to remove invalid cached sessions. This commit is only adding empty functions. The actual functionality will be implemented in followup commits. Signed-off-by: Jouni Malinen --- src/crypto/tls.h | 10 ++++++++++ src/crypto/tls_gnutls.c | 23 +++++++++++++++++++++++ src/crypto/tls_internal.c | 23 +++++++++++++++++++++++ src/crypto/tls_none.c | 23 +++++++++++++++++++++++ src/crypto/tls_openssl.c | 23 +++++++++++++++++++++++ 5 files changed, 102 insertions(+) diff --git a/src/crypto/tls.h b/src/crypto/tls.h index d2196ddc4..2e562339c 100644 --- a/src/crypto/tls.h +++ b/src/crypto/tls.h @@ -575,4 +575,14 @@ void tls_connection_set_test_flags(struct tls_connection *conn, u32 flags); int tls_get_library_version(char *buf, size_t buf_len); +void tls_connection_set_success_data(struct tls_connection *conn, + struct wpabuf *data); + +void tls_connection_set_success_data_resumed(struct tls_connection *conn); + +const struct wpabuf * +tls_connection_get_success_data(struct tls_connection *conn); + +void tls_connection_remove_session(struct tls_connection *conn); + #endif /* TLS_H */ diff --git a/src/crypto/tls_gnutls.c b/src/crypto/tls_gnutls.c index 3c39e5424..f994379b1 100644 --- a/src/crypto/tls_gnutls.c +++ b/src/crypto/tls_gnutls.c @@ -1498,3 +1498,26 @@ int tls_get_library_version(char *buf, size_t buf_len) return os_snprintf(buf, buf_len, "GnuTLS build=%s run=%s", GNUTLS_VERSION, gnutls_check_version(NULL)); } + + +void tls_connection_set_success_data(struct tls_connection *conn, + struct wpabuf *data) +{ +} + + +void tls_connection_set_success_data_resumed(struct tls_connection *conn) +{ +} + + +const struct wpabuf * +tls_connection_get_success_data(struct tls_connection *conn) +{ + return NULL; +} + + +void tls_connection_remove_session(struct tls_connection *conn) +{ +} diff --git a/src/crypto/tls_internal.c b/src/crypto/tls_internal.c index 79f14a3a2..704751d30 100644 --- a/src/crypto/tls_internal.c +++ b/src/crypto/tls_internal.c @@ -708,3 +708,26 @@ int tls_get_library_version(char *buf, size_t buf_len) { return os_snprintf(buf, buf_len, "internal"); } + + +void tls_connection_set_success_data(struct tls_connection *conn, + struct wpabuf *data) +{ +} + + +void tls_connection_set_success_data_resumed(struct tls_connection *conn) +{ +} + + +const struct wpabuf * +tls_connection_get_success_data(struct tls_connection *conn) +{ + return NULL; +} + + +void tls_connection_remove_session(struct tls_connection *conn) +{ +} diff --git a/src/crypto/tls_none.c b/src/crypto/tls_none.c index 1f8c9b4c4..ae392ad8a 100644 --- a/src/crypto/tls_none.c +++ b/src/crypto/tls_none.c @@ -193,3 +193,26 @@ int tls_get_library_version(char *buf, size_t buf_len) { return os_snprintf(buf, buf_len, "none"); } + + +void tls_connection_set_success_data(struct tls_connection *conn, + struct wpabuf *data) +{ +} + + +void tls_connection_set_success_data_resumed(struct tls_connection *conn) +{ +} + + +const struct wpabuf * +tls_connection_get_success_data(struct tls_connection *conn) +{ + return NULL; +} + + +void tls_connection_remove_session(struct tls_connection *conn) +{ +} diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c index 62e18c8bd..d40eea6cd 100644 --- a/src/crypto/tls_openssl.c +++ b/src/crypto/tls_openssl.c @@ -4013,3 +4013,26 @@ int tls_get_library_version(char *buf, size_t buf_len) OPENSSL_VERSION_TEXT, SSLeay_version(SSLEAY_VERSION)); } + + +void tls_connection_set_success_data(struct tls_connection *conn, + struct wpabuf *data) +{ +} + + +void tls_connection_set_success_data_resumed(struct tls_connection *conn) +{ +} + + +const struct wpabuf * +tls_connection_get_success_data(struct tls_connection *conn) +{ + return NULL; +} + + +void tls_connection_remove_session(struct tls_connection *conn) +{ +}