diff options
author | Yves-Alexis Perez <corsac@corsac.net> | 2017-05-30 20:59:31 +0200 |
---|---|---|
committer | Yves-Alexis Perez <corsac@corsac.net> | 2017-05-30 20:59:31 +0200 |
commit | bba25e2ff6c4a193acb54560ea4417537bd2954e (patch) | |
tree | 9e074fe343f9ab6f5ce1e9c5142d9a6cf180fcda /src/libtls | |
parent | 05ddd767992d68bb38c7f16ece142e8c2e9ae016 (diff) | |
download | vyos-strongswan-bba25e2ff6c4a193acb54560ea4417537bd2954e.tar.gz vyos-strongswan-bba25e2ff6c4a193acb54560ea4417537bd2954e.zip |
New upstream version 5.5.3
Diffstat (limited to 'src/libtls')
-rw-r--r-- | src/libtls/Makefile.in | 2 | ||||
-rw-r--r-- | src/libtls/tests/Makefile.in | 2 | ||||
-rw-r--r-- | src/libtls/tls_crypto.c | 38 |
3 files changed, 25 insertions, 17 deletions
diff --git a/src/libtls/Makefile.in b/src/libtls/Makefile.in index 197ffc479..ee1d7fc7e 100644 --- a/src/libtls/Makefile.in +++ b/src/libtls/Makefile.in @@ -408,6 +408,7 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ fips_mode = @fips_mode@ +fuzz_plugins = @fuzz_plugins@ gtk_CFLAGS = @gtk_CFLAGS@ gtk_LIBS = @gtk_LIBS@ host = @host@ @@ -430,6 +431,7 @@ json_CFLAGS = @json_CFLAGS@ json_LIBS = @json_LIBS@ libdir = @libdir@ libexecdir = @libexecdir@ +libfuzzer = @libfuzzer@ libiptc_CFLAGS = @libiptc_CFLAGS@ libiptc_LIBS = @libiptc_LIBS@ linux_headers = @linux_headers@ diff --git a/src/libtls/tests/Makefile.in b/src/libtls/tests/Makefile.in index 22eb0994e..8c87e1dd0 100644 --- a/src/libtls/tests/Makefile.in +++ b/src/libtls/tests/Makefile.in @@ -352,6 +352,7 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ fips_mode = @fips_mode@ +fuzz_plugins = @fuzz_plugins@ gtk_CFLAGS = @gtk_CFLAGS@ gtk_LIBS = @gtk_LIBS@ host = @host@ @@ -374,6 +375,7 @@ json_CFLAGS = @json_CFLAGS@ json_LIBS = @json_LIBS@ libdir = @libdir@ libexecdir = @libexecdir@ +libfuzzer = @libfuzzer@ libiptc_CFLAGS = @libiptc_CFLAGS@ libiptc_LIBS = @libiptc_LIBS@ linux_headers = @linux_headers@ diff --git a/src/libtls/tls_crypto.c b/src/libtls/tls_crypto.c index 84b511f53..05ae62b49 100644 --- a/src/libtls/tls_crypto.c +++ b/src/libtls/tls_crypto.c @@ -1296,28 +1296,32 @@ static struct { { ECP_192_BIT, TLS_SECP192R1}, }; -/** - * Filter EC groups, add TLS curve - */ -static bool group_filter(void *null, - diffie_hellman_group_t *in, diffie_hellman_group_t *out, - void* dummy1, tls_named_curve_t *curve) +CALLBACK(group_filter, bool, + void *null, enumerator_t *orig, va_list args) { + diffie_hellman_group_t group, *out; + tls_named_curve_t *curve; + char *plugin; int i; - for (i = 0; i < countof(curves); i++) + VA_ARGS_VGET(args, out, curve); + + while (orig->enumerate(orig, &group, &plugin)) { - if (curves[i].group == *in) + for (i = 0; i < countof(curves); i++) { - if (out) - { - *out = curves[i].group; - } - if (curve) + if (curves[i].group == group) { - *curve = curves[i].curve; + if (out) + { + *out = curves[i].group; + } + if (curve) + { + *curve = curves[i].curve; + } + return TRUE; } - return TRUE; } } return FALSE; @@ -1327,8 +1331,8 @@ METHOD(tls_crypto_t, create_ec_enumerator, enumerator_t*, private_tls_crypto_t *this) { return enumerator_create_filter( - lib->crypto->create_dh_enumerator(lib->crypto), - (void*)group_filter, NULL, NULL); + lib->crypto->create_dh_enumerator(lib->crypto), + group_filter, NULL, NULL); } METHOD(tls_crypto_t, set_protection, void, |