Fill in the curve ID for TLS 1.3.

Apparently we forgot to do this.

Change-Id: I348cf6d716ae888fddce69ba4801bf09446f5a72
Reviewed-on: https://boringssl-review.googlesource.com/10503
Reviewed-by: Steven Valdez <svaldez@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index 496c9c4..b3c94d2 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -2145,8 +2145,8 @@
                                         size_t *out_secret_len,
                                         uint8_t *out_alert, CBS *contents) {
   CBS peer_key;
-  uint16_t group;
-  if (!CBS_get_u16(contents, &group) ||
+  uint16_t group_id;
+  if (!CBS_get_u16(contents, &group_id) ||
       !CBS_get_u16_length_prefixed(contents, &peer_key) ||
       CBS_len(contents) != 0) {
     *out_alert = SSL_AD_DECODE_ERROR;
@@ -2155,7 +2155,7 @@
 
   SSL_ECDH_CTX *group_ctx = NULL;
   for (size_t i = 0; i < ssl->s3->hs->groups_len; i++) {
-    if (SSL_ECDH_CTX_get_id(&ssl->s3->hs->groups[i]) == group) {
+    if (SSL_ECDH_CTX_get_id(&ssl->s3->hs->groups[i]) == group_id) {
       group_ctx = &ssl->s3->hs->groups[i];
       break;
     }
@@ -2173,6 +2173,7 @@
     return 0;
   }
 
+  ssl->s3->new_session->key_exchange_info = group_id;
   ssl_handshake_clear_groups(ssl->s3->hs);
   return 1;
 }
@@ -2242,6 +2243,7 @@
     return 0;
   }
 
+  ssl->s3->new_session->key_exchange_info = group_id;
   return 1;
 }
 
diff --git a/ssl/test/runner/runner.go b/ssl/test/runner/runner.go
index ad3a592..c33ca6a 100644
--- a/ssl/test/runner/runner.go
+++ b/ssl/test/runner/runner.go
@@ -6796,7 +6796,10 @@
 				CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
 				CurvePreferences: []CurveID{curve.id},
 			},
-			flags:           []string{"-enable-all-curves"},
+			flags: []string{
+				"-enable-all-curves",
+				"-expect-curve-id", strconv.Itoa(int(curve.id)),
+			},
 			expectedCurveID: curve.id,
 		})
 		testCases = append(testCases, testCase{
@@ -6806,7 +6809,10 @@
 				CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
 				CurvePreferences: []CurveID{curve.id},
 			},
-			flags:           []string{"-enable-all-curves"},
+			flags: []string{
+				"-enable-all-curves",
+				"-expect-curve-id", strconv.Itoa(int(curve.id)),
+			},
 			expectedCurveID: curve.id,
 		})
 		testCases = append(testCases, testCase{
@@ -6817,7 +6823,10 @@
 				CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
 				CurvePreferences: []CurveID{curve.id},
 			},
-			flags:           []string{"-enable-all-curves"},
+			flags: []string{
+				"-enable-all-curves",
+				"-expect-curve-id", strconv.Itoa(int(curve.id)),
+			},
 			expectedCurveID: curve.id,
 		})
 		testCases = append(testCases, testCase{
@@ -6828,7 +6837,10 @@
 				CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
 				CurvePreferences: []CurveID{curve.id},
 			},
-			flags:           []string{"-enable-all-curves"},
+			flags: []string{
+				"-enable-all-curves",
+				"-expect-curve-id", strconv.Itoa(int(curve.id)),
+			},
 			expectedCurveID: curve.id,
 		})
 	}
@@ -7066,9 +7078,9 @@
 	})
 }
 
-func addKeyExchangeInfoTests() {
+func addDHEGroupSizeTests() {
 	testCases = append(testCases, testCase{
-		name: "KeyExchangeInfo-DHE-Client",
+		name: "DHEGroupSize-Client",
 		config: Config{
 			MaxVersion:   VersionTLS12,
 			CipherSuites: []uint16{TLS_DHE_RSA_WITH_AES_128_GCM_SHA256},
@@ -7083,7 +7095,7 @@
 	})
 	testCases = append(testCases, testCase{
 		testType: serverTest,
-		name:     "KeyExchangeInfo-DHE-Server",
+		name:     "DHEGroupSize-Server",
 		config: Config{
 			MaxVersion:   VersionTLS12,
 			CipherSuites: []uint16{TLS_DHE_RSA_WITH_AES_128_GCM_SHA256},
@@ -7091,26 +7103,6 @@
 		// bssl_shim as a server configures a 2048-bit DHE group.
 		flags: []string{"-expect-dhe-group-size", "2048"},
 	})
-
-	testCases = append(testCases, testCase{
-		name: "KeyExchangeInfo-ECDHE-Client",
-		config: Config{
-			MaxVersion:       VersionTLS12,
-			CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
-			CurvePreferences: []CurveID{CurveX25519},
-		},
-		flags: []string{"-expect-curve-id", "29", "-enable-all-curves"},
-	})
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "KeyExchangeInfo-ECDHE-Server",
-		config: Config{
-			MaxVersion:       VersionTLS12,
-			CipherSuites:     []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
-			CurvePreferences: []CurveID{CurveX25519},
-		},
-		flags: []string{"-expect-curve-id", "29", "-enable-all-curves"},
-	})
 }
 
 func addTLS13RecordTests() {
@@ -8200,7 +8192,7 @@
 	addRSAClientKeyExchangeTests()
 	addCurveTests()
 	addCECPQ1Tests()
-	addKeyExchangeInfoTests()
+	addDHEGroupSizeTests()
 	addTLS13RecordTests()
 	addAllStateMachineCoverageTests()
 	addChangeCipherSpecTests()