summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranziskus Kiefer <franziskuskiefer@gmail.com>2018-10-23 14:56:22 +0200
committerFranziskus Kiefer <franziskuskiefer@gmail.com>2018-10-23 14:56:22 +0200
commita52eee6cbaf65cd9640b2fbf8e9058edeca9665b (patch)
treec36e8186df904dd57de57e5a5196cf8f119d44e0
parent7b981d99c8d80bdd5dab437e117a83df0123f994 (diff)
downloadnss-hg-a52eee6cbaf65cd9640b2fbf8e9058edeca9665b.tar.gz
Bug 1499732 - add expiration time to tokenInfo, r=mt
Differential Revision: https://phabricator.services.mozilla.com/D9510
-rw-r--r--gtests/ssl_gtest/ssl_resumption_unittest.cc2
-rw-r--r--lib/ssl/sslexp.h1
-rw-r--r--lib/ssl/sslsock.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/gtests/ssl_gtest/ssl_resumption_unittest.cc b/gtests/ssl_gtest/ssl_resumption_unittest.cc
index 30d74acf7..250ce8653 100644
--- a/gtests/ssl_gtest/ssl_resumption_unittest.cc
+++ b/gtests/ssl_gtest/ssl_resumption_unittest.cc
@@ -1124,6 +1124,8 @@ void CheckGetInfoResult(uint32_t alpnSize, uint32_t earlyDataSize,
EXPECT_EQ(0, memcmp("a", token->alpnSelection, token->alpnSelectionLen));
ASSERT_EQ(earlyDataSize, token->maxEarlyDataSize);
+
+ ASSERT_LT(ssl_TimeUsec(), token->expirationTime);
}
// The client should generate a new, randomized session_id
diff --git a/lib/ssl/sslexp.h b/lib/ssl/sslexp.h
index 15adba4d8..f450e528d 100644
--- a/lib/ssl/sslexp.h
+++ b/lib/ssl/sslexp.h
@@ -367,6 +367,7 @@ typedef struct SSLResumptionTokenInfoStr {
PRUint8 *alpnSelection;
PRUint32 alpnSelectionLen;
PRUint32 maxEarlyDataSize;
+ PRTime expirationTime; /* added in NSS 3.41 */
} SSLResumptionTokenInfo;
/*
diff --git a/lib/ssl/sslsock.c b/lib/ssl/sslsock.c
index e51da197f..ae904e29b 100644
--- a/lib/ssl/sslsock.c
+++ b/lib/ssl/sslsock.c
@@ -4222,6 +4222,7 @@ SSLExp_GetResumptionTokenInfo(const PRUint8 *tokenData, unsigned int tokenLen,
} else {
token.maxEarlyDataSize = 0;
}
+ token.expirationTime = sid.expirationTime;
token.length = PR_MIN(sizeof(SSLResumptionTokenInfo), len);
PORT_Memcpy(tokenOut, &token, token.length);