Blob Blame History Raw
From 3209f21e7dda37fc4af610951044a3f467db6bce Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Date: Sun, 2 Feb 2014 08:58:25 +0100
Subject: [PATCH 3/4] When two initial keywords are specified then treat the
 second as having the '+' modifier.

This will handle SECURE256:SECURE128 the same way as SECURE256:+SECURE128.
---
 lib/gnutls_priority.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/gnutls_priority.c b/lib/gnutls_priority.c
index 7eff609..1ec6f28 100644
--- a/lib/gnutls_priority.c
+++ b/lib/gnutls_priority.c
@@ -838,6 +838,7 @@ gnutls_priority_init (gnutls_priority_t * priority_cache,
   int broken_list_size = 0, i = 0, j;
   char *darg = NULL;
   int algo;
+  unsigned ikeyword_set = 0;
   rmadd_func *fn;
   bulk_rmadd_func *bulk_fn;
 
@@ -886,12 +887,14 @@ gnutls_priority_init (gnutls_priority_t * priority_cache,
   else
     {
       i = 1;
+      ikeyword_set = 1;
     }
 
   for (; i < broken_list_size; i++)
     {
-      if (check_level(broken_list[i], *priority_cache, 0) != 0)
+      if (check_level(broken_list[i], *priority_cache, ikeyword_set) != 0)
         {
+          ikeyword_set = 1;
           continue;
         }
       else if (broken_list[i][0] == '!' || broken_list[i][0] == '+'
-- 
1.8.5.3