aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/stroke
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2010-12-18 16:31:01 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2010-12-18 16:31:12 +0100
commit5932f41fccf168253c30fdca4f53055a20cdba63 (patch)
treef783622ffaef2196e9043b3ddead8492da087040 /src/libcharon/plugins/stroke
parentae09bc62bc481b347593532db49dfe6a281f4225 (diff)
downloadstrongswan-5932f41fccf168253c30fdca4f53055a20cdba63.tar.bz2
strongswan-5932f41fccf168253c30fdca4f53055a20cdba63.tar.xz
trace back crypto algorithms to the plugins that registered them
Diffstat (limited to 'src/libcharon/plugins/stroke')
-rw-r--r--src/libcharon/plugins/stroke/stroke_list.c39
1 files changed, 27 insertions, 12 deletions
diff --git a/src/libcharon/plugins/stroke/stroke_list.c b/src/libcharon/plugins/stroke/stroke_list.c
index 86deea490..69fb1d5bb 100644
--- a/src/libcharon/plugins/stroke/stroke_list.c
+++ b/src/libcharon/plugins/stroke/stroke_list.c
@@ -1070,49 +1070,64 @@ static void list_algs(FILE *out)
hash_algorithm_t hash;
pseudo_random_function_t prf;
diffie_hellman_group_t group;
+ rng_quality_t quality;
+ const char *plugin_name;
fprintf(out, "\n");
fprintf(out, "List of registered IKEv2 Algorithms:\n");
fprintf(out, "\n encryption: ");
enumerator = lib->crypto->create_crypter_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &encryption))
+ while (enumerator->enumerate(enumerator, &encryption, &plugin_name))
{
- fprintf(out, "%N ", encryption_algorithm_names, encryption);
+ fprintf(out, "%N[%s] ", encryption_algorithm_names, encryption,
+ plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n integrity: ");
enumerator = lib->crypto->create_signer_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &integrity))
+ while (enumerator->enumerate(enumerator, &integrity, &plugin_name))
{
- fprintf(out, "%N ", integrity_algorithm_names, integrity);
+ fprintf(out, "%N[%s] ", integrity_algorithm_names, integrity,
+ plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n aead: ");
enumerator = lib->crypto->create_aead_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &encryption))
+ while (enumerator->enumerate(enumerator, &encryption, &plugin_name))
{
- fprintf(out, "%N ", encryption_algorithm_names, encryption);
+ fprintf(out, "%N[%s] ", encryption_algorithm_names, encryption,
+ plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n hasher: ");
enumerator = lib->crypto->create_hasher_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &hash))
+ while (enumerator->enumerate(enumerator, &hash, &plugin_name))
{
- fprintf(out, "%N ", hash_algorithm_names, hash);
+ fprintf(out, "%N[%s] ", hash_algorithm_names, hash,
+ plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n prf: ");
enumerator = lib->crypto->create_prf_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &prf))
+ while (enumerator->enumerate(enumerator, &prf, &plugin_name))
{
- fprintf(out, "%N ", pseudo_random_function_names, prf);
+ fprintf(out, "%N[%s] ", pseudo_random_function_names, prf,
+ plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n dh-group: ");
enumerator = lib->crypto->create_dh_enumerator(lib->crypto);
- while (enumerator->enumerate(enumerator, &group))
+ while (enumerator->enumerate(enumerator, &group, &plugin_name))
{
- fprintf(out, "%N ", diffie_hellman_group_names, group);
+ fprintf(out, "%N[%s] ", diffie_hellman_group_names, group,
+ plugin_name);
+ }
+ enumerator->destroy(enumerator);
+ fprintf(out, "\n random-gen: ");
+ enumerator = lib->crypto->create_rng_enumerator(lib->crypto);
+ while (enumerator->enumerate(enumerator, &quality, &plugin_name))
+ {
+ fprintf(out, "%N[%s] ", rng_quality_names, quality, plugin_name);
}
enumerator->destroy(enumerator);
fprintf(out, "\n");