/** * Add IETF Port Filter attribute to the send queue */ static TNC_Result add_port_filter(imc_msg_t *msg) { pa_tnc_attr_t *attr; ietf_attr_port_filter_t *attr_port_filter; attr = ietf_attr_port_filter_create(pen_type_create(PEN_IETF, IETF_ATTR_PORT_FILTER)); attr->set_noskip_flag(attr, TRUE); attr_port_filter = (ietf_attr_port_filter_t*)attr; if (!do_netstat(attr_port_filter)) { attr->destroy(attr); return TNC_RESULT_FATAL; } msg->add_attribute(msg, attr); return TNC_RESULT_SUCCESS; }
static TNC_Result send_message(imc_msg_t *out_msg) { pa_tnc_attr_t *attr; ietf_attr_port_filter_t *attr_port_filter; attr = ietf_attr_port_filter_create(); attr->set_noskip_flag(attr, TRUE); attr_port_filter = (ietf_attr_port_filter_t*)attr; if (!do_netstat(attr_port_filter)) { attr->destroy(attr); return TNC_RESULT_FATAL; } out_msg->add_attribute(out_msg, attr); /* send PA-TNC message with the excl flag not set */ return out_msg->send(out_msg, FALSE); }