summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2021-06-19 16:38:28 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2021-06-19 16:38:28 +0000
commit9bef4c8b3973ba9abcfe396ebca26ec6bbe268f3 (patch)
tree281db2bdca33c3fa62b8a2ea79e13b8620b995a1
parent8369d17b4d4c1b38b7e2bd0eb981098fa90a4c16 (diff)
Initialise the epoch for the DTLS processed and unprocessed queues.
Currently these only get correctly initialised when dtls1_process_buffered_records() is called - while this works it is more accidental than intentional. ok tb@
-rw-r--r--lib/libssl/d1_lib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libssl/d1_lib.c b/lib/libssl/d1_lib.c
index dbc89e6f465..bc00ab8ca40 100644
--- a/lib/libssl/d1_lib.c
+++ b/lib/libssl/d1_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: d1_lib.c,v 1.54 2021/05/16 13:56:30 jsing Exp $ */
+/* $OpenBSD: d1_lib.c,v 1.55 2021/06/19 16:38:27 jsing Exp $ */
/*
* DTLS implementation written by Nagendra Modadugu
* (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -197,6 +197,9 @@ dtls1_clear(SSL *s)
memset(s->d1, 0, sizeof(*s->d1));
s->d1->internal = internal;
+ D1I(s)->processed_rcds.epoch = D1I(s)->r_epoch;
+ D1I(s)->unprocessed_rcds.epoch = D1I(s)->r_epoch + 1;
+
if (s->server) {
D1I(s)->cookie_len = sizeof(D1I(s)->cookie);
}