more concise listing of ESP algorithms

This commit is contained in:
Andreas Steffen
2009-06-09 11:03:35 +02:00
committed by Martin Willi
parent 527960de0f
commit 3d2745110e
2 changed files with 33 additions and 26 deletions
+27 -21
View File
@@ -428,47 +428,53 @@ struct sadb_alg* kernel_alg_esp_sadb_alg(u_int alg_id)
void kernel_alg_list(void) void kernel_alg_list(void)
{ {
char buf[BUF_LEN];
char *pos;
int n, len;
u_int sadb_id; u_int sadb_id;
whack_log(RC_COMMENT, " "); whack_log(RC_COMMENT, " ");
whack_log(RC_COMMENT, "List of registered ESP Encryption Algorithms:"); whack_log(RC_COMMENT, "List of registered ESP Algorithms:");
whack_log(RC_COMMENT, " "); whack_log(RC_COMMENT, " ");
pos = buf;
*pos = '\0';
len = BUF_LEN;
for (sadb_id = 1; sadb_id <= SADB_EALG_MAX; sadb_id++) for (sadb_id = 1; sadb_id <= SADB_EALG_MAX; sadb_id++)
{ {
if (ESP_EALG_PRESENT(sadb_id)) if (ESP_EALG_PRESENT(sadb_id))
{ {
struct sadb_alg *alg_p = &esp_ealg[sadb_id]; n = snprintf(pos, len, " %s",
enum_name(&esp_transformid_names, sadb_id));
whack_log(RC_COMMENT, "#%-5d %s, blocksize: %d, keylen: %d-%d" pos += n;
, sadb_id len -= n;
, enum_name(&esp_transformid_names, sadb_id) if (len <= 0)
, alg_p->sadb_alg_ivlen {
, alg_p->sadb_alg_minbits break;
, alg_p->sadb_alg_maxbits }
);
} }
} }
whack_log(RC_COMMENT, " encryption:%s", buf);
whack_log(RC_COMMENT, " "); pos = buf;
whack_log(RC_COMMENT, "List of registered ESP Authentication Algorithms:"); *pos = '\0';
whack_log(RC_COMMENT, " "); len = BUF_LEN;
for (sadb_id = 1; sadb_id <= SADB_AALG_MAX; sadb_id++) for (sadb_id = 1; sadb_id <= SADB_AALG_MAX; sadb_id++)
{ {
if (ESP_AALG_PRESENT(sadb_id)) if (ESP_AALG_PRESENT(sadb_id))
{ {
u_int aaid = alg_info_esp_sadb2aa(sadb_id); u_int aaid = alg_info_esp_sadb2aa(sadb_id);
struct sadb_alg *alg_p = &esp_aalg[sadb_id];
whack_log(RC_COMMENT, "#%-5d %s, keylen: %d-%d" n = snprintf(pos, len, " %s", enum_name(&auth_alg_names, aaid));
, aaid pos += n;
, enum_name(&auth_alg_names, aaid) len -= n;
, alg_p->sadb_alg_minbits if (len <= 0)
, alg_p->sadb_alg_maxbits {
); break;
}
} }
} }
whack_log(RC_COMMENT, " integrity: %s", buf);
} }
void kernel_alg_show_connection(struct connection *c, const char *instance) void kernel_alg_show_connection(struct connection *c, const char *instance)
+6 -5
View File
@@ -480,11 +480,6 @@ whack_handle(int whackctlfd)
free_ocsp_cache(); free_ocsp_cache();
} }
if (msg.whack_list & LIST_ALGS)
{
ike_alg_list();
kernel_alg_list();
}
if (msg.whack_list & LIST_PUBKEYS) if (msg.whack_list & LIST_PUBKEYS)
{ {
list_public_keys(msg.whack_utc); list_public_keys(msg.whack_utc);
@@ -542,6 +537,12 @@ whack_handle(int whackctlfd)
scx_list(msg.whack_utc); scx_list(msg.whack_utc);
} }
if (msg.whack_list & LIST_ALGS)
{
ike_alg_list();
kernel_alg_list();
}
if (msg.whack_key) if (msg.whack_key)
{ {
/* add a public key */ /* add a public key */