123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #!/usr/local/bin/expect -f
- #
- # This script was written by Jim Isaacson <jcisaac@crl.com>. 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/ttyS3 > /dev/ttyS3"
- #
- # These are the parameters for the program.
- #
- set user Pxxxxxx
- set password xxxxxxx
- set modem /dev/ttyS3
- set dialup <put phone number here>
- 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/ttyS3 19200 192.111.187.215: \
- crtscts modem defaultroute debug
|