implemented wrap around of registered IKEv1 algorithm names
This commit is contained in:
+25
-25
@@ -397,55 +397,55 @@ struct sadb_alg* kernel_alg_esp_sadb_alg(u_int alg_id)
|
||||
return sadb_alg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Print the name of a kernel algorithm
|
||||
*/
|
||||
static void print_alg(char *buf, int *len, enum_names *alg_names, int alg_type)
|
||||
{
|
||||
char alg_name[BUF_LEN];
|
||||
int alg_name_len;
|
||||
|
||||
alg_name_len = sprintf(alg_name, " %s", enum_name(alg_names, alg_type));
|
||||
if (*len + alg_name_len > CRYPTO_MAX_ALG_LINE)
|
||||
{
|
||||
whack_log(RC_COMMENT, "%s", buf);
|
||||
*len = sprintf(buf, " ");
|
||||
}
|
||||
sprintf(buf + *len, "%s", alg_name);
|
||||
*len += alg_name_len;
|
||||
}
|
||||
|
||||
void kernel_alg_list(void)
|
||||
{
|
||||
char buf[BUF_LEN];
|
||||
char *pos;
|
||||
int n, len;
|
||||
int len;
|
||||
u_int sadb_id;
|
||||
|
||||
whack_log(RC_COMMENT, " ");
|
||||
whack_log(RC_COMMENT, "List of registered ESP Algorithms:");
|
||||
whack_log(RC_COMMENT, " ");
|
||||
|
||||
pos = buf;
|
||||
*pos = '\0';
|
||||
len = BUF_LEN;
|
||||
len = sprintf(buf, " encryption:");
|
||||
for (sadb_id = 1; sadb_id <= SADB_EALG_MAX; sadb_id++)
|
||||
{
|
||||
if (ESP_EALG_PRESENT(sadb_id))
|
||||
{
|
||||
n = snprintf(pos, len, " %s",
|
||||
enum_name(&esp_transform_names, sadb_id));
|
||||
pos += n;
|
||||
len -= n;
|
||||
if (len <= 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
print_alg(buf, &len, &esp_transform_names, sadb_id);
|
||||
}
|
||||
}
|
||||
whack_log(RC_COMMENT, " encryption:%s", buf);
|
||||
whack_log(RC_COMMENT, "%s", buf);
|
||||
|
||||
pos = buf;
|
||||
*pos = '\0';
|
||||
len = BUF_LEN;
|
||||
len = sprintf(buf, " integrity: ");
|
||||
for (sadb_id = 1; sadb_id <= SADB_AALG_MAX; sadb_id++)
|
||||
{
|
||||
if (ESP_AALG_PRESENT(sadb_id))
|
||||
{
|
||||
u_int aaid = alg_info_esp_sadb2aa(sadb_id);
|
||||
|
||||
n = snprintf(pos, len, " %s", enum_name(&auth_alg_names, aaid));
|
||||
pos += n;
|
||||
len -= n;
|
||||
if (len <= 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
print_alg(buf, &len, &auth_alg_names, aaid);
|
||||
}
|
||||
}
|
||||
whack_log(RC_COMMENT, " integrity: %s", buf);
|
||||
whack_log(RC_COMMENT, "%s", buf);
|
||||
}
|
||||
|
||||
void kernel_alg_show_connection(connection_t *c, const char *instance)
|
||||
|
||||
Reference in New Issue
Block a user