diff options
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() {  | 
