#!/bin/sh
# convert:

# dhcptype=5
# serverid=172.16.42.102
# lease=97200
# interface=eth0
# ip=172.16.42.177
# subnet=255.255.255.0
# mask=24
# broadcast=172.16.22.255
# router=172.16.42.98
# dns=10.34.32.125 10.32.63.5 10.34.255.7 10.11.255.27
# domain=lab.example.com example.com
# ntpsrv=10.34.32.125 10.34.255.7

# into:

#let cfg=cfg+1
#if[$cfg]=...; ip[$cfg]=...; ipmask[$cfg]=.../...; gw[$cfg]=...; net[$cfg]=... dns[$cfg]=...

exec >/dev/null
#exec >"$0.out"  # debug
exec 2>&1

test "$interface" || exit 1
test "$ip" || exit 1

# some servers do not return subnet option.
# guess it for standard private networks.
if ! test "$mask"; then
	case "$ip" in
	10.*)
		mask=8;;
	192.168.*)
		mask=16;;
	#172.16-31.x.x
	172.1[6789].*)
		mask=12;;
	172.2[0123456789].*)
		mask=12;;
	172.3[01].*)
		mask=12;;
	esac
fi

# some servers do not return router option.
# assume DHCP server is the router.
if ! test "$router"; then
	test "$serverid" && router="$serverid"
fi

{
echo "let cfg=cfg+1"
test "$interface"	&& echo "if[\$cfg]='$interface'"
test "$ip"		&& echo "ip[\$cfg]='$ip'"
test "$ip" && test "$mask" \
			&& echo "ipmask[\$cfg]='$ip/$mask'"
test "$router"		&& echo "gw[\$cfg]='$router'"
test "$dns"		&& echo "dns[\$cfg]='$dns'"
# TODO: I never saw a dhcp server which correctly announces
# which subnet(s) is/are available thru advertised router
# Assume 0/0
echo "net[\$cfg]='0/0'"
} >"$1"
