projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Compare encodings in X509_cmp as well as hash.
[openssl.git]
/
ssl
/
dtls1.h
diff --git
a/ssl/dtls1.h
b/ssl/dtls1.h
index 73af56d45c14a022ee9ee40912f6828f671c4be5..c6edbe39f9cc1e666db453ebfb67c086c2987dfb 100644
(file)
--- a/
ssl/dtls1.h
+++ b/
ssl/dtls1.h
@@
-57,16
+57,26
@@
*
*/
*
*/
-#ifndef HEADER_DTLS1_H
-#define HEADER_DTLS1_H
+#ifndef HEADER_DTLS1_H
+#define HEADER_DTLS1_H
#include <openssl/buffer.h>
#include <openssl/pqueue.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>
#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>
#include <sys/timeval.h>
+#else
+#if defined(OPENSSL_SYS_VXWORKS)
+#include <sys/times.h>
+#else
+#include <sys/time.h>
+#endif
#endif
#ifdef __cplusplus
#endif
#ifdef __cplusplus
@@
-75,6
+85,9
@@
extern "C" {
#define DTLS1_VERSION 0xFEFF
#define DTLS1_BAD_VER 0x0100
#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... */
#if 0
/* this alert description is not specified anywhere... */
@@
-82,7
+95,7
@@
extern "C" {
#endif
/* lengths of messages */
#endif
/* lengths of messages */
-#define DTLS1_COOKIE_LENGTH
32
+#define DTLS1_COOKIE_LENGTH
256
#define DTLS1_RT_HEADER_LENGTH 13
#define DTLS1_RT_HEADER_LENGTH 13
@@
-99,6
+112,11
@@
extern "C" {
#define DTLS1_AL_HEADER_LENGTH 2
#endif
#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
{
typedef struct dtls1_bitmap_st
{
@@
-161,6
+179,7
@@
typedef struct hm_fragment_st
{
struct hm_header_st msg_header;
unsigned char *fragment;
{
struct hm_header_st msg_header;
unsigned char *fragment;
+ unsigned char *reassembly;
} hm_fragment;
typedef struct dtls1_state_st
} hm_fragment;
typedef struct dtls1_state_st
@@
-210,6
+229,9
@@
typedef struct dtls1_state_st
*/
record_pqueue buffered_app_data;
*/
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;
unsigned int mtu; /* max DTLS packet size */
struct hm_header_st w_msg_hdr;
@@
-217,7
+239,7
@@
typedef struct dtls1_state_st
struct dtls1_timeout_st timeout;
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 */
struct timeval next_timeout;
/* Timeout duration */
@@
-233,6
+255,13
@@
typedef struct dtls1_state_st
unsigned int retransmitting;
unsigned int change_cipher_spec_ok;
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
} DTLS1_STATE;
typedef struct dtls1_record_data_st
@@
-241,8
+270,12
@@
typedef struct dtls1_record_data_st
unsigned int packet_length;
SSL3_BUFFER rbuf;
SSL3_RECORD rrec;
unsigned int packet_length;
SSL3_BUFFER rbuf;
SSL3_RECORD rrec;
+#ifndef OPENSSL_NO_SCTP
+ struct bio_dgram_sctp_rcvinfo recordinfo;
+#endif
} DTLS1_RECORD_DATA;
} DTLS1_RECORD_DATA;
+#endif
/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */
#define DTLS1_TMO_READ_COUNT 2
/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */
#define DTLS1_TMO_READ_COUNT 2