#!/bin/sh

cat << EOF
domain-needed
log-async=10
EOF

#don't read /etc/resolv.conf, it's pointing local. but allow user-defined files
grep -i "^resolv-file=" /tmp/flash/dnsmasq/dnsmasq.extra -q 2>/dev/null || echo "no-resolv"
#add avm upstream-servers
if [ "$DNSMASQ_AVM_DNS" = yes ]; then
	echo "server=$(echo 'servercfg.dns1' | ar7cfgctl -s)"
	echo "server=$(echo 'servercfg.dns2' | ar7cfgctl -s)"
fi
#add own upstream-servers
if [ -n "$DNSMASQ_UPSTREAM" ]; then
	for dnsserver in $DNSMASQ_UPSTREAM; do
		echo "server=$dnsserver"
	done
fi

[ "$DNSMASQ_BOGUSPRIV" = "yes" ] && echo "bogus-priv"

if [ "$DNSMASQ_DHCP" = "yes" ]; then
	echo "$DNSMASQ_DHCP_RANGE" | grep -v "^#" | while read -r range; do
		[ -n "$range" ] && echo "dhcp-range=$range"
	done
fi

if [ "$DNSMASQ_DOMAIN" ]; then
	echo "domain=$DNSMASQ_DOMAIN"
	echo "expand-hosts"
fi

if [ "$DNSMASQ_TFTP" = 'yes' -a -n "$DNSMASQ_TFTP_TFTPROOT" ]; then
	echo "enable-tftp"
	echo "tftp-root=$DNSMASQ_TFTP_TFTPROOT"
fi

if [ "$DNSMASQ_DHCP" = "yes" -a "$DNSMASQ_DHCP_BOOT" = "yes" -a "$DNSMASQ_DHCP_BOOTFILE" ]; then
	echo "dhcp-boot=$DNSMASQ_DHCP_BOOTFILE"
fi

[ "$DNSMASQ_ETHERS" = "yes" ] && echo "read-ethers"

[ "$DNSMASQ_STOP_DNS_REBIND" = "yes" ] && echo "stop-dns-rebind"

[ "$DNSMASQ_LOG_QUERIES" = "yes" ] && echo "log-queries"

isdhcphost () {
	echo $1 | grep '^dhcp-host$' >/dev/null
}
[ -r /tmp/flash/exhosts ] && mv /tmp/flash/exhosts /tmp/flash/mod/hosts
if [ -r /tmp/flash/mod/hosts ]; then
	egrep -v '^(#|[[:space:]]*$)' /tmp/flash/mod/hosts |
		while read -r ip mac interface host desc; do
			isdhcphost $mac && echo "dhcp-host=${host}"
		done
fi