diff options
author | thepeople <thepeople@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-02-28 19:56:09 +0000 |
---|---|---|
committer | thepeople <thepeople@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-02-28 19:56:09 +0000 |
commit | 7c4fa97f627bc05775c813a148cafb23b42ae75f (patch) | |
tree | 14e707782827f718f2d1e9517b86035d345913ca /package/busybox/files/httpd | |
parent | 41f07b22f88a263bbd1e2166181696f36775038d (diff) |
Fix a wrong variable names (ifname, wan) and enhance httpd's init script by more configurable options. Signed-off-by: Lubos Stanek (lubek) <lubek@lubek.name>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10536 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/busybox/files/httpd')
-rwxr-xr-x | package/busybox/files/httpd | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/package/busybox/files/httpd b/package/busybox/files/httpd index 35b7f6294..f7e166d0a 100755 --- a/package/busybox/files/httpd +++ b/package/busybox/files/httpd @@ -1,12 +1,52 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org + START=50 +HTTPD_BIN="/usr/sbin/httpd" + +system_config() { + local cfg="$1" + + config_get hostname "$cfg" hostname +} + +httpd_config() { + local cfg="$1" + local c_file port realm home + + config_get c_file "$cfg" c_file + [ -n "$c_file" -a -f "$c_file" ] && append args "-c \"$c_file\"" + config_get port "$cfg" port + append args "-p ${port:-80}" + config_get home "$cfg" home + home="${home:-/www}" + [ -d "$home" ] || return 1 + append args "-h \"$home\"" + config_get realm "$cfg" realm + realm="${realm:-$hostname}" + append args "-r \"$realm\"" + eval "$HTTPD_BIN $args" +} start() { - include /lib/network - scan_interfaces - config_get ifname wan hostname - [ -d /www ] && httpd -p 80 -h /www -r ${hostname:-OpenWrt} + [ -x "$HTTPD_BIN" ] || return 1 + + unset hostname + config_load system + config_foreach system_config system + hostname="${hostname:-OpenWrt}" + + unset args + config_load httpd + [ "$?" != "0" ] && { + uci_set_default httpd <<EOF +config 'httpd' + option 'port' '80' + option 'home' '/www' +EOF + config_load httpd + } + config_foreach httpd_config httpd } stop() { |