Don't do the final key_share checks if we are in an HRR
authorMatt Caswell <matt@openssl.org>
Mon, 8 May 2017 15:51:47 +0000 (16:51 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 9 May 2017 16:23:58 +0000 (17:23 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3414)

ssl/statem/extensions.c

index 8984577d4fe6d12a819e729f72e2192925e4fbc4..9b16014f7b86bbf89f771b685c477739aaeb1f7b 100644 (file)
@@ -1058,6 +1058,10 @@ static int final_key_share(SSL *s, unsigned int context, int sent, int *al)
     if (!SSL_IS_TLS13(s))
         return 1;
 
     if (!SSL_IS_TLS13(s))
         return 1;
 
+    /* Nothing to do for key_share in an HRR */
+    if ((context & SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST) != 0)
+        return 1;
+
     /*
      * If
      *     we are a client
     /*
      * If
      *     we are a client