Set security level to zero is ssltest
[openssl.git] / ssl / dtls1.h
index 2900d1d8ae85fd22303ae48b316f4295740c5c6f..c6edbe39f9cc1e666db453ebfb67c086c2987dfb 100644 (file)
@@ -57,8 +57,8 @@
  *
  */
 
-#ifndef HEADER_DTLS1_H 
-#define HEADER_DTLS1_H 
+#ifndef HEADER_DTLS1_H
+#define HEADER_DTLS1_H
 
 #include <openssl/buffer.h>
 #include <openssl/pqueue.h>
 #elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_)
 #include <sys/timeval.h>
 #else
+#if defined(OPENSSL_SYS_VXWORKS)
+#include <sys/times.h>
+#else
 #include <sys/time.h>
 #endif
+#endif
 
 #ifdef  __cplusplus
 extern "C" {
@@ -81,6 +85,9 @@ extern "C" {
 
 #define DTLS1_VERSION                  0xFEFF
 #define DTLS1_BAD_VER                  0x0100
+#define DTLS1_2_VERSION                        0xFEFD
+/* Special value for method supporting multiple versions */
+#define DTLS_ANY_VERSION               0x1FFFF
 
 #if 0
 /* this alert description is not specified anywhere... */
@@ -105,6 +112,11 @@ extern "C" {
 #define DTLS1_AL_HEADER_LENGTH                   2
 #endif
 
+#ifndef OPENSSL_NO_SSL_INTERN
+
+#ifndef OPENSSL_NO_SCTP
+#define DTLS1_SCTP_AUTH_LABEL  "EXPORTER_DTLS_OVER_SCTP"
+#endif
 
 typedef struct dtls1_bitmap_st
        {
@@ -227,7 +239,7 @@ typedef struct dtls1_state_st
 
        struct dtls1_timeout_st timeout;
 
-       /* Indicates when the last handshake msg sent will timeout */
+       /* Indicates when the last handshake msg or heartbeat sent will timeout */
        struct timeval next_timeout;
 
        /* Timeout duration */
@@ -243,6 +255,13 @@ typedef struct dtls1_state_st
        unsigned int retransmitting;
        unsigned int change_cipher_spec_ok;
 
+#ifndef OPENSSL_NO_SCTP
+       /* used when SSL_ST_XX_FLUSH is entered */
+       int next_state;
+
+       int shutdown_received;
+#endif
+
        } DTLS1_STATE;
 
 typedef struct dtls1_record_data_st
@@ -251,8 +270,12 @@ typedef struct dtls1_record_data_st
        unsigned int   packet_length;
        SSL3_BUFFER    rbuf;
        SSL3_RECORD    rrec;
+#ifndef OPENSSL_NO_SCTP
+       struct bio_dgram_sctp_rcvinfo recordinfo;
+#endif
        } DTLS1_RECORD_DATA;
 
+#endif
 
 /* Timeout multipliers (timeout slice is defined in apps/timeouts.h */
 #define DTLS1_TMO_READ_COUNT                      2