X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fluci-base%2Fluasrc%2Fdispatcher.lua;h=16b32548e6f626b2928cb6b2589e26947494085d;hp=e4f77f18d89d27cfcf525e5d40e5f08d905adfdb;hb=a441721d32d06d18368bf236ad127ffccad0bef8;hpb=0fdec7a4bc68f65457aedc4dbc96a27eef66f814 diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua index e4f77f18d..16b32548e 100644 --- a/modules/luci-base/luasrc/dispatcher.lua +++ b/modules/luci-base/luasrc/dispatcher.lua @@ -191,6 +191,9 @@ local function session_setup(user, pass, allowed_users) timeout = tonumber(luci.config.sauth.sessiontime) }) + local rp = context.requestpath + and table.concat(context.requestpath, "/") or "" + if type(login) == "table" and type(login.ubus_rpc_session) == "string" then @@ -199,8 +202,14 @@ local function session_setup(user, pass, allowed_users) values = { token = sys.uniqueid(16) } }) + io.stderr:write("luci: accepted login on /%s for %s from %s\n" + %{ rp, user, http.getenv("REMOTE_ADDR") or "?" }) + return session_retrieve(login.ubus_rpc_session) end + + io.stderr:write("luci: failed login on /%s for %s from %s\n" + %{ rp, user, http.getenv("REMOTE_ADDR") or "?" }) end return nil, nil @@ -358,7 +367,7 @@ function dispatch(request) "https://github.com/openwrt/luci/issues" ) - if track.sysauth then + if track.sysauth and not ctx.authsession then local authen = track.sysauth_authenticator local _, sid, sdat, default_user, allowed_users