]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Add proper handshake outgoing sequence number.
authorJonathan Bastien-Filiatrault <joe@x2a.org>
Mon, 3 Aug 2009 19:10:27 +0000 (15:10 -0400)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 17 Feb 2011 21:43:06 +0000 (22:43 +0100)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
lib/gnutls_handshake.c
lib/gnutls_int.h

index b48e5e760784d7f6244b4725aae3e515d0ec468d..4872e50544fd0b55d8b459695954ac67bf993d4c 100644 (file)
@@ -1197,8 +1197,7 @@ _gnutls_send_handshake (gnutls_session_t session, mbuffer_st * bufel,
    * message was sent in a single fragment. */
   if (_gnutls_is_dtls(session))
     {
-      /* FIXME: dummy sequence number */
-      _gnutls_write_uint16 (0, &data[pos]);
+      _gnutls_write_uint16 (session->internals.dtls.hsk_write_seq++, &data[pos]);
       pos += 2;
 
       /* Fragment offset */
index c9def019b5014871d9dcc218821510e175f4306a..6b95ae53e2d080621435f0d96e2d192c155c6d7a 100644 (file)
@@ -529,7 +529,12 @@ typedef struct
   /* HelloVerifyRequest DOS prevention cookie */
   opaque  cookie[DTLS_MAX_COOKIE_SIZE];
   uint8_t cookie_len;
+
   gnutls_dtls_flags_t flags;
+
+  /* For DTLS handshake fragmentation and reassembly. */
+  uint16_t hsk_write_seq;
+  uint16_t hsk_read_seq;
 } dtls_st;