]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
dtls: Use proper record sequence for DTLS decrypt.
authorJonathan Bastien-Filiatrault <joe@x2a.org>
Sun, 5 Sep 2010 05:29:57 +0000 (01:29 -0400)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 17 Feb 2011 21:50:59 +0000 (22:50 +0100)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
lib/gnutls_cipher.c
lib/gnutls_cipher.h

index 4ba03bfb390b0b63fbeba216334686a4f79065f6..5818394f3e96b37f38f3590eaeff8f620a4382e0 100644 (file)
@@ -142,7 +142,7 @@ int
 _gnutls_decrypt (gnutls_session_t session, opaque * ciphertext,
                  size_t ciphertext_size, uint8_t * data,
                  size_t max_data_size, content_type_t type,
-                 record_parameters_st * params)
+                 record_parameters_st * params, uint64 *sequence)
 {
   gnutls_datum_t gtxt;
   gnutls_datum_t gcipher;
@@ -161,7 +161,7 @@ _gnutls_decrypt (gnutls_session_t session, opaque * ciphertext,
 
   ret =
     _gnutls_ciphertext2compressed (session, data, max_data_size,
-                                   gcipher, type, params);
+                                   gcipher, type, params, sequence);
   if (ret < 0)
     {
       return ret;
@@ -439,7 +439,7 @@ _gnutls_ciphertext2compressed (gnutls_session_t session,
                                opaque * compress_data,
                                int compress_size,
                                gnutls_datum_t ciphertext, uint8_t type,
-                               record_parameters_st * params)
+                               record_parameters_st * params, uint64* sequence)
 {
   uint8_t tag[MAX_HASH_SIZE];
   uint8_t pad;
@@ -497,8 +497,7 @@ _gnutls_ciphertext2compressed (gnutls_session_t session,
        * MAC.
        */
       preamble_size =
-        make_preamble (UINT64DATA
-                       (params->read.sequence_number), type,
+        make_preamble (UINT64DATA(*sequence), type,
                        length, ver, preamble);
 
       _gnutls_auth_cipher_add_auth (&params->read.cipher_state, preamble, preamble_size);
index 5a47f20856201be8f391f54736bfa307f14dbb1e..19667de4bb11e719d04c797f023abb5b6bde9dd6 100644 (file)
@@ -31,4 +31,5 @@ int _gnutls_encrypt (gnutls_session_t session, const opaque * headers,
 
 int _gnutls_decrypt (gnutls_session_t session, opaque * ciphertext,
                      size_t ciphertext_size, uint8_t * data, size_t data_size,
-                     content_type_t type, record_parameters_st * params);
+                     content_type_t type, record_parameters_st * params,
+                     uint64* sequence);