#!/bin/sh

if [ "${reason}" = "PREINIT" ]; then
    ifconfig $interface up
    exit 0
fi

if [ "${reason}" = "BOUND" ]; then
    if [ -n "${new_subnet_mask}" ]; then
        new_subnet_arg="netmask ${new_subnet_mask}"
    fi
    if [ -n "${new_broadcast_address}" ]; then
        new_broadcast_arg="broadcast ${new_broadcast_address}"
    fi
    echo "Configure the interface"
    echo ifconfig $interface inet      \
             $new_ip_address      \
             $new_subnet_arg      \
             $new_broadcast_arg

    ifconfig $interface inet      \
             $new_ip_address      \
             $new_subnet_arg      \
             $new_broadcast_arg

    echo "Set default route to: ${new_routers}"
    route add -net 0.0.0.0 gw ${new_routers}

    echo "Set the hostname to: ${new_host_name}"
    hostname "${new_host_name}"

    #
    # Using the same name for the info file as dhcpcd
    #
    INFOFILE=/etc/dhcpc/dhcpcd-${interface}.info
    echo "IPADDR=${new_ip_address}"                  >${INFOFILE}.new
    echo "NETMASK=${new_subnet_mask}"               >>${INFOFILE}.new
    echo "NETWORK=${new_network_number}"            >>${INFOFILE}.new
    echo "BROADCAST=${new_broadcast_address}"       >>${INFOFILE}.new
    echo "GATEWAY=${new_routers}"                   >>${INFOFILE}.new
    echo "HOSTNAME=${new_host_name}"                >>${INFOFILE}.new
    echo "DOMAIN=${new_domain_name}"                >>${INFOFILE}.new
    echo "DNS=${new_domain_name_servers}"           >>${INFOFILE}.new
    echo "LEASETIME=${new_dhcp_lease_time}"         >>${INFOFILE}.new
    echo "ROOTPATH=${new_root_path}"                >>${INFOFILE}.new
    echo "FILENAME=${new_filename}"                 >>${INFOFILE}.new
    echo "DHCPSERVER=${new_dhcp_server_identifier}" >>${INFOFILE}.new
    cat ${INFOFILE}.new >${INFOFILE}
    exit 0
fi
