/*
* firewall3 - 3rd OpenWrt UCI firewall implementation
*
- * Copyright (C) 2013 Jo-Philipp Wich <jow@openwrt.org>
+ * Copyright (C) 2013 Jo-Philipp Wich <jo@mein.io>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
/* NB: rule family... */
if (rule->_dest)
{
- setbit(rule->_dest->flags[0], rule->target);
- setbit(rule->_dest->flags[1], rule->target);
+ fw3_setbit(rule->_dest->flags[0], rule->target);
+ fw3_setbit(rule->_dest->flags[1], rule->target);
}
else if (need_src_action_chain(rule))
{
- setbit(rule->_src->flags[0], fw3_to_src_target(rule->target));
- setbit(rule->_src->flags[1], fw3_to_src_target(rule->target));
+ fw3_setbit(rule->_src->flags[0], fw3_to_src_target(rule->target));
+ fw3_setbit(rule->_src->flags[1], fw3_to_src_target(rule->target));
}
}
}
{
snprintf(chain, sizeof(chain), "zone_%s_notrack", rule->src.name);
}
- else if (rule->target == FW3_FLAG_MARK)
+ else if (rule->target == FW3_FLAG_MARK && (rule->_src || rule->src.any))
{
snprintf(chain, sizeof(chain), "PREROUTING");
}