char *lang_code = NULL, *uri = NULL;
enumerator_t *e;
+ /* Remove any attributes that have already been constructed */
+ while (this->attr_list->remove_last(this->attr_list, (void**)&attr) == SUCCESS)
+ {
+ attr->destroy(attr);
+ }
+
/* Send an IETF Assessment Result attribute if enabled */
if (lib->settings->get_bool(lib->settings, "libimcv.assessment_result",
TRUE))
return TNC_RESULT_SUCCESS;
}
-METHOD(imv_msg_t, delete_attributes, void,
- private_imv_msg_t *this)
-{
- pa_tnc_attr_t *attr;
-
- while (this->attr_list->remove_last(this->attr_list, (void**)&attr) == SUCCESS)
- {
- attr->destroy(attr);
- }
-}
-
METHOD(imv_msg_t, create_attribute_enumerator, enumerator_t*,
private_imv_msg_t *this)
{
.send_assessment = _send_assessment,
.receive = _receive,
.add_attribute = _add_attribute,
- .delete_attributes = _delete_attributes,
.create_attribute_enumerator = _create_attribute_enumerator,
.get_encoding = _get_encoding,
.destroy = _destroy,
*/
void (*add_attribute)(imv_msg_t *this, pa_tnc_attr_t *attr);
- /**
- * Delete all PA-TNC attributes in the send queue
- *
- */
- void (*delete_attributes)(imv_msg_t *this);
-
/**
* Enumerator over PA-TNC attributes contained in the PA-TNC message
*
if (fatal_error || result != TNC_RESULT_SUCCESS)
{
- out_msg->delete_attributes(out_msg);
state->set_recommendation(state,
- TNC_IMV_ACTION_RECOMMENDATION_ISOLATE,
+ TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION,
TNC_IMV_EVALUATION_RESULT_ERROR);
result = out_msg->send_assessment(out_msg);
out_msg->destroy(out_msg);
state->set_recommendation(state,
TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION,
TNC_IMV_EVALUATION_RESULT_ERROR);
- out_msg->delete_attributes(out_msg);
result = out_msg->send_assessment(out_msg);
out_msg->destroy(out_msg);
if (result != TNC_RESULT_SUCCESS)