]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
vici: Support for QSKE mechanisms
authorAndreas Steffen <andreas.steffen@strongswan.org>
Mon, 18 Jun 2018 22:29:39 +0000 (00:29 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 14 May 2019 08:44:18 +0000 (10:44 +0200)
src/libcharon/plugins/vici/vici_query.c

index 16e3c8b1fc143306a0d002e3793a1cc585d8852b..1e17375b77149d398fb4e9e77dd8ffa795c888ef 100644 (file)
@@ -54,6 +54,7 @@
 
 #include <daemon.h>
 #include <asn1/asn1.h>
+#include <crypto/qske_mechanism.h>
 #include <credentials/certificates/certificate.h>
 #include <credentials/certificates/x509.h>
 #include <counters_query.h>
@@ -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))