applications/luci-splash: implement alias interface support in luci-splashd
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 19 Feb 2009 23:09:28 +0000 (23:09 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 19 Feb 2009 23:09:28 +0000 (23:09 +0000)
applications/luci-splash/root/usr/bin/luci-splashd

index 946c696..c94537f 100755 (executable)
@@ -16,17 +16,21 @@ while true do
        if client then
                client:settimeout(1)
                local srv
-               local ip = luci.ip.IPv4((client:getpeername()))
-               uci:foreach("network", "interface",
-                       function (section)
-                           if section.ipaddr then
-                               local net = luci.ip.IPv4(section.ipaddr, section.netmask)
-                               if ip and net and net:contains(ip) then
-                                   srv = section.ipaddr
-                                   return
-                               end
-                           end
-                       end)
+               print (client:getpeername())
+               local ip  = luci.ip.IPv4((client:getpeername()))
+
+               local function find_srv(section)
+                       if section.ipaddr then
+                               local net = luci.ip.IPv4(section.ipaddr, section.netmask)
+                               if ip and net and net:contains(ip) then
+                                       srv = section.ipaddr
+                                       return
+                               end
+                       end
+               end
+               
+               uci:foreach("network", "interface", find_srv)
+               uci:foreach("network", "alias", find_srv)
 
                client:receive()
                client:send("HTTP/1.0 302 Found\r\nLocation: http://" .. srv ..