X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=applications%2Fluci-ffwizard-leipzig%2Fluasrc%2Ftools%2Fffwizard.lua;h=60a240bf0ca95cc33307d69df0d1e94ded88d23c;hp=d679cc93edfae5c637a2fa598160ce32e7dda7d4;hb=16654183664f14a7c6be0ca701c693c301a93321;hpb=05f350547e275e23062892227e20d536709ef99a diff --git a/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua b/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua index d679cc93e..60a240bf0 100644 --- a/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua +++ b/applications/luci-ffwizard-leipzig/luasrc/tools/ffwizard.lua @@ -18,6 +18,7 @@ local uci = require "luci.model.uci" local util = require "luci.util" local table = require "table" +local type = type module "luci.tools.ffwizard" @@ -39,11 +40,14 @@ function network_remove_interface(iface) local aliases = {iface} cursor:foreach("network", "alias", function(section) - table.insert(aliases, section[".name"]) + if section.interface == iface then + table.insert(aliases, section[".name"]) + end end) -- Delete Aliases and Routes - cursor:delete_all("network", nil, {interface=iface}) + cursor:delete_all("network", "route", {interface=iface}) + cursor:delete_all("network", "alias", {interface=iface}) -- Delete DHCP sections cursor:delete_all("dhcp", "dhcp", @@ -84,7 +88,8 @@ function firewall_zone_add_interface(name, interface) local cursor = uci.cursor() local zone = firewall_find_zone(name) local net = cursor:get("firewall", zone, "network") - cursor:set("firewall", zone, "network", (net or name .. " ") .. interface) + local old = net or (cursor:get("network", name) and name) + cursor:set("firewall", zone, "network", (old and old .. " " or "") .. interface) cursor:save("firewall") end