X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fdtls1.h;h=448c254be3a23beb4000fbe095467fc2a00daca0;hb=20d171377f3dbe54d298aa0d0d267ac77f28ce5c;hp=177e55cd9f143fc9541f7b9da2bfa1656a04d81f;hpb=eb38b26dbc2dd15bb6e0a351d0826e7da09b1782;p=oweals%2Fopenssl.git diff --git a/ssl/dtls1.h b/ssl/dtls1.h index 177e55cd9f..448c254be3 100644 --- a/ssl/dtls1.h +++ b/ssl/dtls1.h @@ -57,11 +57,25 @@ * */ -#ifndef HEADER_DTLS1_H -#define HEADER_DTLS1_H +#ifndef HEADER_DTLS1_H +#define HEADER_DTLS1_H + +/* Unless _XOPEN_SOURCE_EXTENDED is defined, struct timeval will not be + properly defined with DEC C, at least on VMS */ +#if defined(__DECC) || defined(__DECCXX) +#define _XOPEN_SOURCE_EXTENDED +#endif #include #include +#ifdef OPENSSL_SYS_WIN32 +/* Needed for struct timeval */ +#include +#elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) +#include +#else +#include +#endif #ifdef __cplusplus extern "C" { @@ -76,7 +90,7 @@ extern "C" { #endif /* lengths of messages */ -#define DTLS1_COOKIE_LENGTH 32 +#define DTLS1_COOKIE_LENGTH 256 #define DTLS1_RT_HEADER_LENGTH 13 @@ -155,6 +169,7 @@ typedef struct hm_fragment_st { struct hm_header_st msg_header; unsigned char *fragment; + unsigned char *reassembly; } hm_fragment; typedef struct dtls1_state_st @@ -204,7 +219,10 @@ typedef struct dtls1_state_st */ record_pqueue buffered_app_data; - unsigned int mtu; /* max wire packet size */ + /* Is set when listening for new connections with dtls1_listen() */ + unsigned int listen; + + unsigned int mtu; /* max DTLS packet size */ struct hm_header_st w_msg_hdr; struct hm_header_st r_msg_hdr; @@ -225,6 +243,7 @@ typedef struct dtls1_state_st unsigned int handshake_fragment_len; unsigned int retransmitting; + unsigned int change_cipher_spec_ok; } DTLS1_STATE;