Reformat dtls1.h.
Change-Id: If035f44febec2a2717c3aba03f6d05ae290d247b Reviewed-on: https://boringssl-review.googlesource.com/3217 Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
parent
b3774b9619
commit
c39be857a8
@ -55,8 +55,8 @@
|
|||||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
* Hudson (tjh@cryptsoft.com). */
|
* Hudson (tjh@cryptsoft.com). */
|
||||||
|
|
||||||
#ifndef HEADER_DTLS1_H
|
#ifndef OPENSSL_HEADER_DTLS1_H
|
||||||
#define HEADER_DTLS1_H
|
#define OPENSSL_HEADER_DTLS1_H
|
||||||
|
|
||||||
#include <openssl/base.h>
|
#include <openssl/base.h>
|
||||||
#include <openssl/buf.h>
|
#include <openssl/buf.h>
|
||||||
@ -84,11 +84,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define DTLS1_AL_HEADER_LENGTH 2
|
#define DTLS1_AL_HEADER_LENGTH 2
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_SSL_INTERN
|
typedef struct dtls1_bitmap_st {
|
||||||
|
|
||||||
|
|
||||||
typedef struct dtls1_bitmap_st
|
|
||||||
{
|
|
||||||
/* map is a bit mask of the last 64 sequence numbers. Bit
|
/* map is a bit mask of the last 64 sequence numbers. Bit
|
||||||
* |1<<i| corresponds to |max_seq_num - i|. */
|
* |1<<i| corresponds to |max_seq_num - i|. */
|
||||||
uint64_t map;
|
uint64_t map;
|
||||||
@ -97,45 +93,39 @@ typedef struct dtls1_bitmap_st
|
|||||||
uint8_t max_seq_num[8];
|
uint8_t max_seq_num[8];
|
||||||
} DTLS1_BITMAP;
|
} DTLS1_BITMAP;
|
||||||
|
|
||||||
struct dtls1_retransmit_state
|
struct dtls1_retransmit_state {
|
||||||
{
|
|
||||||
SSL_AEAD_CTX *aead_write_ctx;
|
SSL_AEAD_CTX *aead_write_ctx;
|
||||||
SSL_SESSION *session;
|
SSL_SESSION *session;
|
||||||
unsigned short epoch;
|
uint16_t epoch;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hm_header_st
|
struct hm_header_st {
|
||||||
{
|
uint8_t type;
|
||||||
unsigned char type;
|
|
||||||
unsigned long msg_len;
|
unsigned long msg_len;
|
||||||
unsigned short seq;
|
uint16_t seq;
|
||||||
unsigned long frag_off;
|
unsigned long frag_off;
|
||||||
unsigned long frag_len;
|
unsigned long frag_len;
|
||||||
unsigned int is_ccs;
|
unsigned int is_ccs;
|
||||||
struct dtls1_retransmit_state saved_retransmit_state;
|
struct dtls1_retransmit_state saved_retransmit_state;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ccs_header_st
|
struct ccs_header_st {
|
||||||
{
|
uint8_t type;
|
||||||
unsigned char type;
|
uint16_t seq;
|
||||||
unsigned short seq;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct record_pqueue_st
|
typedef struct record_pqueue_st {
|
||||||
{
|
uint16_t epoch;
|
||||||
unsigned short epoch;
|
|
||||||
pqueue q;
|
pqueue q;
|
||||||
} record_pqueue;
|
} record_pqueue;
|
||||||
|
|
||||||
typedef struct hm_fragment_st
|
typedef struct hm_fragment_st {
|
||||||
{
|
|
||||||
struct hm_header_st msg_header;
|
struct hm_header_st msg_header;
|
||||||
unsigned char *fragment;
|
uint8_t *fragment;
|
||||||
unsigned char *reassembly;
|
uint8_t *reassembly;
|
||||||
} hm_fragment;
|
} hm_fragment;
|
||||||
|
|
||||||
typedef struct dtls1_state_st
|
typedef struct dtls1_state_st {
|
||||||
{
|
|
||||||
/* send_cookie is true if we are resending the ClientHello
|
/* send_cookie is true if we are resending the ClientHello
|
||||||
* with a cookie from a HelloVerifyRequest. */
|
* with a cookie from a HelloVerifyRequest. */
|
||||||
unsigned int send_cookie;
|
unsigned int send_cookie;
|
||||||
@ -143,13 +133,10 @@ typedef struct dtls1_state_st
|
|||||||
uint8_t cookie[DTLS1_COOKIE_LENGTH];
|
uint8_t cookie[DTLS1_COOKIE_LENGTH];
|
||||||
size_t cookie_len;
|
size_t cookie_len;
|
||||||
|
|
||||||
/*
|
/* The current data and handshake epoch. This is initially undefined, and
|
||||||
* The current data and handshake epoch. This is initially
|
* starts at zero once the initial handshake is completed. */
|
||||||
* undefined, and starts at zero once the initial handshake is
|
uint16_t r_epoch;
|
||||||
* completed
|
uint16_t w_epoch;
|
||||||
*/
|
|
||||||
unsigned short r_epoch;
|
|
||||||
unsigned short w_epoch;
|
|
||||||
|
|
||||||
/* records being received in the current epoch */
|
/* records being received in the current epoch */
|
||||||
DTLS1_BITMAP bitmap;
|
DTLS1_BITMAP bitmap;
|
||||||
@ -158,13 +145,13 @@ typedef struct dtls1_state_st
|
|||||||
DTLS1_BITMAP next_bitmap;
|
DTLS1_BITMAP next_bitmap;
|
||||||
|
|
||||||
/* handshake message numbers */
|
/* handshake message numbers */
|
||||||
unsigned short handshake_write_seq;
|
uint16_t handshake_write_seq;
|
||||||
unsigned short next_handshake_write_seq;
|
uint16_t next_handshake_write_seq;
|
||||||
|
|
||||||
unsigned short handshake_read_seq;
|
uint16_t handshake_read_seq;
|
||||||
|
|
||||||
/* save last sequence number for retransmissions */
|
/* save last sequence number for retransmissions */
|
||||||
unsigned char last_write_sequence[8];
|
uint8_t last_write_sequence[8];
|
||||||
|
|
||||||
/* Received handshake records (processed and unprocessed) */
|
/* Received handshake records (processed and unprocessed) */
|
||||||
record_pqueue unprocessed_rcds;
|
record_pqueue unprocessed_rcds;
|
||||||
@ -176,11 +163,8 @@ typedef struct dtls1_state_st
|
|||||||
/* Buffered (sent) handshake records */
|
/* Buffered (sent) handshake records */
|
||||||
pqueue sent_messages;
|
pqueue sent_messages;
|
||||||
|
|
||||||
/* Buffered application records.
|
/* Buffered application records. Only for records between CCS and Finished to
|
||||||
* Only for records between CCS and Finished
|
* prevent either protocol violation or unnecessary message loss. */
|
||||||
* to prevent either protocol violation or
|
|
||||||
* unnecessary message loss.
|
|
||||||
*/
|
|
||||||
record_pqueue buffered_app_data;
|
record_pqueue buffered_app_data;
|
||||||
|
|
||||||
unsigned int mtu; /* max DTLS packet size */
|
unsigned int mtu; /* max DTLS packet size */
|
||||||
@ -188,40 +172,38 @@ typedef struct dtls1_state_st
|
|||||||
struct hm_header_st w_msg_hdr;
|
struct hm_header_st w_msg_hdr;
|
||||||
struct hm_header_st r_msg_hdr;
|
struct hm_header_st r_msg_hdr;
|
||||||
|
|
||||||
/* num_timeouts is the number of times the retransmit timer
|
/* num_timeouts is the number of times the retransmit timer has fired since
|
||||||
* has fired since the last time it was reset. */
|
* the last time it was reset. */
|
||||||
unsigned int num_timeouts;
|
unsigned int num_timeouts;
|
||||||
|
|
||||||
/* Indicates when the last handshake msg or heartbeat sent will
|
/* Indicates when the last handshake msg or heartbeat sent will
|
||||||
* timeout. Because of header issues on Windows, this cannot actually
|
* timeout. Because of header issues on Windows, this cannot actually be a
|
||||||
* be a struct timeval. */
|
* struct timeval. */
|
||||||
OPENSSL_timeval next_timeout;
|
OPENSSL_timeval next_timeout;
|
||||||
|
|
||||||
/* Timeout duration */
|
/* Timeout duration */
|
||||||
unsigned short timeout_duration;
|
unsigned short timeout_duration;
|
||||||
|
|
||||||
/* storage for Alert/Handshake protocol data received but not
|
/* storage for Alert/Handshake protocol data received but not yet processed by
|
||||||
* yet processed by ssl3_read_bytes: */
|
* ssl3_read_bytes: */
|
||||||
unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH];
|
uint8_t alert_fragment[DTLS1_AL_HEADER_LENGTH];
|
||||||
unsigned int alert_fragment_len;
|
unsigned int alert_fragment_len;
|
||||||
unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH];
|
uint8_t handshake_fragment[DTLS1_HM_HEADER_LENGTH];
|
||||||
unsigned int handshake_fragment_len;
|
unsigned int handshake_fragment_len;
|
||||||
|
|
||||||
unsigned int change_cipher_spec_ok;
|
unsigned int change_cipher_spec_ok;
|
||||||
} DTLS1_STATE;
|
} DTLS1_STATE;
|
||||||
|
|
||||||
typedef struct dtls1_record_data_st
|
typedef struct dtls1_record_data_st {
|
||||||
{
|
uint8_t *packet;
|
||||||
unsigned char *packet;
|
|
||||||
unsigned int packet_length;
|
unsigned int packet_length;
|
||||||
SSL3_BUFFER rbuf;
|
SSL3_BUFFER rbuf;
|
||||||
SSL3_RECORD rrec;
|
SSL3_RECORD rrec;
|
||||||
} DTLS1_RECORD_DATA;
|
} DTLS1_RECORD_DATA;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
} /* extern C */
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* OPENSSL_HEADER_DTLS1_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user