implemented IETF Factory Default Password Enabled attribute

This commit is contained in:
Andreas Steffen
2012-10-12 22:04:51 +02:00
parent 4abe404d27
commit 1afcff297a
6 changed files with 317 additions and 1 deletions
+17
View File
@@ -20,6 +20,7 @@
#include <ietf/ietf_attr.h>
#include <ietf/ietf_attr_assess_result.h>
#include <ietf/ietf_attr_attr_request.h>
#include <ietf/ietf_attr_default_pwd_enabled.h>
#include <ietf/ietf_attr_fwd_enabled.h>
#include <ietf/ietf_attr_installed_packages.h>
#include <ietf/ietf_attr_pa_tnc_error.h>
@@ -153,6 +154,18 @@ static void add_fwd_enabled(linked_list_t *attr_list)
attr_list->insert_last(attr_list, attr);
}
/**
* Add IETF Factory Default Password Enabled attribute to the send queue
*/
static void add_default_pwd_enabled(linked_list_t *attr_list)
{
pa_tnc_attr_t *attr;
DBG1(DBG_IMC, "factory default password: disabled");
attr = ietf_attr_default_pwd_enabled_create(FALSE);
attr_list->insert_last(attr_list, attr);
}
/**
* Add an IETF Installed Packages attribute to the send queue
*/
@@ -195,6 +208,7 @@ TNC_Result TNC_IMC_BeginHandshake(TNC_IMCID imc_id,
add_product_info(attr_list);
add_string_version(attr_list);
add_fwd_enabled(attr_list);
add_default_pwd_enabled(attr_list);
result = imc_os->send_message(imc_os, connection_id, FALSE, 0,
TNC_IMVID_ANY, attr_list);
attr_list->destroy(attr_list);
@@ -285,6 +299,9 @@ static TNC_Result receive_message(TNC_IMCID imc_id,
case IETF_ATTR_FORWARDING_ENABLED:
add_fwd_enabled(attr_list);
break;
case IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED:
add_default_pwd_enabled(attr_list);
break;
case IETF_ATTR_INSTALLED_PACKAGES:
add_installed_packages(attr_list);
break;
+13
View File
@@ -19,6 +19,7 @@
#include <pa_tnc/pa_tnc_msg.h>
#include <ietf/ietf_attr.h>
#include <ietf/ietf_attr_attr_request.h>
#include <ietf/ietf_attr_default_pwd_enabled.h>
#include <ietf/ietf_attr_fwd_enabled.h>
#include <ietf/ietf_attr_installed_packages.h>
#include <ietf/ietf_attr_pa_tnc_error.h>
@@ -191,6 +192,17 @@ static TNC_Result receive_message(TNC_IMVID imv_id,
os_fwd_status_names, fwd_status);
break;
}
case IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED:
{
ietf_attr_default_pwd_enabled_t *attr_cast;
bool default_pwd_status;
attr_cast = (ietf_attr_default_pwd_enabled_t*)attr;
default_pwd_status = attr_cast->get_status(attr_cast);
DBG1(DBG_IMV, "factory default password: %sabled",
default_pwd_status ? "en":"dis");
break;
}
case IETF_ATTR_INSTALLED_PACKAGES:
{
ietf_attr_installed_packages_t *attr_cast;
@@ -353,6 +365,7 @@ TNC_Result TNC_IMV_BatchEnding(TNC_IMVID imv_id,
attr_cast = (ietf_attr_attr_request_t*)attr;
attr_cast->add(attr_cast, PEN_IETF, IETF_ATTR_STRING_VERSION);
attr_cast->add(attr_cast, PEN_IETF, IETF_ATTR_FORWARDING_ENABLED);
attr_cast->add(attr_cast, PEN_IETF, IETF_ATTR_FACTORY_DEFAULT_PWD_ENABLED);
attr_list->insert_last(attr_list, attr);
result = imv_os->send_message(imv_os, connection_id, FALSE, imv_id,
TNC_IMCID_ANY, attr_list);