summaryrefslogtreecommitdiff
path: root/src/lib/libssl/d1_both.c
diff options
context:
space:
mode:
authorjsing <>2021-02-27 14:20:50 +0000
committerjsing <>2021-02-27 14:20:50 +0000
commitb8b749ab9cb50a2020474c26ae7d5e4c211b5f54 (patch)
tree9d9bf203c33aecbd476a400682a4176e3a1e9c21 /src/lib/libssl/d1_both.c
parent3bc7015b0673a7431028b69c0d56d0217b79bebd (diff)
downloadopenbsd-b8b749ab9cb50a2020474c26ae7d5e4c211b5f54.tar.gz
openbsd-b8b749ab9cb50a2020474c26ae7d5e4c211b5f54.tar.bz2
openbsd-b8b749ab9cb50a2020474c26ae7d5e4c211b5f54.zip
Move handling of cipher/hash based cipher suites into the new record layer.
ok tb@
Diffstat (limited to 'src/lib/libssl/d1_both.c')
-rw-r--r--src/lib/libssl/d1_both.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/lib/libssl/d1_both.c b/src/lib/libssl/d1_both.c
index 06a8585e10..f4c1cb95b0 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.67 2021/02/20 14:14:16 tb Exp $ */ 1/* $OpenBSD: d1_both.c,v 1.68 2021/02/27 14:20:50 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.
@@ -201,12 +201,6 @@ dtls1_hm_fragment_free(hm_fragment *frag)
201 if (frag == NULL) 201 if (frag == NULL)
202 return; 202 return;
203 203
204 if (frag->msg_header.is_ccs) {
205 EVP_CIPHER_CTX_free(
206 frag->msg_header.saved_retransmit_state.enc_write_ctx);
207 EVP_MD_CTX_free(
208 frag->msg_header.saved_retransmit_state.write_hash);
209 }
210 free(frag->fragment); 204 free(frag->fragment);
211 free(frag->reassembly); 205 free(frag->reassembly);
212 free(frag); 206 free(frag);
@@ -977,8 +971,6 @@ dtls1_buffer_message(SSL *s, int is_ccs)
977 frag->msg_header.is_ccs = is_ccs; 971 frag->msg_header.is_ccs = is_ccs;
978 972
979 /* save current state*/ 973 /* save current state*/
980 frag->msg_header.saved_retransmit_state.enc_write_ctx = s->internal->enc_write_ctx;
981 frag->msg_header.saved_retransmit_state.write_hash = s->internal->write_hash;
982 frag->msg_header.saved_retransmit_state.session = s->session; 974 frag->msg_header.saved_retransmit_state.session = s->session;
983 frag->msg_header.saved_retransmit_state.epoch = D1I(s)->w_epoch; 975 frag->msg_header.saved_retransmit_state.epoch = D1I(s)->w_epoch;
984 976
@@ -1078,11 +1070,16 @@ dtls1_retransmit_message(SSL *s, unsigned short seq, unsigned long frag_off,
1078void 1070void
1079dtls1_clear_record_buffer(SSL *s) 1071dtls1_clear_record_buffer(SSL *s)
1080{ 1072{
1073 hm_fragment *frag;
1081 pitem *item; 1074 pitem *item;
1082 1075
1083 for(item = pqueue_pop(s->d1->sent_messages); item != NULL; 1076 for(item = pqueue_pop(s->d1->sent_messages); item != NULL;
1084 item = pqueue_pop(s->d1->sent_messages)) { 1077 item = pqueue_pop(s->d1->sent_messages)) {
1085 dtls1_hm_fragment_free((hm_fragment *)item->data); 1078 frag = item->data;
1079 if (frag->msg_header.is_ccs)
1080 tls12_record_layer_write_epoch_done(s->internal->rl,
1081 frag->msg_header.saved_retransmit_state.epoch);
1082 dtls1_hm_fragment_free(frag);
1086 pitem_free(item); 1083 pitem_free(item);
1087 } 1084 }
1088} 1085}