summaryrefslogtreecommitdiffstats
path: root/ssl/dtls1.h
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-04-15 14:49:36 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-04-15 14:49:36 +0000
commitc900a78c99cb536a3df41069bccc6f96bbae3d06 (patch)
tree263cda9b93ebaae0673963e9761f0160e2f6f840 /ssl/dtls1.h
parent46ffb2dc979ced1645601dfa2ed7630d07016acb (diff)
PR: 1828
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Approved by: steve@openssl.org Updated DTLS Rentransmission bug patch.
Diffstat (limited to 'ssl/dtls1.h')
-rw-r--r--ssl/dtls1.h17
1 files changed, 17 insertions, 0 deletions
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;