+ if ((p = uci_lookup_package(s->uci, "fw3_state")) != NULL)
+ uci_unload(s->uci, p);
+
+ uci_import(s->uci, sf, "fw3_state", NULL, true);
+
+ if ((p = uci_lookup_package(s->uci, "fw3_state")) != NULL)
+ {
+ write_defaults_uci(s->uci, &s->defaults, p);
+
+ list_for_each_entry(z, &s->zones, list)
+ write_zone_uci(s->uci, z, p);
+
+ list_for_each_entry(i, &s->ipsets, list)
+ write_ipset_uci(s->uci, i, p);
+
+ uci_export(s->uci, sf, p, true);
+ uci_unload(s->uci, p);
+ }
+
+ fsync(fileno(sf));
+ fclose(sf);