From 506822ee7080e86584a4f6436aeeb8edb411c88e Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sun, 7 Dec 2008 11:47:59 +0000 Subject: [PATCH] Make LuCIttpd work OOTB --- libs/lucittpd/ipkg/postinst | 6 +++ libs/lucittpd/luasrc/ttpd/server.lua | 4 +- libs/lucittpd/root/etc/config/lucittpd | 6 +++ libs/lucittpd/root/etc/init.d/lucittpd | 44 +++++++++++++++++++ .../usr/lib/lucittpd/plugins/luci-webui.lua | 7 +-- 5 files changed, 63 insertions(+), 4 deletions(-) create mode 100755 libs/lucittpd/ipkg/postinst create mode 100644 libs/lucittpd/root/etc/config/lucittpd create mode 100755 libs/lucittpd/root/etc/init.d/lucittpd diff --git a/libs/lucittpd/ipkg/postinst b/libs/lucittpd/ipkg/postinst new file mode 100755 index 000000000..3c25ea664 --- /dev/null +++ b/libs/lucittpd/ipkg/postinst @@ -0,0 +1,6 @@ +#!/bin/sh +[ -n "${IPKG_INSTROOT}" ] || { + /etc/init.d/lucittpd enable + /etc/init.d/lucittpd start +} + diff --git a/libs/lucittpd/luasrc/ttpd/server.lua b/libs/lucittpd/luasrc/ttpd/server.lua index 4cb246af8..a2c7ffcb2 100644 --- a/libs/lucittpd/luasrc/ttpd/server.lua +++ b/libs/lucittpd/luasrc/ttpd/server.lua @@ -18,6 +18,7 @@ local pcall, assert = pcall, assert local os = require "os" local io = require "io" +local uci = require "luci.model.uci" local util = require "luci.util" local ltn12 = require "luci.ltn12" local proto = require "luci.http.protocol" @@ -91,6 +92,7 @@ end Server = util.class() function Server.__init__(self, host) + self.uci = uci.cursor() self.host = host self.vhosts = {} @@ -329,7 +331,7 @@ function Server.process(self, functions) close = not message.env.HTTP_CONNECTION or message.env.HTTP_CONNECTION == "close" end -- Uncomment this to disable keep-alive - -- close = true + close = not (self.uci:get("lucittpd", "lucittpd", "keepalive") == "1") if message.request_method == "get" or message.request_method == "head" then -- Be happy diff --git a/libs/lucittpd/root/etc/config/lucittpd b/libs/lucittpd/root/etc/config/lucittpd new file mode 100644 index 000000000..803a6e50c --- /dev/null +++ b/libs/lucittpd/root/etc/config/lucittpd @@ -0,0 +1,6 @@ +config lucittpd lucittpd + option port 80 + option timeout 90 + option keepalive 0 + option path /usr/lib/lucittpd/plugins/ + option root /www diff --git a/libs/lucittpd/root/etc/init.d/lucittpd b/libs/lucittpd/root/etc/init.d/lucittpd new file mode 100755 index 000000000..139f30b57 --- /dev/null +++ b/libs/lucittpd/root/etc/init.d/lucittpd @@ -0,0 +1,44 @@ +#!/bin/sh /etc/rc.common +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/lucittpd +NAME=lucittpd +DESC="HTTP server" +START=49 + +test -x $DAEMON || exit 0 +set -e + +start() { + echo -n "Starting $DESC: $NAME" + start-stop-daemon -S -q -x $DAEMON + echo "." +} + +stop() { + echo -n "Stopping $DESC: $NAME" + start-stop-daemon -K -q -x $DAEMON + echo "." +} + +restart() { + # echo -n "Restarting $DESC: $NAME... " + # start-stop-daemon -K -s HUP -q -x $DAEMON + # echo "done." + stop + sleep 3 + start +} + +reload() { + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo -n "Reloading $DESC configuration... " + # start-stop-daemon -K -s 1 -q -x $DAEMON + # echo "done." + restart +} diff --git a/libs/sgi-luci/root/usr/lib/lucittpd/plugins/luci-webui.lua b/libs/sgi-luci/root/usr/lib/lucittpd/plugins/luci-webui.lua index f237b8538..120466789 100644 --- a/libs/sgi-luci/root/usr/lib/lucittpd/plugins/luci-webui.lua +++ b/libs/sgi-luci/root/usr/lib/lucittpd/plugins/luci-webui.lua @@ -11,6 +11,7 @@ end -- Register luci function register() - local lucihnd = require "luci.ttpd.handler.luci" - httpd.server:get_default_vhost():set_handler("/luci", lucihnd.Luci()) -end \ No newline at end of file + local lucihnd = require "luci.ttpd.handler.luci".Luci() + httpd.server:get_default_vhost():set_handler("/luci", lucihnd) + httpd.server:get_default_vhost():set_handler("/cgi-bin/luci", lucihnd) +end -- 2.25.1