X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffirewall3.git;a=blobdiff_plain;f=zones.c;h=9595c37a2f44fe3f630d821719515a7b12761c0f;hp=edd875ad8b1ee7f5131524f304f282bd9728eb0c;hb=3968e2a659324a24bb1bd8d461c8bb83c5db7f72;hpb=bb6873d86322a66bc01fc4195512ba5d2c78bddb diff --git a/zones.c b/zones.c index edd875a..9595c37 100644 --- a/zones.c +++ b/zones.c @@ -224,6 +224,8 @@ print_zone_chain(enum fw3_table table, enum fw3_family family, if (!fw3_is_family(zone, family)) return; + setbit(zone->dst_flags, family); + if (!zone->conntrack && !disable_notrack) setbit(zone->dst_flags, FW3_TARGET_NOTRACK); @@ -464,6 +466,9 @@ fw3_flush_zones(enum fw3_table table, enum fw3_family family, if (e->type != FW3_TYPE_ZONE) continue; + if (!hasbit(e->flags[1], family)) + continue; + print_chains(table, family, pass2 ? "-X %s\n" : "-F %s\n", e->name, e->flags[0], src_chains, ARRAY_SIZE(src_chains));