Fix LuCI-Frickel-Splashd

This commit is contained in:
Steven Barth 2009-05-25 10:31:02 +00:00
parent b910def5ac
commit 282e08a0c7

View file

@ -1,20 +1,29 @@
#!/usr/bin/lua
local nixio = require "nixio"
local nixio = require "nixio", require "nixio.util"
local server = nixio.bind(nil, arg[1] or 8082)
local stat = server:listen(32)
local function remapipv6(adr)
local map = "::ffff:"
if adr:sub(1, #map) == map then
return adr:sub(#map+1)
else
return adr
end
end
while stat do
local client = server:accept()
if client then
client:setopt("socket", "rcvtimeo", 1)
client:setopt("socket", "sndtimeo", 1)
local srv = client:getsockname()
local srv = remapipv6(client:getsockname())
client:read(1024)
client:writeall("HTTP/1.0 302 Found\r\nLocation: http://" .. srv ..
(arg[2] or "/luci/splash") .. "\r\n\r\n")
client:writeall("HTTP/1.1 302 Found\r\nLocation: http://" .. srv ..
(arg[2] or "/luci/splash") .. "\r\nContent-Length: 0\r\nConnection: close\r\n\r\n")
client:close()
end
end