#! /bin/sh
prefix="@prefix@"
exec_prefix="@exec_prefix@"
bindir="@bindir@"
usage() {
echo "Usage: radtest [OPTIONS] user passwd radius-server[:port] nas-port-number secret [ppphint] [nasname]" >&2
echo " -d RADIUS_DIR Set radius directory" >&2
echo " -t <type> Set authentication method" >&2
echo " type can be pap, chap, mschap, or eap-md5" >&2
echo " -x Enable debug output" >&2
exit 1
}
radclient=$bindir/radclient
if [ ! -x "$radclient" ] && [ -x ./radclient ]
then
radclient=./radclient
fi
radeapclient=$bindir/radeapclient
OPTIONS=
PASSWORD="User-Password"
if [ $then
usage
fi
while [ `echo "$1" | cut -c 1` = "-" ]
do
case "$1" in
-d)
OPTIONS="$OPTIONS -d $2"
shift;shift
;;
-x)
OPTIONS="$OPTIONS -x"
shift
;;
-t)
shift;
case "$1" in
pap)
PASSWORD="User-Password"
;;
chap)
PASSWORD="CHAP-Password"
;;
mschap)
PASSWORD="MS-CHAP-Password"
;;
eap-md5)
PASSWORD="User-Password"
if [ ! -x "$radeapclient" ]
then
echo "radtest: No 'radeapclient' program was found. Cannot perform EAP-MD5." >&1
exit 1
fi
radclient="$radeapclient"
;;
*)
usage
;;
esac
shift
;;
*)
usage
;;
esac
done
if [ $then
usage
fi
if [ "$7" ]
then
nas=$7
else
nas=`hostname`
fi
(
echo "User-Name = \"$1\""
echo "$PASSWORD = \"$2\""
echo "NAS-IP-Address = $nas"
echo "NAS-Port = $4"
if [ "$radclient" = "$radeapclient" ]
then
echo "EAP-Code = Response"
echo "EAP-Type-Identity = \"$1\""
echo "Message-Authenticator = 0x00"
fi
if [ "$6" ]
then
echo "Framed-Protocol = PPP"
fi
) | $radclient $OPTIONS -x $3 auth $5
exit $?