print a notification if forwards are skipped due to zone family mismatch
[project/firewall3.git] / utils.c
diff --git a/utils.c b/utils.c
index c3dbb3d..9b62789 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -403,9 +403,9 @@ fw3_write_statefile(void *state)
        struct fw3_zone *z;
        struct fw3_ipset *i;
 
-       int mask = (1 << FW3_DEFAULT_IPV4_LOADED) | (1 << FW3_DEFAULT_IPV6_LOADED);
+       int mask = (1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6);
 
-       if (!(d->has_flag & mask))
+       if (!(d->flags & mask))
        {
                if (unlink(FW3_STATEFILE))
                        warn("Unable to remove state %s: %s",
@@ -422,12 +422,12 @@ fw3_write_statefile(void *state)
                return;
        }
 
-       fprintf(sf, "%u - %u\n", FW3_TYPE_DEFAULTS, d->has_flag);
+       fprintf(sf, "%u - %u\n", FW3_TYPE_DEFAULTS, d->flags);
 
        list_for_each_entry(z, &s->zones, list)
        {
                fprintf(sf, "%u %s %u %u\n", FW3_TYPE_ZONE,
-                       z->name, z->has_src_target, z->has_dest_target);
+                       z->name, z->src_flags, z->dst_flags);
        }
 
        list_for_each_entry(i, &s->ipsets, list)
@@ -435,7 +435,7 @@ fw3_write_statefile(void *state)
                if (i->external && *i->external)
                        continue;
 
-               fprintf(sf, "%u %s\n", FW3_TYPE_IPSET, i->name);
+               fprintf(sf, "%u %s %u\n", FW3_TYPE_IPSET, i->name, i->flags);
        }
 
        fclose(sf);