diff options
Diffstat (limited to 'ssl/dtls1.h')
-rw-r--r-- | ssl/dtls1.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ssl/dtls1.h b/ssl/dtls1.h index 6548a98f03..a267ae4377 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 */ + const EVP_MD *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; |