diff options
author | jsing <> | 2021-02-27 14:20:50 +0000 |
---|---|---|
committer | jsing <> | 2021-02-27 14:20:50 +0000 |
commit | b8b749ab9cb50a2020474c26ae7d5e4c211b5f54 (patch) | |
tree | 9d9bf203c33aecbd476a400682a4176e3a1e9c21 /src/lib/libssl/d1_both.c | |
parent | 3bc7015b0673a7431028b69c0d56d0217b79bebd (diff) | |
download | openbsd-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.c | 17 |
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, | |||
1078 | void | 1070 | void |
1079 | dtls1_clear_record_buffer(SSL *s) | 1071 | dtls1_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 | } |