X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Frpc%2Fluasrc%2Fcontroller%2Frpc.lua;h=2eef7a0ebf17735cada3952cdf6178482e52e138;hp=fdfbdb38e31f9018d8c161eb41073618ecf67717;hb=cd53740e0f117885dddcd9781b2209ead7170ae5;hpb=77756f08b465ba9561d2d45c40633ebcac13702e diff --git a/modules/rpc/luasrc/controller/rpc.lua b/modules/rpc/luasrc/controller/rpc.lua index fdfbdb38e..2eef7a0eb 100644 --- a/modules/rpc/luasrc/controller/rpc.lua +++ b/modules/rpc/luasrc/controller/rpc.lua @@ -33,23 +33,17 @@ function index() luci.http.status(403, "Forbidden") end - uci = entry({"rpc", "uci"}, call("rpc_uci")) - uci.sysauth = "root" - uci.sysauth_authenticator = authenticator + local rpc = node("rpc") + rpc.sysauth = "root" + rpc.sysauth_authenticator = authenticator + rpc.notemplate = true - fs = entry({"rpc", "fs"}, call("rpc_fs")) - fs.sysauth = "root" - fs.sysauth_authenticator = authenticator - - fs = entry({"rpc", "sys"}, call("rpc_sys")) - fs.sysauth = "root" - fs.sysauth_authenticator = authenticator - - fs = entry({"rpc", "ipkg"}, call("rpc_ipkg")) - fs.sysauth = "root" - fs.sysauth_authenticator = authenticator - - uci = entry({"rpc", "auth"}, call("rpc_auth")) + entry({"rpc", "uci"}, call("rpc_uci")) + entry({"rpc", "uvl"}, call("rpc_uvl")) + entry({"rpc", "fs"}, call("rpc_fs")) + entry({"rpc", "sys"}, call("rpc_sys")) + entry({"rpc", "ipkg"}, call("rpc_ipkg")) + entry({"rpc", "auth"}, call("rpc_auth")).sysauth = false end function rpc_auth() @@ -59,8 +53,6 @@ function rpc_auth() local sys = require "luci.sys" local ltn12 = require "luci.ltn12" - http.setfilehandler() - local loginstat local server = {} @@ -81,7 +73,11 @@ function rpc_auth() end function rpc_uci() - local uci = require "luci.controller.rpc.uci" + if not pcall(require, "luci.model.uci") then + luci.http.status(404, "Not Found") + return nil + end + local uci = require "luci.jsonrpcbind.uci" local jsonrpc = require "luci.jsonrpc" local http = require "luci.http" local ltn12 = require "luci.ltn12" @@ -90,6 +86,20 @@ function rpc_uci() ltn12.pump.all(jsonrpc.handle(uci, http.source()), http.write) end +function rpc_uvl() + if not pcall(require, "luci.uvl") then + luci.http.status(404, "Not Found") + return nil + end + local uvl = require "luci.jsonrpcbind.uvl" + local jsonrpc = require "luci.jsonrpc" + local http = require "luci.http" + local ltn12 = require "luci.ltn12" + + http.prepare_content("application/json") + ltn12.pump.all(jsonrpc.handle(uvl, http.source()), http.write) +end + function rpc_fs() local util = require "luci.util" local io = require "io" @@ -141,6 +151,10 @@ function rpc_sys() end function rpc_ipkg() + if not pcall(require, "luci.model.ipkg") then + luci.http.status(404, "Not Found") + return nil + end local ipkg = require "luci.model.ipkg" local jsonrpc = require "luci.jsonrpc" local http = require "luci.http"