summaryrefslogtreecommitdiffhomepage
path: root/libs/lucid-rpc/luasrc/lucid/rpc/system.lua
diff options
context:
space:
mode:
Diffstat (limited to 'libs/lucid-rpc/luasrc/lucid/rpc/system.lua')
-rw-r--r--libs/lucid-rpc/luasrc/lucid/rpc/system.lua101
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