#!/bin/bash
IFACE=$1
ADDR=$2
shift 2
if ! iwconfig $IFACE > /dev/null 2>&1
then
	IS_LAN=true
fi

for prop in "$@"
do
	PROP_NAME=`echo $prop|cut -d'=' -f1`
	PROP_VALUE=`echo $prop|cut -d'=' -f2`
	if [ 'DNSServers' = $PROP_NAME ]
	then
		cat /etc/resolv.conf |sed 's/nameserver .*/nameserver '$PROP_VALUE'/'|tee /etc/resolv.conf > /dev/null
	elif [ 'Hostname' = $PROP_NAME ]
	then
		/bin/hostname $PROP_VALUE
	elif [ 'IP' = $PROP_NAME ]
	then
		/sbin/ifconfig $IFACE $PROP_VALUE
	elif [ 'SubnetMask' = $PROP_NAME ]
	then
		/sbin/ifconfig $IFACE $ADDR netmask $PROP_VALUE
	elif [ 'Gateway' = $PROP_NAME ]
	then
		/sbin/route add default gw $PROP_VALUE
	elif [ 'MACaddress' = $PROP_NAME ]
	then
		/sbin/ifconfig $IFACE down
		/sbin/ifconfig $IFACE hw ether $PROP_VALUE up
	elif [ -n $IS_LAN ]
	then
		continue
	elif [ 'Mode' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE mode $PROP_VALUE
	elif [ 'ESSID' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE essid $PROP_VALUE
	elif [ 'BSSID' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE ap $PROP_VALUE
	elif [ 'encryption' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE encryption $PROP_VALUE
	elif [ 'enc' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE enc $PROP_VALUE
	elif [ 'freq' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE freq $PROP_VALUE
	elif [ 'channel' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE channel $PROP_VALUE
	elif [ 'nick' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE nick $PROP_VALUE
	elif [ 'rate' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE rate $PROP_VALUE
	elif [ 'rts' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE rts $PROP_VALUE
	elif [ 'frag' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE frag $PROP_VALUE
	elif [ 'power' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE power $PROP_VALUE
	elif [ 'Encryption key' = $PROP_NAME ]
	then
		/sbin/iwconfig $IFACE key $PROP_VALUE
	elif [ 'AuthMode' = $PROP_NAME ]
	then
		/sbin/iwpriv $IFACE set AuthMode=$PROP_VALUE
	elif [ 'EncrypType' = $PROP_NAME ]
	then
		/sbin/iwpriv $IFACE set EncrypType=$PROP_VALUE
	elif [ 'WPAPSK' = $PROP_NAME ]
	then
		/sbin/iwpriv $IFACE set WPAPSK=$PROP_VALUE
	fi
done