]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
session->internals.compression_method was removed. It was no longer required since...
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 12 Mar 2011 23:11:50 +0000 (00:11 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 12 Mar 2011 23:11:50 +0000 (00:11 +0100)
lib/gnutls_constate.c
lib/gnutls_constate.h
lib/gnutls_handshake.c
lib/gnutls_int.h
lib/gnutls_v2_compat.c

index 1397af63aac8b6c52dd8a3b92e198d2624e3d070..a853098fd838c17d40f768f63248b39bdbaf67bf 100644 (file)
@@ -526,6 +526,18 @@ _gnutls_check_algos (gnutls_session_t session,
   return 0;
 }
 
+int _gnutls_epoch_get_compression(gnutls_session_t session, int epoch)
+{
+record_parameters_st *params;
+int ret;
+
+  ret = _gnutls_epoch_get (session, epoch, &params);
+  if (ret < 0)
+    return GNUTLS_COMP_UNKNOWN;
+
+  return params->compression_algorithm;
+}
+
 /* Initializes the read connection session
  * (read encrypted data)
  */
@@ -540,10 +552,11 @@ _gnutls_read_connection_state_init (gnutls_session_t session)
    */
   if (session->internals.resumed == RESUME_FALSE)
     {
+
       ret = _gnutls_check_algos (session,
                                  &session->
                                  security_parameters.current_cipher_suite,
-                                 session->internals.compression_method);
+                                 _gnutls_epoch_get_compression(session, epoch_next));
       if (ret < 0)
         return ret;
 
@@ -591,7 +604,7 @@ _gnutls_write_connection_state_init (gnutls_session_t session)
       ret = _gnutls_check_algos (session,
                                  &session->
                                  security_parameters.current_cipher_suite,
-                                 session->internals.compression_method);
+                                 _gnutls_epoch_get_compression(session, epoch_next));
       if (ret < 0)
         return ret;
 
index 82744cbd70e120fb769003d4998b563acbe85adc..49164a24defbfb37847a0e86345d0477ec97e563 100644 (file)
@@ -30,6 +30,7 @@ int _gnutls_epoch_set_cipher_suite (gnutls_session_t session, int epoch_rel,
                                     cipher_suite_st * suite);
 int _gnutls_epoch_set_compression (gnutls_session_t session, int epoch_rel,
                                    gnutls_compression_method_t comp_algo);
+int _gnutls_epoch_get_compression (gnutls_session_t session, int epoch_rel);
 void _gnutls_epoch_set_null_algos (gnutls_session_t session,
                                    record_parameters_st * params);
 int _gnutls_epoch_set_keys (gnutls_session_t session, uint16_t epoch);
index 1255999c690471197d1a7ea173bf0c635a610a9e..4d906427dfab9bef70953d537f0adfba60296e89 100644 (file)
@@ -1045,8 +1045,6 @@ _gnutls_server_select_comp_method (gnutls_session_t session,
       return x;
     }
 
-  session->internals.compression_method = 0;
-
   for (j = 0; j < datalen; j++)
     {
       for (i = 0; i < x; i++)
@@ -1056,15 +1054,13 @@ _gnutls_server_select_comp_method (gnutls_session_t session,
               gnutls_compression_method_t method =
                 _gnutls_compression_get_id (comps[i]);
 
-              session->internals.compression_method = method;
               gnutls_free (comps);
 
               _gnutls_epoch_set_compression (session, EPOCH_NEXT, method);
 
               _gnutls_handshake_log
                 ("HSK[%p]: Selected Compression Method: %s\n", session,
-                 gnutls_compression_get_name (session->
-                                              internals.compression_method));
+                 gnutls_compression_get_name (method));
 
 
               return 0;
@@ -1553,10 +1549,7 @@ _gnutls_client_set_comp_method (gnutls_session_t session, opaque comp_method)
       return GNUTLS_E_UNKNOWN_COMPRESSION_ALGORITHM;
     }
 
-  session->internals.compression_method =
-    _gnutls_compression_get_id (comp_method);
-  _gnutls_epoch_set_compression (session, EPOCH_NEXT,
-                                 session->internals.compression_method);
+  _gnutls_epoch_set_compression (session, EPOCH_NEXT, _gnutls_compression_get_id(comp_method));
 
   return 0;
 }
@@ -2142,11 +2135,10 @@ _gnutls_send_server_hello (gnutls_session_t session, int again)
       pos += 2;
 
       comp =
-        (uint8_t) _gnutls_compression_get_num (session->internals.
-                                               compression_method);
+        (uint8_t) _gnutls_compression_get_num ( 
+         _gnutls_epoch_get_compression (session, session->security_parameters.epoch_next));
       data[pos++] = comp;
 
-
       if (extdata.length > 0)
         {
           datalen += extdata.length;
index aa8e44f29901af92c836e168c76a78e9cd6d5bb9..1c188175716af887883fc51596d3f31711f9be58 100644 (file)
@@ -646,9 +646,6 @@ typedef struct
   int last_handshake_in;
   int last_handshake_out;
 
-  /* this is the compression method we are going to use */
-  gnutls_compression_method_t compression_method;
-
   /* priorities */
   struct gnutls_priority_st priorities;
 
index 9d78287efecd71db625d9051ff2e48ee220beb0a..add3274305989cf11090eaa0e767b8cafcbf9ff8 100644 (file)
@@ -250,8 +250,7 @@ _gnutls_read_client_hello_v2 (gnutls_session_t session, opaque * data,
       session->internals.resumed = RESUME_FALSE;
     }
 
-  session->internals.compression_method = GNUTLS_COMP_NULL;
-  _gnutls_epoch_set_compression (session, EPOCH_NEXT, session->internals.compression_method);
+  _gnutls_epoch_set_compression (session, EPOCH_NEXT, GNUTLS_COMP_NULL);
 
   return 0;
 }