From bbfa79a43f44916a21aee4b97fc3a774ad582204 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Tue, 19 Jun 2018 00:29:39 +0200 Subject: [PATCH] vici: Support for QSKE mechanisms --- src/libcharon/plugins/vici/vici_query.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/libcharon/plugins/vici/vici_query.c b/src/libcharon/plugins/vici/vici_query.c index 16e3c8b1fc..1e17375b77 100644 --- a/src/libcharon/plugins/vici/vici_query.c +++ b/src/libcharon/plugins/vici/vici_query.c @@ -54,6 +54,7 @@ #include #include +#include #include #include #include @@ -439,6 +440,10 @@ static void list_ike(private_vici_query_t *this, vici_builder_t *b, { b->add_kv(b, "dh-group", "%N", diffie_hellman_group_names, alg); } + if (proposal->get_algorithm(proposal, QSKE_MECHANISM, &alg, NULL)) + { + b->add_kv(b, "qske-mechanism", "%N", qske_mechanism_names, alg); + } } add_condition(b, ike_sa, "ppk", COND_PPK); @@ -1232,6 +1237,7 @@ CALLBACK(get_algorithms, vici_message_t*, pseudo_random_function_t prf; ext_out_function_t xof; diffie_hellman_group_t group; + qske_mechanism_t mechanism; rng_quality_t quality; const char *plugin_name; @@ -1300,6 +1306,15 @@ CALLBACK(get_algorithms, vici_message_t*, enumerator->destroy(enumerator); b->end_section(b); + b->begin_section(b, "qske"); + enumerator = lib->crypto->create_qske_enumerator(lib->crypto); + while (enumerator->enumerate(enumerator, &mechanism, &plugin_name)) + { + add_algorithm(b, qske_mechanism_names, mechanism, plugin_name); + } + enumerator->destroy(enumerator); + b->end_section(b); + b->begin_section(b, "rng"); enumerator = lib->crypto->create_rng_enumerator(lib->crypto); while (enumerator->enumerate(enumerator, &quality, &plugin_name)) -- 2.47.2