提交 ff12f88b 编写于 作者: D Dr. Stephen Henson

PR: 2218

Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de>

Fixes for DTLS replay bug.
上级 47e6a60e
...@@ -667,14 +667,14 @@ again: ...@@ -667,14 +667,14 @@ again:
if (rr->length == 0) goto again; if (rr->length == 0) goto again;
/* If this record is from the next epoch (either HM or ALERT), /* If this record is from the next epoch (either HM or ALERT),
* buffer it since it cannot be processed at this time. Records * and a handshake is currently in progress, buffer it since it
* from the next epoch are marked as received even though they * cannot be processed at this time. */
* are not processed, so as to prevent any potential resource
* DoS attack */
if (is_next_epoch) if (is_next_epoch)
{ {
dtls1_record_bitmap_update(s, bitmap); if (SSL_in_init(s) || s->in_handshake)
dtls1_buffer_record(s, &(s->d1->unprocessed_rcds), rr->seq_num); {
dtls1_buffer_record(s, &(s->d1->unprocessed_rcds), rr->seq_num);
}
rr->length = 0; rr->length = 0;
s->packet_length = 0; s->packet_length = 0;
goto again; goto again;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册