137 lines
2.6 KiB
Plaintext
137 lines
2.6 KiB
Plaintext
;
|
|
; This is a script file that demonstrates how
|
|
; to establish a PPP connection with a host
|
|
; that uses a menu system.
|
|
;
|
|
; A script file must have a 'main' procedure.
|
|
; All script execution starts with this 'main'
|
|
; procedure.
|
|
;
|
|
|
|
|
|
; Main entry point to script
|
|
;
|
|
proc main
|
|
|
|
; Change these variables to customize for your
|
|
; specific Internet service provider
|
|
|
|
integer nTries = 3
|
|
|
|
; This is the login prompt and timeout values
|
|
|
|
string szLogin = "username:"
|
|
integer nLoginTimeout = 3
|
|
|
|
; This is the password prompt and timeout values
|
|
|
|
string szPW = "password:"
|
|
integer nPWTimeout = 3
|
|
|
|
; This is the prompt once your password is verified
|
|
|
|
string szPrompt = "annex:"
|
|
|
|
; This is the command to send to establish the
|
|
; connection. This script assumes you only need
|
|
; to issue one command to continue. Feel free
|
|
; to add more commands if your provider requires
|
|
; it.
|
|
|
|
;
|
|
; This provider has a menu list like this:
|
|
;
|
|
; 1 : Our special GUI
|
|
; 2 : Establish slip connection
|
|
; 3 : Establish PPP connection
|
|
; 4 : Establish shell access
|
|
; 5 : Download our software
|
|
; 6 : Exit
|
|
;
|
|
; annex:
|
|
;
|
|
|
|
string szConnect = "3^M"
|
|
|
|
; Set this to FALSE if you don't want to get an IP
|
|
; address
|
|
|
|
boolean bUseSlip = FALSE
|
|
|
|
|
|
; -----------------------------------------------------
|
|
|
|
|
|
; Delay for 2 seconds first to make sure the
|
|
; host doesn't get confused when we send the
|
|
; two carriage-returns.
|
|
|
|
delay 2
|
|
transmit "^M^M"
|
|
|
|
; Attempt to login at most 'nTries' times
|
|
|
|
while 0 < nTries do
|
|
|
|
; Wait for the login prompt before entering
|
|
; the user ID, timeout after x seconds
|
|
|
|
waitfor szLogin then DoLogin
|
|
until nLoginTimeout
|
|
|
|
TryAgain:
|
|
transmit "^M" ; ping
|
|
nTries = nTries - 1
|
|
|
|
endwhile
|
|
|
|
goto BailOut
|
|
|
|
DoLogin:
|
|
; Enter user ID
|
|
|
|
transmit $USERID, raw
|
|
transmit "^M"
|
|
|
|
; Wait for the password prompt
|
|
|
|
waitfor szPW until nPWTimeout
|
|
if FALSE == $SUCCESS then
|
|
goto TryAgain
|
|
endif
|
|
|
|
; Send the password
|
|
|
|
transmit $PASSWORD, raw
|
|
transmit "^M"
|
|
|
|
; Wait for the prompt
|
|
|
|
waitfor szPrompt
|
|
|
|
transmit szConnect
|
|
|
|
if bUseSlip then
|
|
; An alternative to the following line is
|
|
;
|
|
; waitfor "Your address is "
|
|
; set ipaddr getip
|
|
;
|
|
; if we don't know the order of the IP addresses.
|
|
|
|
set ipaddr getip 2
|
|
endif
|
|
goto Done
|
|
|
|
BailOut:
|
|
; Something isn't responding. Halt the script
|
|
; and let the user handle it manually.
|
|
|
|
set screen keyboard on
|
|
halt
|
|
|
|
Done:
|
|
|
|
endproc
|
|
|