From b573f106a1f10b8d728bce759ad1f5e7829864ed Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Tue, 30 Jun 2020 15:40:52 +0000 Subject: [PATCH] luci-base: allow themes to provide sysauth.htm Support for sysauth_template was (inadvertently) dropped in refactorings to support the json menu construction. This does not restore that functionality, which allowed different templates for every node in the dispatcher tree, but provides an alternative mechanism that allows a theme to provide a sysauth.htm template file instead. Tested-by: Karl Palsson Signed-off-by: Jo-Philipp Wich (cherry picked from commit 8f9433127e5d2a576a1207da46d02389b82041a5) --- modules/luci-base/luasrc/dispatcher.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua index d14a866737..8105ba0bb2 100644 --- a/modules/luci-base/luasrc/dispatcher.lua +++ b/modules/luci-base/luasrc/dispatcher.lua @@ -884,7 +884,12 @@ function dispatch(request) http.status(403, "Forbidden") http.header("X-LuCI-Login-Required", "yes") - return tpl.render("sysauth", { duser = "root", fuser = user }) + local scope = { duser = "root", fuser = user } + local ok, res = util.copcall(tpl.render_string, [[<% include("themes/" .. theme .. "/sysauth") %>]], scope) + if ok then + return res + end + return tpl.render("sysauth", scope) end http.header("Set-Cookie", 'sysauth=%s; path=%s; SameSite=Strict; HttpOnly%s' %{ -- 2.30.2