gnutls-commit
[Top][All Lists]
Advanced

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

[SCM] GNU gnutls branch, gnutls_2_12_x, updated. gnutls_2_11_6-95-g80d4a


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, gnutls_2_12_x, updated. gnutls_2_11_6-95-g80d4a80
Date: Thu, 10 Feb 2011 09:35:11 +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=80d4a803399eed5124f76f27526f645c626b0727

The branch, gnutls_2_12_x has been updated
       via  80d4a803399eed5124f76f27526f645c626b0727 (commit)
       via  f033f41918fb9ba492aae87c0edd443d88b753ee (commit)
       via  7be0177ba7ec053afad03395f76ba0e31f0dce64 (commit)
       via  f56648482f8605e735a00e27408df8aa6cdf216a (commit)
       via  c8402c600abe71dcc480faff940f616723516e19 (commit)
      from  5bd1eb74b78a906b9eda81be94c15d8d91185586 (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 80d4a803399eed5124f76f27526f645c626b0727
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Thu Feb 10 10:34:57 2011 +0100

    documented DHE-PSK fix.

commit f033f41918fb9ba492aae87c0edd443d88b753ee
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Thu Feb 10 10:34:47 2011 +0100

    deprecated the old priority functions in C++ API.

commit 7be0177ba7ec053afad03395f76ba0e31f0dce64
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Thu Feb 10 10:20:09 2011 +0100

    fix in PSK.

commit f56648482f8605e735a00e27408df8aa6cdf216a
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Mon Feb 7 16:46:09 2011 +0100

    Removed deprecated option such as --protocols, ciphers etc.

commit c8402c600abe71dcc480faff940f616723516e19
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Thu Feb 10 09:56:32 2011 +0100

    Callback function is being called in both PSK-DHE and PSK.
    Using the callback function will not overwrite the credentials,
    which were wrongly being overwritten using the retrieved username/key.
    The credentials structure is now accessed for reading only, as it
    should have been.
    
    (backported)

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

Summary of changes:
 NEWS                 |    3 +
 lib/auth_dh_common.c |   13 ++-
 lib/auth_dh_common.h |    1 +
 lib/auth_dhe_psk.c   |   35 ++++----
 lib/auth_psk.c       |  133 +++++++++++++--------------
 lib/auth_psk.h       |    6 +-
 lib/gnutlsxx.cpp     |   12 ++--
 src/cli-gaa.c        |  245 +++++++++++---------------------------------------
 src/cli-gaa.h        |   58 ++++---------
 src/cli.c            |   27 ------
 src/cli.gaa          |   29 +------
 src/common.c         |  182 -------------------------------------
 src/common.h         |    7 --
 src/serv-gaa.c       |  210 +++++++-----------------------------------
 src/serv-gaa.h       |   26 +-----
 src/serv.c           |   27 ------
 src/serv.gaa         |   28 +------
 17 files changed, 216 insertions(+), 826 deletions(-)

diff --git a/NEWS b/NEWS
index 56bd526..c021ce2 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,9 @@ See the end for copying conditions.
 
 * Version 2.11.7 (unreleased)
 
+** libgnutls: Corrected issue in DHE-PSK ciphersuites that ignored
+the PSK callback.
+
 ** libgnutls: SRP and PSK are no longer set on the default priorities. 
 They have to be explicitly set.
 
diff --git a/lib/auth_dh_common.c b/lib/auth_dh_common.c
index 61f8a63..5df743e 100644
--- a/lib/auth_dh_common.c
+++ b/lib/auth_dh_common.c
@@ -105,7 +105,7 @@ _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
           return ret;
         }
 
-      ret = _gnutls_set_psk_session_key (session, &tmp_dh_key);
+      ret = _gnutls_set_psk_session_key (session, NULL, &tmp_dh_key);
       _gnutls_free_datum (&tmp_dh_key);
 
     }
@@ -120,8 +120,13 @@ _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
   return 0;
 }
 
+int _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque** data)
+{
+  return _gnutls_gen_dh_common_client_kx_int(session, data, NULL);
+}
+
 int
-_gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
+_gnutls_gen_dh_common_client_kx_int (gnutls_session_t session, opaque ** data, 
gnutls_datum_t* pskkey)
 {
   bigint_t x = NULL, X = NULL;
   size_t n_X;
@@ -179,6 +184,7 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, 
opaque ** data)
   else                          /* In DHE_PSK the key is set differently */
     {
       gnutls_datum_t tmp_dh_key;
+
       ret = _gnutls_mpi_dprint (session->key->KEY, &tmp_dh_key);
       if (ret < 0)
         {
@@ -186,9 +192,8 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, 
opaque ** data)
           goto error;
         }
 
-      ret = _gnutls_set_psk_session_key (session, &tmp_dh_key);
+      ret = _gnutls_set_psk_session_key (session, pskkey, &tmp_dh_key);
       _gnutls_free_datum (&tmp_dh_key);
-
     }
 
   _gnutls_mpi_release (&session->key->KEY);
diff --git a/lib/auth_dh_common.h b/lib/auth_dh_common.h
index 7a8be7c..b934fd3 100644
--- a/lib/auth_dh_common.h
+++ b/lib/auth_dh_common.h
@@ -36,6 +36,7 @@ typedef struct
 } dh_info_st;
 
 void _gnutls_free_dh_info (dh_info_st * dh);
+int _gnutls_gen_dh_common_client_kx_int (gnutls_session_t, opaque **, 
gnutls_datum_t* pskkey);
 int _gnutls_gen_dh_common_client_kx (gnutls_session_t, opaque **);
 int _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
                                       opaque * data, size_t _data_size,
diff --git a/lib/auth_dhe_psk.c b/lib/auth_dhe_psk.c
index 85e1452..a338117 100644
--- a/lib/auth_dhe_psk.c
+++ b/lib/auth_dhe_psk.c
@@ -65,52 +65,53 @@ const mod_auth_st dhe_psk_auth_struct = {
 static int
 gen_psk_client_kx (gnutls_session_t session, opaque ** data)
 {
-  int ret;
+  int ret, free;
   opaque *tmp_data = NULL;
   int data_size, tmp_data_size;
   gnutls_psk_client_credentials_t cred;
+  gnutls_datum_t username, key;
 
   cred = (gnutls_psk_client_credentials_t)
     _gnutls_get_cred (session->key, GNUTLS_CRD_PSK, NULL);
 
   if (cred == NULL)
-    {
-      gnutls_assert ();
-      return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
-    }
+    return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
 
-  if (cred->username.data == NULL || cred->key.data == NULL)
-    {
-      gnutls_assert ();
-      return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
-    }
+
+  ret = _gnutls_find_psk_key( session, cred, &username, &key, &free);
+  if (ret < 0)
+    return gnutls_assert_val(ret);
 
   /* The PSK key is set in there */
-  ret = _gnutls_gen_dh_common_client_kx (session, &tmp_data);
+  ret = _gnutls_gen_dh_common_client_kx_int (session, &tmp_data, &key);
   if (ret < 0)
     {
       gnutls_assert ();
-      return ret;
+      goto cleanup;
     }
 
   tmp_data_size = ret;
-  data_size = tmp_data_size + cred->username.size + 2;
+  data_size = tmp_data_size + username.size + 2;
 
   (*data) = gnutls_malloc (data_size);
   if ((*data) == NULL)
     {
       gnutls_assert ();
       ret = GNUTLS_E_MEMORY_ERROR;
-      goto error;
+      goto cleanup;
     }
 
-  _gnutls_write_datum16 (*data, cred->username);
-  memcpy (&(*data)[cred->username.size + 2], tmp_data, tmp_data_size);
+  _gnutls_write_datum16 (*data, username);
+  memcpy (&(*data)[username.size + 2], tmp_data, tmp_data_size);
 
   ret = data_size;
 
-error:
+cleanup:
   gnutls_free (tmp_data);
+  if (free)
+    _gnutls_free_datum(&username);
+    _gnutls_free_datum(&key);
+
   return ret;
 
 }
diff --git a/lib/auth_psk.c b/lib/auth_psk.c
index 43f400a..414e3b1 100644
--- a/lib/auth_psk.c
+++ b/lib/auth_psk.c
@@ -65,30 +65,14 @@ const mod_auth_st psk_auth_struct = {
  */
 int
 _gnutls_set_psk_session_key (gnutls_session_t session,
-                             gnutls_datum_t * dh_secret)
+    gnutls_datum_t * ppsk /* key */,
+    gnutls_datum_t * dh_secret)
 {
   gnutls_datum_t pwd_psk = { NULL, 0 };
-  gnutls_datum_t *ppsk;
   size_t dh_secret_size;
   int ret;
 
-  if (session->security_parameters.entity == GNUTLS_CLIENT)
-    {
-      gnutls_psk_client_credentials_t cred;
-
-      cred = (gnutls_psk_client_credentials_t)
-        _gnutls_get_cred (session->key, GNUTLS_CRD_PSK, NULL);
-
-      if (cred == NULL)
-        {
-          gnutls_assert ();
-          return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
-        }
-
-      ppsk = &cred->key;
-
-    }
-  else
+  if (session->security_parameters.entity == GNUTLS_SERVER)
     {                           /* SERVER side */
       psk_auth_info_t info;
 
@@ -142,6 +126,41 @@ error:
   return ret;
 }
 
+/* returns the username and they key for the PSK session.
+ * Free is non zero if they have to be freed.
+ */
+int _gnutls_find_psk_key( gnutls_session_t session, 
gnutls_psk_client_credentials_t cred, 
+  gnutls_datum_t * username, gnutls_datum* key, int* free)
+{
+char* user_p;
+int ret;
+
+   *free = 0;
+
+  if (cred->username.data != NULL && cred->key.data != NULL)
+    {
+      username->data = cred->username.data;
+      username->size = cred->username.size;
+      key->data = cred->key.data;
+      key->size = cred->key.size;
+    }
+  else if (cred->get_function != NULL)
+    {
+      ret = cred->get_function (session, &user_p, key);
+      if (ret)
+        return gnutls_assert_val(ret);
+      
+      username->data = user_p;
+      username->size = strlen(user_p);
+      
+      *free = 1;
+    }
+  else
+    return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
+  
+  return 0;
+}
+
 
 /* Generates the PSK client key exchange
  *
@@ -156,7 +175,9 @@ error:
 int
 _gnutls_gen_psk_client_kx (gnutls_session_t session, opaque ** data)
 {
-  int ret;
+  int ret, free;
+  gnutls_datum_t username;
+  gnutls_datum_t key;
   gnutls_psk_client_credentials_t cred;
 
   cred = (gnutls_psk_client_credentials_t)
@@ -168,59 +189,35 @@ _gnutls_gen_psk_client_kx (gnutls_session_t session, 
opaque ** data)
       return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
     }
 
-  if (cred->username.data == NULL && cred->key.data == NULL &&
-      cred->get_function != NULL)
-    {
-      char *username;
-      gnutls_datum_t key;
-
-      ret = cred->get_function (session, &username, &key);
-      if (ret)
-        {
-          gnutls_assert ();
-          return ret;
-        }
-
-      ret = _gnutls_set_datum (&cred->username, username, strlen (username));
-      gnutls_free (username);
-      if (ret < 0)
-        {
-          gnutls_assert ();
-          _gnutls_free_datum (&key);
-          return ret;
-        }
-
-      ret = _gnutls_set_datum (&cred->key, key.data, key.size);
-      _gnutls_free_datum (&key);
-      if (ret < 0)
-        {
-          gnutls_assert ();
-          return GNUTLS_E_MEMORY_ERROR;
-        }
-    }
-  else if (cred->username.data == NULL || cred->key.data == NULL)
-    {
-      gnutls_assert ();
-      return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
-    }
+  ret = _gnutls_find_psk_key( session, cred, &username, &key, &free);
+  if (ret < 0)
+    return gnutls_assert_val(ret);
 
-  ret = _gnutls_set_psk_session_key (session, NULL);
+  ret = _gnutls_set_psk_session_key (session, &key, NULL);
   if (ret < 0)
     {
-      gnutls_assert ();
-      return ret;
+      gnutls_assert();
+      goto cleanup;
     }
-
-  (*data) = gnutls_malloc (2 + cred->username.size);
+  
+  (*data) = gnutls_malloc (2 + username.size);
   if ((*data) == NULL)
     {
       gnutls_assert ();
-      return GNUTLS_E_MEMORY_ERROR;
+      ret = GNUTLS_E_MEMORY_ERROR;
+      goto cleanup;
     }
 
-  _gnutls_write_datum16 (*data, cred->username);
+  _gnutls_write_datum16 (*data, username);
 
-  return (cred->username.size + 2);
+cleanup:
+  if (free) 
+    {
+      gnutls_free(username.data);
+      gnutls_free(key.data);
+    }
+  
+  return (username.size + 2);
 }
 
 
@@ -274,7 +271,7 @@ _gnutls_proc_psk_client_kx (gnutls_session_t session, 
opaque * data,
   memcpy (info->username, username.data, username.size);
   info->username[username.size] = 0;
 
-  ret = _gnutls_set_psk_session_key (session, NULL);
+  ret = _gnutls_set_psk_session_key (session, NULL, NULL);
   if (ret < 0)
     {
       gnutls_assert ();
@@ -346,10 +343,10 @@ _gnutls_proc_psk_server_kx (gnutls_session_t session, 
opaque * data,
   ssize_t data_size = _data_size;
   int ret;
   gnutls_datum_t hint;
-  gnutls_psk_server_credentials_t cred;
+  gnutls_psk_client_credentials_t cred;
   psk_auth_info_t info;
 
-  cred = (gnutls_psk_server_credentials_t)
+  cred = (gnutls_psk_client_credentials_t)
     _gnutls_get_cred (session->key, GNUTLS_CRD_PSK, NULL);
 
   if (cred == NULL)
@@ -386,7 +383,7 @@ _gnutls_proc_psk_server_kx (gnutls_session_t session, 
opaque * data,
   memcpy (info->hint, hint.data, hint.size);
   info->hint[hint.size] = 0;
 
-  ret = _gnutls_set_psk_session_key (session, NULL);
+  ret = _gnutls_set_psk_session_key (session, &cred->key, NULL);
   if (ret < 0)
     {
       gnutls_assert ();
@@ -399,4 +396,4 @@ error:
   return ret;
 }
 
-#endif /* ENABLE_SRP */
+#endif /* ENABLE_PSK */
diff --git a/lib/auth_psk.h b/lib/auth_psk.h
index c79da6b..40e88f1 100644
--- a/lib/auth_psk.h
+++ b/lib/auth_psk.h
@@ -68,7 +68,11 @@ typedef struct psk_auth_info_st
 typedef struct psk_auth_info_st psk_auth_info_st;
 
 int
-_gnutls_set_psk_session_key (gnutls_session_t session, gnutls_datum_t * psk2);
+_gnutls_set_psk_session_key (gnutls_session_t session, gnutls_datum_t* key, 
gnutls_datum_t * psk2);
+
+int _gnutls_find_psk_key( gnutls_session_t session, 
gnutls_psk_client_credentials_t cred, 
+  gnutls_datum_t * username, gnutls_datum* key, int* free);
+
 #else
 #define _gnutls_set_psk_session_key(x,y) GNUTLS_E_INTERNAL_ERROR
 #endif /* ENABLE_PSK */
diff --git a/lib/gnutlsxx.cpp b/lib/gnutlsxx.cpp
index 400d87b..1243c40 100644
--- a/lib/gnutlsxx.cpp
+++ b/lib/gnutlsxx.cpp
@@ -163,32 +163,32 @@ namespace gnutls
 
   void session::set_cipher_priority (const int *list)
   {
-    RETWRAP (gnutls_cipher_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
   void session::set_mac_priority (const int *list)
   {
-    RETWRAP (gnutls_mac_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
   void session::set_compression_priority (const int *list)
   {
-    RETWRAP (gnutls_compression_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
   void session::set_kx_priority (const int *list)
   {
-    RETWRAP (gnutls_kx_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
   void session::set_protocol_priority (const int *list)
   {
-    RETWRAP (gnutls_protocol_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
   void session::set_certificate_type_priority (const int *list)
   {
-    RETWRAP (gnutls_certificate_type_set_priority (s, list));
+    RETWRAP (GNUTLS_E_UNIMPLEMENTED_FEATURE);
   }
 
 
diff --git a/src/cli-gaa.c b/src/cli-gaa.c
index 1d633ca..76042d6 100644
--- a/src/cli-gaa.c
+++ b/src/cli-gaa.c
@@ -139,12 +139,6 @@ void gaa_help(void)
        __gaa_helpsingle(0, "print-cert", "", "Print the certificate in PEM 
format.");
        __gaa_helpsingle(0, "recordsize", "integer ", "The maximum record size 
to advertize.");
        __gaa_helpsingle('V', "verbose", "", "More verbose output.");
-       __gaa_helpsingle(0, "ciphers", "cipher1 cipher2... ", "Ciphers to 
enable.");
-       __gaa_helpsingle(0, "protocols", "protocol1 protocol2... ", "Protocols 
to enable.");
-       __gaa_helpsingle(0, "comp", "comp1 comp2... ", "Compression methods to 
enable.");
-       __gaa_helpsingle(0, "macs", "mac1 mac2... ", "MACs to enable.");
-       __gaa_helpsingle(0, "kx", "kx1 kx2... ", "Key exchange methods to 
enable.");
-       __gaa_helpsingle(0, "ctypes", "certType1 certType2... ", "Certificate 
types to enable.");
        __gaa_helpsingle(0, "priority", "PRIORITY STRING ", "Priorities 
string.");
        __gaa_helpsingle(0, "x509cafile", "FILE ", "Certificate file or PKCS 
#11 URL to use.");
        __gaa_helpsingle(0, "x509crlfile", "FILE ", "CRL file to use.");
@@ -178,64 +172,40 @@ typedef struct _gaainfo gaainfo;
 
 struct _gaainfo
 {
-#line 127 "cli.gaa"
+#line 103 "cli.gaa"
        char *rest_args;
-#line 119 "cli.gaa"
+#line 95 "cli.gaa"
        int insecure;
-#line 116 "cli.gaa"
+#line 92 "cli.gaa"
        char *port;
-#line 113 "cli.gaa"
+#line 89 "cli.gaa"
        char *opaque_prf_input;
-#line 110 "cli.gaa"
+#line 86 "cli.gaa"
        char *psk_key;
-#line 107 "cli.gaa"
+#line 83 "cli.gaa"
        char *psk_username;
-#line 104 "cli.gaa"
+#line 80 "cli.gaa"
        char *srp_passwd;
-#line 101 "cli.gaa"
+#line 77 "cli.gaa"
        char *srp_username;
-#line 98 "cli.gaa"
+#line 74 "cli.gaa"
        char *x509_certfile;
-#line 95 "cli.gaa"
+#line 71 "cli.gaa"
        char *x509_keyfile;
-#line 92 "cli.gaa"
+#line 68 "cli.gaa"
        char *pgp_subkey;
-#line 89 "cli.gaa"
+#line 65 "cli.gaa"
        char *pgp_certfile;
-#line 86 "cli.gaa"
+#line 62 "cli.gaa"
        char *pgp_keyring;
-#line 83 "cli.gaa"
+#line 59 "cli.gaa"
        char *pgp_keyfile;
-#line 80 "cli.gaa"
+#line 56 "cli.gaa"
        char *x509_crlfile;
-#line 77 "cli.gaa"
+#line 53 "cli.gaa"
        char *x509_cafile;
-#line 74 "cli.gaa"
-       char *priorities;
-#line 71 "cli.gaa"
-       char **ctype;
-#line 70 "cli.gaa"
-       int nctype;
-#line 67 "cli.gaa"
-       char **kx;
-#line 66 "cli.gaa"
-       int nkx;
-#line 63 "cli.gaa"
-       char **macs;
-#line 62 "cli.gaa"
-       int nmacs;
-#line 59 "cli.gaa"
-       char **comp;
-#line 58 "cli.gaa"
-       int ncomp;
-#line 55 "cli.gaa"
-       char **proto;
-#line 54 "cli.gaa"
-       int nproto;
-#line 51 "cli.gaa"
-       char **ciphers;
 #line 50 "cli.gaa"
-       int nciphers;
+       char *priorities;
 #line 47 "cli.gaa"
        int verbose;
 #line 44 "cli.gaa"
@@ -314,7 +284,7 @@ static int gaa_error = 0;
 #define GAA_MULTIPLE_OPTION     3
 
 #define GAA_REST                0
-#define GAA_NB_OPTION           37
+#define GAA_NB_OPTION           31
 #define GAAOPTID_version       1
 #define GAAOPTID_help  2
 #define GAAOPTID_list  3
@@ -334,24 +304,18 @@ static int gaa_error = 0;
 #define GAAOPTID_x509crlfile   17
 #define GAAOPTID_x509cafile    18
 #define GAAOPTID_priority      19
-#define GAAOPTID_ctypes        20
-#define GAAOPTID_kx    21
-#define GAAOPTID_macs  22
-#define GAAOPTID_comp  23
-#define GAAOPTID_protocols     24
-#define GAAOPTID_ciphers       25
-#define GAAOPTID_verbose       26
-#define GAAOPTID_recordsize    27
-#define GAAOPTID_print_cert    28
-#define GAAOPTID_disable_extensions    29
-#define GAAOPTID_fingerprint   30
-#define GAAOPTID_x509fmtder    31
-#define GAAOPTID_crlf  32
-#define GAAOPTID_starttls      33
-#define GAAOPTID_noticket      34
-#define GAAOPTID_rehandshake   35
-#define GAAOPTID_resume        36
-#define GAAOPTID_debug 37
+#define GAAOPTID_verbose       20
+#define GAAOPTID_recordsize    21
+#define GAAOPTID_print_cert    22
+#define GAAOPTID_disable_extensions    23
+#define GAAOPTID_fingerprint   24
+#define GAAOPTID_x509fmtder    25
+#define GAAOPTID_crlf  26
+#define GAAOPTID_starttls      27
+#define GAAOPTID_noticket      28
+#define GAAOPTID_rehandshake   29
+#define GAAOPTID_resume        30
+#define GAAOPTID_debug 31
 
 #line 168 "gaa.skel"
 
@@ -628,42 +592,6 @@ struct GAAOPTION_priority
        int size1;
 };
 
-struct GAAOPTION_ctypes 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_kx 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_macs 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_comp 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_protocols 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_ciphers 
-{
-       char** arg1;
-       int size1;
-};
-
 struct GAAOPTION_recordsize 
 {
        int arg1;
@@ -727,12 +655,6 @@ static int gaa_get_option_num(char *str, int status)
                        GAA_CHECK1STR("", GAAOPTID_x509crlfile);
                        GAA_CHECK1STR("", GAAOPTID_x509cafile);
                        GAA_CHECK1STR("", GAAOPTID_priority);
-                       GAA_CHECK1STR("", GAAOPTID_ctypes);
-                       GAA_CHECK1STR("", GAAOPTID_kx);
-                       GAA_CHECK1STR("", GAAOPTID_macs);
-                       GAA_CHECK1STR("", GAAOPTID_comp);
-                       GAA_CHECK1STR("", GAAOPTID_protocols);
-                       GAA_CHECK1STR("", GAAOPTID_ciphers);
                        GAA_CHECK1STR("", GAAOPTID_recordsize);
                        GAA_CHECK1STR("d", GAAOPTID_debug);
         case GAA_MULTIPLE_OPTION:
@@ -774,12 +696,6 @@ static int gaa_get_option_num(char *str, int status)
                        GAA_CHECKSTR("x509crlfile", GAAOPTID_x509crlfile);
                        GAA_CHECKSTR("x509cafile", GAAOPTID_x509cafile);
                        GAA_CHECKSTR("priority", GAAOPTID_priority);
-                       GAA_CHECKSTR("ctypes", GAAOPTID_ctypes);
-                       GAA_CHECKSTR("kx", GAAOPTID_kx);
-                       GAA_CHECKSTR("macs", GAAOPTID_macs);
-                       GAA_CHECKSTR("comp", GAAOPTID_comp);
-                       GAA_CHECKSTR("protocols", GAAOPTID_protocols);
-                       GAA_CHECKSTR("ciphers", GAAOPTID_ciphers);
                        GAA_CHECKSTR("verbose", GAAOPTID_verbose);
                        GAA_CHECKSTR("recordsize", GAAOPTID_recordsize);
                        GAA_CHECKSTR("print-cert", GAAOPTID_print_cert);
@@ -819,12 +735,6 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
        struct GAAOPTION_x509crlfile GAATMP_x509crlfile;
        struct GAAOPTION_x509cafile GAATMP_x509cafile;
        struct GAAOPTION_priority GAATMP_priority;
-       struct GAAOPTION_ctypes GAATMP_ctypes;
-       struct GAAOPTION_kx GAATMP_kx;
-       struct GAAOPTION_macs GAATMP_macs;
-       struct GAAOPTION_comp GAATMP_comp;
-       struct GAAOPTION_protocols GAATMP_protocols;
-       struct GAAOPTION_ciphers GAATMP_ciphers;
        struct GAAOPTION_recordsize GAATMP_recordsize;
        struct GAAOPTION_debug GAATMP_debug;
 
@@ -849,28 +759,28 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
     {
        case GAAOPTID_version:
        OK = 0;
-#line 125 "cli.gaa"
+#line 101 "cli.gaa"
 { cli_version(); exit(0); ;};
 
                return GAA_OK;
                break;
        case GAAOPTID_help:
        OK = 0;
-#line 123 "cli.gaa"
+#line 99 "cli.gaa"
 { gaa_help(); exit(0); ;};
 
                return GAA_OK;
                break;
        case GAAOPTID_list:
        OK = 0;
-#line 122 "cli.gaa"
+#line 98 "cli.gaa"
 { print_list(gaaval->verbose); exit(0); ;};
 
                return GAA_OK;
                break;
        case GAAOPTID_insecure:
        OK = 0;
-#line 120 "cli.gaa"
+#line 96 "cli.gaa"
 { gaaval->insecure = 1 ;};
 
                return GAA_OK;
@@ -880,7 +790,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_port.arg1, gaa_getstr, GAATMP_port.size1);
                gaa_index++;
-#line 117 "cli.gaa"
+#line 93 "cli.gaa"
 { gaaval->port = GAATMP_port.arg1 ;};
 
                return GAA_OK;
@@ -890,7 +800,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_opaque_prf_input.arg1, gaa_getstr, 
GAATMP_opaque_prf_input.size1);
                gaa_index++;
-#line 114 "cli.gaa"
+#line 90 "cli.gaa"
 { gaaval->opaque_prf_input = GAATMP_opaque_prf_input.arg1 ;};
 
                return GAA_OK;
@@ -900,7 +810,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pskkey.arg1, gaa_getstr, GAATMP_pskkey.size1);
                gaa_index++;
-#line 111 "cli.gaa"
+#line 87 "cli.gaa"
 { gaaval->psk_key = GAATMP_pskkey.arg1 ;};
 
                return GAA_OK;
@@ -910,7 +820,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pskusername.arg1, gaa_getstr, 
GAATMP_pskusername.size1);
                gaa_index++;
-#line 108 "cli.gaa"
+#line 84 "cli.gaa"
 { gaaval->psk_username = GAATMP_pskusername.arg1 ;};
 
                return GAA_OK;
@@ -920,7 +830,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_srppasswd.arg1, gaa_getstr, 
GAATMP_srppasswd.size1);
                gaa_index++;
-#line 105 "cli.gaa"
+#line 81 "cli.gaa"
 { gaaval->srp_passwd = GAATMP_srppasswd.arg1 ;};
 
                return GAA_OK;
@@ -930,7 +840,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_srpusername.arg1, gaa_getstr, 
GAATMP_srpusername.size1);
                gaa_index++;
-#line 102 "cli.gaa"
+#line 78 "cli.gaa"
 { gaaval->srp_username = GAATMP_srpusername.arg1 ;};
 
                return GAA_OK;
@@ -940,7 +850,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_x509certfile.arg1, gaa_getstr, 
GAATMP_x509certfile.size1);
                gaa_index++;
-#line 99 "cli.gaa"
+#line 75 "cli.gaa"
 { gaaval->x509_certfile = GAATMP_x509certfile.arg1 ;};
 
                return GAA_OK;
@@ -950,7 +860,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_x509keyfile.arg1, gaa_getstr, 
GAATMP_x509keyfile.size1);
                gaa_index++;
-#line 96 "cli.gaa"
+#line 72 "cli.gaa"
 { gaaval->x509_keyfile = GAATMP_x509keyfile.arg1 ;};
 
                return GAA_OK;
@@ -960,7 +870,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pgpsubkey.arg1, gaa_getstr, 
GAATMP_pgpsubkey.size1);
                gaa_index++;
-#line 93 "cli.gaa"
+#line 69 "cli.gaa"
 { gaaval->pgp_subkey = GAATMP_pgpsubkey.arg1 ;};
 
                return GAA_OK;
@@ -970,7 +880,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pgpcertfile.arg1, gaa_getstr, 
GAATMP_pgpcertfile.size1);
                gaa_index++;
-#line 90 "cli.gaa"
+#line 66 "cli.gaa"
 { gaaval->pgp_certfile = GAATMP_pgpcertfile.arg1 ;};
 
                return GAA_OK;
@@ -980,7 +890,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pgpkeyring.arg1, gaa_getstr, 
GAATMP_pgpkeyring.size1);
                gaa_index++;
-#line 87 "cli.gaa"
+#line 63 "cli.gaa"
 { gaaval->pgp_keyring = GAATMP_pgpkeyring.arg1 ;};
 
                return GAA_OK;
@@ -990,7 +900,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_pgpkeyfile.arg1, gaa_getstr, 
GAATMP_pgpkeyfile.size1);
                gaa_index++;
-#line 84 "cli.gaa"
+#line 60 "cli.gaa"
 { gaaval->pgp_keyfile = GAATMP_pgpkeyfile.arg1 ;};
 
                return GAA_OK;
@@ -1000,7 +910,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_x509crlfile.arg1, gaa_getstr, 
GAATMP_x509crlfile.size1);
                gaa_index++;
-#line 81 "cli.gaa"
+#line 57 "cli.gaa"
 { gaaval->x509_crlfile = GAATMP_x509crlfile.arg1 ;};
 
                return GAA_OK;
@@ -1010,7 +920,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_x509cafile.arg1, gaa_getstr, 
GAATMP_x509cafile.size1);
                gaa_index++;
-#line 78 "cli.gaa"
+#line 54 "cli.gaa"
 { gaaval->x509_cafile = GAATMP_x509cafile.arg1 ;};
 
                return GAA_OK;
@@ -1020,59 +930,11 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_priority.arg1, gaa_getstr, 
GAATMP_priority.size1);
                gaa_index++;
-#line 75 "cli.gaa"
+#line 51 "cli.gaa"
 { gaaval->priorities = GAATMP_priority.arg1 ;};
 
                return GAA_OK;
                break;
-       case GAAOPTID_ctypes:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_ctypes.arg1, gaa_getstr, char*, 
GAATMP_ctypes.size1);
-#line 72 "cli.gaa"
-{ gaaval->ctype = GAATMP_ctypes.arg1; gaaval->nctype = GAATMP_ctypes.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_kx:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_kx.arg1, gaa_getstr, char*, 
GAATMP_kx.size1);
-#line 68 "cli.gaa"
-{ gaaval->kx = GAATMP_kx.arg1; gaaval->nkx = GAATMP_kx.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_macs:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_macs.arg1, gaa_getstr, char*, 
GAATMP_macs.size1);
-#line 64 "cli.gaa"
-{ gaaval->macs = GAATMP_macs.arg1; gaaval->nmacs = GAATMP_macs.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_comp:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_comp.arg1, gaa_getstr, char*, 
GAATMP_comp.size1);
-#line 60 "cli.gaa"
-{ gaaval->comp = GAATMP_comp.arg1; gaaval->ncomp = GAATMP_comp.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_protocols:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_protocols.arg1, gaa_getstr, char*, 
GAATMP_protocols.size1);
-#line 56 "cli.gaa"
-{ gaaval->proto = GAATMP_protocols.arg1; gaaval->nproto = 
GAATMP_protocols.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_ciphers:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_ciphers.arg1, gaa_getstr, char*, 
GAATMP_ciphers.size1);
-#line 52 "cli.gaa"
-{ gaaval->ciphers = GAATMP_ciphers.arg1; gaaval->nciphers = 
GAATMP_ciphers.size1 ;};
-
-               return GAA_OK;
-               break;
        case GAAOPTID_verbose:
        OK = 0;
 #line 48 "cli.gaa"
@@ -1167,7 +1029,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAAREST_tmp.arg1, gaa_getstr, GAAREST_tmp.size1);
                gaa_index++;
-#line 128 "cli.gaa"
+#line 104 "cli.gaa"
 { gaaval->rest_args = GAAREST_tmp.arg1; ;};
 
                return GAA_OK;
@@ -1196,10 +1058,9 @@ int gaa(int argc, char **argv, gaainfo *gaaval)
     if(inited == 0)
     {
 
-#line 130 "cli.gaa"
-{ gaaval->resume=0; gaaval->noticket=0; gaaval->port="443"; 
gaaval->rest_args=NULL; gaaval->ciphers=NULL;
-       gaaval->kx=NULL; gaaval->comp=NULL; gaaval->macs=NULL; 
gaaval->ctype=NULL; gaaval->nciphers=0;
-       gaaval->nkx=0; gaaval->ncomp=0; gaaval->nmacs=0; gaaval->nctype = 0; 
gaaval->record_size=0; 
+#line 106 "cli.gaa"
+{ gaaval->resume=0; gaaval->noticket=0; gaaval->port="443"; 
gaaval->rest_args=NULL; 
+       gaaval->record_size=0; 
        gaaval->fingerprint=0; gaaval->pgp_keyring=NULL; gaaval->x509_crlfile = 
NULL;
        gaaval->x509_cafile = NULL; gaaval->pgp_keyfile=NULL; 
gaaval->pgp_certfile=NULL; gaaval->disable_extensions = 0;
        gaaval->x509_keyfile=NULL; gaaval->x509_certfile=NULL; gaaval->crlf = 
0; 
diff --git a/src/cli-gaa.h b/src/cli-gaa.h
index 2627d4a..59117f3 100644
--- a/src/cli-gaa.h
+++ b/src/cli-gaa.h
@@ -8,64 +8,40 @@ typedef struct _gaainfo gaainfo;
 
 struct _gaainfo
 {
-#line 127 "cli.gaa"
+#line 103 "cli.gaa"
        char *rest_args;
-#line 119 "cli.gaa"
+#line 95 "cli.gaa"
        int insecure;
-#line 116 "cli.gaa"
+#line 92 "cli.gaa"
        char *port;
-#line 113 "cli.gaa"
+#line 89 "cli.gaa"
        char *opaque_prf_input;
-#line 110 "cli.gaa"
+#line 86 "cli.gaa"
        char *psk_key;
-#line 107 "cli.gaa"
+#line 83 "cli.gaa"
        char *psk_username;
-#line 104 "cli.gaa"
+#line 80 "cli.gaa"
        char *srp_passwd;
-#line 101 "cli.gaa"
+#line 77 "cli.gaa"
        char *srp_username;
-#line 98 "cli.gaa"
+#line 74 "cli.gaa"
        char *x509_certfile;
-#line 95 "cli.gaa"
+#line 71 "cli.gaa"
        char *x509_keyfile;
-#line 92 "cli.gaa"
+#line 68 "cli.gaa"
        char *pgp_subkey;
-#line 89 "cli.gaa"
+#line 65 "cli.gaa"
        char *pgp_certfile;
-#line 86 "cli.gaa"
+#line 62 "cli.gaa"
        char *pgp_keyring;
-#line 83 "cli.gaa"
+#line 59 "cli.gaa"
        char *pgp_keyfile;
-#line 80 "cli.gaa"
+#line 56 "cli.gaa"
        char *x509_crlfile;
-#line 77 "cli.gaa"
+#line 53 "cli.gaa"
        char *x509_cafile;
-#line 74 "cli.gaa"
-       char *priorities;
-#line 71 "cli.gaa"
-       char **ctype;
-#line 70 "cli.gaa"
-       int nctype;
-#line 67 "cli.gaa"
-       char **kx;
-#line 66 "cli.gaa"
-       int nkx;
-#line 63 "cli.gaa"
-       char **macs;
-#line 62 "cli.gaa"
-       int nmacs;
-#line 59 "cli.gaa"
-       char **comp;
-#line 58 "cli.gaa"
-       int ncomp;
-#line 55 "cli.gaa"
-       char **proto;
-#line 54 "cli.gaa"
-       int nproto;
-#line 51 "cli.gaa"
-       char **ciphers;
 #line 50 "cli.gaa"
-       int nciphers;
+       char *priorities;
 #line 47 "cli.gaa"
        int verbose;
 #line 44 "cli.gaa"
diff --git a/src/cli.c b/src/cli.c
index 0b065f8..c3aa050 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -84,13 +84,6 @@ static gnutls_certificate_credentials_t xcred;
 
 static gaainfo info;
 
-static int protocol_priority[PRI_MAX];
-static int kx_priority[PRI_MAX];
-static int cipher_priority[PRI_MAX];
-static int comp_priority[PRI_MAX];
-static int mac_priority[PRI_MAX];
-static int cert_type_priority[PRI_MAX];
-
 /* end of global stuff */
 
 /* prototypes */
@@ -573,21 +566,8 @@ init_tls_session (const char *hostname)
       gnutls_handshake_set_private_extensions (session, 1);
       gnutls_server_name_set (session, GNUTLS_NAME_DNS, hostname,
                               strlen (hostname));
-      if (cert_type_priority[0])
-        gnutls_certificate_type_set_priority (session, cert_type_priority);
     }
 
-  if (cipher_priority[0])
-    gnutls_cipher_set_priority (session, cipher_priority);
-  if (comp_priority[0])
-    gnutls_compression_set_priority (session, comp_priority);
-  if (kx_priority[0])
-    gnutls_kx_set_priority (session, kx_priority);
-  if (protocol_priority[0])
-    gnutls_protocol_set_priority (session, protocol_priority);
-  if (mac_priority[0])
-    gnutls_mac_set_priority (session, mac_priority);
-
   gnutls_dh_set_prime_bits (session, 512);
 
   gnutls_credentials_set (session, GNUTLS_CRD_ANON, anon_cred);
@@ -1033,13 +1013,6 @@ gaa_parser (int argc, char **argv)
     hostname = "localhost";
   else
     hostname = info.rest_args;
-
-  parse_protocols (info.proto, info.nproto, protocol_priority);
-  parse_ciphers (info.ciphers, info.nciphers, cipher_priority);
-  parse_macs (info.macs, info.nmacs, mac_priority);
-  parse_ctypes (info.ctype, info.nctype, cert_type_priority);
-  parse_kx (info.kx, info.nkx, kx_priority);
-  parse_comp (info.comp, info.ncomp, comp_priority);
 }
 
 void cli_version (void);
diff --git a/src/cli.gaa b/src/cli.gaa
index 7cd0084..d7997d4 100644
--- a/src/cli.gaa
+++ b/src/cli.gaa
@@ -47,30 +47,6 @@ option (recordsize) INT "integer" { $record_size = $1 } "The 
maximum record size
 #int verbose;
 option (V, verbose) { $verbose = 1 } "More verbose output."
 
-#int nciphers;
-#char **ciphers;
-option (ciphers) *STR "cipher1 cipher2..." { $ciphers = $1; $nciphers = @1 } 
"Ciphers to enable."
-
-#int nproto;
-#char **proto;
-option (protocols) *STR "protocol1 protocol2..." { $proto = $1; $nproto = @1 } 
"Protocols to enable."
-
-#int ncomp;
-#char **comp;
-option (comp) *STR "comp1 comp2..." { $comp = $1; $ncomp = @1 } "Compression 
methods to enable."
-
-#int nmacs;
-#char **macs;
-option (macs) *STR "mac1 mac2..." { $macs = $1; $nmacs = @1 } "MACs to enable."
-
-#int nkx;
-#char **kx;
-option (kx) *STR "kx1 kx2..." { $kx = $1; $nkx = @1 } "Key exchange methods to 
enable."
-
-#int nctype;
-#char **ctype;
-option (ctypes) *STR "certType1 certType2..." { $ctype = $1; $nctype = @1 } 
"Certificate types to enable."
-
 #char *priorities;
 option (priority) STR "PRIORITY STRING" { $priorities = $1 } "Priorities 
string."
 
@@ -127,9 +103,8 @@ option (v, version) { cli_version(); exit(0); } "prints the 
program's version nu
 #char *rest_args;
 rest STR "hostname" { $rest_args = $1; }
 
-init { $resume=0; $noticket=0; $port="443"; $rest_args=NULL; $ciphers=NULL;
-       $kx=NULL; $comp=NULL; $macs=NULL; $ctype=NULL; $nciphers=0;
-       $nkx=0; $ncomp=0; $nmacs=0; $nctype = 0; $record_size=0; 
+init { $resume=0; $noticket=0; $port="443"; $rest_args=NULL; 
+       $record_size=0; 
        $fingerprint=0; $pgp_keyring=NULL; $x509_crlfile = NULL;
        $x509_cafile = NULL; $pgp_keyfile=NULL; $pgp_certfile=NULL; 
$disable_extensions = 0;
        $x509_keyfile=NULL; $x509_certfile=NULL; $crlf = 0; 
diff --git a/src/common.c b/src/common.c
index a397176..81bb153 100644
--- a/src/common.c
+++ b/src/common.c
@@ -686,188 +686,6 @@ print_list (int verbose)
   }
 }
 
-static int depr_printed = 0;
-#define DEPRECATED if (depr_printed==0) { \
-  fprintf(stderr, "This method of specifying algorithms is deprecated. Please 
use the --priority option.\n"); \
-  depr_printed = 1; \
-  }
-
-void
-parse_protocols (char **protocols, int protocols_size, int *protocol_priority)
-{
-  int i, j;
-
-  if (protocols != NULL && protocols_size > 0)
-    {
-      DEPRECATED;
-
-      for (j = i = 0; i < protocols_size; i++)
-        {
-          if (strncasecmp (protocols[i], "SSL", 3) == 0)
-            protocol_priority[j++] = GNUTLS_SSL3;
-          else if (strncasecmp (protocols[i], "TLS1.1", 6) == 0)
-            protocol_priority[j++] = GNUTLS_TLS1_1;
-          else if (strncasecmp (protocols[i], "TLS1.2", 6) == 0)
-            protocol_priority[j++] = GNUTLS_TLS1_2;
-          else if (strncasecmp (protocols[i], "TLS", 3) == 0)
-            protocol_priority[j++] = GNUTLS_TLS1_0;
-          else
-            fprintf (stderr, "Unknown protocol: '%s'\n", protocols[i]);
-        }
-      protocol_priority[j] = 0;
-    }
-}
-
-void
-parse_ciphers (char **ciphers, int nciphers, int *cipher_priority)
-{
-  int j, i;
-
-
-  if (ciphers != NULL && nciphers > 0)
-    {
-      DEPRECATED;
-      for (j = i = 0; i < nciphers; i++)
-        {
-          if (strncasecmp (ciphers[i], "AES-2", 5) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_AES_256_CBC;
-          else if (strncasecmp (ciphers[i], "AES", 3) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_AES_128_CBC;
-          else if (strncasecmp (ciphers[i], "3DE", 3) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_3DES_CBC;
-          else if (strcasecmp (ciphers[i], "ARCFOUR-40") == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_ARCFOUR_40;
-          else if (strcasecmp (ciphers[i], "ARCFOUR") == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_ARCFOUR_128;
-#ifdef ENABLE_CAMELLIA
-          else if (strncasecmp (ciphers[i], "CAMELLIA-2", 10) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_CAMELLIA_256_CBC;
-          else if (strncasecmp (ciphers[i], "CAM", 3) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_CAMELLIA_128_CBC;
-#endif
-          else if (strncasecmp (ciphers[i], "NUL", 3) == 0)
-            cipher_priority[j++] = GNUTLS_CIPHER_NULL;
-          else
-            fprintf (stderr, "Unknown cipher: '%s'\n", ciphers[i]);
-        }
-      cipher_priority[j] = 0;
-    }
-}
-
-void
-parse_macs (char **macs, int nmacs, int *mac_priority)
-{
-  int i, j;
-
-
-  if (macs != NULL && nmacs > 0)
-    {
-      DEPRECATED;
-      for (j = i = 0; i < nmacs; i++)
-        {
-          if (strncasecmp (macs[i], "MD5", 3) == 0)
-            mac_priority[j++] = GNUTLS_MAC_MD5;
-          else if (strncasecmp (macs[i], "RMD", 3) == 0)
-            mac_priority[j++] = GNUTLS_MAC_RMD160;
-          else if (strncasecmp (macs[i], "SHA512", 6) == 0)
-            mac_priority[j++] = GNUTLS_MAC_SHA512;
-          else if (strncasecmp (macs[i], "SHA384", 6) == 0)
-            mac_priority[j++] = GNUTLS_MAC_SHA384;
-          else if (strncasecmp (macs[i], "SHA256", 6) == 0)
-            mac_priority[j++] = GNUTLS_MAC_SHA256;
-          else if (strncasecmp (macs[i], "SHA", 3) == 0)
-            mac_priority[j++] = GNUTLS_MAC_SHA1;
-          else
-            fprintf (stderr, "Unknown MAC: '%s'\n", macs[i]);
-        }
-      mac_priority[j] = 0;
-    }
-}
-
-void
-parse_ctypes (char **ctype, int nctype, int *cert_type_priority)
-{
-  int i, j;
-
-  if (ctype != NULL && nctype > 0)
-    {
-      DEPRECATED;
-      for (j = i = 0; i < nctype; i++)
-        {
-          if (strncasecmp (ctype[i], "OPE", 3) == 0)
-            cert_type_priority[j++] = GNUTLS_CRT_OPENPGP;
-          else if (strncasecmp (ctype[i], "X", 1) == 0)
-            cert_type_priority[j++] = GNUTLS_CRT_X509;
-          else
-            fprintf (stderr, "Unknown certificate type: '%s'\n", ctype[i]);
-        }
-      cert_type_priority[j] = 0;
-    }
-}
-
-void
-parse_kx (char **kx, int nkx, int *kx_priority)
-{
-  int i, j;
-
-
-  if (kx != NULL && nkx > 0)
-    {
-      DEPRECATED;
-      for (j = i = 0; i < nkx; i++)
-        {
-          if (strcasecmp (kx[i], "SRP") == 0)
-            kx_priority[j++] = GNUTLS_KX_SRP;
-          else if (strcasecmp (kx[i], "SRP-RSA") == 0)
-            kx_priority[j++] = GNUTLS_KX_SRP_RSA;
-          else if (strcasecmp (kx[i], "SRP-DSS") == 0)
-            kx_priority[j++] = GNUTLS_KX_SRP_DSS;
-          else if (strcasecmp (kx[i], "RSA") == 0)
-            kx_priority[j++] = GNUTLS_KX_RSA;
-          else if (strcasecmp (kx[i], "PSK") == 0)
-            kx_priority[j++] = GNUTLS_KX_PSK;
-          else if (strcasecmp (kx[i], "DHE-PSK") == 0)
-            kx_priority[j++] = GNUTLS_KX_DHE_PSK;
-          else if (strcasecmp (kx[i], "RSA-EXPORT") == 0)
-            kx_priority[j++] = GNUTLS_KX_RSA_EXPORT;
-          else if (strncasecmp (kx[i], "DHE-RSA", 7) == 0)
-            kx_priority[j++] = GNUTLS_KX_DHE_RSA;
-          else if (strncasecmp (kx[i], "DHE-DSS", 7) == 0)
-            kx_priority[j++] = GNUTLS_KX_DHE_DSS;
-          else if (strncasecmp (kx[i], "ANON", 4) == 0)
-            kx_priority[j++] = GNUTLS_KX_ANON_DH;
-          else
-            fprintf (stderr, "Unknown key exchange: '%s'\n", kx[i]);
-        }
-      kx_priority[j] = 0;
-    }
-}
-
-void
-parse_comp (char **comp, int ncomp, int *comp_priority)
-{
-  int i, j;
-
-  if (comp != NULL && ncomp > 0)
-    {
-      DEPRECATED;
-      for (j = i = 0; i < ncomp; i++)
-        {
-          if (strncasecmp (comp[i], "NUL", 3) == 0)
-            comp_priority[j++] = GNUTLS_COMP_NULL;
-          else if (strncasecmp (comp[i], "ZLI", 3) == 0)
-            comp_priority[j++] = GNUTLS_COMP_DEFLATE;
-          else if (strncasecmp (comp[i], "DEF", 3) == 0)
-            comp_priority[j++] = GNUTLS_COMP_DEFLATE;
-          else if (strncasecmp (comp[i], "LZO", 3) == 0)
-            comp_priority[j++] = GNUTLS_COMP_LZO;
-          else
-            fprintf (stderr, "Unknown compression: '%s'\n", comp[i]);
-        }
-      comp_priority[j] = 0;
-    }
-}
-
 void
 sockets_init (void)
 {
diff --git a/src/common.h b/src/common.h
index 78d5e35..4a7e1aa 100644
--- a/src/common.h
+++ b/src/common.h
@@ -31,13 +31,6 @@ void print_cert_info (gnutls_session_t state, const char 
*hostname,
                       int insecure);
 void print_list (int verbose);
 
-void parse_comp (char **comp, int ncomp, int *comp_priority);
-void parse_kx (char **kx, int nkx, int *kx_priority);
-void parse_ctypes (char **ctype, int nctype, int *cert_type_priority);
-void parse_macs (char **macs, int nmacs, int *mac_priority);
-void parse_ciphers (char **ciphers, int nciphers, int *cipher_priority);
-void parse_protocols (char **protocols, int protocols_size,
-                      int *protocol_priority);
 const char *raw_to_string (const unsigned char *raw, size_t raw_size);
 int service_to_port (const char *service);
 void pkcs11_common (void);
diff --git a/src/serv-gaa.c b/src/serv-gaa.c
index 7e502aa..52e904d 100644
--- a/src/serv-gaa.c
+++ b/src/serv-gaa.c
@@ -152,12 +152,6 @@ void gaa_help(void)
        __gaa_helpsingle(0, "srppasswd", "FILE ", "SRP password file to use.");
        __gaa_helpsingle(0, "srppasswdconf", "FILE ", "SRP password conf file 
to use.");
        __gaa_helpsingle(0, "opaque-prf-input", "DATA ", "Use Opaque PRF Input 
DATA.");
-       __gaa_helpsingle(0, "ciphers", "cipher1 cipher2... ", "Ciphers to 
enable.");
-       __gaa_helpsingle(0, "protocols", "protocol1 protocol2... ", "Protocols 
to enable.");
-       __gaa_helpsingle(0, "comp", "comp1 comp2... ", "Compression methods to 
enable.");
-       __gaa_helpsingle(0, "macs", "mac1 mac2... ", "MACs to enable.");
-       __gaa_helpsingle(0, "kx", "kx1 kx2... ", "Key exchange methods to 
enable.");
-       __gaa_helpsingle(0, "ctypes", "certType1 certType2... ", "Certificate 
types to enable.");
        __gaa_helpsingle(0, "priority", "PRIORITY STRING ", "Priorities 
string.");
        __gaa_helpsingle('l', "list", "", "Print a list of the supported 
algorithms  and modes.");
        __gaa_helpsingle('h', "help", "", "prints this help");
@@ -176,32 +170,8 @@ typedef struct _gaainfo gaainfo;
 
 struct _gaainfo
 {
-#line 115 "serv.gaa"
-       char *priorities;
-#line 112 "serv.gaa"
-       char **ctype;
-#line 111 "serv.gaa"
-       int nctype;
-#line 108 "serv.gaa"
-       char **kx;
-#line 107 "serv.gaa"
-       int nkx;
-#line 104 "serv.gaa"
-       char **macs;
-#line 103 "serv.gaa"
-       int nmacs;
-#line 100 "serv.gaa"
-       char **comp;
-#line 99 "serv.gaa"
-       int ncomp;
-#line 96 "serv.gaa"
-       char **proto;
-#line 95 "serv.gaa"
-       int nproto;
-#line 92 "serv.gaa"
-       char **ciphers;
 #line 91 "serv.gaa"
-       int nciphers;
+       char *priorities;
 #line 88 "serv.gaa"
        char *opaque_prf_input;
 #line 85 "serv.gaa"
@@ -308,44 +278,38 @@ static int gaa_error = 0;
 #define GAA_MULTIPLE_OPTION     3
 
 #define GAA_REST                0
-#define GAA_NB_OPTION           37
+#define GAA_NB_OPTION           31
 #define GAAOPTID_version       1
 #define GAAOPTID_help  2
 #define GAAOPTID_list  3
 #define GAAOPTID_priority      4
-#define GAAOPTID_ctypes        5
-#define GAAOPTID_kx    6
-#define GAAOPTID_macs  7
-#define GAAOPTID_comp  8
-#define GAAOPTID_protocols     9
-#define GAAOPTID_ciphers       10
-#define GAAOPTID_opaque_prf_input      11
-#define GAAOPTID_srppasswdconf 12
-#define GAAOPTID_srppasswd     13
-#define GAAOPTID_pskhint       14
-#define GAAOPTID_pskpasswd     15
-#define GAAOPTID_disable_client_cert   16
-#define GAAOPTID_require_cert  17
-#define GAAOPTID_x509dsacertfile       18
-#define GAAOPTID_x509dsakeyfile        19
-#define GAAOPTID_x509certfile  20
-#define GAAOPTID_x509keyfile   21
-#define GAAOPTID_pgpsubkey     22
-#define GAAOPTID_pgpcertfile   23
-#define GAAOPTID_pgpkeyfile    24
-#define GAAOPTID_pgpkeyring    25
-#define GAAOPTID_x509crlfile   26
-#define GAAOPTID_x509cafile    27
-#define GAAOPTID_x509fmtder    28
-#define GAAOPTID_dhparams      29
-#define GAAOPTID_echo  30
-#define GAAOPTID_http  31
-#define GAAOPTID_noticket      32
-#define GAAOPTID_nodb  33
-#define GAAOPTID_quiet 34
-#define GAAOPTID_port  35
-#define GAAOPTID_generate      36
-#define GAAOPTID_debug 37
+#define GAAOPTID_opaque_prf_input      5
+#define GAAOPTID_srppasswdconf 6
+#define GAAOPTID_srppasswd     7
+#define GAAOPTID_pskhint       8
+#define GAAOPTID_pskpasswd     9
+#define GAAOPTID_disable_client_cert   10
+#define GAAOPTID_require_cert  11
+#define GAAOPTID_x509dsacertfile       12
+#define GAAOPTID_x509dsakeyfile        13
+#define GAAOPTID_x509certfile  14
+#define GAAOPTID_x509keyfile   15
+#define GAAOPTID_pgpsubkey     16
+#define GAAOPTID_pgpcertfile   17
+#define GAAOPTID_pgpkeyfile    18
+#define GAAOPTID_pgpkeyring    19
+#define GAAOPTID_x509crlfile   20
+#define GAAOPTID_x509cafile    21
+#define GAAOPTID_x509fmtder    22
+#define GAAOPTID_dhparams      23
+#define GAAOPTID_echo  24
+#define GAAOPTID_http  25
+#define GAAOPTID_noticket      26
+#define GAAOPTID_nodb  27
+#define GAAOPTID_quiet 28
+#define GAAOPTID_port  29
+#define GAAOPTID_generate      30
+#define GAAOPTID_debug 31
 
 #line 168 "gaa.skel"
 
@@ -538,42 +502,6 @@ struct GAAOPTION_priority
        int size1;
 };
 
-struct GAAOPTION_ctypes 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_kx 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_macs 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_comp 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_protocols 
-{
-       char** arg1;
-       int size1;
-};
-
-struct GAAOPTION_ciphers 
-{
-       char** arg1;
-       int size1;
-};
-
 struct GAAOPTION_opaque_prf_input 
 {
        char* arg1;
@@ -712,12 +640,6 @@ static int gaa_get_option_num(char *str, int status)
         {
         case GAA_LETTER_OPTION:
                        GAA_CHECK1STR("", GAAOPTID_priority);
-                       GAA_CHECK1STR("", GAAOPTID_ctypes);
-                       GAA_CHECK1STR("", GAAOPTID_kx);
-                       GAA_CHECK1STR("", GAAOPTID_macs);
-                       GAA_CHECK1STR("", GAAOPTID_comp);
-                       GAA_CHECK1STR("", GAAOPTID_protocols);
-                       GAA_CHECK1STR("", GAAOPTID_ciphers);
                        GAA_CHECK1STR("", GAAOPTID_opaque_prf_input);
                        GAA_CHECK1STR("", GAAOPTID_srppasswdconf);
                        GAA_CHECK1STR("", GAAOPTID_srppasswd);
@@ -758,12 +680,6 @@ static int gaa_get_option_num(char *str, int status)
                        GAA_CHECKSTR("help", GAAOPTID_help);
                        GAA_CHECKSTR("list", GAAOPTID_list);
                        GAA_CHECKSTR("priority", GAAOPTID_priority);
-                       GAA_CHECKSTR("ctypes", GAAOPTID_ctypes);
-                       GAA_CHECKSTR("kx", GAAOPTID_kx);
-                       GAA_CHECKSTR("macs", GAAOPTID_macs);
-                       GAA_CHECKSTR("comp", GAAOPTID_comp);
-                       GAA_CHECKSTR("protocols", GAAOPTID_protocols);
-                       GAA_CHECKSTR("ciphers", GAAOPTID_ciphers);
                        GAA_CHECKSTR("opaque-prf-input", 
GAAOPTID_opaque_prf_input);
                        GAA_CHECKSTR("srppasswdconf", GAAOPTID_srppasswdconf);
                        GAA_CHECKSTR("srppasswd", GAAOPTID_srppasswd);
@@ -804,12 +720,6 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
     int OK = 0;
     int gaa_last_non_option;
        struct GAAOPTION_priority GAATMP_priority;
-       struct GAAOPTION_ctypes GAATMP_ctypes;
-       struct GAAOPTION_kx GAATMP_kx;
-       struct GAAOPTION_macs GAATMP_macs;
-       struct GAAOPTION_comp GAATMP_comp;
-       struct GAAOPTION_protocols GAATMP_protocols;
-       struct GAAOPTION_ciphers GAATMP_ciphers;
        struct GAAOPTION_opaque_prf_input GAATMP_opaque_prf_input;
        struct GAAOPTION_srppasswdconf GAATMP_srppasswdconf;
        struct GAAOPTION_srppasswd GAATMP_srppasswd;
@@ -850,21 +760,21 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
     {
        case GAAOPTID_version:
        OK = 0;
-#line 121 "serv.gaa"
+#line 97 "serv.gaa"
 { serv_version(); exit(0); ;};
 
                return GAA_OK;
                break;
        case GAAOPTID_help:
        OK = 0;
-#line 119 "serv.gaa"
+#line 95 "serv.gaa"
 { gaa_help(); exit(0); ;};
 
                return GAA_OK;
                break;
        case GAAOPTID_list:
        OK = 0;
-#line 118 "serv.gaa"
+#line 94 "serv.gaa"
 { print_list(0); exit(0); ;};
 
                return GAA_OK;
@@ -874,59 +784,11 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo 
*gaaval, char *opt_list)
                GAA_TESTMOREARGS;
                GAA_FILL(GAATMP_priority.arg1, gaa_getstr, 
GAATMP_priority.size1);
                gaa_index++;
-#line 116 "serv.gaa"
+#line 92 "serv.gaa"
 { gaaval->priorities = GAATMP_priority.arg1 ;};
 
                return GAA_OK;
                break;
-       case GAAOPTID_ctypes:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_ctypes.arg1, gaa_getstr, char*, 
GAATMP_ctypes.size1);
-#line 113 "serv.gaa"
-{ gaaval->ctype = GAATMP_ctypes.arg1; gaaval->nctype = GAATMP_ctypes.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_kx:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_kx.arg1, gaa_getstr, char*, 
GAATMP_kx.size1);
-#line 109 "serv.gaa"
-{ gaaval->kx = GAATMP_kx.arg1; gaaval->nkx = GAATMP_kx.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_macs:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_macs.arg1, gaa_getstr, char*, 
GAATMP_macs.size1);
-#line 105 "serv.gaa"
-{ gaaval->macs = GAATMP_macs.arg1; gaaval->nmacs = GAATMP_macs.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_comp:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_comp.arg1, gaa_getstr, char*, 
GAATMP_comp.size1);
-#line 101 "serv.gaa"
-{ gaaval->comp = GAATMP_comp.arg1; gaaval->ncomp = GAATMP_comp.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_protocols:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_protocols.arg1, gaa_getstr, char*, 
GAATMP_protocols.size1);
-#line 97 "serv.gaa"
-{ gaaval->proto = GAATMP_protocols.arg1; gaaval->nproto = 
GAATMP_protocols.size1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_ciphers:
-       OK = 0;
-               GAA_LIST_FILL(GAATMP_ciphers.arg1, gaa_getstr, char*, 
GAATMP_ciphers.size1);
-#line 93 "serv.gaa"
-{ gaaval->ciphers = GAATMP_ciphers.arg1; gaaval->nciphers = 
GAATMP_ciphers.size1 ;};
-
-               return GAA_OK;
-               break;
        case GAAOPTID_opaque_prf_input:
        OK = 0;
                GAA_TESTMOREARGS;
@@ -1194,10 +1056,8 @@ int gaa(int argc, char **argv, gaainfo *gaaval)
     if(inited == 0)
     {
 
-#line 125 "serv.gaa"
-{ gaaval->generate=0; gaaval->port=5556; gaaval->http=0; gaaval->ciphers=NULL;
-       gaaval->kx=NULL; gaaval->comp=NULL; gaaval->macs=NULL; 
gaaval->ctype=NULL; gaaval->nciphers=0;
-       gaaval->nkx=0; gaaval->ncomp=0; gaaval->nmacs=0; gaaval->nctype = 0; 
gaaval->nodb = 0; gaaval->noticket = 0;
+#line 101 "serv.gaa"
+{ gaaval->generate=0; gaaval->port=5556; gaaval->http=0; gaaval->nodb = 0; 
gaaval->noticket = 0;
        gaaval->x509_cafile = NULL; gaaval->pgp_keyfile=NULL; 
gaaval->pgp_certfile=NULL;
        gaaval->x509_keyfile=NULL; gaaval->x509_certfile=NULL; 
gaaval->x509_crlfile = NULL;
        gaaval->x509_dsakeyfile=NULL; gaaval->x509_dsacertfile=NULL; 
diff --git a/src/serv-gaa.h b/src/serv-gaa.h
index b2bb557..cb9f66c 100644
--- a/src/serv-gaa.h
+++ b/src/serv-gaa.h
@@ -8,32 +8,8 @@ typedef struct _gaainfo gaainfo;
 
 struct _gaainfo
 {
-#line 115 "serv.gaa"
-       char *priorities;
-#line 112 "serv.gaa"
-       char **ctype;
-#line 111 "serv.gaa"
-       int nctype;
-#line 108 "serv.gaa"
-       char **kx;
-#line 107 "serv.gaa"
-       int nkx;
-#line 104 "serv.gaa"
-       char **macs;
-#line 103 "serv.gaa"
-       int nmacs;
-#line 100 "serv.gaa"
-       char **comp;
-#line 99 "serv.gaa"
-       int ncomp;
-#line 96 "serv.gaa"
-       char **proto;
-#line 95 "serv.gaa"
-       int nproto;
-#line 92 "serv.gaa"
-       char **ciphers;
 #line 91 "serv.gaa"
-       int nciphers;
+       char *priorities;
 #line 88 "serv.gaa"
        char *opaque_prf_input;
 #line 85 "serv.gaa"
diff --git a/src/serv.c b/src/serv.c
index e6a975c..0687624 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -326,13 +326,6 @@ generate_rsa_params (void)
 
 LIST_DECLARE_INIT (listener_list, listener_item, listener_free);
 
-static int protocol_priority[PRI_MAX];
-static int kx_priority[PRI_MAX];
-static int cipher_priority[PRI_MAX];
-static int comp_priority[PRI_MAX];
-static int mac_priority[PRI_MAX];
-static int cert_type_priority[PRI_MAX];
-
 static gnutls_session_t
 initialize_session (void)
 {
@@ -363,19 +356,6 @@ initialize_session (void)
       exit (1);
     }
 
-  if (cipher_priority[0])
-    gnutls_cipher_set_priority (session, cipher_priority);
-  if (comp_priority[0])
-    gnutls_compression_set_priority (session, comp_priority);
-  if (kx_priority[0])
-    gnutls_kx_set_priority (session, kx_priority);
-  if (protocol_priority[0])
-    gnutls_protocol_set_priority (session, protocol_priority);
-  if (mac_priority[0])
-    gnutls_mac_set_priority (session, mac_priority);
-  if (cert_type_priority[0])
-    gnutls_certificate_type_set_priority (session, cert_type_priority);
-
   gnutls_credentials_set (session, GNUTLS_CRD_ANON, dh_cred);
 
   if (srp_cred != NULL)
@@ -1498,13 +1478,6 @@ gaa_parser (int argc, char **argv)
   psk_passwd = info.psk_passwd;
 
   pgp_keyring = info.pgp_keyring;
-
-  parse_protocols (info.proto, info.nproto, protocol_priority);
-  parse_ciphers (info.ciphers, info.nciphers, cipher_priority);
-  parse_macs (info.macs, info.nmacs, mac_priority);
-  parse_ctypes (info.ctype, info.nctype, cert_type_priority);
-  parse_kx (info.kx, info.nkx, kx_priority);
-  parse_comp (info.comp, info.ncomp, comp_priority);
 }
 
 extern void serv_version (void);
diff --git a/src/serv.gaa b/src/serv.gaa
index 37130cc..0828a86 100644
--- a/src/serv.gaa
+++ b/src/serv.gaa
@@ -88,30 +88,6 @@ option (srppasswdconf) STR "FILE" { $srp_passwd_conf = $1 } 
"SRP password conf f
 #char *opaque_prf_input;
 option (opaque-prf-input) STR "DATA" { $opaque_prf_input = $1 } "Use Opaque 
PRF Input DATA."
 
-#int nciphers;
-#char **ciphers;
-option (ciphers) *STR "cipher1 cipher2..." { $ciphers = $1; $nciphers = @1 } 
"Ciphers to enable."
-
-#int nproto;
-#char **proto;
-option (protocols) *STR "protocol1 protocol2..." { $proto = $1; $nproto = @1 } 
"Protocols to enable."
-
-#int ncomp;
-#char **comp;
-option (comp) *STR "comp1 comp2..." { $comp = $1; $ncomp = @1 } "Compression 
methods to enable."
-
-#int nmacs;
-#char **macs;
-option (macs) *STR "mac1 mac2..." { $macs = $1; $nmacs = @1 } "MACs to enable."
-
-#int nkx;
-#char **kx;
-option (kx) *STR "kx1 kx2..." { $kx = $1; $nkx = @1 } "Key exchange methods to 
enable."
-
-#int nctype;
-#char **ctype;
-option (ctypes) *STR "certType1 certType2..." { $ctype = $1; $nctype = @1 } 
"Certificate types to enable."
-
 #char *priorities;
 option (priority) STR "PRIORITY STRING" { $priorities = $1 } "Priorities 
string."
 
@@ -122,9 +98,7 @@ option (v, version) { serv_version(); exit(0); } "prints the 
program's version n
 
 INCOMP ra
 
-init { $generate=0; $port=5556; $http=0; $ciphers=NULL;
-       $kx=NULL; $comp=NULL; $macs=NULL; $ctype=NULL; $nciphers=0;
-       $nkx=0; $ncomp=0; $nmacs=0; $nctype = 0; $nodb = 0; $noticket = 0;
+init { $generate=0; $port=5556; $http=0; $nodb = 0; $noticket = 0;
        $x509_cafile = NULL; $pgp_keyfile=NULL; $pgp_certfile=NULL;
        $x509_keyfile=NULL; $x509_certfile=NULL; $x509_crlfile = NULL;
        $x509_dsakeyfile=NULL; $x509_dsacertfile=NULL; 


hooks/post-receive
-- 
GNU gnutls



reply via email to

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