applications/luci-splash: Do not allow to lease whitelisted clients
authorManuel Munz <freifunk@somakoma.de>
Thu, 17 Oct 2013 00:01:06 +0000 (00:01 +0000)
committerManuel Munz <freifunk@somakoma.de>
Thu, 17 Oct 2013 00:01:06 +0000 (00:01 +0000)
applications/luci-splash/root/usr/sbin/luci-splash

index d2b860e..5051d60 100755 (executable)
@@ -13,7 +13,7 @@ local net = sys.net
 local fs = require "luci.fs"
 local ip = require "luci.ip"
 
-local debug = false
+local debug = true
 
 local has_ipv6 = fs.access("/proc/net/ipv6_route") and fs.access("/usr/sbin/ip6tables")
 
@@ -183,9 +183,19 @@ function main(argv)
                                end
 
                                if cmd ~= "whitelist" and whitelist_macs[mac] then
-                                       print("Removing %s from whitelist" % mac)
-                                       remove_whitelist(mac)
-                                       whitelist_macs[mac] = nil                                       
+                                       if cmd == "lease" then
+                                               print('%s is whitelisted. Remove it before you can lease it.' % mac)
+                                       else
+                                               print("Removing %s from whitelist" % mac)
+                                               remove_whitelist(mac)
+                                               whitelist_macs[mac] = nil
+                                       end
+                               end
+
+                               if cmd == "whitelist" and leased_macs[mac] then
+                                       print("Removing %s from leases" % mac)
+                                       remove_lease(mac)
+                                       leased_macs[mac] = nil
                                end
 
                                if cmd ~= "blacklist" and blacklist_macs[mac] then
@@ -195,9 +205,11 @@ function main(argv)
                                end
 
                                if cmd == "lease" and not leased_macs[mac] then
-                                       print("Adding %s to leases" % mac)
-                                       add_lease(mac)
-                                       leased_macs[mac] = true
+                                       if not whitelist_macs[mac] then
+                                               print("Adding %s to leases" % mac)
+                                               add_lease(mac)
+                                               leased_macs[mac] = true
+                                       end
                                elseif cmd == "whitelist" and not whitelist_macs[mac] then
                                        print("Adding %s to whitelist" % mac)
                                        add_whitelist(mac)