summaryrefslogtreecommitdiff
path: root/lib/gnutls_handshake.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-12-11 11:04:39 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-12-11 11:04:39 +0100
commit912eda8b0468647dafe9ba91d218adf02f0907a9 (patch)
tree8f09b8d1780de0ca8381c328f556aafb623b4e80 /lib/gnutls_handshake.c
parent272149db43bd82cbcde5ba366295e9810e5b7701 (diff)
downloadgnutls-912eda8b0468647dafe9ba91d218adf02f0907a9.tar.gz
If a ticket is sent to client then don't store the session information in the session cache.
Diffstat (limited to 'lib/gnutls_handshake.c')
-rw-r--r--lib/gnutls_handshake.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 6ab5491b98..153818e324 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2784,7 +2784,6 @@ _gnutls_handshake_common (gnutls_session_t session)
&& session->security_parameters.entity == GNUTLS_SERVER))
{
/* if we are a client resuming - or we are a server not resuming */
-
ret = _gnutls_recv_handshake_final (session, TRUE);
IMED_RET ("recv handshake final", ret, 1);
@@ -2803,8 +2802,9 @@ _gnutls_handshake_common (gnutls_session_t session)
ret = _gnutls_send_handshake_final (session, FALSE);
IMED_RET ("send handshake final", ret, 1);
- /* only store if we are not resuming */
- if (session->security_parameters.entity == GNUTLS_SERVER)
+ /* only store if we are not resuming a session and we didn't previously send a ticket
+ */
+ if (session->security_parameters.entity == GNUTLS_SERVER && session->internals.ticket_sent == 0)
{
/* in order to support session resuming */
_gnutls_server_register_current_session (session);