Changeset 4601

Show
Ignore:
Timestamp:
05/25/09 11:31:02 (4 years ago)
Author:
Cyrus
Message:

Fix LuCI-Frickel-Splashd

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • luci/trunk/applications/luci-splash/root/usr/bin/luci-splashd

    r4457 r4601  
    11#!/usr/bin/lua 
    22 
    3 local nixio = require "nixio" 
     3local nixio = require "nixio", require "nixio.util" 
    44local server = nixio.bind(nil, arg[1] or 8082) 
    55local stat = server:listen(32) 
     6 
     7local function remapipv6(adr) 
     8    local map = "::ffff:" 
     9    if adr:sub(1, #map) == map then 
     10        return adr:sub(#map+1) 
     11    else 
     12        return adr 
     13    end  
     14end 
    615 
    716while stat do 
     
    1120        client:setopt("socket", "rcvtimeo", 1) 
    1221        client:setopt("socket", "sndtimeo", 1) 
    13         local srv = client:getsockname() 
     22        local srv = remapipv6(client:getsockname()) 
    1423 
    1524        client:read(1024) 
    16         client:writeall("HTTP/1.0 302 Found\r\nLocation: http://" .. srv .. 
    17          (arg[2] or "/luci/splash") .. "\r\n\r\n") 
     25        client:writeall("HTTP/1.1 302 Found\r\nLocation: http://" .. srv .. 
     26         (arg[2] or "/luci/splash") .. "\r\nContent-Length: 0\r\nConnection: close\r\n\r\n") 
    1827        client:close()  
    1928    end