#!/usr/local/bin/bash
##################################################################
# Umschalten zwischen unterschiedlichen Netzwerkkonfigurationen
# unter OpenBSD
# Voraussetzung: Die aktuelle Konfig ist ein sym. Link auf ein
#                Konfigurationsfile
#                (bspw. /etc/hostname.bge0@ -> hostname.bge0.dhcp)
# $Id: change_network.sh,v 1.7 2010/09/16 09:32:33 hngott Exp $
##################################################################
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

if [ "${EUID}" != "0" ]
then
	echo "Rootrechte notwendig"
	exit 1
fi

cd /etc

# Anzeigen der aktuellen Konfiguration
echo "Derzeit aktive Konfiguration:"
for i in $(ls hostname.*)
do
	[ -L $i ] && ls -l $i && ACT="$ACT $i"
done

echo

echo "Neue Konfigurationen:"

for i in $(ls hostname.*)
do
	if ! ( [ -L $i ] );
	then
		CONF="$CONF $i"
	fi
done

select CONFIG in $CONF
do
	[ -z "$CONFIG" ] && echo "Falsche Auswahl" && continue
	for i in "$ACT"
	do
		rm $i
	done
	ln -s $CONFIG $( echo $CONFIG |
                   sed 's/^hostname\.\([^.]*\)\..*$/hostname.\1/' )
	break
done

# Netzwerk neu starten
/bin/sh /etc/netstart
sleep 2
/bin/sh /etc/netstart

