From 4365fbe2a373b73af5578d0ed6eddfb2ba9901ef Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Wed, 28 May 2008 15:28:13 +0000 Subject: Squashed commit of the following: commit d45d1757d24d8214f730af1a3401dd2bef4a434f Author: Steven Date: Wed May 28 17:23:27 2008 +0200 * libs/core: Removed dummymode checks in sys * libs/sgi-webuci: Fixes commit b870e8d345bc8912fd8ab61d463b9d68b924a6f4 Author: Felix Fietkau Date: Wed May 28 15:40:10 2008 +0200 fix path to theme commit e3732926bd98db4cc38de6eb8018cd4e55176699 Author: Felix Fietkau Date: Wed May 28 14:56:03 2008 +0200 set the proper path to the config in dummy mode commit a75aecf46f037c98bd6e49b9e48adb735d76d150 Author: Felix Fietkau Date: Wed May 28 14:50:42 2008 +0200 add some dummy mode support commit 12bb39ef606bca6b403cc982213a6597b76dc1b3 Author: Felix Fietkau Date: Wed May 28 14:41:56 2008 +0200 normalize paths commit 7aaad1103fd2bdc75aca158baa6ef191f9a961c6 Author: Felix Fietkau Date: Wed May 28 14:27:26 2008 +0200 add missing require statement commit 5766274bd2511b00c42b474aeeeb3efaca6ded9b Author: Felix Fietkau Date: Wed May 28 14:19:54 2008 +0200 add optional luaposix package (patched for darwin support) commit 9e257a76d03722fc0ce8312aa9952641b21424bd Author: Felix Fietkau Date: Tue May 27 20:21:59 2008 +0200 add missing files, more integration for the boa plugin, fix path to lua modules commit dacc1a98ec946975fcb19f87076dfa7db865fca6 Author: Felix Fietkau Date: Tue May 27 19:42:37 2008 +0200 use "compile" instead of "source" and rename the old version of compile to "compile-all" commit eb14777c4fee1eb5740aba1e5603e481320da7b1 Author: Felix Fietkau Date: Tue May 27 19:41:59 2008 +0200 more boa integration commit df0afb965bf0a987b653e9d0acadf3151179a596 Author: Felix Fietkau Date: Tue May 27 18:33:42 2008 +0200 build boa and the webuci.so plugin along with sgi-webuci commit 878161dabf32066631103d199e2cbaf3f5a7fb07 Author: Felix Fietkau Date: Tue May 27 18:03:16 2008 +0200 add .gitignore --- libs/sgi-webuci/root/usr/lib/boa/luci.lua | 61 +++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 libs/sgi-webuci/root/usr/lib/boa/luci.lua (limited to 'libs/sgi-webuci/root/usr') diff --git a/libs/sgi-webuci/root/usr/lib/boa/luci.lua b/libs/sgi-webuci/root/usr/lib/boa/luci.lua new file mode 100644 index 0000000000..2ea6ba4cba --- /dev/null +++ b/libs/sgi-webuci/root/usr/lib/boa/luci.lua @@ -0,0 +1,61 @@ +module("luci-plugin", package.seeall) + +function normalize(path) + local newpath + while newpath ~= path do + if (newpath) then + path = newpath + end + newpath = string.gsub(path, "/[^/]+/../", "/") + end + return newpath +end + +function init(path) + -- NB: path points to ROOT/usr/lib/boa, change it to /usr/lib/lua + root = normalize(path .. '/../../../') + path = normalize(path .. '/../lua/') + package.cpath = path..'?.so;'..package.cpath + package.path = path..'?.lua;'..package.path + + require("luci.dispatcher") + require("luci.sgi.webuci") + require("uci") + + if (root ~= '/') then + -- Entering dummy mode + uci.set_savedir(root..'/tmp/.uci') + uci.set_confdir(root..'/etc/config') + + luci.sys.hostname = function() return "" end + luci.sys.loadavg = function() return 0,0,0,0,0 end + luci.sys.reboot = function() return end + luci.sys.sysinfo = function() return "","","" end + luci.sys.syslog = function() return "" end + + luci.sys.net.arptable = function() return {} end + luci.sys.net.devices = function() return {} end + luci.sys.net.routes = function() return {} end + luci.sys.wifi.getiwconfig = function() return {} end + luci.sys.wifi.iwscan = function() return {} end + end +end + +function prepare_req(uri) + luci.dispatcher.createindex() + env = {} + env.REQUEST_URI = uri +end + +function handle_req(context) + env.SERVER_PROTOCOL = context.server_proto + env.REMOTE_ADDR = context.remote_addr + env.REQUEST_METHOD = context.request_method + env.PATH_INFO = context.uri + env.REMOTE_PORT = context.remote_port + env.SERVER_ADDR = context.server_addr + env.SCRIPT_NAME = env.REQUEST_URI:sub(1, #env.REQUEST_URI - #env.PATH_INFO) + + luci.sgi.webuci.initenv(env, vars) + luci.dispatcher.httpdispatch() +end -- cgit v1.2.3