summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared')
-rw-r--r--abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared738
1 files changed, 0 insertions, 738 deletions
diff --git a/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared b/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared
deleted file mode 100644
index 5d84bb8..0000000
--- a/abs/core-testing/wlan-ng26-utils-svn/tmp/trunk/etc/wlan/shared
+++ /dev/null
@@ -1,738 +0,0 @@
-#!/bin/bash
-# etc/wlan/shared
-#
-# Copyright (C) 2002 AbsoluteValue Systems, Inc. All Rights Reserved.
-# --------------------------------------------------------------------
-#
-# linux-wlan
-#
-# The contents of this file are subject to the Mozilla Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# Alternatively, the contents of this file may be used under the
-# terms of the GNU Public License version 2 (the "GPL"), in which
-# case the provisions of the GPL are applicable instead of the
-# above. If you wish to allow the use of your version of this file
-# only under the terms of the GPL and not to allow others to use
-# your version of this file under the MPL, indicate your decision
-# by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL. If you do not delete
-# the provisions above, a recipient may use your version of this
-# file under either the MPL or the GPL.
-#
-# --------------------------------------------------------------------
-#
-# Inquiries regarding the linux-wlan Open Source project can be
-# made directly to:
-#
-# AbsoluteValue Systems Inc.
-# info@linux-wlan.com
-# http://www.linux-wlan.com
-#
-# --------------------------------------------------------------------
-#
-# Portions of the development of this software were funded by
-# Intersil Corporation as part of PRISM(R) chipset product development.
-#
-# --------------------------------------------------------------------
-
-TMPDIR=/tmp
-
-if [ ! -n "$ECHO" ]; then
- ECHO=echo
-fi
-
-if [ ! -n "$WLAN_UDEV" ] ; then
-if [ -x /sbin/modprobe ] ; then
- MODPROBE=/sbin/modprobe
-else
- ${ECHO} "/sbin/modprobe not found."
- exit 1
-fi
-fi
-
-if [ -x /sbin/wlanctl-ng ] ; then
- WLANCTL=/sbin/wlanctl-ng
-else
- ${ECHO} "/sbin/wlanctl-ng not found."
- exit 1
-fi
-
-# linux-wlan-ng > 0.2.4 there is no wland
-#if [ -x /sbin/wland ] ; then
-# WLAND=/sbin/wland
-#else
-# ${ECHO} "/sbin/wland not found."
-# exit 1
-#fi
-
-if [ -z "$WLAN_UDEV" ] ; then
- HAS_HOTPLUG=n
- if [ -f /proc/sys/kernel/hotplug -a \
- -f /etc/hotplug/wlan.agent ] ; then
- HOTPLUGGER=$(</proc/sys/kernel/hotplug)
- if [ -n "$HOTPLUGGER" ] ; then
- if [ -x $HOTPLUGGER ] ; then
- HAS_HOTPLUG=y
- fi
- fi
- fi
-fi
-
-# Source the wlan configuration
-if [ -f /etc/wlan/wlan.conf ] ; then
- . /etc/wlan/wlan.conf
-else
- ${ECHO} "/etc/wlan/wlan.conf not found."
- exit 0
-fi
-
-# Source NSD specific functions
-# nsd_fwload
-# nsd_mibset
-# Debian mod. If there is shared.dpkg-old we get a endless loop
-if [ "`ls /etc/wlan/shared.* 2>/dev/null`" ]; then
- for i in `find /etc/wlan -name 'shared.*' -a ! -name '*.dpkg*'` ; do
- . $i
- done
-else
- ${ECHO} "/etc/wlan/shared.* not found."
- exit 0
-fi
-
-is_true ()
-{
- # $1 == string containing a t/f indicator.
-
- [ "$1" = "y" -o "$1" = "Y" -o "$1" = "yes" -o "$1" = "YES" \
- -o "$1" = "t" -o "$1" = "T" -o "$1" = "true" -o "$1" = "TRUE" ]
-}
-
-wlan_nsdname ()
-{
- # $1 == wlandev
- # Writes the given device's name to stdout
- grep 'nsd name' /proc/net/p80211/$1/wlandev | sed -e 's/.*: \(.*\)_.*/\1/'
-}
-
-wlan_enable ()
-{
- # $1 == wlandev
-
- #=======ENABLE IFSTATE=============================
- # Bring the device into its operable state
-
- # if running under udev module must be loaded to get here so skip checks
- if [ ! -n "$WLAN_UDEV" ] ; then
-
- $MODPROBE $1
-
- # First, make sure the driver is loaded....
- if ! ifconfig $1 > /dev/null 2>&1 ; then
- ${ECHO} "Error: Device $1 does not seem to be present."
- ${ECHO} "Make sure you've inserted the appropriate"
- ${ECHO} "modules or that your modules.conf file contains"
- ${ECHO} "the appropriate aliase(s)."
- return 1
- fi
- fi
- # Call the nsd script's fwload function, in case the card needs
- # a firmware load, or could use an optional one.
-
- nsdname=`wlan_nsdname $1`
- if ! ${nsdname}_fwload $1 ; then
- ${ECHO} "Firmware failed to load for device $1"
- return 1
- fi
-
- # Enable the interface
- result=`$WLANCTL $1 lnxreq_ifstate ifstate=enable`
- if [ $? = 0 ] ; then
- eval $result
- if [ $resultcode != "success" ]; then
- ${ECHO} "Failed to enable the device, resultcode=" \
- $resultcode "."
- return 1
- fi
- else
- ${ECHO} "Failed to enable the device, exitcode=" $? "."
- return 1
- fi
-
- # Set any NSD specific MIBs
- ${nsdname}_mibset $1
-}
-
-wlan_user_mibs ()
-{
- # $1 == wlandev
-
- #=======USER MIB SETTINGS=============================
- # Set the user specified MIB items.
- for i in $USER_MIBS ; do
- result=`$WLANCTL $1 dot11req_mibset "mibattribute=$i"`
- if [ $? = 0 ] ; then
- eval $result
- if [ $resultcode != "success" ] ; then
- ${ECHO} "Failed to set user MIB $i."
- return 1
- fi
- else
- ${ECHO} "Failed to set user MIB $i."
- return 1
- fi
- done
-}
-
-wlan_source_config ()
-{
- # $1 == wlandev
-
- # XXX what about stray singlequotes.
- eval 'GOSSID="$SSID_'$1'"'
- wlan_source_config_for_ssid "$GOSSID"
-}
-
-wlan_source_config_for_ssid ()
-{
- # $1 == ssid[:bssid]
- # $2 == bssid (optional)
-
- DesiredSSID="$1"
- DesiredBSSID="$2"
-
- if [ -n "$2" ] ; then
- token_ssid=`echo $1 | sed -ne 's/\(.*\)\(:..:..:..:..:..:..\).*/\1/p'`
- token_bssid=`echo $1 | sed -ne 's/\(.*\):\(..:..:..:..:..:..\).*/\2/p'`
- if [ -n "$token_ssid" ] ; then
- DesiredSSID="$token_ssid"
- DesiredBSSID="$token_bssid"
- fi
-
- fi
-
- if [ -f "/etc/wlan/wlancfg-$DesiredSSID:$DesiredBSSID" ] ; then
- . "/etc/wlan/wlancfg-$DesiredSSID:$DesiredBSSID"
- elif [ -f "/etc/wlan/wlancfg-$DesiredSSID" ] ; then
- . "/etc/wlan/wlancfg-$DesiredSSID"
- else
-
- if [ -n "$1" ] ; then
- ${ECHO} "Failed to open network config file /etc/wlan/wlancfg-$1, using default."
- fi
-
- . "/etc/wlan/wlancfg-DEFAULT"
- fi
-}
-
-wlan_disable ()
-{
- # $1 == wlandev
-
- $WLANCTL $1 lnxreq_ifstate ifstate=disable
-}
-
-wlan_ssid_in_list ()
-{
- # $1 == wlandev, $2 == ssid, $3 == bssid
-
- eval 'GOSSID="$SSID_'$1'"'
-
- # This "eval" hackery is to allow escapes in GOSSID...
- cmd="for token in $GOSSID ; do
- ssid_token=\`echo \"\$token\" | sed -ne 's/\(.*\)\(:..:..:..:..:..:..\).*/\1/p'\`
- bssid_token=\`echo \"\$token\" | sed -ne 's/\(.*\):\(..:..:..:..:..:..\).*/\2/p'\`
-
- if [ -z \"\$ssid_token\" ] ; then
- ssid_token="\$token"
- fi
-
- if [ -n \"\$bssid_token\" ] ; then
- if [ \"\$bssid_token\" = \"\$3\" ] ; then
- return 0
- fi
- elif [ \"\$2\" = \"\$ssid_token\" ] ; then
- return 0
- fi
- done"
- eval "$cmd"
-
- return 1
-}
-
-wlan_supports_scan ()
-{
- # $1 == wlandev
-
- if is_true "$WLAN_SCAN" ; then
- cat /proc/net/p80211/$1/wlandev | grep 'scan' > /dev/null
- if [ $? = 0 ] ; then
- return 0
- fi
- fi
- return 1
-}
-
-wlan_scan ()
-{
- # $1 == wlandev
-
- # find our allowed SSID list.
-
- # XXX what about stray singlequotes.
- eval 'GOSSID="$SSID_'$1'"'
-
- # kick off a quick scan with the broadcast SSID.
- wlan_scan_one $1 '' '' n
- if [ $? = 0 -a \
- "$GOSSID" = "" ] ; then
- # if successful and our ssid list is null, return.
- sleep 1
- return 0
- fi
-
- # otherwise we walk through the list, and scan for eacn in turn.
- # this "eval" hackery is to allow escapes in GOSSID
- cmd="for token in $GOSSID ; do
- ssid_token=\`echo \"\$token\" | sed -ne 's/\(.*\)\(:..:..:..:..:..:..\).*/\1/p'\`
- bssid_token=\`echo \"\$token\" | sed -ne 's/\(.*\):\(..:..:..:..:..:..\).*/\2/p'\`
-
- if [ -z \"\$ssid_token\" ] ; then
- ssid_token=\"\$token\"
- fi
-
- wlan_scan_one \$1 \"\$ssid_token\" \"\$bssid_token\"
- if [ \$? = 0 ] ; then
- sleep 1
- return 0
- fi
- done"
- eval "$cmd"
-
- # We got to the end of the list. Maybe try "any"
- if is_true "$WLAN_ANY" ; then
- wlan_scan_one $1
- sleep 1
- return $?
- fi
-
- sleep 1
- return 1
-}
-
-
-wlan_scan_one ()
-{
- # $1 == wlandev, [ $2 == ssid, $3 == bssid, $4 == append ]
-
- if [ -z "$4" ] ; then
- append=true
- else
- append=false
- fi
-
- numbss=0
-
- result=`$WLANCTL $1 dot11req_scan bsstype=any bssid=ff:ff:ff:ff:ff:ff \
- scantype=active probedelay=0 channellist=$ChannelList ssid="$2" \
- minchanneltime=$ChannelMinTime maxchanneltime=$ChannelMaxTime append=$append`
- eval $result
- if [ $resultcode != 'success' ] ; then
- ${ECHO} "Scan failed ($resultcode) "
- return 1
- fi
-
- ## XXX if numbss == 0, repeat with $2 $3 $4?
-
- i=0
- bssfound=""
-
- # walk through the results and do first-cut matching.
- while [ $i -lt $numbss ] ; do
- result=`$WLANCTL $1 dot11req_scan_results bssindex=$i`
- eval $result
-
- if [ -n "$3" ] ; then
- if [ "$3" = "$bssid" ] ; then
- bssfound="$bssfound $i"
- fi
- elif [ -z "$2" ] ; then
- # if our ssid is "", then we pick the first entry.
- bssfound="$bssfound $i"
- elif [ "$2" = "$ssid" ] ; then
- bssfound="$bssfound $i"
- fi
- i=`expr $i + 1`
- done
-
- if [ -z "$bssfound" ]; then # No BSSs found, bail.
- return 1
- else
- # Now find the closest
- bigsignal=0
- for i in $bssfound ; do
- result=`$WLANCTL $1 dot11req_scan_results bssindex=$i`
- eval $result
- if [ $bigsignal -lt $signal ]; then
- bigsignal=$signal
- bigbssindex=$i
- fi
- done
- result=`$WLANCTL $1 dot11req_scan_results bssindex=$bigbssindex`
- eval $result
- return 0
- fi
-}
-
-wlan_wep ()
-{
- # $1 == wlandev
-
- #=======WEP===========================================
- # Setup privacy
- if [ ${dot11PrivacyInvoked:-"false"} = "false" ] ; then
- return 0;
- fi
-
- result=`$WLANCTL $1 dot11req_mibget mibattribute=dot11PrivacyOptionImplemented`
- if [ $? = 0 ] ; then
- eval $result
- eval $mibattribute
- else
- ${ECHO} "dot11PrivacyOptionImplemented mibget failed."
- return 1
- fi
-
- if [ $dot11PrivacyOptionImplemented = "false" ] ; then
- ${ECHO} "Cannot enable privacy, dot11PrivacyOptionImplemented=false."
- return 1
- fi
-
- # Do we want host-based WEP?
- result=`$WLANCTL $1 lnxreq_hostwep \
- decrypt="${lnxreq_hostWEPDecrypt:-false}" \
- encrypt="${lnxreq_hostWEPEncrypt:-false}"`
-
- # set up the rest of the parametsrs.
- if [ $dot11PrivacyOptionImplemented = "true" -a \
- $dot11PrivacyInvoked = "true" ] ; then
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKeyID=$dot11WEPDefaultKeyID `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11ExcludeUnencrypted=$dot11ExcludeUnencrypted `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11PrivacyInvoked=$dot11PrivacyInvoked`
- if [ "${PRIV_GENSTR:-empty}" != "empty" ] ; then
- if [ ${PRIV_KEY128:-"false"} = "false" ]; then
- keys=`$PRIV_GENERATOR "$PRIV_GENSTR" 5`
- else
- keys=`$PRIV_GENERATOR "$PRIV_GENSTR" 13`
- fi
- knum=0
- for i in $keys ; do
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKey$knum=$i`
- knum=`expr $knum + 1`
- done
- else
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKey0=$dot11WEPDefaultKey0 `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKey1=$dot11WEPDefaultKey1 `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKey2=$dot11WEPDefaultKey2 `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11WEPDefaultKey3=$dot11WEPDefaultKey3 `
- fi
- else
- # disable wep explicitly.
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11PrivacyInvoked=$dot11PrivacyInvoked `
- result=`$WLANCTL $1 dot11req_mibset \
- mibattribute=dot11ExcludeUnencrypted=false `
- fi
-}
-
-wlan_adhoc ()
-{
- # $1 == wlandev
-
- #=======IBSS STARTUP==================================
- startcmd="$WLANCTL $1 dot11req_start "
- startcmd="$startcmd ssid=$DesiredSSID"
- startcmd="$startcmd bsstype=independent"
- startcmd="$startcmd beaconperiod=$BCNINT"
- startcmd="$startcmd dtimperiod=3"
- startcmd="$startcmd cfpollable=false"
- startcmd="$startcmd cfpollreq=false"
- startcmd="$startcmd cfpperiod=3"
- startcmd="$startcmd cfpmaxduration=100"
- startcmd="$startcmd probedelay=100"
- startcmd="$startcmd dschannel=$CHANNEL"
- j=1
- for i in $BASICRATES ; do
- startcmd="$startcmd basicrate$j=$i"
- j=`expr $j + 1`
- done
-
- j=1
- for i in $OPRATES ; do
- startcmd="$startcmd operationalrate$j=$i"
- j=`expr $j + 1`
- done
-
- results=`$startcmd` # Here's where it runs
- if [ $? = 0 ]; then
- eval $results
- if [ $resultcode != "success" ] ; then
- ${ECHO} "IBSS not started, resultcode=$resultcode"
- exit 1
- else
- ${ECHO} "IBSS mode started."
- fi
- else
- ${ECHO} FAILED: $startcmd
- return 1
- fi
- WLAN_SCHEMESSID="$DesiredSSID"
-}
-
-wlan_infra ()
-{
- # $1 == wlandev
-
- #==== INFRASTRUCURE STARTUP===========================
- # XXX TODO: Grok DesiredBSSID
-
- sleep 5
- results=`$WLANCTL $1 lnxreq_autojoin \
- "ssid=$DesiredSSID" \
- authtype=${AuthType:="opensystem"} | sed 's/\([^=]*\)=\(.*\)/\1="\2"/'`
- eval $results
- if [ ${resultcode:-"failure"} != "success" ] ; then
- ${ECHO} 'error: Autojoin indicated failure!'
- return 1;
- fi
-
- WLAN_SCHEMESSID="$DesiredSSID"
-}
-
-wlan_dot11_join ()
-{
- # $1 == wlandev
-
- joincmd="$WLANCTL $1 dot11req_join bssid=$DesiredBSSID"
- joincmd="$joincmd joinfailuretimeout=1"
-
- j=1
- for i in $OPRATES ; do
- joincmd="$joincmd operationalrate$j=$i"
- j=`expr $j + 1`
- done
-
- results=`$joincmd`
-
- eval $results
- if [ ${resultcode:-"failure"} != "success" ] ; then
- ${ECHO} "$1: JOIN Failure"
- ${ECHO} "joincmd=$joincmd"
- ${ECHO} "results=$results"
- return 1;
- fi
-}
-
-wlan_dot11_auth_assoc ()
-{
- # $1 == wlandev
- if [ $bsstype = "infrastructure" ] ; then
- results=`$WLANCTL $1 dot11req_authenticate \
- peerstaaddress=$DesiredBSSID \
- authenticationtype=$AuthType \
- authenticationfailuretimeout=2000`
- eval $results
- if [ ${resultcode:-"failure"} != "success" ] ; then
- ${ECHO} "error: dot11req_authenticate failed, "\
- "resultcode=$resultcode"
- return 1;
- fi
- results=`$WLANCTL $1 dot11req_associate \
- listeninterval=1000 \
- associatefailuretimeout=2000 `
- if [ ${resultcode:-"failure"} != "success" ] ; then
- ${ECHO} 'error: dot11req_associate failed!'
- return 1;
- fi
- fi
-}
-
-wlan_set_ssid_schemefile ()
-{
- # $1 == SSID
-
- # Find the scheme file
- if [ -r /var/lib/misc/pcmcia-scheme ] ; then
- # Debian
- WLAN_SCHEMEFILE="/var/lib/misc/pcmcia-scheme"
- elif [ -d /var/state/pcmcia ] ; then
- WLAN_SCHEMEFILE="/var/state/pcmcia/scheme"
- elif [ -d /var/lib/pcmcia ] ; then
- WLAN_SCHEMEFILE="/var/lib/pcmcia/scheme"
- else
- WLAN_SCHEMEFILE="/var/run/pcmcia-scheme"
- fi
-
- # Collect the current scheme name and save the file
- if [ -r $WLAN_SCHEMEFILE ] ; then
- WLAN_SCHEME=`cat $WLAN_SCHEMEFILE`
- cp $WLAN_SCHEMEFILE /var/run/wlan_scheme_`date +"%T"`.tmp
- else
- touch /var/run/wlan_scheme_`date +"%T"`.tmp
-
- fi
-
- # Set up the <scheme:SSID> string
- if [ ! "$WLAN_SCHEME" ] ; then
- WLAN_SCHEME="default"
- fi
- WLAN_SCHEME="$WLAN_SCHEME:$1"
-
- # Write to schemefile
- echo $WLAN_SCHEME > $WLAN_SCHEMEFILE
-}
-
-wlan_restore_schemefile ()
-{
- # Find the scheme file
- if [ -r /var/lib/misc/pcmcia-scheme ] ; then
- # Debian
- WLAN_SCHEMEFILE="/var/lib/misc/pcmcia-scheme"
- elif [ -d /var/state/pcmcia ] ; then
- WLAN_SCHEMEFILE="/var/state/pcmcia/scheme"
- elif [ -d /var/lib/pcmcia ] ; then
- WLAN_SCHEMEFILE="/var/lib/pcmcia/scheme"
- else
- WLAN_SCHEMEFILE="/var/run/pcmcia-scheme"
- fi
-
- TMPFILE=`ls /var/run/wlan_scheme*.tmp | tail -n 1`
-
- if [ -r $TMPFILE ] ; then
- cat $TMPFILE > $WLAN_SCHEMEFILE
- rm -f $TMPFILE
- else
- ${ECHO} "wlan_restore_schemefile: No wlan_scheme\*.tmp file found."
- fi
-}
-
-wlan_bring_it_up ()
-{
- # $1 == wlandev
- # $2 == non-null if wext enabled.
-
- #=======ENABLE========================================
- # Do we want to init the card at all?
- eval 'WLAN_ENABLE=$ENABLE_'$1
-
- if ! is_true $WLAN_ENABLE ; then
- return 1
- fi
-
- if wlan_enable $1 ; then
- if [ -z "$2" ] ; then
- wlan_scan_and_join $1
- return $?
- else
- ${ECHO} "Bypassing configuration due to wireless extensions"
- fi
- else
- return 1;
- fi
-
- return 1
-}
-
-wlan_scan_and_join ()
-{
- #=======MAC STARTUP=========================================
- wlan_supports_scan $1
- if [ $? = 0 ] ; then
- wlan_scan $1
- if [ $? = 0 ] ; then
- wlan_source_config_for_ssid "$ssid" "$bssid"
-
- wlan_user_mibs $1
- wlan_wep $1
-
- wlan_join $1
- else
- if is_true $IS_ADHOC ; then
- # start an IBSS; we didn't find one.
- wlan_adhoc $1
- else
- return 1
- fi
- fi
- else
- wlan_source_config $1
-
- wlan_user_mibs $1
- wlan_wep $1
-
- if is_true $IS_ADHOC ; then
- wlan_adhoc $1
- else
- wlan_infra $1
- fi
- fi
-
- return $?
-}
-
-wlan_join ()
-{
- # $1 == wlandev
- grep 'autojoin' /proc/net/p80211/$1/wlandev > /dev/null
- if [ $? = 0 ]; then
- wlan_infra $1
- else
- wlan_dot11_join $1
- wlan_dot11_auth_assoc $1
- fi
-}
-
-tmpname ()
-{
- # $1 == prefix
- local i=0
- local tname=$TMPDIR/${1}_$$
- if [ -f ${tname}.tmp ] ; then
- for i in 0 1 2 3 4 5 6 7 8 9 ; do
- if [ ! -f ${tname}_${i}.tmp ] ; then
- echo ${tname}_${i}.tmp
- return 0
- fi
- done
- else
- echo ${tname}.tmp
- fi
- return 0
-}
-
-source_procfile ()
-{
- # $1 == procfile to source
- local fname=`tmpname wlan_procfile`
- cat "$1" > $fname
- . $fname
- rm -f $fname
-}
-
-# This is set by the Configure script as part of 'make install'
-#FIRMWARE_DIR="/usr/share/linux-wlan"