Test that servers enforce session timeouts.
Extend the DTLS mock clock to apply to sessions too and test that
resumption behaves as expected.
Change-Id: Ib8fdec91b36e11cfa032872b63cf589f93b3da13
Reviewed-on: https://boringssl-review.googlesource.com/9110
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/handshake_server.c b/ssl/handshake_server.c
index 4d464d3..8a28c18 100644
--- a/ssl/handshake_server.c
+++ b/ssl/handshake_server.c
@@ -885,11 +885,12 @@
ssl->s3->tlsext_channel_id_valid = 0;
}
- const uint32_t current_time = time(NULL);
- ssl->s3->server_random[0] = current_time >> 24;
- ssl->s3->server_random[1] = current_time >> 16;
- ssl->s3->server_random[2] = current_time >> 8;
- ssl->s3->server_random[3] = current_time;
+ struct timeval now;
+ ssl_get_current_time(ssl, &now);
+ ssl->s3->server_random[0] = now.tv_sec >> 24;
+ ssl->s3->server_random[1] = now.tv_sec >> 16;
+ ssl->s3->server_random[2] = now.tv_sec >> 8;
+ ssl->s3->server_random[3] = now.tv_sec;
if (!RAND_bytes(ssl->s3->server_random + 4, SSL3_RANDOM_SIZE - 4)) {
return -1;
}