update NSS as-of pm27 rev 7606140ee

This commit is contained in:
Roy Tam 2020-09-04 22:55:34 +08:00
commit 8015bb7004
24 changed files with 1005 additions and 1400 deletions

View file

@ -113,6 +113,18 @@ TEST_F(Blake2BTests, ContextTest2) {
<< "BLAKE2B_End failed!";
}
TEST_F(Blake2BTests, NullContextTest) {
SECStatus rv = BLAKE2B_Begin(nullptr);
ASSERT_EQ(SECFailure, rv);
rv = BLAKE2B_Update(nullptr, kat_data.data(), 128);
ASSERT_EQ(SECFailure, rv);
std::vector<uint8_t> digest(BLAKE2B512_LENGTH);
rv = BLAKE2B_End(nullptr, digest.data(), nullptr, BLAKE2B512_LENGTH);
ASSERT_EQ(SECFailure, rv);
}
TEST_F(Blake2BTests, CloneTest) {
ScopedBLAKE2BContext ctx(BLAKE2B_NewContext());
ScopedBLAKE2BContext cloned_ctx(BLAKE2B_NewContext());

View file

@ -838,7 +838,7 @@ TEST_F(TlsConnectTest, TestTls13ResumptionDuplicateNST) {
// Clear the session ticket keys to invalidate the old ticket.
SSLInt_ClearSelfEncryptKey();
SSL_SendSessionTicket(server_->ssl_fd(), NULL, 0);
EXPECT_EQ(SECSuccess, SSL_SendSessionTicket(server_->ssl_fd(), NULL, 0));
SendReceive(); // Need to read so that we absorb the session tickets.
CheckKeys();
@ -1005,7 +1005,8 @@ TEST_F(TlsConnectStreamTls13, ExternalResumptionUseSecondTicket) {
state->invoked++;
return SECSuccess;
};
SSL_SetResumptionTokenCallback(client_->ssl_fd(), cb, &ticket_state);
EXPECT_EQ(SECSuccess, SSL_SetResumptionTokenCallback(client_->ssl_fd(), cb,
&ticket_state));
Connect();
EXPECT_EQ(SECSuccess, SSL_SendSessionTicket(server_->ssl_fd(), nullptr, 0));
@ -1446,4 +1447,34 @@ TEST_F(TlsConnectStreamTls13, ExternalTokenAfterHrr) {
SendReceive();
}
TEST_F(TlsConnectStreamTls13, ExternalTokenWithPeerId) {
ConfigureSessionCache(RESUME_BOTH, RESUME_BOTH);
ConfigureVersion(SSL_LIBRARY_VERSION_TLS_1_3);
EXPECT_EQ(SECSuccess, SSL_SetSockPeerID(client_->ssl_fd(), "testPeerId"));
std::vector<uint8_t> ticket_state;
auto cb = [](PRFileDesc* fd, const PRUint8* ticket, unsigned int ticket_len,
void* arg) -> SECStatus {
EXPECT_NE(0U, ticket_len);
EXPECT_NE(nullptr, ticket);
auto ticket_state_ = reinterpret_cast<std::vector<uint8_t>*>(arg);
ticket_state_->assign(ticket, ticket + ticket_len);
return SECSuccess;
};
EXPECT_EQ(SECSuccess, SSL_SetResumptionTokenCallback(client_->ssl_fd(), cb,
&ticket_state));
Connect();
SendReceive();
EXPECT_NE(0U, ticket_state.size());
Reset();
ConfigureSessionCache(RESUME_BOTH, RESUME_BOTH);
EXPECT_EQ(SECSuccess, SSL_SetSockPeerID(client_->ssl_fd(), "testPeerId"));
client_->SetResumptionToken(ticket_state);
ASSERT_TRUE(client_->MaybeSetResumptionToken());
ExpectResumption(RESUME_TICKET);
Connect();
SendReceive();
}
} // namespace nss_test