From ab5559aaabd1167a18ac882e64d97c5adc0e7d03 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 11 Jun 2001 11:44:34 +0000 Subject: Initial revision --- mdk-stage1/ppp/scripts/secure-card | 111 +++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 mdk-stage1/ppp/scripts/secure-card (limited to 'mdk-stage1/ppp/scripts/secure-card') diff --git a/mdk-stage1/ppp/scripts/secure-card b/mdk-stage1/ppp/scripts/secure-card new file mode 100644 index 000000000..a32138b7d --- /dev/null +++ b/mdk-stage1/ppp/scripts/secure-card @@ -0,0 +1,111 @@ +#!/usr/local/bin/expect -f +# +# This script was written by Jim Isaacson . It is +# designed to work as a script to use the SecureCARD(tm) device. This +# little device is mated with a central controller. The number displayed +# on this card changes every so often and you need to enter the number +# along with your user account name in order to gain access. Since chat +# is based upon fixed strings this procedure will not work with chat. +# +# It is included by permission. An excellent reference for the expect +# program used by this script is in the book: +# +# "Exploring Expect" +# by Don Libes +# Published by O'Rielly and Associates +# + +send_user "hello, starting ppp\n" + +system "stty 19200 -echoe -echo raw < /dev/cua3 > /dev/cua3" + +# +# These are the parameters for the program. +# +set user Pxxxxxx +set password xxxxxxx +set modem /dev/cua3 +set dialup +set timeout 60 + +spawn -noecho -open [open $modem "r+"] + +send "AT&F\r" +expect "OK" + +send "ATe0v1x4&c1q0&d2&c1s2=128s0=0DT $dialup\r" +set timeout 15 +set counter 0 + +set still_connecting 1 + +expect { + -re ".*CONNECT.*\n" { + set timeout 5 + set still_connecting 0 + continue -expect + } + -re ".*CONNECT.*\r" { + set timeout 5 + set still_connecting 0 + continue -expect + } + -re ".*NO.*CARRIER" { + send_user "Failed to Connect, exiting...\n" + exit + } + -re ".*NO.*DIAL.*TONE" { + send_user "Failed to Connect, exiting...\n" + exit + } + -re ".*VOICE" { + send_user "Failed to Connect, exiting...\n" + exit + } + -re ".*sscode:.*\n" { + continue -expect + } + -re ".*sscode:" { + set timeout -1 + expect_user -re "(.*)\n" + send "$expect_out(1,string)\r" + set timeout 30 + continue -expect + } + -re ".*Next.*:" { + set timeout -1 + expect_user -re "(.*)\n" + send "$expect_out(1,string)\r" + set timeout 30 + continue -expect + } + -re "Your.*" { + send "\r" + continue -expect + } + -re ".*in:" { + send "$user\r" + continue -expect + } + -re ".*word:" { + send "$password\r" + } + + timeout { + if { $still_connecting > 0 } { + continue -expect + } + set timeout 15 + send "\r" + incr counter + if { $counter > 8 } { + send_user "Cannot Connect\n" + exit + } else { + continue -expect + } + } +} + +overlay -0 $spawn_id -1 $spawn_id pppd /dev/cua3 19200 192.111.187.215: \ + crtscts modem defaultroute debug -- cgit v1.2.1