imc/imv->send_message() uses attr_list

This commit is contained in:
Andreas Steffen
2012-07-11 23:34:51 +02:00
parent c9c3da66a8
commit 246c9ad831
9 changed files with 59 additions and 81 deletions
@@ -149,17 +149,15 @@ TNC_Result TNC_IMC_BeginHandshake(TNC_IMCID imc_id,
platform_info = pts->get_platform_info(pts);
if (platform_info)
{
pa_tnc_msg_t *pa_tnc_msg;
linked_list_t *attr_list;
pa_tnc_attr_t *attr;
pa_tnc_msg = pa_tnc_msg_create();
attr_list = linked_list_create();
attr = ietf_attr_product_info_create(0, 0, platform_info);
pa_tnc_msg->add_attribute(pa_tnc_msg, attr);
pa_tnc_msg->build(pa_tnc_msg);
attr_list->insert_last(attr_list, attr);
result = imc_attestation->send_message(imc_attestation, connection_id,
FALSE, 0, TNC_IMVID_ANY,
pa_tnc_msg->get_encoding(pa_tnc_msg));
pa_tnc_msg->destroy(pa_tnc_msg);
FALSE, 0, TNC_IMVID_ANY, attr_list);
attr_list->destroy(attr_list);
}
return result;
@@ -253,23 +251,11 @@ static TNC_Result receive_message(TNC_IMCID imc_id,
if (result == TNC_RESULT_SUCCESS && attr_list->get_count(attr_list))
{
pa_tnc_msg = pa_tnc_msg_create();
enumerator = attr_list->create_enumerator(attr_list);
while (enumerator->enumerate(enumerator, &attr))
{
pa_tnc_msg->add_attribute(pa_tnc_msg, attr);
}
enumerator->destroy(enumerator);
pa_tnc_msg->build(pa_tnc_msg);
result = imc_attestation->send_message(imc_attestation, connection_id,
FALSE, 0, TNC_IMVID_ANY,
pa_tnc_msg->get_encoding(pa_tnc_msg));
pa_tnc_msg->destroy(pa_tnc_msg);
FALSE, 0, TNC_IMVID_ANY, attr_list);
}
attr_list->destroy(attr_list);
return result;
}
@@ -168,13 +168,10 @@ TNC_Result TNC_IMV_NotifyConnectionChange(TNC_IMVID imv_id,
static TNC_Result send_message(TNC_ConnectionID connection_id)
{
pa_tnc_msg_t *msg;
pa_tnc_attr_t *attr;
linked_list_t *attr_list;
imv_state_t *state;
imv_attestation_state_t *attestation_state;
TNC_Result result;
linked_list_t *attr_list;
enumerator_t *enumerator;
if (!imv_attestation->get_state(imv_attestation, connection_id, &state))
{
@@ -188,21 +185,8 @@ static TNC_Result send_message(TNC_ConnectionID connection_id)
{
if (attr_list->get_count(attr_list))
{
msg = pa_tnc_msg_create();
/* move PA-TNC attributes to PA-TNC message */
enumerator = attr_list->create_enumerator(attr_list);
while (enumerator->enumerate(enumerator, &attr))
{
msg->add_attribute(msg, attr);
}
enumerator->destroy(enumerator);
msg->build(msg);
result = imv_attestation->send_message(imv_attestation,
connection_id, FALSE, 0, TNC_IMCID_ANY,
msg->get_encoding(msg));
msg->destroy(msg);
connection_id, FALSE, 0, TNC_IMCID_ANY, attr_list);
}
else
{
@@ -330,24 +314,9 @@ static TNC_Result receive_message(TNC_IMVID imv_id,
if (attr_list->get_count(attr_list))
{
pa_tnc_msg = pa_tnc_msg_create();
/* move PA-TNC attributes to PA-TNC message */
enumerator = attr_list->create_enumerator(attr_list);
while (enumerator->enumerate(enumerator, &attr))
{
pa_tnc_msg->add_attribute(pa_tnc_msg, attr);
}
enumerator->destroy(enumerator);
pa_tnc_msg->build(pa_tnc_msg);
result = imv_attestation->send_message(imv_attestation, connection_id,
FALSE, 0, TNC_IMCID_ANY,
pa_tnc_msg->get_encoding(pa_tnc_msg));
pa_tnc_msg->destroy(pa_tnc_msg);
FALSE, 0, TNC_IMCID_ANY, attr_list);
attr_list->destroy(attr_list);
return result;
}
attr_list->destroy(attr_list);