]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
corrected calculation for max send data and other uses of _gnutls_cipher_type()
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 5 Nov 2014 13:13:55 +0000 (14:13 +0100)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 5 Nov 2014 14:39:30 +0000 (15:39 +0100)
lib/gnutls_constate.c
lib/gnutls_int.h

index 8f7cffba3cfed124d7b8fa3d04c4662d0e698231..f0cde32fda3869d5f085c4c04e84ca954048b1b5 100644 (file)
@@ -199,8 +199,7 @@ _gnutls_init_record_state(record_parameters_st * params,
        gnutls_datum_t *iv = NULL;
 
        if (!_gnutls_version_has_explicit_iv(ver)) {
-               if (_gnutls_cipher_type(params->cipher) !=
-                   CIPHER_STREAM)
+               if (_gnutls_cipher_type(params->cipher) == CIPHER_BLOCK)
                        iv = &state->IV;
        }
 
@@ -344,13 +343,12 @@ int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch)
                    gnutls_assert_val
                    (GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM);
 
-       if (!_gnutls_version_has_explicit_iv(ver)) {
-               if (_gnutls_cipher_type(params->cipher) != CIPHER_STREAM) {
-                       IV_size = _gnutls_cipher_get_iv_size(params->cipher);
-               } else
-                       IV_size = _gnutls_cipher_get_implicit_iv_size(params->cipher);
-       } else
+       if (!_gnutls_version_has_explicit_iv(ver) &&
+           _gnutls_cipher_type(params->cipher) == CIPHER_BLOCK) {
+               IV_size = _gnutls_cipher_get_iv_size(params->cipher);
+       } else {
                IV_size = _gnutls_cipher_get_implicit_iv_size(params->cipher);
+       }
 
        key_size = _gnutls_cipher_get_key_size(params->cipher);
        hash_size = _gnutls_mac_get_key_size(params->mac);
index 0bf16aa7fa548c2033755ed1337af35da7fb37d9..43f58d51a0a58d0a8a6ee396116da1a721a065bb 100644 (file)
@@ -1084,7 +1084,7 @@ inline static size_t max_user_send_size(gnutls_session_t session,
                max = session->security_parameters.max_record_send_size;
                /* DTLS data MTU accounts for those */
 
-               if (_gnutls_cipher_type(record_params->cipher) != CIPHER_STREAM)
+               if (_gnutls_cipher_type(record_params->cipher) == CIPHER_BLOCK)
                        max -=
                            _gnutls_cipher_get_block_size(record_params->
                                                          cipher);