summaryrefslogtreecommitdiffhomepage
path: root/libs/sgi-webuci/root/usr/lib
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-05-28 15:28:13 +0000
committerSteven Barth <steven@midlink.org>2008-05-28 15:28:13 +0000
commit4365fbe2a373b73af5578d0ed6eddfb2ba9901ef (patch)
treecdc534c74a881b666012a92a645ff22c973a11a7 /libs/sgi-webuci/root/usr/lib
parent776f9957d0376670e9d3e43677dbe3ba19ded193 (diff)
Squashed commit of the following:
commit d45d1757d24d8214f730af1a3401dd2bef4a434f Author: Steven <steven@cyrus.homeunix.org> 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 <nbd@openwrt.org> Date: Wed May 28 15:40:10 2008 +0200 fix path to theme commit e3732926bd98db4cc38de6eb8018cd4e55176699 Author: Felix Fietkau <nbd@openwrt.org> Date: Wed May 28 14:56:03 2008 +0200 set the proper path to the config in dummy mode commit a75aecf46f037c98bd6e49b9e48adb735d76d150 Author: Felix Fietkau <nbd@openwrt.org> Date: Wed May 28 14:50:42 2008 +0200 add some dummy mode support commit 12bb39ef606bca6b403cc982213a6597b76dc1b3 Author: Felix Fietkau <nbd@openwrt.org> Date: Wed May 28 14:41:56 2008 +0200 normalize paths commit 7aaad1103fd2bdc75aca158baa6ef191f9a961c6 Author: Felix Fietkau <nbd@openwrt.org> Date: Wed May 28 14:27:26 2008 +0200 add missing require statement commit 5766274bd2511b00c42b474aeeeb3efaca6ded9b Author: Felix Fietkau <nbd@openwrt.org> Date: Wed May 28 14:19:54 2008 +0200 add optional luaposix package (patched for darwin support) commit 9e257a76d03722fc0ce8312aa9952641b21424bd Author: Felix Fietkau <nbd@openwrt.org> 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 <nbd@openwrt.org> 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 <nbd@openwrt.org> Date: Tue May 27 19:41:59 2008 +0200 more boa integration commit df0afb965bf0a987b653e9d0acadf3151179a596 Author: Felix Fietkau <nbd@openwrt.org> 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 <nbd@openwrt.org> Date: Tue May 27 18:03:16 2008 +0200 add .gitignore
Diffstat (limited to 'libs/sgi-webuci/root/usr/lib')
-rw-r--r--libs/sgi-webuci/root/usr/lib/boa/luci.lua61
1 files changed, 61 insertions, 0 deletions
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