}
if (rule->dest.set && !rule->src.set)
- snprintf(chain, sizeof(chain), "zone_%s_output", rule->dest.name);
+ {
+ if (rule->dest.any)
+ snprintf(chain, sizeof(chain), "delegate_output");
+ else
+ snprintf(chain, sizeof(chain), "zone_%s_output",
+ rule->dest.name);
+ }
}
fw3_ipt_rule_append(r, chain);
if (!fw3_is_family(sip, handle->family) ||
!fw3_is_family(dip, handle->family))
{
- info(" ! Skipping due to different family of ip address");
+ if ((sip && !sip->resolved) || (dip && !dip->resolved))
+ info(" ! Skipping due to different family of ip address");
+
return;
}