libimcv: Move settings to <ns>.imcv and <ns>.plugins with fallback

This commit is contained in:
Tobias Brunner
2014-02-12 14:34:34 +01:00
parent 4576f7f960
commit 1ec3476398
10 changed files with 32 additions and 22 deletions
+7 -2
View File
@@ -134,6 +134,10 @@ bool libimcv_init(bool is_imv)
} }
ref_get(&libstrongswan_ref); ref_get(&libstrongswan_ref);
lib->settings->add_fallback(lib->settings, "%s.imcv", "libimcv", lib->ns);
lib->settings->add_fallback(lib->settings, "%s.plugins", "libimcv.plugins",
lib->ns);
if (libimcv_ref == 0) if (libimcv_ref == 0)
{ {
char *uri, *script; char *uri, *script;
@@ -149,9 +153,10 @@ bool libimcv_init(bool is_imv)
if (is_imv) if (is_imv)
{ {
uri = lib->settings->get_str(lib->settings, uri = lib->settings->get_str(lib->settings,
"libimcv.database", NULL); "%s.imcv.database", NULL, lib->ns);
script = lib->settings->get_str(lib->settings, script = lib->settings->get_str(lib->settings,
"libimcv.policy_script", IMCV_DEFAULT_POLICY_SCRIPT); "%s.imcv.policy_script", IMCV_DEFAULT_POLICY_SCRIPT,
lib->ns);
if (uri) if (uri)
{ {
imcv_db = imv_database_create(uri, script); imcv_db = imv_database_create(uri, script);
+2 -2
View File
@@ -208,8 +208,8 @@ METHOD(imv_msg_t, send_assessment, TNC_Result,
} }
/* Send an IETF Assessment Result attribute if enabled */ /* Send an IETF Assessment Result attribute if enabled */
if (lib->settings->get_bool(lib->settings, "libimcv.assessment_result", if (lib->settings->get_bool(lib->settings, "%s.imcv.assessment_result",
TRUE)) TRUE, lib->ns))
{ {
this->state->get_recommendation(this->state, &rec, &eval); this->state->get_recommendation(this->state, &rec, &eval);
attr = ietf_attr_assess_result_create(eval); attr = ietf_attr_assess_result_create(eval);
+6 -1
View File
@@ -328,7 +328,12 @@ int main(int argc, char *argv[])
session_id = atoi(tnc_session_id); session_id = atoi(tnc_session_id);
/* attach IMV database */ /* attach IMV database */
uri = lib->settings->get_str(lib->settings, "libimcv.database", NULL); uri = lib->settings->get_str(lib->settings,
"imv_policy_manager.database",
lib->settings->get_str(lib->settings,
"charon.imcv.database",
lib->settings->get_str(lib->settings,
"libimcv.database", NULL)));
if (!uri) if (!uri)
{ {
fprintf(stderr, "database uri not defined.\n"); fprintf(stderr, "database uri not defined.\n");
+2 -2
View File
@@ -560,9 +560,9 @@ os_info_t *os_info_create(void)
/* As an option OS name and OS version can be configured manually */ /* As an option OS name and OS version can be configured manually */
name.ptr = lib->settings->get_str(lib->settings, name.ptr = lib->settings->get_str(lib->settings,
"libimcv.os_info.name", NULL); "%s.imcv.os_info.name", NULL, lib->ns);
version.ptr = lib->settings->get_str(lib->settings, version.ptr = lib->settings->get_str(lib->settings,
"libimcv.os_info.version", NULL); "%s.imcv.os_info.version", NULL, lib->ns);
if (name.ptr && version.ptr) if (name.ptr && version.ptr)
{ {
name.len = strlen(name.ptr); name.len = strlen(name.ptr);
+1 -1
View File
@@ -387,7 +387,7 @@ TNC_Result TNC_IMC_BeginHandshake(TNC_IMCID imc_id,
return TNC_RESULT_FATAL; return TNC_RESULT_FATAL;
} }
if (lib->settings->get_bool(lib->settings, if (lib->settings->get_bool(lib->settings,
"libimcv.plugins.imc-os.push_info", TRUE)) "%s.plugins.imc-os.push_info", TRUE, lib->ns))
{ {
out_msg = imc_msg_create(imc_os, state, connection_id, imc_id, out_msg = imc_msg_create(imc_os, state, connection_id, imc_id,
TNC_IMVID_ANY, msg_types[0]); TNC_IMVID_ANY, msg_types[0]);
@@ -274,7 +274,7 @@ TNC_Result TNC_IMC_BeginHandshake(TNC_IMCID imc_id,
return TNC_RESULT_FATAL; return TNC_RESULT_FATAL;
} }
if (lib->settings->get_bool(lib->settings, if (lib->settings->get_bool(lib->settings,
"libimcv.plugins.imc-scanner.push_info", TRUE)) "%s.plugins.imc-scanner.push_info", TRUE, lib->ns))
{ {
out_msg = imc_msg_create(imc_scanner, state, connection_id, imc_id, out_msg = imc_msg_create(imc_scanner, state, connection_id, imc_id,
TNC_IMVID_ANY, msg_types[0]); TNC_IMVID_ANY, msg_types[0]);
+6 -6
View File
@@ -91,11 +91,11 @@ TNC_Result TNC_IMC_NotifyConnectionChange(TNC_IMCID imc_id,
{ {
case TNC_CONNECTION_STATE_CREATE: case TNC_CONNECTION_STATE_CREATE:
command = lib->settings->get_str(lib->settings, command = lib->settings->get_str(lib->settings,
"libimcv.plugins.imc-test.command", "none"); "%s.plugins.imc-test.command", "none", lib->ns);
dummy_size = lib->settings->get_int(lib->settings, dummy_size = lib->settings->get_int(lib->settings,
"libimcv.plugins.imc-test.dummy_size", 0); "%s.plugins.imc-test.dummy_size", 0, lib->ns);
retry = lib->settings->get_bool(lib->settings, retry = lib->settings->get_bool(lib->settings,
"libimcv.plugins.imc-test.retry", FALSE); "%s.plugins.imc-test.retry", FALSE, lib->ns);
state = imc_test_state_create(connection_id, command, dummy_size, state = imc_test_state_create(connection_id, command, dummy_size,
retry); retry);
@@ -107,7 +107,7 @@ TNC_Result TNC_IMC_NotifyConnectionChange(TNC_IMCID imc_id,
/* Optionally reserve additional IMC IDs */ /* Optionally reserve additional IMC IDs */
additional_ids = lib->settings->get_int(lib->settings, additional_ids = lib->settings->get_int(lib->settings,
"libimcv.plugins.imc-test.additional_ids", 0); "%s.plugins.imc-test.additional_ids", 0, lib->ns);
imc_test->reserve_additional_ids(imc_test, additional_ids - imc_test->reserve_additional_ids(imc_test, additional_ids -
imc_test->count_additional_ids(imc_test)); imc_test->count_additional_ids(imc_test));
@@ -127,8 +127,8 @@ TNC_Result TNC_IMC_NotifyConnectionChange(TNC_IMCID imc_id,
if (!test_state->is_first_handshake(test_state)) if (!test_state->is_first_handshake(test_state))
{ {
command = lib->settings->get_str(lib->settings, command = lib->settings->get_str(lib->settings,
"libimcv.plugins.imc-test.retry_command", "%s.plugins.imc-test.retry_command",
test_state->get_command(test_state)); test_state->get_command(test_state), lib->ns);
test_state->set_command(test_state, command); test_state->set_command(test_state, command);
} }
+1 -1
View File
@@ -494,7 +494,7 @@ METHOD(imv_state_t, get_remediation_instructions, bool,
*string = this->remediation_string->get_encoding(this->remediation_string); *string = this->remediation_string->get_encoding(this->remediation_string);
*uri = lib->settings->get_str(lib->settings, *uri = lib->settings->get_str(lib->settings,
"libimcv.plugins.imv-os.remediation_uri", NULL); "%s.plugins.imv-os.remediation_uri", NULL, lib->ns);
return TRUE; return TRUE;
} }
@@ -314,7 +314,7 @@ METHOD(imv_state_t, get_remediation_instructions, bool,
this->violating_ports); this->violating_ports);
*string = this->remediation_string->get_encoding(this->remediation_string); *string = this->remediation_string->get_encoding(this->remediation_string);
*uri = lib->settings->get_str(lib->settings, *uri = lib->settings->get_str(lib->settings,
"libimcv.plugins.imv-scanner.remediation_uri", NULL); "%s.plugins.imv-scanner.remediation_uri", NULL, lib->ns);
return TRUE; return TRUE;
} }
@@ -103,7 +103,7 @@ static TNC_Result receive_msg(private_imv_test_agent_t *this, imv_state_t *state
/* add any new IMC and set its number of rounds */ /* add any new IMC and set its number of rounds */
rounds = lib->settings->get_int(lib->settings, rounds = lib->settings->get_int(lib->settings,
"libimcv.plugins.imv-test.rounds", 0); "%s.plugins.imv-test.rounds", 0, lib->ns);
test_state = (imv_test_state_t*)state; test_state = (imv_test_state_t*)state;
test_state->add_imc(test_state, in_msg->get_src_id(in_msg), rounds); test_state->add_imc(test_state, in_msg->get_src_id(in_msg), rounds);
@@ -178,7 +178,7 @@ static TNC_Result receive_msg(private_imv_test_agent_t *this, imv_state_t *state
if (result != TNC_RESULT_SUCCESS) if (result != TNC_RESULT_SUCCESS)
{ {
return result; return result;
} }
return this->agent->provide_recommendation(this->agent, state); return this->agent->provide_recommendation(this->agent, state);
} }
@@ -200,7 +200,7 @@ static TNC_Result receive_msg(private_imv_test_agent_t *this, imv_state_t *state
out_msg->add_attribute(out_msg, attr); out_msg->add_attribute(out_msg, attr);
/* send PA-TNC message with excl flag set */ /* send PA-TNC message with excl flag set */
result = out_msg->send(out_msg, TRUE); result = out_msg->send(out_msg, TRUE);
out_msg->destroy(out_msg); out_msg->destroy(out_msg);
return result; return result;
@@ -214,11 +214,11 @@ static TNC_Result receive_msg(private_imv_test_agent_t *this, imv_state_t *state
if (result != TNC_RESULT_SUCCESS) if (result != TNC_RESULT_SUCCESS)
{ {
return result; return result;
} }
return this->agent->provide_recommendation(this->agent, state); return this->agent->provide_recommendation(this->agent, state);
} }
else else
{ {
return TNC_RESULT_SUCCESS; return TNC_RESULT_SUCCESS;
} }
} }