From c900a78c99cb536a3df41069bccc6f96bbae3d06 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 15 Apr 2009 14:49:36 +0000 Subject: PR: 1828 Submitted by: Robin Seggelmann Approved by: steve@openssl.org Updated DTLS Rentransmission bug patch. --- ssl/dtls1.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'ssl/dtls1.h') diff --git a/ssl/dtls1.h b/ssl/dtls1.h index 6ecbc49314..cb8bd7cdfe 100644 --- a/ssl/dtls1.h +++ b/ssl/dtls1.h @@ -102,6 +102,19 @@ typedef struct dtls1_bitmap_st encoding */ } DTLS1_BITMAP; +struct dtls1_retransmit_state + { + EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ + EVP_MD_CTX *write_hash; /* used for mac generation */ +#ifndef OPENSSL_NO_COMP + COMP_CTX *compress; /* compression */ +#else + char *compress; +#endif + SSL_SESSION *session; + unsigned short epoch; + }; + struct hm_header_st { unsigned char type; @@ -110,6 +123,7 @@ struct hm_header_st unsigned long frag_off; unsigned long frag_len; unsigned int is_ccs; + struct dtls1_retransmit_state saved_retransmit_state; }; struct ccs_header_st @@ -169,6 +183,9 @@ typedef struct dtls1_state_st unsigned short handshake_read_seq; + /* save last sequence number for retransmissions */ + unsigned char last_write_sequence[8]; + /* Received handshake records (processed and unprocessed) */ record_pqueue unprocessed_rcds; record_pqueue processed_rcds; -- cgit v1.2.3