#!/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 args

	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() {
	[ -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() {
	killall httpd
}