Added hit suite list to config, is now read into program on startup
This commit is contained in:
parent
65388703e0
commit
ca640aa94b
|
@ -11,6 +11,12 @@
|
|||
<dh_lifetime>900</dh_lifetime>
|
||||
<r1_lifetime>300</r1_lifetime>
|
||||
<failure_timeout>50</failure_timeout>
|
||||
<available_hit_suites>
|
||||
<suites>
|
||||
<suite>1</suite>
|
||||
<suite>2</suite>
|
||||
</suites>
|
||||
</available_hit_suites>
|
||||
<msl>5</msl>
|
||||
<ual>600</ual>
|
||||
<hip_sa>
|
||||
|
|
|
@ -192,9 +192,9 @@ int main_loop(int argc, char **argv)
|
|||
HCNF.dh_group_list[1] = DH_MODP_1536;
|
||||
HCNF.hip_ciphers[0] = HIP_CIPHER_AES128_CBC;
|
||||
HCNF.hip_ciphers[1] = HIP_CIPHER_AES256_CBC;
|
||||
HCNF.hit_suite_list[0] = HIT_SUITE_4BIT_RSA_DSA_SHA256;
|
||||
HCNF.hit_suite_list[1] = HIT_SUITE_4BIT_ECDSA_SHA384;
|
||||
HCNF.hit_suite_list[2] = HIT_SUITE_4BIT_ECDSA_LOW_SHA1;
|
||||
//HCNF.hit_suite_list[0] = HIT_SUITE_4BIT_RSA_DSA_SHA256;
|
||||
//HCNF.hit_suite_list[1] = HIT_SUITE_4BIT_ECDSA_SHA384;
|
||||
//HCNF.hit_suite_list[2] = HIT_SUITE_4BIT_ECDSA_LOW_SHA1;
|
||||
HCNF.dh_lifetime = 900;
|
||||
HCNF.r1_lifetime = 300;
|
||||
HCNF.msl = 5;
|
||||
|
|
|
@ -1187,6 +1187,59 @@ int read_conf_file(char *filename)
|
|||
{
|
||||
sscanf(data, "%d", &HCNF.ual);
|
||||
}
|
||||
else if (strcmp((char *)node->name, "available_hit_suites") == 0) {
|
||||
done = FALSE;
|
||||
for(child = node->children; child && !done; child = child->next)
|
||||
{
|
||||
if (strcmp((char *)child->name,
|
||||
"suites") == 0)
|
||||
{
|
||||
child = child->children;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
//15 is the current maximum amount of allowed hit suites.
|
||||
//Should be set in hip_proto.h
|
||||
//But 4 bits without 0000 is the same....
|
||||
//TODO: TDDE21
|
||||
memset(HCNF.hit_suite_list, 0, sizeof(__u8) * HIT_SUITE_4BIT_MAX);
|
||||
int listLocation = 0;
|
||||
for(t = 0; child && (t < HIT_SUITE_4BIT_MAX); child = child->next) {
|
||||
data2 = (char*) xmlNodeGetContent(child);
|
||||
if (strcmp((char *)child->name, "suite") == 0)
|
||||
{
|
||||
sscanf(data2, "%d", &tmp);
|
||||
__u8 suite = 0;
|
||||
switch (tmp)
|
||||
{
|
||||
case 1 :
|
||||
suite = HIT_SUITE_8BIT_RSA_DSA_SHA256;
|
||||
break;
|
||||
case 2 :
|
||||
suite = HIT_SUITE_8BIT_ECDSA_SHA384;
|
||||
break;
|
||||
case 3 :
|
||||
suite = HIT_SUITE_8BIT_ECDSA_LOW_SHA1;
|
||||
break;
|
||||
|
||||
default:
|
||||
log_ (WARN, "Invalid hit suite id found in config: %d", tmp);
|
||||
break;
|
||||
}
|
||||
if(suite != 0) {
|
||||
HCNF.hit_suite_list[listLocation] = suite;
|
||||
listLocation++;
|
||||
}
|
||||
|
||||
t++;
|
||||
}
|
||||
printf("Hit suite list\n");
|
||||
for(int i = 0; i < sizeof(HCNF.hit_suite_list); i++) {
|
||||
printf("%d\n", HCNF.hit_suite_list[i]);
|
||||
}
|
||||
xmlFree(data2);
|
||||
}
|
||||
}
|
||||
else if ((strcmp((char *)node->name, "hip_sa") == 0) ||
|
||||
(strcmp((char *)node->name, "esp_sa") == 0))
|
||||
{
|
||||
|
|
|
@ -507,6 +507,9 @@ void generate_conf_file(char *filename)
|
|||
xmlNewChild(root_node, NULL, BAD_CAST "ual", BAD_CAST "600");
|
||||
xmlNewChild(root_node, NULL, BAD_CAST "min_reg_lifetime",BAD_CAST "96");
|
||||
xmlNewChild(root_node, NULL,BAD_CAST "max_reg_lifetime",BAD_CAST "255");
|
||||
node = xmlNewChild(root_node, NULL, BAD_CAST "available_hit_suites", NULL);
|
||||
node = xmlNewChild(node, NULL, BAD_CAST "suites", NULL);
|
||||
xmlNewChild(node, NULL, BAD_CAST "suite", BAD_CAST "1");
|
||||
node = xmlNewChild(root_node, NULL, BAD_CAST "hip_sa", NULL);
|
||||
node = xmlNewChild(node, NULL, BAD_CAST "transforms", NULL);
|
||||
xmlNewChild(node, NULL, BAD_CAST "id", BAD_CAST "1");
|
||||
|
@ -610,7 +613,6 @@ int main(int argc, char *argv[])
|
|||
xmlDocPtr doc = NULL;
|
||||
xmlNodePtr root_node = NULL, node;
|
||||
int my_filename_exists = 0;
|
||||
printf("sup");
|
||||
#ifndef __WIN32__
|
||||
struct stat stbuf;
|
||||
|
||||
|
|
Loading…
Reference in New Issue