summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLeander Schwarz <lschwarz@mozilla.com>2022-08-26 14:35:37 +0000
committerLeander Schwarz <lschwarz@mozilla.com>2022-08-26 14:35:37 +0000
commit907f11ee17ad948a618bb10c00df2a84e107da92 (patch)
tree4707bc9d18afc23eebe050d7567a12b01f575a2c /lib
parent020ba526f583e42f57d7458c4781d97ef7cb5cbb (diff)
downloadnss-hg-907f11ee17ad948a618bb10c00df2a84e107da92.tar.gz
Bug 1779370 - Added Bogo shim client HRR test support. Fixed overwriting of CHInner.random on HRR. r=djackson
Differential Revision: https://phabricator.services.mozilla.com/D151692
Diffstat (limited to 'lib')
-rw-r--r--lib/ssl/tls13ech.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/ssl/tls13ech.c b/lib/ssl/tls13ech.c
index 2c637e719..37d35c5bd 100644
--- a/lib/ssl/tls13ech.c
+++ b/lib/ssl/tls13ech.c
@@ -2416,7 +2416,12 @@ tls13_MaybeHandleEchSignal(sslSocket *ss, const PRUint8 *sh, PRUint32 shLen, PRB
return SECFailure;
}
ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ssl_tls13_encrypted_client_hello_xtn;
- PORT_Memcpy(ss->ssl3.hs.client_random, ss->ssl3.hs.client_inner_random, SSL3_RANDOM_LENGTH);
+
+ /* Only overwrite client_random with client_inner_random if CHInner was
+ * succesfully used for handshake (NOT if HRR is received). */
+ if (!isHrr) {
+ PORT_Memcpy(ss->ssl3.hs.client_random, ss->ssl3.hs.client_inner_random, SSL3_RANDOM_LENGTH);
+ }
}
/* If rejected, leave echHpkeCtx and echPublicName for rejection paths. */
ssl3_CoalesceEchHandshakeHashes(ss);