diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-02-02 08:50:14 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2014-02-02 08:55:31 +0100 |
commit | 46139267e1e9eaab46364357e9447ca75f29b4f1 (patch) | |
tree | 4d59f58298b5c96a5ff0504435eb21341862b0df | |
parent | 48137744fcce92ed54e6535cfcb24ffcb6ebf00e (diff) | |
download | gnutls-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.c | 4 |
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] == '+' |