trace back crypto algorithms to the plugins that registered them
This commit is contained in:
@@ -741,9 +741,10 @@ static void proposal_add_supported_ike(private_proposal_t *this)
|
||||
integrity_algorithm_t integrity;
|
||||
pseudo_random_function_t prf;
|
||||
diffie_hellman_group_t group;
|
||||
const char *plugin_name;
|
||||
|
||||
enumerator = lib->crypto->create_crypter_enumerator(lib->crypto);
|
||||
while (enumerator->enumerate(enumerator, &encryption))
|
||||
while (enumerator->enumerate(enumerator, &encryption, &plugin_name))
|
||||
{
|
||||
switch (encryption)
|
||||
{
|
||||
@@ -778,7 +779,7 @@ static void proposal_add_supported_ike(private_proposal_t *this)
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
enumerator = lib->crypto->create_signer_enumerator(lib->crypto);
|
||||
while (enumerator->enumerate(enumerator, &integrity))
|
||||
while (enumerator->enumerate(enumerator, &integrity, &plugin_name))
|
||||
{
|
||||
switch (integrity)
|
||||
{
|
||||
@@ -797,7 +798,7 @@ static void proposal_add_supported_ike(private_proposal_t *this)
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
enumerator = lib->crypto->create_prf_enumerator(lib->crypto);
|
||||
while (enumerator->enumerate(enumerator, &prf))
|
||||
while (enumerator->enumerate(enumerator, &prf, &plugin_name))
|
||||
{
|
||||
switch (prf)
|
||||
{
|
||||
@@ -816,7 +817,7 @@ static void proposal_add_supported_ike(private_proposal_t *this)
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
enumerator = lib->crypto->create_dh_enumerator(lib->crypto);
|
||||
while (enumerator->enumerate(enumerator, &group))
|
||||
while (enumerator->enumerate(enumerator, &group, &plugin_name))
|
||||
{
|
||||
switch (group)
|
||||
{
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include <threading/condvar.h>
|
||||
#include <threading/mutex.h>
|
||||
|
||||
static const char *plugin_name = "load_tester";
|
||||
|
||||
typedef struct private_load_tester_plugin_t private_load_tester_plugin_t;
|
||||
|
||||
/**
|
||||
@@ -189,7 +191,7 @@ plugin_t *load_tester_plugin_create()
|
||||
this = malloc_thing(private_load_tester_plugin_t);
|
||||
this->public.plugin.destroy = (void(*)(plugin_t*))destroy;
|
||||
|
||||
lib->crypto->add_dh(lib->crypto, MODP_NULL,
|
||||
lib->crypto->add_dh(lib->crypto, MODP_NULL, plugin_name,
|
||||
(dh_constructor_t)load_tester_diffie_hellman_create);
|
||||
|
||||
this->delay = lib->settings->get_int(lib->settings,
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user