projects
/
project
/
firewall3.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Simplify ipset external checks and optionally initialize ispet name from external...
[project/firewall3.git]
/
utils.c
diff --git
a/utils.c
b/utils.c
index
409ae43
..
5ba5d9e
100644
(file)
--- a/
utils.c
+++ b/
utils.c
@@
-470,7
+470,10
@@
write_zone_uci(struct uci_context *ctx, struct fw3_zone *z,
if (dev->invert)
p += sprintf(p, "!");
if (dev->invert)
p += sprintf(p, "!");
- p += sprintf(p, "%s", dev->name);
+ if (*dev->network)
+ p += sprintf(p, "%s@%s", dev->name, dev->network);
+ else
+ p += sprintf(p, "%s", dev->name);
ptr.value = buf;
uci_add_list(ctx, &ptr);
ptr.value = buf;
uci_add_list(ctx, &ptr);
@@
-511,7
+514,7
@@
write_ipset_uci(struct uci_context *ctx, struct fw3_ipset *s,
struct uci_ptr ptr = { .p = dest };
struct uci_ptr ptr = { .p = dest };
- if (!s->enabled ||
(s->external && *s->external)
)
+ if (!s->enabled ||
s->external
)
return;
uci_add_section(ctx, dest, "ipset", &ptr.s);
return;
uci_add_section(ctx, dest, "ipset", &ptr.s);
@@
-670,7
+673,7
@@
fw3_hotplug(bool add, void *zone, void *device)
struct fw3_zone *z = zone;
struct fw3_device *d = device;
struct fw3_zone *z = zone;
struct fw3_device *d = device;
- if (!d->network)
+ if (!
*
d->network)
return false;
switch (fork())
return false;
switch (fork())
@@
-694,7
+697,7
@@
fw3_hotplug(bool add, void *zone, void *device)
clearenv();
setenv("ACTION", add ? "add" : "remove", 1);
setenv("ZONE", z->name, 1);
clearenv();
setenv("ACTION", add ? "add" : "remove", 1);
setenv("ZONE", z->name, 1);
- setenv("INTERFACE", d->network
->name,
1);
+ setenv("INTERFACE", d->network
,
1);
setenv("DEVICE", d->name, 1);
execl(FW3_HOTPLUG, FW3_HOTPLUG, "firewall", NULL);
setenv("DEVICE", d->name, 1);
execl(FW3_HOTPLUG, FW3_HOTPLUG, "firewall", NULL);