diff options
author | Leander Schwarz <lschwarz@mozilla.com> | 2022-08-26 14:35:37 +0000 |
---|---|---|
committer | Leander Schwarz <lschwarz@mozilla.com> | 2022-08-26 14:35:37 +0000 |
commit | 907f11ee17ad948a618bb10c00df2a84e107da92 (patch) | |
tree | 4707bc9d18afc23eebe050d7567a12b01f575a2c /lib | |
parent | 020ba526f583e42f57d7458c4781d97ef7cb5cbb (diff) | |
download | nss-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.c | 7 |
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); |