]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Add state for handshake mtu.
authorJonathan Bastien-Filiatrault <joe@x2a.org>
Tue, 4 Aug 2009 01:38:51 +0000 (21:38 -0400)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 17 Feb 2011 21:43:16 +0000 (22:43 +0100)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
lib/gnutls_int.h
lib/gnutls_state.c

index 6b95ae53e2d080621435f0d96e2d192c155c6d7a..7a5472322434865224e30d62aa2935e47fc29cdb 100644 (file)
@@ -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;
 
 
index 88824eaf597e7c2a32d9d42d5f5981f20bee99ae..743975db2633bcca4a2616f01a2399ce3a94c8fe 100644 (file)
@@ -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;