138 lines
3.1 KiB
Plaintext
138 lines
3.1 KiB
Plaintext
|
#!xchat
|
||
|
# @(#) login.LAT V1.2 Tue Sep 1 13:25:28 1992
|
||
|
#
|
||
|
# xchat script for logging into a VMS system through a LAT
|
||
|
# terminal server port. If no VMS password parameter supplied,
|
||
|
# skips password phase of VMS login. If LAT-password supplied,
|
||
|
# will log into LAT server using that password. NOTE: does not
|
||
|
# handle the situation where a LAT password is needed but no
|
||
|
# VMS password is needed.
|
||
|
#
|
||
|
# Usage:
|
||
|
# xchat login.LAT sysname username [ password [ LAT-password ] ]
|
||
|
#
|
||
|
# History:
|
||
|
# rbd Fri Aug 14 13:37:06 1992
|
||
|
# Changes for Lantronix ETS-16. It says "type help at the Local>
|
||
|
# prompt..." then it gives the prompt for real! Prompt may need
|
||
|
# to be something other than "Local>". We match the real Local>
|
||
|
# prompt by matching the leading newline!
|
||
|
#
|
||
|
# rbd Tue Sep 1 13:04:32 1992
|
||
|
# Remove absolute path name from log file. Now defaults per config.
|
||
|
#
|
||
|
start:
|
||
|
dbgfile Login.Log
|
||
|
dbgset 15
|
||
|
sleep 2000 # Wait 2 seconds
|
||
|
flush # Flush typeahead
|
||
|
ifnstr svrstart 3 # Skip server password if not given
|
||
|
#
|
||
|
# Starting point if server password supplied. Handle situation
|
||
|
# where the server line may have been left waiting for username
|
||
|
# or at local> prompt.
|
||
|
#
|
||
|
getsvrpwp:
|
||
|
zero
|
||
|
l0:
|
||
|
count # Get server's password prompt
|
||
|
ifgtr deadmux 5 # die if 5 cr's don't do it
|
||
|
send \r
|
||
|
timeout l0 1000 # Wait and try again
|
||
|
expect dosvrpw ssword>
|
||
|
expect svrlogin ername>
|
||
|
expect connect \nLocal>
|
||
|
#
|
||
|
# Send server's password. Fail if don't get Username
|
||
|
# or Local> prompt.
|
||
|
#
|
||
|
dosvrpw:
|
||
|
zero
|
||
|
l2:
|
||
|
sendstr 3
|
||
|
send \r
|
||
|
timeout badsvrpw 5000 # Die if invalid
|
||
|
expect svrlogin ername>
|
||
|
expect connect \nLocal>
|
||
|
#
|
||
|
# Starting point if NO server password supplied. Handle situation
|
||
|
# where the server line may have been left at local> prompt.
|
||
|
#
|
||
|
svrstart:
|
||
|
zero
|
||
|
l1:
|
||
|
count # Get username> or local> prompt
|
||
|
ifgtr deadmux 5 # Die if 5 cr's don't do it
|
||
|
send \r
|
||
|
timeout l1 1000 # Wait and try again
|
||
|
expect svrlogin ername>
|
||
|
expect connect \nLocal>
|
||
|
#
|
||
|
# Server asked for a username. Just give 'uucp'.
|
||
|
#
|
||
|
svrlogin:
|
||
|
send uucp\r
|
||
|
timeout deadmux 2000
|
||
|
expect connect \nLocal>
|
||
|
#
|
||
|
# At this point, we have the Local> prompt. Send the connect
|
||
|
# command for the specified LAT host service name, and wait for
|
||
|
# VMS "Username:" prompt. Die after 10 seconds.
|
||
|
#
|
||
|
connect:
|
||
|
send c\s
|
||
|
sendstr 0
|
||
|
send \r
|
||
|
timeout nologin 10000
|
||
|
expect gotlogin ername:
|
||
|
#
|
||
|
# Got VMS "Username:" prompt. Send the username. If a password
|
||
|
# was given, wait for the "Password:" prompt. Die after 10 seconds.
|
||
|
# if no password was given, we're done!
|
||
|
#
|
||
|
gotlogin:
|
||
|
sendstr 1
|
||
|
send \r
|
||
|
ifnstr done 2
|
||
|
timeout nopasswd 10000
|
||
|
expect gotpasswd ssword:
|
||
|
#
|
||
|
# Got VMS "Password:" prompt. Send the password and we're done!
|
||
|
#
|
||
|
gotpasswd:
|
||
|
sendstr 2
|
||
|
send \r
|
||
|
#
|
||
|
# Success!
|
||
|
#
|
||
|
done:
|
||
|
success
|
||
|
#
|
||
|
# ERROR HANDLERS
|
||
|
#
|
||
|
#
|
||
|
# LAT server appears dead. Fail.
|
||
|
#
|
||
|
deadmux:
|
||
|
logerr No response from LAT server
|
||
|
failed
|
||
|
#
|
||
|
# The server password was bad. Fail.
|
||
|
#
|
||
|
badsvrpw:
|
||
|
logerr Invalid LAT server password
|
||
|
failed
|
||
|
#
|
||
|
# VMS system appears to be dead. Fail.
|
||
|
#
|
||
|
nologin:
|
||
|
logerr No VMS Username: prompt
|
||
|
failed
|
||
|
#
|
||
|
# Failed to get "Password:" prompt. Fail.
|
||
|
#
|
||
|
nopasswd:
|
||
|
logerr No VMS Password: prompt. Invalid password?
|
||
|
failed
|
||
|
|