From: Jonathan Bastien-Filiatrault Date: Tue, 4 Aug 2009 01:38:51 +0000 (-0400) Subject: Add state for handshake mtu. X-Git-Tag: gnutls_2_99_0~246 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d36efeead48027dc8ea4f05dac89c1ea65f45d6a;p=thirdparty%2Fgnutls.git Add state for handshake mtu. Signed-off-by: Nikos Mavrogiannopoulos --- diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h index 6b95ae53e2..7a54723224 100644 --- a/lib/gnutls_int.h +++ b/lib/gnutls_int.h @@ -171,6 +171,10 @@ typedef enum transport_t #define HANDSHAKE_HEADER_SIZE (IS_DTLS ? DTLS_HANDSHAKE_HEADER_SIZE : TLS_HANDSHAKE_HEADER_SIZE) #define MAX_HANDSHAKE_HEADER_SIZE DTLS_HANDSHAKE_HEADER_SIZE +/* This is the maximum handshake message size we send without + fragmentation. This currently ignores record layer overhead. */ +#define DTLS_DEFAULT_MTU 1200 + /* the maximum size of the DTLS cookie */ #define DTLS_MAX_COOKIE_SIZE 32 @@ -535,6 +539,7 @@ typedef struct /* For DTLS handshake fragmentation and reassembly. */ uint16_t hsk_write_seq; uint16_t hsk_read_seq; + uint16_t hsk_mtu; } dtls_st; diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c index 88824eaf59..743975db26 100644 --- a/lib/gnutls_state.c +++ b/lib/gnutls_state.c @@ -388,6 +388,7 @@ gnutls_init_dtls (gnutls_session_t * session, /* Flags do nothing, so just copy them into the struct for now. */ (*session)->internals.dtls.flags = flags; + (*session)->internals.dtls.hsk_mtu = DTLS_DEFAULT_MTU; (*session)->internals.transport = GNUTLS_DGRAM; return 0;