3 DIR="$( cd "$( dirname "$0" )" && pwd )"
4 WPAS=$DIR/../../wpa_supplicant/wpa_supplicant
5 WPACLI=$DIR/../../wpa_supplicant/wpa_cli
6 HAPD=$DIR/../../hostapd/hostapd
7 HAPD_AS=$DIR/../../hostapd/hostapd
8 HAPDCLI=$DIR/../../hostapd/hostapd_cli
9 WLANTEST=$DIR/../../wlantest/wlantest
10 HLR_AUC_GW=$DIR/../../hostapd/hlr_auc_gw
13 if [ -z "$LOGDIR" ] ; then
14 LOGDIR="$DIR/logs/$DATE"
17 if [ -e $LOGDIR/alt-wpa_supplicant/wpa_supplicant/wpa_supplicant ]; then
18 WPAS=$LOGDIR/alt-wpa_supplicant/wpa_supplicant/wpa_supplicant
19 WPACLI=$LOGDIR/alt-wpa_supplicant/wpa_supplicant/wpa_cli
21 $WPAS > /dev/null 2>&1
22 $WPAS -efoo -Ifoo -mfoo -ofoo -Ofoo -pfoo -Pfoo -h > /dev/null 2>&1
23 $WPAS -bfoo -B -Cfoo -q -W -N -L > /dev/null 2>&1
24 $WPAS -T -v > /dev/null 2>&1
25 $WPAS -u -z > /dev/null 2>&1
27 if [ -e $LOGDIR/alt-hostapd/hostapd/hostapd ]; then
28 HAPD=$LOGDIR/alt-hostapd/hostapd/hostapd
29 HAPDCLI=$LOGDIR/alt-hostapd/hostapd/hostapd_cli
31 $HAPD > /dev/null 2>&1
32 $HAPD -v > /dev/null 2>&1
33 $HAPD -B -efoo -Pfoo -T -bfoo -h > /dev/null 2>&1
34 $HAPD -ufoo > /dev/null 2>&1
35 $HAPD -u00:11:22:33:44:55 > /dev/null 2>&1
36 $HAPD -gfoo > /dev/null 2>&1
37 $HAPD -Gfoo-not-exists > /dev/null 2>&1
38 $HAPD -z > /dev/null 2>&1
40 if [ -e $LOGDIR/alt-hostapd-as/hostapd/hostapd ]; then
41 HAPD_AS=$LOGDIR/alt-hostapd-as/hostapd/hostapd
43 if [ -e $LOGDIR/alt-hlr_auc_gw/hostapd/hlr_auc_gw ]; then
44 HLR_AUC_GW=$LOGDIR/alt-hlr_auc_gw/hostapd/hlr_auc_gw
46 $HLR_AUC_GW > /dev/null 2>&1
47 $HLR_AUC_GW -Dfoo -i7 -sfoo -h > /dev/null 2>&1
48 $HLR_AUC_GW -i100 > /dev/null 2>&1
49 $HLR_AUC_GW -z > /dev/null 2>&1
53 if test -w "$DIR/logs" ; then
54 rm -rf $DIR/logs/current
55 ln -sf $DATE $DIR/logs/current
58 if groups | tr ' ' "\n" | grep -q ^admin$; then
65 sed "s/ GROUP=.*$/ GROUP=$GROUP/" "$DIR/p2p$i.conf" > "$LOGDIR/p2p$i.conf"
68 sed "s/group=admin/group=$GROUP/;s%LOGDIR%$LOGDIR%g" "$DIR/auth_serv/as.conf" > "$LOGDIR/as.conf"
69 sed "s/group=admin/group=$GROUP/;s%LOGDIR%$LOGDIR%g" "$DIR/auth_serv/as2.conf" > "$LOGDIR/as2.conf"
71 if [ "$1" = "valgrind" ]; then
73 VALGRIND_WPAS="valgrind --log-file=$LOGDIR/valgrind-wlan%d"
74 VALGRIND_HAPD="valgrind --log-file=$LOGDIR/valgrind-hostapd"
77 chmod -f a+rx $HAPD_AS
78 HAPD_AS="valgrind --log-file=$LOGDIR/valgrind-auth-serv $HAPD_AS"
86 if [ "$1" = "trace" ]; then
96 if [ x${TMP%=[0-9]*} = "xchannels" ]; then
97 NUM_CH=${TMP#channels=}
103 test -f /proc/modules && sudo modprobe mac80211_hwsim radios=7 channels=$NUM_CH support_p2p_device=0
105 sudo ifconfig hwsim0 up
106 sudo $WLANTEST -i hwsim0 -n $LOGDIR/hwsim0.pcapng -c -dt -L $LOGDIR/hwsim0 &
109 if [ $i = "0" -a -r /var/run/dbus/pid -a -r /var/run/dbus/hwsim-test ]; then
110 if $WPAS | grep -q -- -u; then
114 sudo $(printf -- "$VALGRIND_WPAS" $i) $WPAS -g /tmp/wpas-wlan$i -G$GROUP -Dnl80211 -iwlan$i -c $LOGDIR/p2p$i.conf \
115 -ddKt$TRACE -f $LOGDIR/log$i $DBUSARG &
117 sudo $(printf -- "$VALGRIND_WPAS" 5) $WPAS -g /tmp/wpas-wlan5 -G$GROUP \
118 -ddKt$TRACE -f $LOGDIR/log5 &
119 sudo $VALGRIND_HAPD $HAPD -ddKt$TRACE -g /var/run/hostapd-global -G $GROUP -f $LOGDIR/hostapd &
121 if [ -x $HLR_AUC_GW ]; then
122 cp $DIR/auth_serv/hlr_auc_gw.milenage_db $LOGDIR/hlr_auc_gw.milenage_db
123 sudo $HLR_AUC_GW -u -m $LOGDIR/hlr_auc_gw.milenage_db -g $DIR/auth_serv/hlr_auc_gw.gsm > $LOGDIR/hlr_auc_gw &
126 openssl ocsp -index $DIR/auth_serv/index.txt \
127 -rsigner $DIR/auth_serv/ocsp-responder.pem \
128 -rkey $DIR/auth_serv/ocsp-responder.key \
129 -CA $DIR/auth_serv/ca.pem \
130 -issuer $DIR/auth_serv/ca.pem \
131 -verify_other $DIR/auth_serv/ca.pem -trust_other \
133 -reqin $DIR/auth_serv/ocsp-req.der \
134 -respout $LOGDIR/ocsp-server-cache.der > $LOGDIR/ocsp.log 2>&1
135 if [ ! -r $LOGDIR/ocsp-server-cache.der ]; then
136 cp $DIR/auth_serv/ocsp-server-cache.der $LOGDIR/ocsp-server-cache.der
139 for i in unknown revoked; do
140 openssl ocsp -index $DIR/auth_serv/index-$i.txt \
141 -rsigner $DIR/auth_serv/ocsp-responder.pem \
142 -rkey $DIR/auth_serv/ocsp-responder.key \
143 -CA $DIR/auth_serv/ca.pem \
144 -issuer $DIR/auth_serv/ca.pem \
145 -verify_other $DIR/auth_serv/ca.pem -trust_other \
147 -reqin $DIR/auth_serv/ocsp-req.der \
148 -respout $LOGDIR/ocsp-server-cache-$i.der >> $LOGDIR/ocsp.log 2>&1
150 touch $LOGDIR/hostapd.db
151 sudo $HAPD_AS -ddKt $LOGDIR/as.conf $LOGDIR/as2.conf > $LOGDIR/auth_serv &
153 # wait for programs to be fully initialized
154 for i in 0 1 2 3 4 5 6 7 8 9; do
155 if [ -e /tmp/wpas-wlan0 ]; then
161 for j in `seq 1 10`; do
162 if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then
165 if [ $j = "10" ]; then
166 echo "Could not connect to /tmp/wpas-wlan$i"
173 for j in `seq 1 10`; do
174 if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then
177 if [ $j = "10" ]; then
178 echo "Could not connect to /var/run/hostapd-global"
184 for j in `seq 1 10`; do
185 if $HAPDCLI -i as ping | grep -q PONG; then
188 if [ $j = "10" ]; then
189 echo "Could not connect to hostapd-as-RADIUS-server"
195 if [ $USER = "0" -o $USER = "root" ]; then
200 sudo chown -f $USER $LOGDIR/hwsim0.pcapng $LOGDIR/hwsim0 $LOGDIR/log* $LOGDIR/hostapd
201 if [ "x$VALGRIND" = "xy" ]; then
202 sudo chown -f $USER $LOGDIR/*valgrind*