luci-0.11: merge r9571 - r9622
[project/luci.git] / applications / luci-upnp / luasrc / controller / upnp.lua
index 7acd029a5f0b54ce43db5c5823605d259108f993..83fa94154bd01ef3998e819630896c9b198490ab 100644 (file)
@@ -10,7 +10,6 @@ You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
 
        http://www.apache.org/licenses/LICENSE-2.0
 
-$Id$
 ]]--
 
 module("luci.controller.upnp", package.seeall)
 ]]--
 
 module("luci.controller.upnp", package.seeall)
@@ -25,9 +24,6 @@ function index()
        page = entry({"admin", "services", "upnp"}, cbi("upnp/upnp"), _("UPNP"))
        page.dependent = true
 
        page = entry({"admin", "services", "upnp"}, cbi("upnp/upnp"), _("UPNP"))
        page.dependent = true
 
-       page = entry({"mini", "network", "upnp"}, cbi("upnp/upnpmini", {autoapply=true}), _("UPNP"))
-       page.dependent = true
-
        entry({"admin", "services", "upnp", "status"}, call("act_status")).leaf = true
        entry({"admin", "services", "upnp", "delete"}, call("act_delete")).leaf = true
 end
        entry({"admin", "services", "upnp", "status"}, call("act_status")).leaf = true
        entry({"admin", "services", "upnp", "delete"}, call("act_delete")).leaf = true
 end
@@ -67,11 +63,20 @@ function act_status()
        end
 end
 
        end
 end
 
-function act_delete(idx)
-       idx = tonumber(idx)
+function act_delete(num)
+       local idx = tonumber(num)
+       local uci = luci.model.uci.cursor()
+
        if idx and idx > 0 then
                luci.sys.call("iptables -t filter -D MINIUPNPD %d 2>/dev/null" % idx)
                luci.sys.call("iptables -t nat -D MINIUPNPD %d 2>/dev/null" % idx)
        if idx and idx > 0 then
                luci.sys.call("iptables -t filter -D MINIUPNPD %d 2>/dev/null" % idx)
                luci.sys.call("iptables -t nat -D MINIUPNPD %d 2>/dev/null" % idx)
+
+               local lease_file = uci:get("upnpd", "config", "upnp_lease_file")
+               if lease_file and nixio.fs.access(lease_file) then
+                       luci.sys.call("sed -i -e '%dd' %q" %{ idx, lease_file })
+               end
+
+               luci.http.status(200, "OK")
                return
        end
 
                return
        end