示例#1
0
/**
 * 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);
}