summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2014-02-02 08:50:14 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2014-02-02 08:55:31 +0100
commit46139267e1e9eaab46364357e9447ca75f29b4f1 (patch)
tree4d59f58298b5c96a5ff0504435eb21341862b0df
parent48137744fcce92ed54e6535cfcb24ffcb6ebf00e (diff)
downloadgnutls-46139267e1e9eaab46364357e9447ca75f29b4f1.tar.gz
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.
-rw-r--r--lib/gnutls_priority.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/gnutls_priority.c b/lib/gnutls_priority.c
index 875f9b0f20..6bb02e2c5f 100644
--- a/lib/gnutls_priority.c
+++ b/lib/gnutls_priority.c
@@ -788,6 +788,7 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
char *broken_list[MAX_ELEMENTS];
int broken_list_size = 0, i = 0, j;
char *darg = NULL;
+ unsigned ikeyword_set = 0;
int algo;
rmadd_func *fn;
bulk_rmadd_func *bulk_fn;
@@ -842,7 +843,8 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
}
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] == '+'