diff --git a/sbin/wlan_setup b/sbin/wlan_setup index 97cf406..14e6367 100755 --- a/sbin/wlan_setup +++ b/sbin/wlan_setup @@ -39,6 +39,9 @@ if [ ! -f /var/state/ldap_disable ]; then touch /var/state/ldap_disable fi +if [ ! -d /var/run/shutdown ]; then + mkdir -p /var/run/shutdown +fi NSSWITCH=/etc/nsswitch.conf DEV=$1 if [ ! "$DEV" ]; then @@ -73,18 +76,54 @@ for AP in `iwlist $DEV scan 2>/dev/null|\ $DEBUG iwconfig $DEV txpower $ARG1 ;; YP) - echo "domain $ARG1 server $ARG2" >/etc/yp.conf - NISSTR="nis" - ;; + if [ -f /var/run/shutdown/wlan_nis ]; then + echo "No Clean Shutdown, cleaning up" + if [ -f /etc/sysconfig/nis/defaultdomain.wlan ]; then + mv /etc/sysconfig/nis/defaultdomain.wlan \ + /etc/sysconfig/nis/defaultdomain + fi + if [ -f /etc/yp.conf.store ]; then + mv /etc/yp.conf.wlan /etc/yp.conf + fi + fi + touch /var/run/shutdown/wlan_nis + if [ "$ARG1" ]; then + if [ -f /etc/sysconfig/nis/defaultdomain ]; then + mv /etc/sysconfig/nis/defaultdomain{,.wlan} + fi + echo "$ARG1" >/etc/sysconfig/nis/defaultdomain + fi + if [ "$ARG2" ]; then + if [ -f /etc/yp.conf ]; then + mv /etc/yp.conf{,.wlan} + fi + echo "domain $ARG1 server $ARG2" >/etc/yp.conf + fi + NISSTR="nis" + ;; LDAP) export USE_LDAP=1 LDAPSTR="ldap" rm /var/state/ldap_disable ;; DNS) + if [ -f /var/run/shutdown/wlan_dns ]; then + echo "No Clean Shutdown, cleaning up" + if [ -f /etc/resolv.conf.wlan ]; then + mv /etc/resolv.conf.wlan /etc/resolv.conf + fi + fi + touch /var/run/shutdown/wlan_dns + if [ -f /etc/resolv.conf ]; then + mv /etc/resolv.conf{,.wlan} + fi echo "#Resolv.conf generatet by wlan_setup" >/etc/resolv.conf echo "nameserver $ARG1" >>/etc/resolv.conf ;; + VTUN) + echo "Starting vtun client" + /etc/init.d/vtund start + ;; esac read <&3 OPTION ARG1 ARG2 done