diff options
Diffstat (limited to 'libs/lucid-rpc/luasrc/lucid/rpc/system.lua')
-rw-r--r-- | libs/lucid-rpc/luasrc/lucid/rpc/system.lua | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/libs/lucid-rpc/luasrc/lucid/rpc/system.lua b/libs/lucid-rpc/luasrc/lucid/rpc/system.lua deleted file mode 100644 index cf3aa6abe4..0000000000 --- a/libs/lucid-rpc/luasrc/lucid/rpc/system.lua +++ /dev/null @@ -1,101 +0,0 @@ ---[[ -LuCI - Lua Development Framework - -Copyright 2009 Steven Barth <steven@midlink.org> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -$Id$ -]] - -local type, ipairs = type, ipairs -local srv = require "luci.lucid.rpc.server" -local nixio = require "nixio" -local lucid = require "luci.lucid" - ---- Internal system functions. -module "luci.lucid.rpc.system" - --- Prepare the RPC module. -function _factory() - local mod = srv.Module("System functions"):register({ - echo = echo, - void = void, - multicall = srv.Method.extended(multicall), - authenticate = srv.Method.extended(authenticate) - }) - mod.checkrestricted = function(self, session, request, ...) - if request ~= "authenticate" then - return srv.Module.checkrestricted(self, session, request, ...) - end - end - return mod -end - ---- Simple echo test function. --- @param object to be echoed object --- @return echo object -function echo(object) - return object -end - ---- Simple void test function. -function void() - -end - ---- Accumulate different requests and execute them. --- @param session Session object --- @param ... --- @return overall response object -function multicall(session, ...) - local server, responses, response = session.server, {}, nil - for k, req in ipairs({...}) do - response = nil - if type(req) == "table" and type(req.method) == "string" - and (not req.params or type(req.params) == "table") then - req.params = req.params or {} - result = server.root:process(session, req.method, req.params) - if type(result) == "table" then - if req.id ~= nil then - response = {jsonrpc=req.jsonrpc, id=req.id, - result=result.result, error=result.error} - end - else - if req.id ~= nil then - response = {jsonrpc=req.jsonrpc, id=req.id, - result=nil, error={code=srv.ERRNO_INTERNAL, - message=srv.ERRMSG[ERRNO_INTERNAL]}} - end - end - end - responses[k] = response - end - return responses -end - ---- Create or use a new authentication token. --- @param session Session object --- @param type Authentication type --- @param entity Authentication enttity (username) --- @param key Authentication key (password) --- @return boolean status -function authenticate(session, type, entity, key) - if not type then - session.user = nil - return true - elseif type == "plain" then - local pwe = nixio.getsp and nixio.getsp(entity) or nixio.getpw(entity) - local pwh = pwe and (pwe.pwdp or pwe.passwd) - if not pwh or #pwh < 1 or nixio.crypt(key, pwh) ~= pwh then - return nil - else - session.user = entity - return true - end - end -end
\ No newline at end of file |