]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
When resuming a session send only the mandatory extensions.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 9 Jul 2013 07:31:21 +0000 (09:31 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 9 Jul 2013 07:31:21 +0000 (09:31 +0200)
That will make server behavior to conform to TLS RFC. Reported by Peter Dettman.

lib/gnutls_handshake.c

index 2a87e45326ae3322338a54a99321d50a75465033..78a2e5c14db8c5f9e6235e08a32e58d3be338ddb 100644 (file)
@@ -2098,7 +2098,9 @@ _gnutls_send_server_hello (gnutls_session_t session, int again)
     {
       datalen = 2 + session_id_len + 1 + GNUTLS_RANDOM_SIZE + 3;
       ret =
-        _gnutls_gen_extensions (session, &extdata, GNUTLS_EXT_ANY);
+        _gnutls_gen_extensions (session, &extdata, 
+                                (session->internals.resumed==RESUME_TRUE)?
+                                GNUTLS_EXT_MANDATORY:GNUTLS_EXT_ANY);
       if (ret < 0)
         {
           gnutls_assert ();