gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_3_0_8-59-g9a7543f


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_3_0_8-59-g9a7543f
Date: Tue, 13 Dec 2011 19:09:03 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=9a7543f23b18907f37efbf8bf1f05560c902402f

The branch, master has been updated
       via  9a7543f23b18907f37efbf8bf1f05560c902402f (commit)
      from  070113ec2142111ee741e47b7c76aea20c9ceb38 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9a7543f23b18907f37efbf8bf1f05560c902402f
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Tue Dec 13 20:08:02 2011 +0100

    cipher_suite_st is no longer used internally. We only use a point to 2 
bytes.

-----------------------------------------------------------------------

Summary of changes:
 lib/algorithms.h              |   15 +--
 lib/algorithms/ciphersuites.c |  226 ++++++++++++++++++++--------------------
 lib/auth/dh_common.c          |    2 +-
 lib/auth/rsa.c                |    2 +-
 lib/auth/rsa_export.c         |    2 +-
 lib/gnutls_auth.c             |   12 +-
 lib/gnutls_constate.c         |   30 +++---
 lib/gnutls_constate.h         |    2 +-
 lib/gnutls_handshake.c        |   79 +++++++--------
 lib/gnutls_int.h              |    7 +-
 lib/gnutls_session_pack.c     |   13 +--
 lib/gnutls_state.c            |   14 ++--
 lib/gnutls_v2_compat.c        |    8 +-
 13 files changed, 193 insertions(+), 219 deletions(-)

diff --git a/lib/algorithms.h b/lib/algorithms.h
index d588811..6b78505 100644
--- a/lib/algorithms.h
+++ b/lib/algorithms.h
@@ -61,18 +61,13 @@ const char *_gnutls_digest_get_name 
(gnutls_digest_algorithm_t algorithm);
 /* Functions for cipher suites. */
 int _gnutls_supported_ciphersuites (gnutls_session_t session,
                                     uint8_t* cipher_suites, int 
max_cipher_suite_size);
-const char *_gnutls_cipher_suite_get_name (cipher_suite_st * algorithm);
-gnutls_mac_algorithm_t _gnutls_cipher_suite_get_prf (const cipher_suite_st * 
suite);
+const char *_gnutls_cipher_suite_get_name (const uint8_t suite[2]);
+gnutls_mac_algorithm_t _gnutls_cipher_suite_get_prf (const uint8_t suite[2]);
 gnutls_cipher_algorithm_t _gnutls_cipher_suite_get_cipher_algo (const
-                                                                cipher_suite_st
-                                                                * algorithm);
-gnutls_kx_algorithm_t _gnutls_cipher_suite_get_kx_algo (const cipher_suite_st
-                                                        * algorithm);
+                                                                uint8_t 
suite[2]);
+gnutls_kx_algorithm_t _gnutls_cipher_suite_get_kx_algo (const uint8_t 
suite[2]);
 gnutls_mac_algorithm_t _gnutls_cipher_suite_get_mac_algo (const
-                                                          cipher_suite_st *
-                                                          algorithm);
-cipher_suite_st _gnutls_cipher_suite_get_suite_name (cipher_suite_st *
-                                                     algorithm);
+                                                          uint8_t suite[2]);
 
 /* Functions for ciphers. */
 int _gnutls_cipher_is_block (gnutls_cipher_algorithm_t algorithm);
diff --git a/lib/algorithms/ciphersuites.c b/lib/algorithms/ciphersuites.c
index 6b4f034..88ce7ad 100644
--- a/lib/algorithms/ciphersuites.c
+++ b/lib/algorithms/ciphersuites.c
@@ -26,15 +26,15 @@
 #include <x509/common.h>
 
 /* Cipher SUITES */
-#define GNUTLS_CIPHER_SUITE_ENTRY( name, block_algorithm, kx_algorithm, 
mac_algorithm, min_version, max_version, dtls ) \
-       { #name, {name}, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls, GNUTLS_MAC_SHA256}
-#define GNUTLS_CIPHER_SUITE_ENTRY_PRF( name, block_algorithm, kx_algorithm, 
mac_algorithm, min_version, max_version, dtls, prf ) \
-       { #name, {name}, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls, prf}
+#define ENTRY( name, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls ) \
+       { #name, name, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls, GNUTLS_MAC_SHA256}
+#define ENTRY_PRF( name, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls, prf ) \
+       { #name, name, block_algorithm, kx_algorithm, mac_algorithm, 
min_version, max_version, dtls, prf}
 
 typedef struct
 {
   const char *name;
-  const cipher_suite_st id;
+  const uint8_t id[2];
   gnutls_cipher_algorithm_t block_algorithm;
   gnutls_kx_algorithm_t kx_algorithm;
   gnutls_mac_algorithm_t mac_algorithm;
@@ -220,452 +220,452 @@ typedef struct
 
 static const gnutls_cipher_suite_entry cs_algorithms[] = {
   /* DH_ANON */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_ARCFOUR_MD5,
+  ENTRY (GNUTLS_DH_ANON_ARCFOUR_MD5,
                              GNUTLS_CIPHER_ARCFOUR_128,
                              GNUTLS_KX_ANON_DH, GNUTLS_MAC_MD5,
                              GNUTLS_SSL3, GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_DH_ANON_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_DH_ANON_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_DH_ANON_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA1,
+  ENTRY (GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_128_CBC,
                              GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA1,
+  ENTRY (GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_256_CBC,
                              GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_DH_ANON_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_AES_256_CBC_SHA256,
+  ENTRY (GNUTLS_DH_ANON_AES_256_CBC_SHA256,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
 
   /* PSK */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_SHA_ARCFOUR_SHA1,
+  ENTRY (GNUTLS_PSK_SHA_ARCFOUR_SHA1,
                              GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_SHA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_PSK_SHA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_SHA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_PSK_SHA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_SHA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_PSK_SHA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_PSK_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_PSK_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_PSK,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_PSK_NULL_SHA256,
+  ENTRY (GNUTLS_PSK_NULL_SHA256,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
   /* DHE-PSK */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_SHA_ARCFOUR_SHA1,
+  ENTRY (GNUTLS_DHE_PSK_SHA_ARCFOUR_SHA1,
                              GNUTLS_CIPHER_ARCFOUR, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_PSK_SHA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_SHA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_PSK_SHA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_SHA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_PSK_SHA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_DHE_PSK_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_DHE_PSK_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_PSK_NULL_SHA256,
+  ENTRY (GNUTLS_DHE_PSK_NULL_SHA256,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_DHE_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
   /* SRP */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_DSS_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_RSA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_SRP_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_DSS_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_DSS_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_RSA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_RSA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_SRP_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_DSS_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_DSS_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_SRP_SHA_RSA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_SRP_SHA_RSA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_SRP_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
 
   /* DHE_DSS */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_ARCFOUR_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_ARCFOUR_SHA1,
                              GNUTLS_CIPHER_ARCFOUR_128, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_128_CBC,
                              GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_256_CBC,
                              GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_DHE_DSS_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_AES_256_CBC_SHA256,
+  ENTRY (GNUTLS_DHE_DSS_AES_256_CBC_SHA256,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
   /* DHE_RSA */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_RSA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_RSA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_128_CBC,
                              GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1,
+  ENTRY (GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_256_CBC,
                              GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_DHE_RSA_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_AES_256_CBC_SHA256,
+  ENTRY (GNUTLS_DHE_RSA_AES_256_CBC_SHA256,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
   /* RSA-NULL */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_NULL_MD5,
+  ENTRY (GNUTLS_RSA_NULL_MD5,
                              GNUTLS_CIPHER_NULL,
                              GNUTLS_KX_RSA, GNUTLS_MAC_MD5, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_NULL_SHA1,
+  ENTRY (GNUTLS_RSA_NULL_SHA1,
                              GNUTLS_CIPHER_NULL,
                              GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_NULL_SHA256,
+  ENTRY (GNUTLS_RSA_NULL_SHA256,
                              GNUTLS_CIPHER_NULL,
                              GNUTLS_KX_RSA, GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
 
   /* RSA-EXPORT */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_EXPORT_ARCFOUR_40_MD5,
+  ENTRY (GNUTLS_RSA_EXPORT_ARCFOUR_40_MD5,
                              GNUTLS_CIPHER_ARCFOUR_40,
                              GNUTLS_KX_RSA_EXPORT, GNUTLS_MAC_MD5,
                              GNUTLS_SSL3, GNUTLS_TLS1_0, 0),
 
   /* RSA */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_ARCFOUR_SHA1,
+  ENTRY (GNUTLS_RSA_ARCFOUR_SHA1,
                              GNUTLS_CIPHER_ARCFOUR_128,
                              GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_ARCFOUR_MD5,
+  ENTRY (GNUTLS_RSA_ARCFOUR_MD5,
                              GNUTLS_CIPHER_ARCFOUR_128,
                              GNUTLS_KX_RSA, GNUTLS_MAC_MD5, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 0),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_3DES_EDE_CBC_SHA1,
+  ENTRY (GNUTLS_RSA_3DES_EDE_CBC_SHA1,
                              GNUTLS_CIPHER_3DES_CBC,
                              GNUTLS_KX_RSA, GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_AES_128_CBC_SHA1,
+  ENTRY (GNUTLS_RSA_AES_128_CBC_SHA1,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_AES_256_CBC_SHA1,
+  ENTRY (GNUTLS_RSA_AES_256_CBC_SHA1,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_SSL3,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_CAMELLIA_128_CBC_SHA1,
+  ENTRY (GNUTLS_RSA_CAMELLIA_128_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_128_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_CAMELLIA_256_CBC_SHA1,
+  ENTRY (GNUTLS_RSA_CAMELLIA_256_CBC_SHA1,
                              GNUTLS_CIPHER_CAMELLIA_256_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_RSA_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_AES_256_CBC_SHA256,
+  ENTRY (GNUTLS_RSA_AES_256_CBC_SHA256,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_RSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
 /* GCM */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_RSA_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_RSA_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_RSA,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_RSA_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_DHE_RSA_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_RSA,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DHE_DSS_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_DHE_DSS_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_DHE_DSS,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_DH_ANON_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_DH_ANON_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ANON_DH,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
 /* ECC-ANON */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDH_ANON_NULL_SHA,
+  ENTRY (GNUTLS_ECDH_ANON_NULL_SHA,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_ANON_ECDH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDH_ANON_3DES_EDE_CBC_SHA,
+  ENTRY (GNUTLS_ECDH_ANON_3DES_EDE_CBC_SHA,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ANON_ECDH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDH_ANON_AES_128_CBC_SHA,
+  ENTRY (GNUTLS_ECDH_ANON_AES_128_CBC_SHA,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ANON_ECDH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDH_ANON_AES_256_CBC_SHA,
+  ENTRY (GNUTLS_ECDH_ANON_AES_256_CBC_SHA,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ANON_ECDH,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
 /* ECC-RSA */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_NULL_SHA,
+  ENTRY (GNUTLS_ECDHE_RSA_NULL_SHA,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_AES_128_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_RSA_AES_128_CBC_SHA,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_AES_256_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_RSA_AES_256_CBC_SHA,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
   /* ECDHE-ECDSA */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_NULL_SHA,
+  ENTRY (GNUTLS_ECDHE_ECDSA_NULL_SHA,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
   /* More ECC */
 
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_ECDSA,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256,
+  ENTRY (GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256,
                              GNUTLS_CIPHER_AES_128_GCM, GNUTLS_KX_ECDHE_RSA,
                              GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                              GNUTLS_VERSION_MAX, 1),
   /* ECC - PSK */
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_PSK_3DES_EDE_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_PSK_3DES_EDE_CBC_SHA,
                              GNUTLS_CIPHER_3DES_CBC, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_PSK_AES_128_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_PSK_AES_128_CBC_SHA,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_PSK_AES_256_CBC_SHA,
+  ENTRY (GNUTLS_ECDHE_PSK_AES_256_CBC_SHA,
                              GNUTLS_CIPHER_AES_256_CBC, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA1, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_PSK_AES_128_CBC_SHA256,
+  ENTRY (GNUTLS_ECDHE_PSK_AES_128_CBC_SHA256,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY_PRF (GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384,
+  ENTRY_PRF (GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384,
                              GNUTLS_CIPHER_AES_128_CBC, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA384, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1, GNUTLS_MAC_SHA384),
-  GNUTLS_CIPHER_SUITE_ENTRY (GNUTLS_ECDHE_PSK_NULL_SHA256,
+  ENTRY (GNUTLS_ECDHE_PSK_NULL_SHA256,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA256, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1),
-  GNUTLS_CIPHER_SUITE_ENTRY_PRF (GNUTLS_ECDHE_PSK_NULL_SHA384,
+  ENTRY_PRF (GNUTLS_ECDHE_PSK_NULL_SHA384,
                              GNUTLS_CIPHER_NULL, GNUTLS_KX_ECDHE_PSK,
                              GNUTLS_MAC_SHA384, GNUTLS_TLS1_0,
                              GNUTLS_VERSION_MAX, 1, GNUTLS_MAC_SHA384),
-  GNUTLS_CIPHER_SUITE_ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384,
+  ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384,
                                 GNUTLS_CIPHER_AES_256_GCM, 
GNUTLS_KX_ECDHE_ECDSA,
                                 GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                                 GNUTLS_VERSION_MAX, 1, GNUTLS_DIG_SHA384),
-  GNUTLS_CIPHER_SUITE_ENTRY_PRF(GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384,
+  ENTRY_PRF(GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384,
                                 GNUTLS_CIPHER_AES_256_GCM, GNUTLS_KX_ECDHE_RSA,
                                 GNUTLS_MAC_AEAD, GNUTLS_TLS1_2,
                                 GNUTLS_VERSION_MAX, 1, GNUTLS_DIG_SHA384),
-  GNUTLS_CIPHER_SUITE_ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384,
+  ENTRY_PRF(GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384,
                                 GNUTLS_CIPHER_AES_256_CBC, 
GNUTLS_KX_ECDHE_ECDSA,
                                 GNUTLS_MAC_SHA384, GNUTLS_TLS1_2,
                                 GNUTLS_VERSION_MAX, 1, GNUTLS_DIG_SHA384),
 
-  {0, {{0, 0}}, 0, 0, 0, 0, 0, 0}
+  {0, {0, 0}, 0, 0, 0, 0, 0, 0}
 };
 
-#define GNUTLS_CIPHER_SUITE_LOOP(b) \
+#define CIPHER_SUITE_LOOP(b) \
         const gnutls_cipher_suite_entry *p; \
                 for(p = cs_algorithms; p->name != NULL; p++) { b ; }
 
-#define GNUTLS_CIPHER_SUITE_ALG_LOOP(a) \
-        GNUTLS_CIPHER_SUITE_LOOP( if( (p->id.suite[0] == suite->suite[0]) && 
(p->id.suite[1] == suite->suite[1])) { a; break; } )
+#define CIPHER_SUITE_ALG_LOOP(a) \
+        CIPHER_SUITE_LOOP( if( (p->id[0] == suite[0]) && (p->id[1] == 
suite[1])) { a; break; } )
 
 
 /* Cipher Suite's functions */
 gnutls_cipher_algorithm_t
-_gnutls_cipher_suite_get_cipher_algo (const cipher_suite_st * suite)
+_gnutls_cipher_suite_get_cipher_algo (const uint8_t suite[2])
 {
   int ret = 0;
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (ret = p->block_algorithm);
+  CIPHER_SUITE_ALG_LOOP (ret = p->block_algorithm);
   return ret;
 }
 
 gnutls_kx_algorithm_t
-_gnutls_cipher_suite_get_kx_algo (const cipher_suite_st * suite)
+_gnutls_cipher_suite_get_kx_algo (const uint8_t suite[2])
 {
   int ret = 0;
 
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (ret = p->kx_algorithm);
+  CIPHER_SUITE_ALG_LOOP (ret = p->kx_algorithm);
   return ret;
 
 }
 
 gnutls_mac_algorithm_t
-_gnutls_cipher_suite_get_prf (const cipher_suite_st * suite)
+_gnutls_cipher_suite_get_prf (const uint8_t suite[2])
 {
   int ret = 0;
 
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (ret = p->prf);
+  CIPHER_SUITE_ALG_LOOP (ret = p->prf);
   return ret;
 
 }
 
 gnutls_mac_algorithm_t
-_gnutls_cipher_suite_get_mac_algo (const cipher_suite_st * suite)
+_gnutls_cipher_suite_get_mac_algo (const uint8_t suite[2])
 {                               /* In bytes */
   int ret = 0;
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (ret = p->mac_algorithm);
+  CIPHER_SUITE_ALG_LOOP (ret = p->mac_algorithm);
   return ret;
 
 }
 
 const char *
-_gnutls_cipher_suite_get_name (cipher_suite_st * suite)
+_gnutls_cipher_suite_get_name (const uint8_t suite[2])
 {
   const char *ret = NULL;
 
   /* avoid prefix */
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (ret = p->name + sizeof ("GNUTLS_") - 1);
+  CIPHER_SUITE_ALG_LOOP (ret = p->name + sizeof ("GNUTLS_") - 1);
 
   return ret;
 }
@@ -678,7 +678,7 @@ cipher_suite_get (gnutls_kx_algorithm_t kx_algorithm,
 {
   const gnutls_cipher_suite_entry *ret = NULL;
 
-  GNUTLS_CIPHER_SUITE_LOOP (
+  CIPHER_SUITE_LOOP (
       if (kx_algorithm == p->kx_algorithm &&
           cipher_algorithm == p->block_algorithm && mac_algorithm == 
p->mac_algorithm)
         {
@@ -747,7 +747,7 @@ gnutls_cipher_suite_info (size_t idx,
     return NULL;
 
   if (cs_id)
-    memcpy (cs_id, cs_algorithms[idx].id.suite, 2);
+    memcpy (cs_id, cs_algorithms[idx].id, 2);
   if (kx)
     *kx = cs_algorithms[idx].kx_algorithm;
   if (cipher)
@@ -762,12 +762,12 @@ gnutls_cipher_suite_info (size_t idx,
 
 
 static inline int
-_gnutls_cipher_suite_is_ok (cipher_suite_st * suite)
+_gnutls_cipher_suite_is_ok (const uint8_t suite[2])
 {
   size_t ret;
   const char *name = NULL;
 
-  GNUTLS_CIPHER_SUITE_ALG_LOOP (name = p->name);
+  CIPHER_SUITE_ALG_LOOP (name = p->name);
   if (name != NULL)
     ret = 0;
   else
@@ -804,7 +804,7 @@ _gnutls_supported_ciphersuites (gnutls_session_t session,
           if (k+2 > max_cipher_suite_size)
             return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
 
-          memcpy (&cipher_suites[k], ce->id.suite, 2);
+          memcpy (&cipher_suites[k], ce->id, 2);
           k+=2;
         }
 
diff --git a/lib/auth/dh_common.c b/lib/auth/dh_common.c
index 7a93d83..25ad4e7 100644
--- a/lib/auth/dh_common.c
+++ b/lib/auth/dh_common.c
@@ -163,7 +163,7 @@ _gnutls_gen_dh_common_client_kx_int (gnutls_session_t 
session, gnutls_buffer_st*
   _gnutls_mpi_release (&session->key->client_g);
 
   if (_gnutls_cipher_suite_get_kx_algo
-      (&session->security_parameters.current_cipher_suite)
+      (session->security_parameters.cipher_suite)
       != GNUTLS_KX_DHE_PSK)
     {
       ret = _gnutls_mpi_dprint (session->key->KEY, &session->key->key);
diff --git a/lib/auth/rsa.c b/lib/auth/rsa.c
index 030ed35..d07e5e5 100644
--- a/lib/auth/rsa.c
+++ b/lib/auth/rsa.c
@@ -99,7 +99,7 @@ _gnutls_get_public_rsa_params (gnutls_session_t session,
 
   /* EXPORT case: */
   if (_gnutls_cipher_suite_get_kx_algo
-      (&session->security_parameters.current_cipher_suite) ==
+      (session->security_parameters.cipher_suite) ==
       GNUTLS_KX_RSA_EXPORT &&
       _gnutls_pubkey_is_over_rsa_512(peer_cert.pubkey) == 0)
     {
diff --git a/lib/auth/rsa_export.c b/lib/auth/rsa_export.c
index 959f72c..fca2826 100644
--- a/lib/auth/rsa_export.c
+++ b/lib/auth/rsa_export.c
@@ -93,7 +93,7 @@ _gnutls_get_private_rsa_params (gnutls_session_t session,
   ret = 
_gnutls_pubkey_is_over_rsa_512(session->internals.selected_cert_list[0].pubkey);
 
   if (_gnutls_cipher_suite_get_kx_algo
-      (&session->security_parameters.current_cipher_suite)
+      (session->security_parameters.cipher_suite)
       != GNUTLS_KX_RSA_EXPORT || ret < 0)
     {
       gnutls_assert ();
diff --git a/lib/gnutls_auth.c b/lib/gnutls_auth.c
index 39c1348..eb64214 100644
--- a/lib/gnutls_auth.c
+++ b/lib/gnutls_auth.c
@@ -177,8 +177,8 @@ gnutls_auth_get_type (gnutls_session_t session)
 
   return
     _gnutls_map_kx_get_cred (_gnutls_cipher_suite_get_kx_algo
-                             (&session->
-                              security_parameters.current_cipher_suite),
+                             (session->
+                              security_parameters.cipher_suite),
                              server);
 }
 
@@ -198,8 +198,8 @@ gnutls_auth_server_get_type (gnutls_session_t session)
 {
   return
     _gnutls_map_kx_get_cred (_gnutls_cipher_suite_get_kx_algo
-                             (&session->
-                              security_parameters.current_cipher_suite), 1);
+                             (session->
+                              security_parameters.cipher_suite), 1);
 }
 
 /**
@@ -218,8 +218,8 @@ gnutls_auth_client_get_type (gnutls_session_t session)
 {
   return
     _gnutls_map_kx_get_cred (_gnutls_cipher_suite_get_kx_algo
-                             (&session->
-                              security_parameters.current_cipher_suite), 0);
+                             (session->
+                              security_parameters.cipher_suite), 0);
 }
 
 
diff --git a/lib/gnutls_constate.c b/lib/gnutls_constate.c
index f1d7528..40e30a2 100644
--- a/lib/gnutls_constate.c
+++ b/lib/gnutls_constate.c
@@ -321,7 +321,7 @@ _gnutls_init_record_state (record_parameters_st * params, 
gnutls_protocol_t ver,
 
 int
 _gnutls_epoch_set_cipher_suite (gnutls_session_t session,
-                                int epoch_rel, cipher_suite_st * suite)
+                                int epoch_rel, const uint8_t suite[2])
 {
   gnutls_cipher_algorithm_t cipher_algo;
   gnutls_mac_algorithm_t mac_algo;
@@ -454,7 +454,7 @@ _gnutls_epoch_set_keys (gnutls_session_t session, uint16_t 
epoch)
 
 #define CPY_COMMON dst->entity = src->entity; \
        dst->kx_algorithm = src->kx_algorithm; \
-       memcpy( &dst->current_cipher_suite, &src->current_cipher_suite, 
sizeof(cipher_suite_st)); \
+       memcpy( dst->cipher_suite, src->cipher_suite, 2); \
        memcpy( dst->master_secret, src->master_secret, GNUTLS_MASTER_SIZE); \
        memcpy( dst->client_random, src->client_random, GNUTLS_RANDOM_SIZE); \
        memcpy( dst->server_random, src->server_random, GNUTLS_RANDOM_SIZE); \
@@ -500,7 +500,7 @@ _gnutls_connection_state_init (gnutls_session_t session)
 
 static int
 _gnutls_check_algos (gnutls_session_t session,
-                     cipher_suite_st * suite,
+                     const uint8_t suite[2],
                      gnutls_compression_method_t comp_algo)
 {
   gnutls_cipher_algorithm_t cipher_algo;
@@ -557,16 +557,16 @@ _gnutls_read_connection_state_init (gnutls_session_t 
session)
     {
 
       ret = _gnutls_check_algos (session,
-                                 &session->
-                                 security_parameters.current_cipher_suite,
+                                 session->
+                                 security_parameters.cipher_suite,
                                  _gnutls_epoch_get_compression(session, 
epoch_next));
       if (ret < 0)
         return ret;
 
       ret = _gnutls_set_kx (session,
                             _gnutls_cipher_suite_get_kx_algo
-                            (&session->
-                             security_parameters.current_cipher_suite));
+                            (session->
+                             security_parameters.cipher_suite));
       if (ret < 0)
         return ret;
     }
@@ -580,8 +580,8 @@ _gnutls_read_connection_state_init (gnutls_session_t 
session)
   _gnutls_handshake_log ("HSK[%p]: Cipher Suite: %s\n",
                          session,
                          _gnutls_cipher_suite_get_name
-                         (&session->
-                          security_parameters.current_cipher_suite));
+                         (session->
+                          security_parameters.cipher_suite));
 
   session->security_parameters.epoch_read = epoch_next;
 
@@ -605,16 +605,16 @@ _gnutls_write_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->
+                                 security_parameters.cipher_suite,
                                  _gnutls_epoch_get_compression(session, 
epoch_next));
       if (ret < 0)
         return ret;
 
       ret = _gnutls_set_kx (session,
                             _gnutls_cipher_suite_get_kx_algo
-                            (&session->
-                             security_parameters.current_cipher_suite));
+                            (session->
+                             security_parameters.cipher_suite));
       if (ret < 0)
         return ret;
     }
@@ -627,8 +627,8 @@ _gnutls_write_connection_state_init (gnutls_session_t 
session)
 
   _gnutls_handshake_log ("HSK[%p]: Cipher Suite: %s\n", session,
                          _gnutls_cipher_suite_get_name
-                         (&session->
-                          security_parameters.current_cipher_suite));
+                         (session->
+                          security_parameters.cipher_suite));
 
   _gnutls_handshake_log
     ("HSK[%p]: Initializing internal [write] cipher sessions\n", session);
diff --git a/lib/gnutls_constate.h b/lib/gnutls_constate.h
index bb32fa1..b7cb1c4 100644
--- a/lib/gnutls_constate.h
+++ b/lib/gnutls_constate.h
@@ -24,7 +24,7 @@
 #define GNUTLS_CONSTATE_H
 
 int _gnutls_epoch_set_cipher_suite (gnutls_session_t session, int epoch_rel,
-                                    cipher_suite_st * suite);
+                                    const uint8_t suite[2]);
 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);
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 024ad38..6480033 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -128,14 +128,13 @@ resume_copy_required_values (gnutls_session_t session)
    * That is because the client must see these in our
    * hello message.
    */
-  memcpy (session->security_parameters.current_cipher_suite.suite,
-          session->internals.resumed_security_parameters.current_cipher_suite.
-          suite, 2);
+  memcpy (session->security_parameters.cipher_suite,
+          session->internals.resumed_security_parameters.cipher_suite, 2);
   session->security_parameters.compression_method = 
session->internals.resumed_security_parameters.compression_method;
 
   _gnutls_epoch_set_cipher_suite (session, EPOCH_NEXT,
-                                  &session->
-                                  
internals.resumed_security_parameters.current_cipher_suite);
+                                  session->
+                                  
internals.resumed_security_parameters.cipher_suite);
   _gnutls_epoch_set_compression (session, EPOCH_NEXT,
                                  session->
                                  
internals.resumed_security_parameters.compression_method);
@@ -273,7 +272,7 @@ _gnutls_finished (gnutls_session_t session, int type, void 
*ret, int sending)
     }
   else 
     {
-      int algorithm = 
_gnutls_cipher_suite_get_prf(&session->security_parameters.current_cipher_suite);
+      int algorithm = 
_gnutls_cipher_suite_get_prf(session->security_parameters.cipher_suite);
 
       rc = _gnutls_hash_fast( algorithm, 
session->internals.handshake_hash_buffer.data, len, concat);
       if (rc < 0)
@@ -772,7 +771,6 @@ server_find_pk_algos_in_ciphersuites (const opaque *
 {
   unsigned int j;
   gnutls_kx_algorithm_t kx;
-  cipher_suite_st cs;
   int max = *algos_size;
 
   if (datalen % 2 != 0)
@@ -784,8 +782,7 @@ server_find_pk_algos_in_ciphersuites (const opaque *
   *algos_size = 0;
   for (j = 0; j < datalen; j += 2)
     {
-      memcpy (&cs.suite, &data[j], 2);
-      kx = _gnutls_cipher_suite_get_kx_algo (&cs);
+      kx = _gnutls_cipher_suite_get_kx_algo (&data[j]);
       if (_gnutls_map_kx_get_cred (kx, 1) == GNUTLS_CRD_CERTIFICATE)
         {
           algos[(*algos_size)++] = _gnutls_map_pk_get_pk (kx);
@@ -807,7 +804,6 @@ _gnutls_server_select_suite (gnutls_session_t session, 
opaque * data,
 {
   int i, j, ret, cipher_suites_size;
   size_t pk_algos_size;
-  cipher_suite_st cs;
   uint8_t cipher_suites[MAX_CIPHERSUITE_SIZE];
   int retval, err;
   gnutls_pk_algorithm_t pk_algos[MAX_ALGOS];        /* will hold the pk 
algorithms
@@ -876,7 +872,7 @@ _gnutls_server_select_suite (gnutls_session_t session, 
opaque * data,
       return GNUTLS_E_UNEXPECTED_PACKET_LENGTH;
     }
 
-  memset (session->security_parameters.current_cipher_suite.suite, 0, 2);
+  memset (session->security_parameters.cipher_suite, 0, 2);
 
   retval = GNUTLS_E_UNKNOWN_CIPHER_SUITE;
 
@@ -886,20 +882,19 @@ _gnutls_server_select_suite (gnutls_session_t session, 
opaque * data,
     {
       for (j = 0; j < datalen; j += 2)
         {
-          memcpy (&cs.suite, &data[j], 2);
-          _gnutls_handshake_log ("\t0x%.2x, 0x%.2x %s\n", data[j], data[j+1], 
_gnutls_cipher_suite_get_name (&cs));
+          _gnutls_handshake_log ("\t0x%.2x, 0x%.2x %s\n", data[j], data[j+1], 
_gnutls_cipher_suite_get_name (&data[j]));
           for (i = 0; i < cipher_suites_size; i+=2)
             {
               if (memcmp (&cipher_suites[i], &data[j], 2) == 0)
                 {
                   _gnutls_handshake_log
                     ("HSK[%p]: Selected cipher suite: %s\n", session,
-                    _gnutls_cipher_suite_get_name (&cs));
-                  memcpy 
(session->security_parameters.current_cipher_suite.suite,
+                    _gnutls_cipher_suite_get_name (&data[j]));
+                  memcpy (session->security_parameters.cipher_suite,
                       &cipher_suites[i], 2);
                   _gnutls_epoch_set_cipher_suite (session, EPOCH_NEXT,
-                                                  &session->
-                                                  
security_parameters.current_cipher_suite);
+                                                  session->
+                                                  
security_parameters.cipher_suite);
 
 
                   retval = 0;
@@ -916,15 +911,14 @@ _gnutls_server_select_suite (gnutls_session_t session, 
opaque * data,
             {
               if (memcmp (&cipher_suites[i], &data[j], 2) == 0)
                 {
-                  memcpy (&cs.suite, &data[j], 2);
                   _gnutls_handshake_log
                     ("HSK[%p]: Selected cipher suite: %s\n", session,
-                    _gnutls_cipher_suite_get_name (&cs));
-                  memcpy 
(session->security_parameters.current_cipher_suite.suite,
+                    _gnutls_cipher_suite_get_name (&data[j]));
+                  memcpy (session->security_parameters.cipher_suite,
                       &cipher_suites[i], 2);
                   _gnutls_epoch_set_cipher_suite (session, EPOCH_NEXT,
-                                                  &session->
-                                                  
security_parameters.current_cipher_suite);
+                                                  session->
+                                                  
security_parameters.cipher_suite);
 
 
                   retval = 0;
@@ -945,8 +939,8 @@ finish:
    */
   if (_gnutls_get_kx_cred
       (session,
-       _gnutls_cipher_suite_get_kx_algo (&session->
-                                         
security_parameters.current_cipher_suite),
+       _gnutls_cipher_suite_get_kx_algo (session->
+                                         security_parameters.cipher_suite),
        &err) == NULL && err != 0)
     {
       gnutls_assert ();
@@ -960,8 +954,8 @@ finish:
    */
   session->internals.auth_struct =
     _gnutls_kx_auth_struct (_gnutls_cipher_suite_get_kx_algo
-                            (&session->
-                             security_parameters.current_cipher_suite));
+                            (session->
+                             security_parameters.cipher_suite));
   if (session->internals.auth_struct == NULL)
     {
 
@@ -1371,15 +1365,15 @@ _gnutls_client_set_ciphersuite (gnutls_session_t 
session, opaque suite[2])
       return GNUTLS_E_UNKNOWN_CIPHER_SUITE;
     }
 
-  memcpy (session->security_parameters.current_cipher_suite.suite, suite, 2);
+  memcpy (session->security_parameters.cipher_suite, suite, 2);
   _gnutls_epoch_set_cipher_suite (session, EPOCH_NEXT,
-                                  &session->
-                                  security_parameters.current_cipher_suite);
+                                  session->
+                                  security_parameters.cipher_suite);
 
   _gnutls_handshake_log ("HSK[%p]: Selected cipher suite: %s\n", session,
                          _gnutls_cipher_suite_get_name
-                         (&session->
-                          security_parameters.current_cipher_suite));
+                         (session->
+                          security_parameters.cipher_suite));
 
 
   /* check if the credentials (username, public key etc.) are ok.
@@ -1388,7 +1382,7 @@ _gnutls_client_set_ciphersuite (gnutls_session_t session, 
opaque suite[2])
   if (_gnutls_get_kx_cred
       (session,
        _gnutls_cipher_suite_get_kx_algo
-       (&session->security_parameters.current_cipher_suite), &err) == NULL
+       (session->security_parameters.cipher_suite), &err) == NULL
       && err != 0)
     {
       gnutls_assert ();
@@ -1402,8 +1396,8 @@ _gnutls_client_set_ciphersuite (gnutls_session_t session, 
opaque suite[2])
    */
   session->internals.auth_struct =
     _gnutls_kx_auth_struct (_gnutls_cipher_suite_get_kx_algo
-                            (&session->
-                             security_parameters.current_cipher_suite));
+                            (session->
+                             security_parameters.cipher_suite));
 
   if (session->internals.auth_struct == NULL)
     {
@@ -1492,8 +1486,8 @@ _gnutls_client_check_if_resuming (gnutls_session_t 
session,
 
       _gnutls_epoch_set_cipher_suite
         (session, EPOCH_NEXT,
-         &session->internals.
-         resumed_security_parameters.current_cipher_suite);
+         session->internals.
+         resumed_security_parameters.cipher_suite);
       _gnutls_epoch_set_compression (session, EPOCH_NEXT,
                                      session->
                                      
internals.resumed_security_parameters.compression_method);
@@ -1985,7 +1979,7 @@ _gnutls_send_server_hello (gnutls_session_t session, int 
again)
                                               sizeof (buf), NULL));
 
       memcpy (&data[pos],
-              session->security_parameters.current_cipher_suite.suite, 2);
+              session->security_parameters.cipher_suite, 2);
       pos += 2;
 
       comp = _gnutls_compression_get_num ( 
session->security_parameters.compression_method);
@@ -2025,7 +2019,7 @@ _gnutls_send_hello (gnutls_session_t session, int again)
 }
 
 /* RECEIVE A HELLO MESSAGE. This should be called from 
gnutls_recv_handshake_int only if a
- * hello message is expected. It uses the 
security_parameters.current_cipher_suite
+ * hello message is expected. It uses the security_parameters.cipher_suite
  * and internals.compression_method.
  */
 int
@@ -3039,7 +3033,6 @@ _gnutls_remove_unwanted_ciphersuites (gnutls_session_t 
session,
 {
 
   int ret = 0;
-  cipher_suite_st cs;
   int i, new_suites_size;
   gnutls_certificate_credentials_t cert_cred;
   gnutls_kx_algorithm_t kx;
@@ -3094,9 +3087,7 @@ _gnutls_remove_unwanted_ciphersuites (gnutls_session_t 
session,
       /* finds the key exchange algorithm in
        * the ciphersuite
        */
-      cs.suite[0] = cipher_suites[i];
-      cs.suite[1] = cipher_suites[i+1];
-      kx = _gnutls_cipher_suite_get_kx_algo (&cs);
+      kx = _gnutls_cipher_suite_get_kx_algo (&cipher_suites[i]);
 
       /* if it is defined but had no credentials 
        */
@@ -3140,7 +3131,7 @@ _gnutls_remove_unwanted_ciphersuites (gnutls_session_t 
session,
 
           _gnutls_handshake_log ("HSK[%p]: Keeping ciphersuite: %s\n",
                                  session,
-                                 _gnutls_cipher_suite_get_name (&cs));
+                                 _gnutls_cipher_suite_get_name 
(&cipher_suites[i]));
 
           if (i != new_suites_size)
             memmove( &cipher_suites[new_suites_size], &cipher_suites[i], 2);
@@ -3150,7 +3141,7 @@ _gnutls_remove_unwanted_ciphersuites (gnutls_session_t 
session,
         {
           _gnutls_handshake_log ("HSK[%p]: Removing ciphersuite: %s\n",
                                  session,
-                                 _gnutls_cipher_suite_get_name (&cs));
+                                 _gnutls_cipher_suite_get_name 
(&cipher_suites[i]));
 
         }
     }
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index 4ace3d4..3767f10 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -421,11 +421,6 @@ typedef struct record_parameters_st record_parameters_st;
 
 typedef struct
 {
-  uint8_t suite[2];
-} cipher_suite_st;
-
-typedef struct
-{
   uint8_t hash_algorithm;
   uint8_t sign_algorithm;       /* pk algorithm actually */
 } sign_algorithm_st;
@@ -477,7 +472,7 @@ typedef struct
    * moved here from internals in order to be restored
    * on resume;
    */
-  cipher_suite_st current_cipher_suite;
+  uint8_t cipher_suite[2];
   gnutls_compression_method_t compression_method;
   opaque master_secret[GNUTLS_MASTER_SIZE];
   opaque client_random[GNUTLS_RANDOM_SIZE];
diff --git a/lib/gnutls_session_pack.c b/lib/gnutls_session_pack.c
index 07db0df..b530266 100644
--- a/lib/gnutls_session_pack.c
+++ b/lib/gnutls_session_pack.c
@@ -768,11 +768,7 @@ pack_security_parameters (gnutls_session_t session, 
gnutls_buffer_st * ps)
   BUFFER_APPEND_NUM (ps, session->security_parameters.entity);
   BUFFER_APPEND_NUM (ps, session->security_parameters.kx_algorithm);
   BUFFER_APPEND (ps,
-                 &session->security_parameters.current_cipher_suite.suite[0],
-                 1);
-  BUFFER_APPEND (ps,
-                 &session->security_parameters.current_cipher_suite.suite[1],
-                 1);
+                 session->security_parameters.cipher_suite, 2);
   BUFFER_APPEND_NUM (ps, session->security_parameters.compression_method);
   BUFFER_APPEND_NUM (ps, session->security_parameters.cert_type);
   BUFFER_APPEND_NUM (ps, session->security_parameters.version);
@@ -817,11 +813,8 @@ unpack_security_parameters (gnutls_session_t session, 
gnutls_buffer_st * ps)
   BUFFER_POP_NUM (ps,
               session->internals.resumed_security_parameters.kx_algorithm);
   BUFFER_POP (ps,
-              &session->internals.
-              resumed_security_parameters.current_cipher_suite.suite[0], 1);
-  BUFFER_POP (ps,
-              &session->internals.resumed_security_parameters.
-              current_cipher_suite.suite[1], 1);
+              session->internals.
+              resumed_security_parameters.cipher_suite, 2);
   BUFFER_POP_NUM (ps, 
session->internals.resumed_security_parameters.compression_method);
   BUFFER_POP_NUM (ps, 
session->internals.resumed_security_parameters.cert_type);
   BUFFER_POP_NUM (ps, session->internals.resumed_security_parameters.version);
diff --git a/lib/gnutls_state.c b/lib/gnutls_state.c
index 3fcd803..3e1e3ae 100644
--- a/lib/gnutls_state.c
+++ b/lib/gnutls_state.c
@@ -921,7 +921,7 @@ _gnutls_PRF (gnutls_session_t session,
   if (_gnutls_version_has_selectable_prf (ver))
     {
       result =
-        P_hash 
(_gnutls_cipher_suite_get_prf(&session->security_parameters.current_cipher_suite),
 
+        P_hash 
(_gnutls_cipher_suite_get_prf(session->security_parameters.cipher_suite), 
                         secret, secret_size,
                         s_seed, s_seed_size, total_bytes, ret);
       if (result < 0)
@@ -1124,8 +1124,8 @@ _gnutls_session_is_export (gnutls_session_t session)
   gnutls_cipher_algorithm_t cipher;
 
   cipher =
-    _gnutls_cipher_suite_get_cipher_algo (&session->
-                                          
security_parameters.current_cipher_suite);
+    _gnutls_cipher_suite_get_cipher_algo (session->
+                                          security_parameters.cipher_suite);
 
   if (_gnutls_cipher_get_export_flag (cipher) != 0)
     return 1;
@@ -1146,8 +1146,8 @@ _gnutls_session_is_psk (gnutls_session_t session)
   gnutls_kx_algorithm_t kx;
 
   kx =
-    _gnutls_cipher_suite_get_kx_algo (&session->
-                                      
security_parameters.current_cipher_suite);
+    _gnutls_cipher_suite_get_kx_algo (session->
+                                      security_parameters.cipher_suite);
   if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK)
     return 1;
 
@@ -1170,8 +1170,8 @@ _gnutls_session_is_ecc (gnutls_session_t session)
    * the negotiated key exchange might not have been set yet.
    */
   kx =
-    _gnutls_cipher_suite_get_kx_algo (&session->
-                                      
security_parameters.current_cipher_suite);
+    _gnutls_cipher_suite_get_kx_algo (session->
+                                      security_parameters.cipher_suite);
 
   return _gnutls_kx_is_ecc(kx);
 }
diff --git a/lib/gnutls_v2_compat.c b/lib/gnutls_v2_compat.c
index b258feb..57e82fd 100644
--- a/lib/gnutls_v2_compat.c
+++ b/lib/gnutls_v2_compat.c
@@ -175,8 +175,8 @@ _gnutls_read_client_hello_v2 (gnutls_session_t session, 
opaque * data,
    */
   if (_gnutls_get_kx_cred
       (session,
-       _gnutls_cipher_suite_get_kx_algo (&session->
-                                         
security_parameters.current_cipher_suite),
+       _gnutls_cipher_suite_get_kx_algo (session->
+                                         security_parameters.cipher_suite),
        &err) == NULL && err != 0)
     {
       gnutls_assert ();
@@ -189,8 +189,8 @@ _gnutls_read_client_hello_v2 (gnutls_session_t session, 
opaque * data,
    */
   session->internals.auth_struct =
     _gnutls_kx_auth_struct (_gnutls_cipher_suite_get_kx_algo
-                            (&session->
-                             security_parameters.current_cipher_suite));
+                            (session->
+                             security_parameters.cipher_suite));
   if (session->internals.auth_struct == NULL)
     {
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]