owsd: support to add dhcp domains to origin whitelist so routerlogin.net works

Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
This commit is contained in:
Denis Osvald 2016-08-19 17:03:11 +02:00 committed by Sukru Senli
parent c75dfd3d92
commit cf2810fcc5

View file

@ -1,5 +1,7 @@
#!/bin/sh /etc/rc.common
. /lib/functions/network.sh
START=90
STOP=10
@ -37,16 +39,15 @@ validate_owsd_iface() {
'interface:string' \
'origin:list(string)' \
'whitelist_interface_as_origin:bool' \
'whitelist_dhcp_domains:bool' \
'ipv6:bool' \
'ipv6only:bool' \
'cert:file' \
'key:file'
}
. /lib/functions/network.sh
parse_owsd_iface() {
local port interface whitelist_interface_as_origin ipv6 ipv6only cert key
local port interface whitelist_interface_as_origin whitelist_dhcp_domains ipv6 ipv6only cert key
validate_owsd_iface "$1" || {
echo "Validation failed"
@ -85,6 +86,21 @@ parse_owsd_iface() {
fi
config_list_foreach "$1" "origin" append_origin
if [ -n "$whitelist_dhcp_domains" ]; then
append_domain() {
append_origin_parts "http${cert:+s}" "$1" "${port}"
}
dhcp_domain_section() {
local ip
config_get ip "$1" ip
[ -z "$ip" ] && config_list_foreach "$1" "name" append_domain
}
config_load dhcp
config_foreach dhcp_domain_section "domain"
fi
}
start_service() {