#!/bin/sh

echo "DEVICE=$interface" >> /run/net-$interface.conf

case "$reason" in
BOUND)
	echo "PROTO=dhcp" >> /run/net-$interface.conf
	echo "IPV4PROTO=dhcp" >> /run/net-$interface.conf
	echo "IPV4ADDR=$new_ip_address" >> /run/net-$interface.conf
	echo "IPV4NETMASK=$new_subnet_mask" >> /run/net-$interface.conf
	echo "IPV4BROADCAST=$new_broadcast_address" >> /run/net-$interface.conf
	echo "IPV4GATEWAY=$new_routers" >> /run/net-$interface.conf
	echo "IPV4DNS0=$new_domain_name_servers" >> /run/net-$interface.conf
	echo "ROOTSERVER=$new_routers" >> /run/net-$interface.conf
	if [ -n "$new_domain_search"]; then
		echo "DOMAINSEARCH=$new_domain_search" >> /run/net-$interface.conf
	fi
	;;
BOUND6)
	echo "IPV6PROTO=dhcp6" >> /run/net-$interface.conf
	echo "IPV6ADDR=$new_ip6_address" >> /run/net-$interface.conf
	echo "IPV6NETMASK=$new_ip6_prefixlen" >> /run/net-$interface.conf
	echo "IPV6DNS0=$new_dhcp6_name_servers" >> /run/net-$interface.conf
	if [ -n "$new_dhcp6_domain_search"]; then
		echo "IPV6DOMAINSEARCH=$new_dhcp6_domain_search" >> /run/net-$interface.conf
	fi
	;;
esac

if [ -n "$host_name"]; then
	echo "HOSTNAME=$new_host_name" >> /run/net-$interface.conf
fi
if [ -n "$domain_name"]; then
	echo "DNSDOMAIN=$new_domain_name" >> /run/net-$interface.conf
fi

for prefix in '' 'cur_' 'new_' 'old_'; do
	# loop over the DHCP variables passed to dhclient-script
	for basevar in reason interface medium alias_ip_address \
		       ip_address host_name network_number subnet_mask \
		       broadcast_address routers static_routes \
		       rfc3442_classless_static_routes \
		       domain_name domain_search domain_name_servers \
		       netbios_name_servers netbios_scope \
		       ntp_servers \
		       ip6_address ip6_prefix ip6_prefixlen \
		       dhcp6_domain_search dhcp6_name_servers ; do
		var="${prefix}${basevar}"
		eval "content=\$$var"

		# show only variables with values set
		if [ -n "${content}" ]; then
			echo "$var='${content}'" >> /run/net-$interface.conf
		fi
	done
done
