Viitor_upstart/sbin/wlan_setup
kueller 7f67ca6921 Updates - neue Scripten aus sysvinit uebernommen
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_upstart@5502 504e572c-2e33-0410-9681-be2bf7408885
2010-04-20 12:46:04 +00:00

160 lines
4.7 KiB
Bash
Executable File

#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $Source: /export/Data/cvs/Viitor_wireless/etc/init.d/wireless,v $
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#Script:wlan_setup
#Setup eines WLAN Interfaces per accesspoint config files in
#/etc/sysconfig/wlan/<apname>
#
#Letzte Änderung von: $Author$
#Datum der letzten Änderung: $Date$
#Version der Datei: $Revision$
#
#$Log: wireless,v $
#Revision 1.1.1.1 2004/12/05 13:10:59 kueller
#New Package wireless
#
#
source /etc/init.d/functions
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
echo "usage: $0 <WireLessLanDevice>"
exit 1
fi
/sbin/ifconfig $DEV up
if [ ! -d /sys/class/net/$DEV/wireless ]; then
echo "No Wireless Device"
exit 2
fi
for AP in `iwlist $DEV scan 2>/dev/null|\
grep ESSID|\
cut -d":" -f 2-`; do
AP=`echo $AP|sed -e "s/\"//g"`
if [ -f /etc/sysconfig/wlan/$AP ]; then
echo -n "Binding Wireless Network to AP $AP"
$DEBUG iwconfig $DEV essid $AP
evaluate_retval
sed -e "/^#/d" /etc/sysconfig/wlan/$AP | \
sed -e "/^ *$/d" >/tmp/AP
exec 3</tmp/AP
read <&3 OPTION ARG1 ARG2
while [ $OPTION ]; do
case $OPTION in
WPA2|WPA)
wpa_supplicant -i ${DEV} -D ${ARG1} -c /etc/sysconfig/wpa_supplicant/${AP} -B
;;
KEY)
echo -n "Configuring Wireless Interface KEY"
$DEBUG iwconfig $DEV key $ARG1 $ARG2
;;
TXPOWER)
echo -n "Configuring txpower to $ARG1"
$DEBUG iwconfig $DEV txpower $ARG1
;;
YP)
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
elif [ -f /etc/sysconfig/nis/defaultdomain ]; then
rm /etc/sysconfig/nis/defaultdomain
fi
if [ -f /etc/yp.conf.wlan ]; then
mv /etc/yp.conf.wlan /etc/yp.conf
elif [ -f /etc/yp.conf ]; then
rm /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
exec 3>&-
ifconfig $DEV down
ifconfig $DEV up
rm /tmp/AP
fi
done
FILESTR="files"
echo "passwd: $FILESTR $LDAPSTR $NISSTR" >$NSSWITCH
echo "group: $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH
echo "shadow: $FILESTR $LDAPSTR" >>$NSSWITCH
echo "publickkey: $FILESTR" >>$NSSWITCH
echo "hosts: dns $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH
echo "networks: $FILESTR $NISSTR" >>$NSSWITCH
echo "protocols: db $NISSTR $FILESTR" >>$NSSWITCH
echo "services: db $NISSTR $FILESTR" >>$NSSWITCH
echo "rpc: db $NISSTR $FILESTR" >>$NSSWITCH
echo "ethers: db $NISSTR $FILESTR" >>$NSSWITCH
echo "netmasks: $FILESTR $NISSTR" >>$NSSWITCH
echo "netgroup: $FILESTR $NISSTR" >>$NSSWITCH
echo "bootparams: $FILESTR" >>$NSSWITCH
echo "automount: $FILESTR $NISSTR" >>$NSSWITCH
echo "aliases: $FILESTR" >>$NSSWITCH
touch /var/run/nsswitch_done