set FIPS permitted flag before initalising digest
[openssl.git] / ssl / dtls1.h
index 73af56d45c14a022ee9ee40912f6828f671c4be5..6317da958fccc2608942d3a39cd7cd4170d45112 100644 (file)
  *
  */
 
-#ifndef HEADER_DTLS1_H 
-#define HEADER_DTLS1_H 
+#ifndef HEADER_DTLS1_H
+#define HEADER_DTLS1_H
 
 #include <openssl/buffer.h>
 #include <openssl/pqueue.h>
+#ifdef OPENSSL_SYS_VMS
+#include <resource.h>
+#include <sys/timeb.h>
+#endif
 #ifdef OPENSSL_SYS_WIN32
 /* Needed for struct timeval */
 #include <winsock.h>
-#elif defined(OPENSSL_SYS_NETWARE)
+#elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
 #include <sys/timeval.h>
+#else
+#include <sys/time.h>
 #endif
 
 #ifdef  __cplusplus
@@ -82,7 +88,7 @@ extern "C" {
 #endif
 
 /* lengths of messages */
-#define DTLS1_COOKIE_LENGTH                     32
+#define DTLS1_COOKIE_LENGTH                     256
 
 #define DTLS1_RT_HEADER_LENGTH                  13
 
@@ -99,6 +105,8 @@ extern "C" {
 #define DTLS1_AL_HEADER_LENGTH                   2
 #endif
 
+#ifndef OPENSSL_NO_SSL_INTERN
+
 
 typedef struct dtls1_bitmap_st
        {
@@ -161,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
@@ -210,6 +219,9 @@ typedef struct dtls1_state_st
         */
        record_pqueue buffered_app_data;
 
+       /* 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;
@@ -243,6 +255,7 @@ typedef struct dtls1_record_data_st
        SSL3_RECORD    rrec;
        } DTLS1_RECORD_DATA;
 
+#endif
 
 /* Timeout multipliers (timeout slice is defined in apps/timeouts.h */
 #define DTLS1_TMO_READ_COUNT                      2