#!/bin/sh
########################################################################
# Begin $rc_base/init.d/localnet
#
# Description : Loopback device
#
# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
#
# Version     : 00.00
#
# Notes       :
#
########################################################################

. /etc/sysconfig/rc
. ${rc_functions}

write_resolv_conf() {
	(
		[ -n "${DOMAINNAME}" ] && echo "search ${DOMAINNAME}"
		echo "nameserver 127.0.0.1"
		echo "options trust-ad"
	) > /etc/resolv.conf
}

write_hosts() {
	(
		echo "127.0.0.1	localhost.localdomain localhost"
	) > /etc/hosts
}

case "${1}" in
	start)
		eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
		boot_mesg "Bringing up the loopback interface..."
		ip addr add 127.0.0.1/8 label lo dev lo
		ip link set lo up
		evaluate_retval

		boot_mesg "Setting hostname to ${HOSTNAME}.${DOMAINNAME}..."
		hostname "${HOSTNAME}.${DOMAINNAME}"
		evaluate_retval

		# Update hosts
		write_hosts

		# Update resolv.conf
		write_resolv_conf
		;;

	stop)
		boot_mesg "Bringing down the loopback interface..."
		ip link set lo down
		evaluate_retval
		;;

	restart)
		${0} stop
		sleep 1
		${0} start
		;;

	status)
		eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
		echo "Hostname is: $(hostname)"
		ip link show lo
		;;

	*)
		echo "Usage: ${0} {start|stop|restart|status}"
		exit 1
		;;
esac

# End $rc_base/init.d/localnet
