#!/bin/sh -efu

system_config_file=/etc/sysconfig/system
menu_config_file=/etc/alterator/menu/module-skip-list
ipv4_dhcpd_conf=/etc/dhcp/dhcpd.conf
ipv6_dhcpd_conf=/etc/dhcp/dhcpd6.conf

. shell-quote
. alterator-dhcp-functions
[ ! -s "$system_config_file" ] || . "$system_config_file"

chomp()
{
    local out="${1# }"
    echo "${out% }"
}

menu_skip_list()
{
    local v=$(shell_config_get "$menu_config_file" MODULE_SKIP_LIST)
    string_quote_remove "$v"
}

menu_skip_add()
{
    grep -qs "^$1\$" "$menu_config_file" ||
	echo "$1" >> "$menu_config_file"
}

menu_skip_del()
{
    sed "/^$(quote_sed_regexp "$1")\$/d" -i "$menu_config_file"
}

if [ "${SERVER_ROLE:-}" = "master" ];then
    #menu_skip_del dhcp

	dhcp_daemon_on 4

	[ -s "$ipv6_dhcpd_conf" ] &&
		dhcp_daemon_on 6
else
    #menu_skip_add dhcp
	dhcp_daemon_off 4
	dhcp_daemon_off 6
fi

#redirect client dns to local dns
dhcp_config_set client_dns '*' 4
dhcp_update_config 4

if [ -s "$ipv6_dhcpd_conf" ]; then
	dhcp_config_set client_dns '*' 6
	dhcp_update_config 6
fi
