summaryrefslogtreecommitdiff
path: root/src/lib/libssl/d1_both.c
diff options
context:
space:
mode:
authorjsing <>2021-01-26 14:22:20 +0000
committerjsing <>2021-01-26 14:22:20 +0000
commitc1474fe27acff975d8a3948fb3b6b72d099ee9ce (patch)
tree693ea078ee47f323e868616964234ef9ea593794 /src/lib/libssl/d1_both.c
parent7602e79fb847dbe732cccb0b75a2591c2792d03e (diff)
downloadopenbsd-c1474fe27acff975d8a3948fb3b6b72d099ee9ce.tar.gz
openbsd-c1474fe27acff975d8a3948fb3b6b72d099ee9ce.tar.bz2
openbsd-c1474fe27acff975d8a3948fb3b6b72d099ee9ce.zip
Move sequence numbers into the new TLSv1.2 record layer.
This allows for all of the DTLS sequence number save/restore code to be removed. ok inoguchi@ "whee!" tb@
Diffstat (limited to 'src/lib/libssl/d1_both.c')
-rw-r--r--src/lib/libssl/d1_both.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/lib/libssl/d1_both.c b/src/lib/libssl/d1_both.c
index 8c4fec589f..ba4e9edd8d 100644
--- a/src/lib/libssl/d1_both.c
+++ b/src/lib/libssl/d1_both.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_both.c,v 1.65 2021/01/19 19:07:39 jsing Exp $ */ 1/* $OpenBSD: d1_both.c,v 1.66 2021/01/26 14:22:19 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -1009,7 +1009,6 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
1009 unsigned long header_length; 1009 unsigned long header_length;
1010 unsigned char seq64be[8]; 1010 unsigned char seq64be[8];
1011 struct dtls1_retransmit_state saved_state; 1011 struct dtls1_retransmit_state saved_state;
1012 unsigned char save_write_sequence[8];
1013 1012
1014 /* 1013 /*
1015 OPENSSL_assert(s->internal->init_num == 0); 1014 OPENSSL_assert(s->internal->init_num == 0);
@@ -1059,14 +1058,6 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
1059 if (!tls12_record_layer_use_write_epoch(s->internal->rl, D1I(s)->w_epoch)) 1058 if (!tls12_record_layer_use_write_epoch(s->internal->rl, D1I(s)->w_epoch))
1060 return 0; 1059 return 0;
1061 1060
1062 if (frag->msg_header.saved_retransmit_state.epoch ==
1063 saved_state.epoch - 1) {
1064 memcpy(save_write_sequence, S3I(s)->write_sequence,
1065 sizeof(S3I(s)->write_sequence));
1066 memcpy(S3I(s)->write_sequence, D1I(s)->last_write_sequence,
1067 sizeof(S3I(s)->write_sequence));
1068 }
1069
1070 ret = dtls1_do_write(s, frag->msg_header.is_ccs ? 1061 ret = dtls1_do_write(s, frag->msg_header.is_ccs ?
1071 SSL3_RT_CHANGE_CIPHER_SPEC : SSL3_RT_HANDSHAKE); 1062 SSL3_RT_CHANGE_CIPHER_SPEC : SSL3_RT_HANDSHAKE);
1072 1063
@@ -1077,14 +1068,6 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
1077 if (!tls12_record_layer_use_write_epoch(s->internal->rl, D1I(s)->w_epoch)) 1068 if (!tls12_record_layer_use_write_epoch(s->internal->rl, D1I(s)->w_epoch))
1078 return 0; 1069 return 0;
1079 1070
1080 if (frag->msg_header.saved_retransmit_state.epoch ==
1081 saved_state.epoch - 1) {
1082 memcpy(D1I(s)->last_write_sequence, S3I(s)->write_sequence,
1083 sizeof(S3I(s)->write_sequence));
1084 memcpy(S3I(s)->write_sequence, save_write_sequence,
1085 sizeof(S3I(s)->write_sequence));
1086 }
1087
1088 D1I(s)->retransmitting = 0; 1071 D1I(s)->retransmitting = 0;
1089 1072
1090 (void)BIO_flush(SSL_get_wbio(s)); 1073 (void)BIO_flush(SSL_get_wbio(s));