--- ssl/d1_both.c 2007-10-17 23:17:49.000000000 +0200 +++ ssl/d1_both.c 2009-01-28 13:57:57.000000000 +0100 @@ -1004,7 +1004,7 @@ frag->msg_header.is_ccs = is_ccs; pq_64bit_init(&seq64); - pq_64bit_assign_word(&seq64, epoch<<16 | frag->msg_header.seq); + pq_64bit_assign_word(&seq64, frag->msg_header.seq); item = pitem_new(seq64, frag); pq_64bit_free(&seq64); ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org
Every sent handshake message is inserted into a sent queue until it
has been acknowledged. When a timeout occurs, all messages in the sent
queue will be repeated. When inserting a message into the queue, its
sequence number bitwise ORed with the current epoch will used as the
index. When a retransmission is necessary, the messages in the queue
are looked up only by the sequence number as index, so nothing will be
found and the retransmission fails. Removing the epoch when generating
the index solves this issue.