wht@tridom.uucp (Warren Tucker) (10/12/89)
---- Cut Here and unpack ---- #!/bin/sh # this is part 46 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # file models/f.ep continued # CurArch=46 if test ! -r s2_seq_.tmp then echo "Please unpack part 1 first!" exit 1; fi ( read Scheck if test "$Scheck" != $CurArch then echo "Please unpack part $Scheck next!" exit 1; else exit 0; fi ) < s2_seq_.tmp || exit 1 echo "x - Continuing file models/f.ep" sed 's/^X//' << 'SHAR_EOF' >> models/f.ep X#+------------------------------------------------------ X# f.eq - multi-color finger for remote system X#------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-30-1989-18:53-wht-creation X X mkvar $icolor; $icolor = %colors X mkvar $itimeout; $itimeout = 50 X send %argv(0) X lookfor '\n' 40 X $s0 = '' X whilei 1==1 X { X lgets $s00 $itimeout 5 '\n' X $itimeout = 20 X color cyan X ifi %instr($s0,'% ') >= 0 break X ifi %instr($s0,'Login') == 0 color gray X ifi %instr($s0,' i29 ') > 0 color red X ifi %instr($s0,' i13 ') > 0 color green X ifi %instr($s0,'cma') == 0 color yellow X echo $s0 X } X icolor $icolor X send '' X SHAR_EOF echo "File models/f.ep is complete" chmod 0644 models/f.ep || echo "restore of models/f.ep fails" echo "x - extracting models/file_test.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/file_test.ep && X# CHK=0xA2AF X#------------------------------------------------------------ X# ftst.ep - test ecu procedure file functions X#------------------------------------------------------------ X X ptrace off # turn off trace mode X fdel 'ftst.log' # kill any previous file X plog 'ftst.log' # turn on logging X X echo '' X echo 'ftst '+%date+' '+%time X echo '' X X ptrace on # turn on trace mode X X set $s10 = '/tmp/ftst.tmp' # temp file name X fdel $s10 # test proc trace warning X fopen -w 0 $s10 # open file 0 for write X set i0=%ftell(0) # should produce 0 X fputs 0 'abcdefghijk' # put a line in the file X set i0=%ftell(0) # should produce 12 X fclose 0 n # close the file X X fopen -r 0 $s10 # open again for reading X fgets 0 $s0 # should produce 'abcdefghijk' X fseek 0 0 # rewind to read again X fgets 0 $s0 # should produce 'abcdefghijk' X fgets 0 $s0 # should produce null string X set $i0=%fmode(0) # test file mode function X fclose 0 # close the file X X fchmod 'rw-rw-r-x' $s10 # set mode using string X set $i0=%fmode($s10) X X fchmod 0777 $s10 # set mode using constant X set $i0=%fmode($s10) X X ptrace off # show file attributes X echo '' X echo -n $s10+' has '+%itos(%fsize($s10),06d) X echo ' (0x'+%itos(%fsize($s10),x )+') bytes' X echo 'accessed '+%edate(%fatime($s10)) X echo 'modified '+%edate(%fmtime($s10)) X echo '' X ptrace on X X # demonstrate "is directory", "is character", X # "is regular file" functions X set i0=%isdir($s10),i1=%ischr($s10),i2=%isreg($s10) X X fdel $s10 # should say 'deleted' X ptrace off X plog off SHAR_EOF chmod 0644 models/file_test.ep || echo "restore of models/file_test.ep fails" echo "x - extracting models/frame_test.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/frame_test.ep && X# CHK=0xAB0B X X set $i0 = 10 XLABEL X ifi $i0 > 0 X { X set $i0,$i0=$i0-1 X ifi $i0 = 5 X { X echo 'nesting works!' X } X else ifi $i0 == 4 X { X echo 'else works!' X } X goto LABEL X } X X set $s0 = '' X whiles $s0 != 'aaaaa' X { X set $s0=$s0+'a' X ifs $s0 == 'aaaa' break X else echo '$s0=\''+$s0+'\'' X } X X echo 'done!' SHAR_EOF chmod 0644 models/frame_test.ep || echo "restore of models/frame_test.ep fails" echo "x - extracting models/goto_test.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/goto_test.ep && X# CHK=0x4C3F X# goto_test.ep X#+:EDITS: X#:06-07-1989-22:31-wht-creation X echo '... TRY1 goto test'; goto TRY1 X echo '... TRY1 goto failed' X return X XBACK1 echo '... gotob succeeded' X gotob COMP X XTRY1 echo '... TRY1 goto succeeded' X gotob BACK1 X XCOMP echo '... COMPuted goto test'; set $s0='COMP'+'UTED',$s0 X goto $s0 X echo '... COMP failed' X return X XCOMPUTED X echo '... computed goto worked' X echo '... test complete' X return X X# vi:set tabstop=8: SHAR_EOF chmod 0644 models/goto_test.ep || echo "restore of models/goto_test.ep fails" echo "x - extracting models/hub.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/hub.ep && X# CHK=0x5BDE X#--------------------------------------------- X# hub.ep X#--------------------------------------------- X#+:EDITS: X#:09-09-1989-16:49-wht-creation X X system 'vidi v80x25' X ptrace on X fkey 'stratus' X ptrace off X send 'biff n;mesg n;telnet stratus' X lookfor -e 'login ' 200 X lookfor -e '\n' X send 'login atl -module %tridom_hub#m2' X lookfor -e 'word?' 100 X send 'notunix' X lookfor -e 'ready ' 200 X lookfor -e '\n' X send 'stp -terminal_type vt100' X lookfor -e 'ready ' 200 X lookfor -e '\n' X send 'call_thru -slave_id vt100_a1' X lookfor -e 'Password:' 200 X send 'hub' X nap 20 X send -n 'n'+%chr(0x1B)+'OM' X echo '\n' SHAR_EOF chmod 0644 models/hub.ep || echo "restore of models/hub.ep fails" echo "x - extracting models/keys (Text)" sed 's/^X//' << 'SHAR_EOF' > models/keys && Xstratus X F1:F1:esc O q X F2:F2:esc O r X F3:F3:esc O s X F4:F4:esc O t X F5:F5:esc O u X F6:F6:esc O v X F7:F7:esc O w X F8:status:dc4 X F9:no status:nl X F10:redisp:esc O y X F11:redisp:syn X PGDN:cancel:esc O Q X END:enter:esc O M X PGUP:dispform:esc O R X CUU:^:dle X CUD:v:so X CUL:<:stx X CUR:>:ack Xtridom X PGUP:fg:f g ^M X PGDN:^Z:^Z Xremecu X F1:Home:0xC8 X F2:End:0xC6 SHAR_EOF chmod 0644 models/keys || echo "restore of models/keys fails" echo "x - extracting models/lookfortest.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/lookfortest.ep && X# CHK=0xFA5C X# lookfor_test.ep (needs a modem already attached) X X send 'ate0q1' X nap 20 X flush X X send 'at' X X lookfor 'OK' X ifi $i0 == 1 echo '... got false success'; return X ifi $i0 <> 0 echo '... got illogical result';set $i0;return X echo '... got good result for failure to read' X X send 'ate1q0' X X lookfor -e 'OK'+%chr(0x0D)+%chr(0x0A) 20 X ifi $i0 == 0 echo '... got false failure'; return X ifi $i0 <> 1 echo '... got illogical result';set $i0;return X echo '... got good result for read' X X X X# vi: set tabstop=8: SHAR_EOF chmod 0644 models/lookfortest.ep || echo "restore of models/lookfortest.ep fails" echo "x - extracting models/mkdir.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/mkdir.ep && X# CHK=0x91D9 X system 'mkdir '+%argv(1) SHAR_EOF chmod 0644 models/mkdir.ep || echo "restore of models/mkdir.ep fails" echo "x - extracting models/oneline.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/oneline.ep && X# CHK=0xF093 X#-------------------------------------------------------------- X# oneline.ep X# X# send command in $s0, expecting a one line response X# and a csh prompt ending in '% ' X# X# returns: $s0 = one line response in $s0 if success X# $i0 = 1 if success, else 0 X#-------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-25-1989-13:56-wht-new do command syntax X#:06-25-1989-12:33-wht-new if/while syntax X#:06-22-1989-13:30-wht-creation X X mkvar $icsave; $icsave = %colors X color gray X send $s0 # send command X lookfor -e %chr(0x0A) 50 # scan command echo X ifi $i0 == 0 icolor $i2;return # if not found, return X lgets -e $s0 500 5 '\n' # get one line response X lookfor '% ' 50 # get prompt, don't echo X # $i0 = 1 if prompt, else 0 X icolor $icsave SHAR_EOF chmod 0644 models/oneline.ep || echo "restore of models/oneline.ep fails" echo "x - extracting models/opuslogin.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/opuslogin.ep && X# CHK=0xD695 X#+----------------------------------------------------------------- X# opuslogin.ep - ecu UNIX login procedure X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved X# X# %argv(1) = remote name X# %argv(2) = first name X# %argv(3) = last name X# %argv(4) = password X#+----------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-25-1989-13:56-wht-new do command syntax X#:06-25-1989-12:33-wht-new if/while syntax X#:06-23-1989-19:46-wht-improved hayes dialer reduces need to report dial fail X#:06-19-1989-22:50-wht-use while and if statements X#:06-14-1989-15:58-wht-add login capability when already connected X#:06-11-1989-23:37-wht-creation X X mkvar $i_csave,$i_ltimeout,$i_retries X X $i_csave = %colors X $i_retries=3 X X color red; echo -n '\nauto-logon to ' X color yellow; echo -n %argv(1) X color red; echo ' on '+%date+' at '+%time+'\n' X X ifi %argc != 5 # not enough args X { X color red X echo %argv(0)+' needs 5 arguments (got '+%itos(%argc)+')' X goto SORRY1 X } X X ifi %conn == 0 goto DIAL X X ifs %rname == %argv(1) X { X color brown; echo -n 'already connected to ' X color yellow; echo %rname X goto GET_LOGIN_PROMPT_RETRY X } X XHANGUP X ifi %conn <> 0 echo 'hanging up on '+%rname; hangup X XDIAL X color green X dial %argv(1); set $i1=$i0 #save dial result in $i1 X ifi $i1 == 2 color red; echo 'interrupted'; goto SORRY X ifi $i1 != 0 goto SORRY X XTEST_MODEM_RESULT X ifs $s0 != 'CONNECT '+%itos(%baud) X color yellow; echo 'baud rate mismatch ... retrying'; goto HANGUP X X# give name to remote X lookfor -e 'FIRST name: ' 150 X send %argv(2) X lookfor -e 'LAST name: ' 150 X send %argv(3) X X lookfor -e '[Y,n]? ' 40 X send 'Y' X X lookfor -e 'Password: ' 80 X send %argv(4) X lookfor -e '\n' X set $i0=0 X goto SETCOLOR_AND_RETURN_STATUS X X# procedure failed XSORRY X echo '' X color red X echo '....... sorry' X set $i0=0 X goto SETCOLOR_AND_RETURN_STATUS X XSORRY1 X echo '' X color red X echo '....... sorry' X set $i0=1 X XSETCOLOR_AND_RETURN_STATUS X icolor $i_csave X return $i0 X X# vi:set tabstop=4 shiftwidth=4: SHAR_EOF chmod 0644 models/opuslogin.ep || echo "restore of models/opuslogin.ep fails" echo "x - extracting models/phone (Text)" sed 's/^X//' << 'SHAR_EOF' > models/phone && X#navobs:1(202)653-0351::1200:N:Naval Observatory Time Xalpha1:1(714)821-9671::2400:N:alphacm rotary 1 Xalpha2:1(714)821-9672::2400:N:alphacm rotary 2 Xkermit:1(419)537-4411::1200:E:Kermit Xsco:1(408)426-9495::2400:N:SCO Tech Services (SOS) Xsco2:1(408)425-3502::2400:N:sosco uucp? SHAR_EOF chmod 0644 models/phone || echo "restore of models/phone fails" echo "x - extracting models/phrases (Text)" sed 's/^X//' << 'SHAR_EOF' > models/phrases && Xsane:source ~wht/.cshrc^r Xstty:stty intr ^C kill ^U erase ^H^r Xls:login lab^r Xpw:notunix^r Xstp:stp -terminal_type vt100^r Xcncs:cncs^r SHAR_EOF chmod 0604 models/phrases || echo "restore of models/phrases fails" echo "x - extracting models/ps.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/ps.ep && X# CHK=0xDA50 X#+------------------------------------------------------ X# p.eq X#------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-30-1989-18:53-wht-creation X X mkvar $icolor; $icolor = %colors X send %argv(0)+' '+%argv(1)+' '+%argv(2) X lookfor '\n' 40 X $s0 = '' X whilei 1==1 X { X lgets $s0 60 60 '\n' X color cyan X ifi %instr($s0,'(getty)' >= 0 continue X else ifi %instr($s0,'(tcsh)' >= 0 continue X else ifi %instr($s0,'(csh)' >= 0 continue X else ifi %instr($s0,'(sh)' >= 0 continue X else ifi %instr($s0,'/etc/init' >= 0 continue X else ifi %instr($s0,'% ') >= 0 break X else ifi %instr($s0,'USER') == 0 color gray X else ifi %instr($s0,' i29 ') > 0 color red X else ifi %instr($s0,' i13 ') > 0 color green X else ifi %instr($s0,'cma') == 0 color yellow X echo $s0 X } X icolor $icolor X send '' X SHAR_EOF chmod 0644 models/ps.ep || echo "restore of models/ps.ep fails" echo "x - extracting models/put_ecu.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/put_ecu.ep && X# CHK=0x6289 X#-------------------------------------------------------------- X# put_ecu.ep - update remote copy of ecu sources X#-------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-25-1989-14:28-wht-use rz_update X X $s10 = %rname X ifi %instr($s10,'tridom') == 0 X $s10 = 'tridom' X X ifs $s10 == 'tridom' X { X $s0 = '/u3/sd/wht/src/ecu' X $s1 = '/u1/src/ecu' X $s2 = '`ff \'*.c\' \'*.h\' Makefile \'*.ep\' \'.mi\' \'*.txt\' \'*.man\'` xsel386/*' X $s3 = 'wht' X goto CALL_SZ_UPDATE X } X else ifs $s10== 'ki4xo' X { X $s0 = '/user/wht/src/ecu' X $s1 = '/u1/src/ecu' X $s2 = '{.,z}/{Makefile,*.{c,h}} `ff \'*.ep\' \'.mi\' \'*.man\'` xsel386/*' X $s3 = 'wht' X goto CALL_SZ_UPDATE X } X else ifs $s10== 'coke-jsm' X { X $i39=%colors X color red; echo '\n\nHAVE YOU MADE A NO-SELECT VERSION???????\n\n' X mkvar $s_rpwd(20) X echo -n 'root password? ' ; $s_rpwd = %cgets X icolor $i39 X $s0 = '/usr/wht/bin' X $s1 = '/u1/src/ecu' X $s2 = 'ecu' X $s3 = 'wht' X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) X lookfor '% ' 40 X $s0 = '/usr/wht/bin' X $s1 = '/usr/wht/bin' X $s2 = 'ecusz ecurz ecusea' X $s3 = 'wht' X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) X lookfor '% ' 40 X $s0 = '/usr/wht' X $s1 = '/u1/src/ecu/doc' X $s2 = '*.man' X $s3 = 'wht' X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) X lookfor '% ' 40 X $s0 = '/usr/wht/.ecu' X $s1 = '/u1/src/ecu/models' X $s2 = '*' X $s3 = 'wht' X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) X lookfor '% ' 40 X $s0 = '/usr/lib/ecu' X $s1 = $s0 X $s2 = '*' X $s3 = '' X do 'su-csh' 'root' $s_rpwd X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) X send -e 'chmod u+s /usr/lib/ecu/ecuungetty' X send %chr(0x04) X return X } X else echo 'not to '+$s10+' you don\'t' X X# $s0 = remote directory X# $s1 = local directory X# $s2 = file list X# $s3 = necessary username on remote system XCALL_SZ_UPDATE X do 'sz_update' $s0 $s1 $s2 $s3 %argv(0) SHAR_EOF chmod 0644 models/put_ecu.ep || echo "restore of models/put_ecu.ep fails" echo "x - extracting models/rz_update.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/rz_update.ep && X# CHK=0x3514 X#-------------------------------------------------------------- X# rz_update.ep - update local directory X# X# parameters: X# %argv(1) = remote directory to copy from X# %argv(2) = local directory to copy to X# %argv(3) = file list to get X# %argv(4) = remote username needed, if any, else null X# if %argv(4) not null, 'su_'+%argv(4)+".ep" must X# exist to su to remote X# %argv(5) name of superior procedure X# X#-------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-25-1989-13:56-wht-new do command syntax X#:06-25-1989-12:33-wht-new if/while syntax X#:06-22-1989-13:30-wht-creation X X# variable usage X mkvar $i_csave # color settings at entry to procedure X mkvar $i_rtnval # return code X mkvar $i_suflag # true if su occurred X mkvar $s_origdir(128) # original working directory X mkvar $s_rdir(128) # remote directory we started with X mkvar $s_ruser(16) # remote username we started with before su X mkvar $s_xtitle(64) # title for xfer X X $i_csave=%colors # get colors at entry X X $s_xtitle = 'Connected to '+%rname X ifs %argv(5) != '' X $s_xtitle = $s_xtitle+' - procedure '+%argv(5) X X# check to make sure we are connected X ifi %conn == 0 X { X color red; echo 'not connected to anyone!' X goto SORRY X } X color lt_blue; echo 'Connected to '+%rname X X# save local current directory and change to target X $s_origdir=%dir X color brown X ifs $s_origdir == %argv(2) X echo -n 'local directory already ' X else X { X cd %argv(2) X echo -n 'local directory set to ' X } X color yellow; echo %dir X X# make sure remote username ok X ifs %argv(4) == '' goto REMOTE_CD # if any remote username X do 'bsd_uname' # get $s0=username X ifi $i0 == 0 goto SORRY # test failure X $s_ruser = $s0 # save original remote username X ifs $s0 != %argv(4) X { # need to su X color brown X echo -n 'remote username ' X color yellow X echo -n $s0 X color brown X echo ' ... su to '+%argv(4)+' now' X color gray X do 'su_'+%argv(4) # call proc, which calls su.ep X lookfor '% ' 50 # su leaves prompt in buffer: swallow X do 'bsd_uname' # make sure we su'd X ifi $i0 == 0 goto SORRY X ifs $s0 != %argv(4) # failed to su? X { X color red;echo 'su to '+%argv(4)+' failed' X goto SORRY X } X $i_suflag = 1 # remember we su'd X } # now we are proper username on remote X X# establish proper remote working directory XREMOTE_CD X color gray X $s0 = 'pwd';do 'oneline' # save old remote ... X $s_rdir = $s0 # ... directory in $s_rdir X ifs $s_rdir != %argv(1) # if cd needed, do it X { X send 'cd '+%argv(1) # remote cd X lookfor -e '\n' 50 # echo command X lookfor '% ' 50 # swallow prompt X $s0 = 'pwd' X do 'oneline' # make sure we got there X ifs $s0 != %argv(1) # dir change failed X { X color red;echo 'remote cd failed' X goto SORRY; X } X } X color brown; echo -n 'remote directory ' X color yellow; echo -n %argv(1) X color brown; echo ' ... starting transfer now' X X# transfer files X color lt_blue X send 'sz -n -f '+%argv(3) X lookfor -e '\n' 50 # echo remote command X ifi $i0 == 0 # command failed? X { X color red; echo 'sz command failed or garbled echo' X goto SORRY X } X color brown X echo 'waiting for sz to start' X nap 10 X color gray X# $s5 = '**'+%chr(0x18)+'B' # ZMODEM header X lgets $s0 150 10 '\n' # wait 15 secs for start X ifi %instr($s0,'rz') < 0 # check for 'rz' startup from remote X { X color white; X echo '\n'+$s0+'\n' X color red X echo 'sz protocol failure or trigger garbled' X goto SORRY X } X icolor $i_csave # restore colors at entry X rz -l $s_xtitle X ifi $i0 != 0 # whoops X { X color red; echo -n '\nTRANSFER FAILED ... ' X ifi $i0 == 0x100 echo 'interrupt' X ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d) X goto SORRY X } X lookfor '% ' 50 # swallow prompt X goto RETURN X XSORRY # whoops X color red;echo 'rz_update failed ... sorry' X $i_rtnval = 1 # return error X XRETURN X echo '' X color brown; echo -n 'remote user name ' X color yellow X ifi $i_suflag != 0 # we su'd X { X send -n %chr(0x04) # will force a new prompt from remote X echo -n $s_ruser X color brown; echo ' restored (sent ^D to '+%argv(4)+' shell)' X lookfor '% ' 50 # swallow prompt X } X else X color brown; echo 'unchanged' X X ifs $s_rdir != %argv(1) # if we did a remote cd X { X send 'cd '+$s_rdir # restore original X lookfor '\n' X color brown; echo -n 'remote working directory ' X color yellow; echo -n $s_rdir X color brown; echo ' restored' X } X else X { X send '' # spark a prompt X color brown; echo -n 'remote working directory ' X color yellow; echo -n $s_rdir X color brown; echo ' unchanged' X } X X ifs $s_origdir != %dir # restore original directory X { X cd $s_origdir X color brown; echo -n 'local working directory ' X color yellow; echo -n $s_origdir X color brown; echo ' restored' X } X X icolor $i_csave # restore colors at entry X echo '' X return $i_rtnval # return selected error code (bomb procedure if error) SHAR_EOF chmod 0644 models/rz_update.ep || echo "restore of models/rz_update.ep fails" echo "x - extracting models/scm.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/scm.ep && X# CHK=0x01CA X#+------------------------------------------------------------ X# scm.ep - goto scm and use wht .cshrc X#------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-26-1989-19:25-wht-working with su.ep - no longer secret X X mkvar icsave; $icsave = %colors X do 'su' 'scm' 'newtools' X lookfor '% ' 70 # swallow prompt left by su.ep X color gray X send 'source ~wht/.cshrc' X lookfor -e '\n' 70 X ifs %argv(1) != '.' X { X lookfor '% ' 70 # swallow prompt X send 'cd' X lookfor -e '\n' 50 # send 'cd', swallow echo X } X icolor $icsave SHAR_EOF chmod 0644 models/scm.ep || echo "restore of models/scm.ep fails" echo "x - extracting models/senddate.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/senddate.ep && X# CHK=0x067D X#+---------------------------------------------- X# senddate.ep X#----------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-27-1989-17:02-wht-working X X mkvar icsave;$icsave = %colors X color blue X echo -n 'remote root password? ' X color black X $s0 = %cgets X icolor $icsave X do 'su' 'root' $s0 X $s0 = '' # forget password X lookfor '% ' 50 # swallow prompt X send 'date' X lookfor -e '% ' 50 X system -l 'senddate' X lookfor -e quiet 20 X send -n %chr(0x04) SHAR_EOF chmod 0644 models/senddate.ep || echo "restore of models/senddate.ep fails" echo "x - extracting models/su.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/su.ep && X# CHK=0x4626 X#+--------------------------------------------------------- X# su.ep - switch user at remote X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved X# X# do su 'username' 'password' ['.'] X# X# expects new user to be running csh X#---------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-27-1989-12:43-wht-"get prompt" message was wrong X#:06-25-1989-13:56-wht-new do command syntax X#:06-25-1989-12:33-wht-new if/while syntax X#:06-16-1989-18:12-wht-creation X X mkvar icsave; $icsave = %colors X X color gray X send 'su '+%argv(1) X lookfor -e 'word:' 70 X ifi $i0 == 0 X { X color red;echo 'su: failed to get password prompt' X icolor $icsave; return 1 X } X send %argv(2); lookfor '\n' 50 # send password X echo '' X lgets $s0 70 5 '\n' X ifi %instr($s0,'Sorry') >= 0 X { X color red;echo 'su: remote said "Sorry"' X icolor $icsave; return 1 X } X nap 5 # wait .5 sec X send 'set prompt="% "' # set '% ' as prompt X lookfor '\n' 20 # swallow echo of set command X lookfor '% ' 60 # look for new prompt X ifi $i0 == 0 X { X color lt_red X echo 'timeout on prompt ... system may be slow ... waiting 5 more secs' X color gray X lookfor '% ' 50 # look for new prompt X } X ifi $i0 == 0 X { X color red;echo 'su: failed to "get prompt" echo' X icolor $icsave; return 2 X } X ifs %argv(3) == '.' X send 'source ~wht/.cshrc' X else X send ''; lookfor '\n' 50 # kick off another prompt X icolor $icsave SHAR_EOF chmod 0644 models/su.ep || echo "restore of models/su.ep fails" echo "x - extracting models/sz_update.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/sz_update.ep && X# CHK=0x4068 X#-------------------------------------------------------------- X# sz_update.ep - update local directory X# X# parameters: X# %argv(1) = remote directory to copy to X# %argv(2) = local directory to copy from X# %argv(3) = file list to send X# %argv(4) = remote username needed, if any, else null X# if %argv(4) not null, 'su_'+%argv(4)+".ep" must X# exist to su to remote X# %argv(5) name of superior procedure X# X#-------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets X#:06-28-1989-19:36-wht-use named variables X#:06-25-1989-13:56-wht-new do command syntax X#:06-25-1989-12:33-wht-new if/while syntax X#:06-22-1989-13:30-wht-creation X X# variable usage X mkvar $i_csave # color settings at entry to procedure X mkvar $i_suflag # true if su occurred X mkvar $i_rtnflag # return code X mkvar $s_origdir(128) # original working directory X mkvar $s_ruser(16) # remote username we started with before su X mkvar $s_rdir(128) # remote directory we started with X mkvar $s_xtitle(64) # title for xfer X X $i_csave=%colors # get colors at entry X X $s_xtitle = 'Connected to '+%rname X ifs %argv(5) != '' X $s_xtitle = $s_xtitle+' - procedure '+%argv(5) X X# check to make sure we are connected X ifi %conn == 0 X { X color red; echo 'not connected to anyone!' X goto SORRY X } X color lt_blue; echo 'Connected to '+%rname X X# save local current directory and change to target X $s_origdir=%dir X color brown X ifs $s_origdir == %argv(2) X echo -n 'local directory already ' X else X { X cd %argv(2) X echo -n 'local directory set to ' X } X color yellow; echo %dir X X# make sure remote username ok X ifs %argv(4) == '' goto REMOTE_CD # if any remote username X do 'bsd_uname' # get $s0=username X ifi $i0 == 0 goto SORRY # test failure X $s_ruser = $s0 # save original remote username X ifs $s0 != %argv(4) X { # need to su X color brown X echo -n 'remote username ' X color yellow X echo -n $s0 X color brown X echo ' ... su to '+%argv(4)+' now' X color gray X do 'su_'+%argv(4) # call proc, which calls su.ep X lookfor '% ' 50 # su leaves prompt in buffer: swallow X do 'bsd_uname' # make sure we su'd X ifi $i0 == 0 goto SORRY X ifs $s0 != %argv(4) # failed to su? X { X color red;echo 'su to '+%argv(4)+' failed' X goto SORRY X } X $i_suflag = 1 #remember we su'd X } # now we are proper username on remote X X# establish proper remote working directory XREMOTE_CD X color gray X $s0 = 'pwd';do 'oneline' # save old remote ... X $s_rdir = $s0 # ... directory in $s_rdir X ifs $s_rdir != %argv(1) # if cd needed, do it X { X send 'cd '+%argv(1) # remote cd X lookfor -e '\n' 50 # echo command X lookfor '% ' 50 # swallow prompt X $s0 = 'pwd' X do 'oneline' # make sure we got there X ifs $s0 != %argv(1) # dir change failed X { X color red;echo 'remote cd failed' X goto SORRY; X } X } X color brown; echo -n 'remote directory ' X color yellow; echo %argv(1) X X# transfer files X color lt_blue X echo 'sz -n -f '+%argv(3) X icolor $i_csave # restore colors at entry X sz -nfl $s_xtitle %argv(3) X ifi $i0 != 0 # whoops X { X color red; echo -n '\nTRANSFER FAILED ... ' X ifi $i0 == 0x100 echo 'interrupt' X ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d) X goto SORRY X } X lookfor '% ' 50 # swallow prompt X goto RETURN X XSORRY # whoops X color red;echo 'sz_update failed ... sorry' X $i_rtnflag = 1 # return error X XRETURN X echo '' X color brown; echo -n 'remote user name ' X color yellow X ifi $i_suflag != 0 # we su'd X { X send -n %chr(0x04) # will force a new prompt from remote X echo -n $s_ruser X color brown; echo ' restored (sent ^D to '+%argv(4)+' shell)' X lookfor '% ' 50 # swallow prompt X } X else X color brown; echo 'unchanged' X X ifs $s_rdir != %argv(1) # if we did a remote cd X { X send 'cd '+$s_rdir # restore original X lookfor '\n' X color brown; echo -n 'remote working directory ' X color yellow; echo -n $s_rdir X color brown; echo ' restored' X } X else X { X send '' # spark a prompt X color brown; echo -n 'remote working directory ' X color yellow; echo -n $s_rdir X color brown; echo ' unchanged' X } X X color brown; echo -n 'local working directory ' X color yellow; echo -n $s_origdir X color brown X ifs $s_origdir != %dir # restore original directory X { X cd $s_origdir X echo ' restored' X } X else X echo ' unchanged' X X icolor $i_csave # restore colors at entry X echo '' X return $i_rtnflag # return selected error code (bomb procedure if error) SHAR_EOF chmod 0644 models/sz_update.ep || echo "restore of models/sz_update.ep fails" echo "x - extracting models/szall.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/szall.ep && X# CHK=0xE67C X X do 'put_mpad1' X lookfor '% ' 40 X do 'put_kdir12' X lookfor '% ' 40 X do 'put_sim' X lookfor '% ' 40 X do 'put_ecu' SHAR_EOF chmod 0644 models/szall.ep || echo "restore of models/szall.ep fails" echo "x - extracting models/tty1a.mi (Text)" sed 's/^X//' << 'SHAR_EOF' > models/tty1a.mi && X# CHK=0xF537 X#+----------------------------------------------------------------- X# tty1a.mi - Microcom AX/9624c X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved X#------------------------------------------------------------------ X#+:EDITS: X#:07-02-1989-20:51-wht-beef up init X#:06-17-1989-22:02-wht-creation X Xinit_>2400:atq0e1v1x4s0=0s2=43s7=30\q1\x1\n3 Xinit_default:atq0e1v1x4s0=0s2=43s7=30\q0\x0\n0 Xdial_default:atdt Xautoanswer:atq1s0=1 SHAR_EOF chmod 0644 models/tty1a.mi || echo "restore of models/tty1a.mi fails" echo "x - extracting models/tty2d.mi (Text)" sed 's/^X//' << 'SHAR_EOF' > models/tty2d.mi && X# CHK=0x61EF X#+----------------------------------------------------------------- X# tty2d.mi - USR Courier 2400 X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved X#------------------------------------------------------------------ X#+:EDITS: X#:07-02-1989-20:51-wht-beef up init X#:06-17-1989-22:02-wht-creation X Xinit_default:atq0e1v1x4s0=0s2=43s7=30s11=47 Xdial_default:atdt Xautoanswer:atq1s0=1 SHAR_EOF chmod 0644 models/tty2d.mi || echo "restore of models/tty2d.mi fails" echo "x - extracting models/unixlogin.ep (Text)" sed 's/^X//' << 'SHAR_EOF' > models/unixlogin.ep && X# CHK=0x8ADC X#+----------------------------------------------------------------- X# unixlogin.ep - ecu UNIX login procedure X# Copyright 1989 Warren H. Tucker, III. All Rights Reserved X# X# %argv(1) = remote name X# %argv(2) = user name X# %argv(3) = password X# %argv(4) = term type X# %argv(5) = optional number of breaks needed X#+----------------------------------------------------------------- X#+:EDITS:*/ X#:07-11-1989-16:55-wht-get cmd became lgets SHAR_EOF echo "End of part 46" echo "File models/unixlogin.ep is continued in part 47" echo "47" > s2_seq_.tmp exit 0 -- ------------------------------------------------------------------- Warren Tucker, Tridom Corporation ...!gatech!emory!tridom!wht Ker-au'-lo-phon. An 8-foot partial flue-stop, having metal pipes surmounted by adjustable rings, and with a hole bored near the top of each pipe, producing a soft and "reedy" tone.