7f67ca6921
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_upstart@5502 504e572c-2e33-0410-9681-be2bf7408885
160 lines
4.7 KiB
Bash
Executable File
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
|