title k20edt Kermit Edit History remark See end of file for To Do list, some of which is partially done $verno==:^d5 ; Major version number. $mnver==:^d3 ; [194] Minor version number (minimum: 1). $edno==:^d255 ; Edit number increases independent of version. $who==:^d5 ; Who edited, 0=Columbia. ; [181] 5=ex-Columbia employees ... subttl Specific edits performed down through the ages (since 1982!) ;[VENTI2]STAR:K20EDT.MAC.166, 29-Mar-2024 17:31:32, Edit by SLOGIN ;[255] Make CWD accept ".." as token for Unix, DOS, Windows, and OS/2 CDUP ;[VENTI2]STAR:K20EDT.MAC.163, 26-Mar-2024 19:37:01, Edit by SLOGIN ;[254] Implement CDUP, generic 'G' ;[VENTI2]STAR:K20EDT.MAC.162, 19-Jan-2024 16:41:43, Edit by SLOGIN ;[253] Fix ^A to print the number of pages sent and the total; was always omitting total ;[VENTI2]STAR:K20EDT.MAC.155, 11-Dec-2023 17:53:48, Edit by SLOGIN ;[252] Fix some of the directory parsing logic to properly handle .CMDEV and .CMDIR ;[VENTI2]STAR:K20EDT.MAC.150, 10-Dec-2023 19:47:55, Edit by SLOGIN ;[251] Emit new directory name when either wildcarded structure or directory changes ;[VENTI2]STAR:K20EDT.MAC.149, 10-Dec-2023 15:23:05, Edit by SLOGIN ;[250] Directory header is not always printed ;[VENTI2]STAR:K20EDT.MAC.142, 28-Nov-2023 14:46:29, Edit by SLOGIN ;[249] Implement relative directory connect ; ;---- Version 5.3(248)-5 Maintenance Release 28-Nov-2023 ; ;[VENTI2]STAR:K20EDT.MAC.141, 24-Nov-2023 12:21:03, Edit by SLOGIN ;[248] Fix incorrect string lengths being returned by C constant expansion ;[VENTI2]STAR:K20EDT.MAC.141, 24-Nov-2023 12:21:03, Edit by SLOGIN ;[247] Rewrite IAC handling to use EXTEND instead of loop ;[VENTI2]STAR:K20EDT.MAC.141, 24-Nov-2023 12:21:03, Edit by SLOGIN ;[246] Additional C escape sequences: \O and \U ;[VENTI2]STAR:K20EDT.MAC.140, 20-Nov-2023 20:31:57, Edit by SLOGIN ;[245] Rewrite MOVSTU to use EXTEND instead of loop ;[VENTI2]STAR:K20EDT.MAC.135, 20-Nov-2023 19:41:49, Edit by SLOGIN ;[244] Fix server FINISH does not close all log files ;[VENTI2]STAR:K20EDT.MAC.134, 19-Nov-2023 21:56:07, Edit by SLOGIN ;[243] Fix off by one which caused us to always transmit a NUL for every packet (!) ;[VENTI2]STAR:K20EDT.MAC.133, 19-Nov-2023 16:11:33, Edit by SLOGIN ;[242] Allow ECHO to comment a log file ;[VENTI2]STAR:K20EDT.MAC.132, 18-Nov-2023 15:46:39, Edit by SLOGIN ;[241] Don't send gubbish with CWD ;[VENTI2]STAR:K20EDT.MAC.129, 9-Nov-2023 17:41:20, Edit by SLOGIN ;[240] When logging to a disk file, display the number of bytes written ;[VENTI2]STAR:K20EDT.MAC.128, 8-Nov-2023 20:34:43, Edit by SLOGIN ;[239] Use .HPTOD (High Precision Time of Day) if the monitor has it ;[VENTI2]STAR:K20EDT.MAC.127, 1-Jul-2023 16:23:39, Edit by SLOGIN ;[238] Enhanced NRT disconnect messages ;[VENTI2]STAR:K20EDT.MAC.125, 29-Jun-2023 12:31:54, Edit by SLOGIN ;[237] Implement the RETURN keyword to stop processing a TAKE file ;[VENTI2]STAR:K20EDT.MAC.119, 18-Jun-2023 13:59:42, Edit by SLOGIN ;[236] Implement /FORKLESS connect (uses MTOPR% .MOSNH function for direct connect) ; ;---- Version 5.3(235)-5 Maintenance Release 11-Jun-2023 ; ;[VENTI2]STAR:K20EDT.MAC.116, 9-Jun-2023 14:03:10, Edit by SLOGIN ;[235] Signal a file error with an 'E' packet, otherwise remote will never know. ;[VENTI2]STAR:K20EDT.MAC.114, 9-Jun-2023 13:28:32, Edit by SLOGIN ;[234] Don't print error message if remote server; we'll never see them ;[VENTI2]STAR:K20EDT.MAC.111, 7-Jun-2023 16:46:21, Edit by SLOGIN ;[233] Fix logging from extended sections ;[VENTI2]STAR:K20EDT.MAC.110, 5-Jun-2023 21:54:19, Edit by SLOGIN ;[232] Implement Tops-10 36 bit byte size post processing ;[VENTI2]STAR:K20EDT.MAC.108, 5-Jun-2023 19:51:32, Edit by SLOGIN ;[231] Fix RECEIVE when issued from EXEC level (found by Jon Irons) ; ;---- Version 5.3(230)-5 General Release January 2023 ; ;[VENTI2]STAR:K20EDT.MAC.105, 11-Jan-2023 13:27:25, Edit by SLOGIN ;[230] Implement CAPTURE, TRANSMIT's invisible counterpart (used for testing) ;[VENTI2]STAR:K20EDT.MAC.103, 9-Jan-2023 21:49:57, Edit by SLOGIN ;[229] Allow TRANSMIT to send 8-bit ASCII and EOF ;[VENTI2]STAR:K20EDT.MAC.102, 1-Jan-2023 17:57:32, Edit by SLOGIN ;[228] When receiving multiple files into NUL:, put all of them into NUL: ;[VENTI2]STAR:K20EDT.MAC.98, 29-Dec-2022 15:28:44, Edit by SLOGIN ;[227] Build page zero by hand since EXEC can now handle a symbol table in a ; non-zero section, but LINK doesn't quite set everything up correctly. ;[VENTI2]STAR:K20EDT.MAC.96, 29-Sep-2022 11:21:07, Edit by SLOGIN ;[226] Small enhancement to ECHO to respect escape sequences and parity ;[VENTI2]STAR:K20EDT.MAC.93, 11-Sep-2022 15:07:03, Edit by SLOGIN ;[225] Work around for a bizarre "Illegal memory read" parse error ;[VENTI2]STAR:K20EDT.MAC.91, 10-Sep-2022 00:39:54, Edit by SLOGIN ;[224] Fix Edit 70, which handled files with holes ;[VENTI2]STAR:K20EDT.MAC.90, 1-Sep-2022 22:59:22, Edit by SLOGIN ;[223] Optimize parity routines for more than a single character at a time ;[VENTI2]STAR:K20EDT.MAC.69, 22-Aug-2022 15:26:21, Edit by SLOGIN ;[222] Fix invalid simultaneous access when logging ;[VENTI2]STAR:K20EDT.MAC.65, 19-Aug-2022 20:41:23, Edit by SLOGIN ;[221] Packet decoding when debugging. I can't do the gibberish in my head. ;[VENTI2]STAR:K20EDT.MAC.62, 15-Aug-2022 20:33:58, Edit by SLOGIN ;[220] Move LOCAL and REMOTE (SERVER) processing into a new module, k20srv ;[VENTI2]STAR:K20EDT.MAC.55, 14-Aug-2022 22:27:58, Edit by SLOGIN ;[219] Pull interrupt characters when not using, handle differed masks ;[VENTI2]STAR:K20EDT.MAC.54, 12-Aug-2022 16:54:21, Edit by SLOGIN ;[218] Use interrupts and timers on CONNECT/SET HOST, allow ^C, ^Y (for status) ;[VENTI2]STAR:K20EDT.MAC.52, 11-Aug-2022 13:49:05, Edit by SLOGIN ;[217] Make SET ESCAPE easier to use for those who have not memorized octal ;[VENTI2]STAR:K20EDT.MAC.50, 9-Aug-2022 20:42:55, Edit by SLOGIN ;[216] Teach Kermit to not bump into SOUT% OWGP bug when transfering strings ;[VENTI2]STAR:K20EDT.MAC.48, 8-Aug-2022 11:15:06, Edit by SLOGIN ;[215] Fix DMPBUF to not terminate write-protected strings ;[VENTI2]STAR:K20EDT.MAC.44, 24-Jul-2022 10:07:02, Edit by SLOGIN ;[214] Generalize secondary help for more than just the SET command ;[VENTI2]STAR:K20EDT.MAC.41, 14-Jul-2022 22:27:50, Edit by SLOGIN ;[213] A file with zero length still gets an (empty) disk page ;[VENTI2]STAR:K20EDT.MAC.35, 9-Jul-2022 18:07:36, Edit by SLOGIN ;[212] All waits are fractional instead of integer; allows millisecond waits ;[VENTI2]STAR:K20EDT.MAC.34, 9-Jul-2022 13:23:13, Edit by SLOGIN ;[211] Teach clrbuf some more things about clearing buffers (fixes Tops-10 NRT) ;[VENTI2]STAR:K20EDT.MAC.28, 30-Jun-2022 10:56:32, Edit by SLOGIN ;[210] Device virtual baud rates, used for efficiency calculations ;[VENTI2]STAR:K20EDT.MAC.25, 27-Jun-2022 11:35:49, Edit by SLOGIN ;[209] OUTPUT enhancements, quoted strings, C escape sequences, carrier checks ;[VENTI2]STAR:K20EDT.MAC.21, 25-Jun-2022 21:15:39, Edit by SLOGIN ;[208] Allow get/send to have everything on one line with quoted strings ;[VENTI2]STAR:K20EDT.MAC.19, 24-Jun-2022 21:37:39, Edit by SLOGIN ;[207] Properly time sub-second transfers (sub-third-of-a-second, actually) ;[VENTI2]STAR:K20EDT.MAC.18, 24-Jun-2022 16:34:09, Edit by SLOGIN ;[206] Double float for large integers for large files and large times ;[VENTI2]STAR:K20EDT.MAC.15, 21-Jun-2022 16:42:37, Edit by SLOGIN ;[205] /STAY switch on connect to not start a transfer fork ;[VENTI2]STAR:K20EDT.MAC.13, 19-Jun-2022 14:27:43, Edit by SLOGIN ;[204] Have INPUT/OUTPUT properly update totals ;[VENTI2]STAR:K20EDT.MAC.8, 5-Jun-2022 15:39:43, Edit by SLOGIN ;[203] Fix memory leak and overwriting in macros; arcane bug that caused ; a reparse to lose memory; macro expansion bug that didn't zero parse ; values when expanding a macro. Partially finished macro editor. ;[VENTI2]STAR:K20EDT.MAC.7, 6-Feb-2022 11:46:18, Edit by SLOGIN ;[202] Move text messages into seperate .PSECT's ;[VENTI2]STAR:K20EDT.MAC.6, 2-Feb-2022 22:09:04, Edit by SLOGIN ;[201] Allow selection of which macro to show instead of always all ;[VENTI2]STAR:K20MIT.MAC.3331, 16-Jan-2022 18:08:19, Edit by SLOGIN ;[200] Some contingency log to handle VERY rare non-FDB based directory devices ;[VENTI2]STAR:K20MIT.MAC.3330, 15-Jan-2022 16:09:47, Edit by SLOGIN ;[199] Significant speed up to delete logic when not expunging ;[VENTI2]STAR:K20MIT.MAC.3260, 11-Jan-2022 13:30:53, Edit by SLOGIN ;[198] Append to existing log files instead of overwriting also close all ;[VENTI2]STAR:K20MIT.MAC.2969, 27-Dec-2021 11:18:26, Edit by SLOGIN ;[197] Fix up symbol table so EXEC knows what's going on, other debugging enhancements ;[VENTI2]STAR:K20MIT.MAC.2461, 14-Dec-2021 17:20:40, Edit by SLOGIN ;[196] Don't constantly do floating point conversions when pausing. It's wasteful. ;[VENTI2]STAR:K20MIT.MAC.2414, 7-Dec-2021 11:21:04, Edit by SLOGIN ;[195] Clean up some logging logic. Use a flag for whether it's active or not ;[VENTI2]STAR:K20MIT.MAC.1562, 29-Nov-2021 16:46:43, Edit by SLOGIN ;[194] At 201 pages, K20MIT exceeded MACRO's 255 lowseg limit and produced MCRNEC ; 1) Reduce code in literals to try to mitigate (easier to debug, anyway) ; 2) Moved constants, symbols and macros to K20UNV ; 3) Rewrote some macros to purge automatic symbols (see K20UNV) ; 4) Moved edit history historical information prior to 2001 into K20EDT ; 5) Moved all help text into a seperate module, K20HLP ; 6) Moved most parsing logic out to a seperate module, K20PAR ; 7) Moved most network code into a seperate module, K20NET ;[VENTI2]STAR:K20MIT.MAC.1374, 26-Nov-2021 01:37:23, Edit by SLOGIN ;[193] Allow a receive into NUL: Used with PTY for debugging and check out ;[VENTI2]STAR:K20MIT.MAC.1348, 25-Nov-2021 23:04:32, Edit by SLOGIN ;[192] Issuing a macro twice gives "?Command too long for internal buffer" ;[VENTI2]STAR:K20MIT.MAC.1108, 19-Nov-2021 17:51:47, Edit by SLOGIN ;[191] Only allow RECEIVE into disk file, since only doing PMAP%'s. ; although receive to NUL: would be nice for testing purposes ;[VENTI2]STAR:K20MIT.MAC.1050, 18-Nov-2021 16:27:43, Edit by SLOGIN ;[190] Write protect code space, PDV (Modern debugging) ;[VENTI2]STAR:K20MIT.MAC.985, 16-Nov-2021 21:25:33, Edit by SLOGIN ;[189] Implement Status (sends statistics output, generic 'Q') ; Includes fixes to time, efficiency and other calculations ;[VENTI2]STAR:K20MIT.MAC.951, 15-Nov-2021 16:21:15, Edit by SLOGIN ;[188] Implement PWD (Print Working Directory, generic 'A') ;[VENTI2]STAR:K20MIT.MAC.595, 8-Nov-2021 13:11:33, Edit by SLOGIN ;[187] Use ESOUT% for errors. Properly handles more error conditions ; correctly and uses less code. Also allow Kermit to run without ; Control-C capability, which is handy for batch and essential ; for debugging (prevents hung terminal). Saves many, many ; RPCAP%/EPCAP's, either way. Where ^C is not available, Kermit ; will use ^G (like EMACS) ;[VENTI2]STAR:K20MIT.MAC.383, 5-Nov-2021 22:02:20, Edit by SLOGIN ;[186] Allow a line to be an NRT terminal, unlike a TVT or CTERM, it ; is close enough to a real line so that the binary API works on it. ; ; A pseudo-terminal is allowed for so-called 'loopback' testing, ; but this is only used as a debugging aid to rule out any NRT ; specific flaws. It also allows Kermit to be debugged against ; itself in case the terminal client does not have Kermit ; capabilities. ; ; It's a large enough change so that the minor version was bumped ; from 2 to 3. ; ;[TOMMYT]STAR:K20MIT.MAC.366, 4-Jan-2006 17:27:09, Edit by SLOGIN ;[185] Properly restore terminal length and width for large dimensions ;[TOMMYT]STAR:K20MIT.MAC.355, 16-Mar-2005 14:47:16, Edit by SLOGIN ;[184] Set program version number to be decimal as typed by the EXEC. ; . Fix internal type out routines to support decimal version typeout. ; . Make 183 work when we quit, detach and continue ;[TOMMYT]STAR:K20MIT.MAC.334, 5-Mar-2005 08:21:36, Edit by SLOGIN ;[183] A small amount of contingency logic. Set the terminal JFN to ; be restricted so that it can't be clobbered. ; . Check to see if a DTACH% happpened during the time we pushed so we ; can punt the terminal JFN. Otherwise we'll gronk on the attach ; and continue. ;[TOMMYT]STAR:K20MIT.MAC.327, 3-Aug-2003 16:50:33, Edit by SLOGIN ;[182] TVT-Binary automatic mode to check if we are on a TVT ; . Change ARPAnet references in typeout to Internet since there ; may be some children who do not know what the ARPAnet was... ;[TOMMYT]STAR:KERMIT.MAC.259, 30-Jul-2003 12:48:04, Edit by SLOGIN ;[181] Merge PANDA network binary mode ; . Fix reslin and subroutines to always load the terminal jfn, ; we were trying to clear the output buffer of .FHSLF! ; . put in default EMACS editing modes ;/w/fdc/timrek/kermit.mac, Mon Aug 6 14:28:27 2001, Frank (fdc@columbia.edu) ;[180] Buffered packet input instead per-character BIN% + better statistics. ;/w/fdc/timrek/kermit.mac, Sun Jan 28 17:33:20 2001, Frank (fdc@columbia.edu) ;[179] Added Long packets: ; . Added new symbol MAXBUF (10KB) ; . Increased packet buffer sizes to MAXBUF ; . Changed .setpk to allow sizes up to 9000 (near theoretical max) ; . Added CAPAS, WINDO, MAXLX1, MAXLX2 field support to rpar and spar. ; . Added long-packet sending/reading to spack/rpack. ; . Removed hardwired ^d94 packet-length references. ; . Speed improvements by up to a factor of 20. ; Changed default delay to 1 sec. ; Increased version number from 4.2 to 5.1. ; All long-packet related lines are marked "[179]". ; ;******************** Version 5.1 ************************ ;PK:KERMIT.MAC.259, 26-Jan-88 10:28:51, Frank (SY.FDC@CU20B) ;[178] Allow passwords to come from TAKE files. ;PK:KERMIT.MAC.259, 25-Jan-88 18:38:14, Frank (SY.FDC@CU20B) ;[177] Fix [176]. It wasn't conditioning the line correctly. ;PK:KERMIT.MAC.258, 11-Dec-87 14:16:09, Frank (SY.FDC@CU20B) ;[176] Allow commands to servers to be issued from TAKE file. ; Also, pass capabilities down to inferior process correctly. ;PS:KERMIT.MAC.6, 6-May-85 17:39:44, Frank (SY.FDC@CU20B) ;[175] Delete any dot at the end of outbound file names (like 'makefile.'). ;PS:20KERMIT.MAC.256, 2-May-85 12:21:34, Frank (SY.FDC@CU20B) ;[174] Several things: ;. Don't ACK a Z packet if the file can't be closed. ;. Fix server interpretation of remote directory command with no args. ;. Fix "push" command message to not assume connected to remote. ;. Give appropriate messages for local/remote mode server entry. ;. Recover from i/o errors in debug log writing. ;. Recover from incoming filenames that start with dot. ;PS:KERMIT.MAC.1028, 11-Dec-84 19:00:29, Frank (SY.FDC@CU20B) ;[173] Display contents of any incoming X packet. ;PS:KERMIT.MAC.1028, 11-Dec-84 18:37:05, Frank (SY.FDC@CU20B) ;[172] Don't use "*" for default file type in SEND command. ;PS:KERMIT.MAC.1021, 15-Nov-84 15:28:26, Frank (SY.FDC@CU20B) ;[171] Fix LOCAL CWD not to ask for password unless it has to. ;PS:KERMIT.MAC.1018, 15-Nov-84 11:39:00, Frank (SY.FDC@CU20B) ;[170] Don't send 4 null bytes at end of ITS binary file. ;PS:KERMIT.MAC.1012, 18-Oct-84 13:20:42, Frank (SY.FDC@CU20B) ;[169] Misc small fixes: ;. Make $XHOST allow ^C interrupt to work during SINFO. ;. Allow ^C interrupt in LOCAL TYPE. ;. REMOTE CWD Password: input was erroneously saying "?Too long" ;. In RUN command, don't let inferior log out. ;PS:KERMIT.MAC.1012, 18-Oct-84 13:20:42, Frank (SY.FDC@CU20B) ;[168] Fix SPAR not to overrule SET commands when entering server mode. ;PS:KERMIT.MAC.1004, 3-Oct-84 15:30:24, Frank (SY.FDC@CU20B) ;[167] Add ECHO command. ;PS:KERMIT.MAC.1000, 3-Oct-84 12:13:10, Frank (SY.FDC@CU20B) ;[166] Add ^M and ^P interrupts for getting unstuck from TRANSMIT ;PS:KERMIT.MAC.980, 2-Oct-84 19:36:41, Frank (SY.FDC@CU20B) ;[165] Add TRANSMIT command. ;PS:KERMIT.MAC.972, 1-Oct-84 22:00:43, Frank (SY.FDC@CU20B) ;[164] Make session logging work during script execution. ;PS:KERMIT.MAC.966, 30-Sep-84 13:27:04, Frank (SY.FDC@CU20B) ;[163] Add PC typeout to %JSERR ;PS:KERMIT.MAC.962, 28-Sep-84 16:37:25, Frank (SY.FDC@CU20B) ;[162] Add CLEAR command. ;PS:KERMIT.MAC.961, 28-Sep-84 08:37:26, Frank (SY.FDC@CU20B) ;[161] If SET SPEED done, remember it! ;PS:KERMIT.MAC.946, 27-Sep-84 15:15:23, Frank (SY.FDC@CU20B) ;[160] Refinements of previous edit, add SET/SHOW INPUT. ;PS:KERMIT.MAC.924, 26-Sep-84 16:35:53, Frank (SY.FDC@CU20B) ;[159] INPUT, OUTPUT, and PAUSE commands to provide a simple script facility. ;******************** Version 4.2 ************************ ; ;PS:KERMIT.MAC.918, 18-Jul-84 13:50:17, Frank ;[158] Clear up any XOFF condition when leaving protocol mode. ;PS:KERMIT.MAC.916, 13-Jul-84 17:57:24, Frank ;[157] Don't get stuck if XOFF'd while typing out server message (thanks Jeff). ;PS:KERMIT.MAC.914, 11-Jul-84 19:51:24, Frank ;[156] Debug previous edits. ;PS:KERMIT.MAC.899, 10-Jul-84 18:52:39, Frank ;[155] Fix recently introduced bug in INILIN that broke handshake code. ;PS:KERMIT.MAC.896, 10-Jul-84 17:12:04, Frank ;[154] Fix up session logging - avoid loss of nonopen JFN. Add CLOSE command. ;PS:KERMIT.MAC.893, 9-Jul-84 18:48:42, Frank ;[153] Always convert lc letters in incoming filenames to uc (for Bernie). ;PS:KERMIT.MAC.888, 6-Jul-84 16:41:26, Frank ;[152] Add PUSH, SET SPEED, and SET BREAK. ;PS:KERMIT.MAC.879, 5-Jul-84 12:53:06, Frank ;[151] Integrate connect code into this program, rather than running TTLINK ; in a lower fork. Use TELNET-style separate input & output forks with no ; interrupts. This was done for several reasons: ; . Release 6.0 of TOPS-20 doesn't allow multiple JFNs on a single TTY. ; . TTLINK did interrupt-driven i/o in a single fork, so would not work under ; batch, where BATCON feeds i/o depending on whether "pty hungry". ; . Fewer source files to keep track of. ;******************** Version 4.1 ************************ ; ;PS:KERMIT.MAC.871, 3-Jul-84 10:50:55, Frank ;[150] Add dispatch tables for server and generic commands, to force us ; to think about every case -- e.g. server shouldn't complain about NAKs. ;PS:KERMIT.MAC.870, 29-Jun-84 13:28:08, Frank ;[149] Fix bug in SET SEND/RECEIVE PADCHAR parsing (thanks, Daphne) ;PS:KERMIT.MAC.859, 26-Jun-84 14:26:37, Frank ;[148] Allow source & destination filespecs for GET to be given separately. ; ;PS:KERMIT.MAC.855, 26-Jun-84 12:38:18, Frank ;[147] Fix various problems reported by Ken Harrenstien (KLH@SRI-NIC): ; . Allow user to include !,?,@,;, etc in GET filespec with ^V quote. ; . Refuse links on file-transfer tty, not controlling tty! ; . Restore advice and links to tty after file transfer. ; ;PS:KERMIT.MAC.840, 28-May-84 17:33:56, Frank ;[146] Get monitor version number at startup. Under V6 or later, we can tell ; the real speed of the communication line (after all these years!). Also, we ; know speed of a local line. Account for all this in CHKLIN, and report the ; percent efficiency in STATISTICS command when baud rate is known. ; ;PS:KERMIT.MAC.820, 28-May-84 14:23:45, Frank ;[145] Allow LOCAL commands to be issued without the "LOCAL" prefix. ; Change LOCAL/REMOTE "DISK" to "SPACE". Fill in local TYPE and RUN commands. ; ;PS:KERMIT.MAC.810, 28-May-84 10:06:30, Frank ;[144] Misc bugs fixed: ; . In ENCODE, fix problem when exactly two consecutive repeat prefix ; characters appear in data. ; . In SRVCMD, decode contents of ACK (it was being displayed "bare"). ; . Remove test for remote at $SERVE, let server work over asg'd tty line. ; . In DOSRV, don't allow an I packet to cause a state transition. ; . Don't create empty debugging log files. ; . Fix bytesize in OPENF in RFIL3K (cosmetic) ; . Allow SET HANDSHAKE to also accept an octal number. ; ;PS:KERMIT.MAC.804, 28-May-84 09:55:50, Frank ;[143] Add SET FLOW-CONTROL, SET EXPUNGE. ; Change SET DEBUGGING LOG to LOG DEBUGGING (like other Kermits). ;PS:KERMIT.MAC.803, 19-Apr-84 12:16:59, Frank ;[142] Fix broken FILCNV for normal-form (from George Boyce, Cornell). ;PS:KERMIT.MAC.799, 12-Apr-84 16:29:05, Frank ;[141] Decode filename in R packet instead of taking it literally. ; Also, allow ERMSG and KERMSG macros to take addresses, like %JSERR and ; %JSKER, and make their message formats nicer and more consistent. ;PS:KERMIT.MAC.792, 5-Apr-84 13:23:38, Frank ;[140] Make ^X = ^Z if we're sending a directory (or deleted file) listing. ;PS:KERMIT.MAC.791, 3-Apr-84 16:40:01, Frank ;[139] Fix "help receive" (table out of order). Fix problem where server was ; sending a directory listing, interrupted, then asked to delete files, and ; sent rest of directory listing before deleting files. ;PS:KERMIT.MAC.788, 26-Mar-84 13:11:11, Frank ;[138] Make sure any logs are closed after server FIN command. ; ;PS:KERMIT.MAC.783, 23-Mar-84 11:00:06, Frank ;[137] When server gets a FINISH command, exit from program rather than ; going back to KERMIT command level, as we used to before. Also: ; . Add SET PROMPT ; . Add SET RECEIVE SERVER-TIMEOUT (for Bernie) ; . Fix password delimitation in server CWD command. ; . Fill in LOCAL CWD command. ; ;PS:KERMIT.MAC.778, 19-Mar-84 19:27:57, Frank ;[136] Fix mistake in CRC calculation when parity being used. ; ;PS:KERMIT.MAC.767, 15-Mar-84 16:31:22, Frank ;[135] Move handshake code from beginning of SPACK to end of RPACK. ; This allows IBM communication to work again. ; Also, handle carrier drop a little better in SPACK. ; Also, make sure we close any open file after ^C out of file transfer. ; ;PS:KERMIT.MAC.752, 14-Mar-84 11:50:47, Frank ;[134] Make SHOW LINE really test carrier, rather than possibly old flag. ; Put modem/carrier checking stuff in CHKLIN routine. Also: ; . Be more defensive about terminal modes after running TTLINK. ; . Make sure file gets closed if in cAncel state. ; . Don't assign device if own controlling TTY (even if it is a TVT). ; . In GIVEUP, obey setting of INCOMPLETE FILE DISPOSITION for incoming ; files that ask to be discarded. ; ;PS:KERMIT.MAC.736, 13-Mar-84 16:27:08, Frank ;[133] When sending an I packet, keep trying till retry limit exceeded. ; Also, include byte count and byte size in directory listing. ; ;PS:KERMIT.MAC.735, 9-Mar-84 09:49:03, Frank ;[132] In STATISTICS, only show last JSYS error if debugging. Also: ; . QCTL field in S/I packets and their ACKs was backwards! Fix in SPAR, RPAR. ; . Fix a couple details with timers, clear all pending before setting. ; . In the unlikely event that an incoming filename can't be dealt with, store ; the file as -UNTRANSLATABLE-FILENAME-.KERMIT.-1 to avoid sending an error ; packet & terminating the transfer. ; ;PS:KERMIT.MAC.726, 7-Mar-84 11:52:31, Frank ;[131] Add time stamps to debugging-packets log (suggested by BillW). Also: ; . When logging incoming data, include current load-adjusted timeout interval. ; . Try to use different timeouts for sending & receiving. ; . Double outgoing IAC bytes in SPACK if TVT-BINARY is set. ; ;PS:KERMIT.MAC.716, 5-Mar-84 12:15:09, Frank ;[130] Rename SET TAC to SET TVT, because it really applies to all ARPANET ; TVTs. If TVT, must still OPENF line in 8 bit mode. Also: ; . In INCHAR, detect carrier loss and close, deassign line when it happens. ; . Take class scheduler into account when getting load averages. ; ;PS:KERMIT.MAC.705, 2-Mar-84 10:31:44, Frank ;[129] Install ARPANET TAC support changes from Dale Chase, ISI. ; Code mostly adapted from the TOPS-20 MODEM program (Bill Westfield, SRI). ; Dale's code modified at Columbia to operate through SET TAC rather than by ; determining TVT status through a site-dependent JSYS (DEC vs BBN vs...). ; ; Important installation note from Dale: ; ; Some TOPS-20s may need a patch or two to allow user programs to send the ; necessary telnet protocol negotiations. The monitor cell NVTDOD must contain ; "400000,,RSKP" so that TOPS-20 will accept the negotiation. And some sites ; may have code that "doubles" any IAC (octal 377) characters sent from a ; network terminal. We turned that off here by putting a "RET" in CHKIAC. If ; TOPS-20 doubles IACs, this program will not be able to negotiate telnet ; binary mode. ; ;PS:KERMIT.MAC.691, 29-Feb-84 17:00:05, Frank ;[128] Several final things before field-test: ; . Accept null data field in server commands. ; . In RPAR, ask other side to time us out based on our 15-min ldav rather ; than hardwired constant, DRTIM. New routine ADJTIM does this. ; Also, raise DRTIM from 8 to 15 seconds, since we're probably in better ; control of the timeouts than the KERMIT on the other side. ; . In local mode, don't mix up blips with debugging output. ; . When starting to send, check for incoming NAKs to cut short any delay. ; . Add support for LOG SESSION command. ; . Fix mistake in setting file size by clearing RCHR before entering RD state. ; . Ditto for SCHR when entering SD state. ; . Exchange parameters before sending file related commands to a server. ; . Don't send garbage in X headers after a timeout. ; . Allow RECEIVE when local, for talking to a remote non-server (undo [94]). ;PS:KERMIT.MAC.659, 24-Feb-84 18:53:47, Frank ;[127] Don't assign or open comm line if it's the controlling terminal, don't ; reset line between transactions if a server. This prevents a server that got ; detached (e.g. when carrier dropped) from making the line unavailable for ; further use. ;PS:KERMIT.MAC.653, 24-Feb-84 17:14:45, Frank ;[126] Put in all the transaction logging code, show status of it in SHOW. ;PS:KERMIT.MAC.641, 23-Feb-84 19:01:24, Frank ;[125] LOG command, parsing only. ;PS:KERMIT.MAC.638, 23-Feb-84 17:36:40, Frank ;[124] When sending a multipacket response to a server command, start with ; an S packet unless using type 1 block check, in which case start with X. ;PS:KERMIT.MAC.636, 23-Feb-84 17:10:52, Frank ;[123] Add S and N packet heuristics to RPACK to help resync when fancy ; block check types are being used, but the two sides lose track. ;PS:KERMIT.MAC.631, 23-Feb-84 14:38:50, Frank ;[122] Make directory listing neater. ;PS:KERMIT.MAC.629, 23-Feb-84 10:41:34, Frank ;[121] Fix turning off ^C trap after FINISH, again. ; Don't try to CLOSF or GNJFN if sending generated text rather than files. ; Restore normal i/o after sending server help message. ; Fix SRVCMD to actually do what it says it does. ; Fix problem with spurious repeat counts appearing in file headers. ;PS:KERMIT.MAC.627, 24-Jan-84 18:45:56, Frank ;[120] Add REMOTE HELP and server support for it. ;PS:KERMIT.MAC.617, 24-Jan-84 13:11:20, Frank ;[119] Decode incoming filenames and validate them more completely. ;PS:KERMIT.MAC.613, 23-Jan-84 19:28:23, Frank ;[118] Server does file deletions. ;PS:KERMIT.MAC.612, 23-Jan-84 18:01:33, Frank ;[117] Fix bugs: SEND x (INITIAL) was broken, and check for receive-packet ; buffer overflow, to prevent writing over other data (thanks to Greg Small ; of Berkeley for uncovering that one). ;PS:KERMIT.MAC.603, 19-Jan-84 17:08:00, Frank ;[116] Server sends directory listings. ;PS:KERMIT.MAC.570, 18-Jan-84 10:30:07, Frank ;[115] Rewrite directory listing code to allow for i/o redirection. ;PS:KERMIT.MAC.566, 17-Jan-84 11:03:38, Frank ;[114] Rewrite DIAMSG to give more informative message. ; When logging packets, precede received packets by "R:", sent by "S:". ;PS:KERMIT.MAC.31, 16-Jan-84 16:31:57, Frank ;[113] Add LOCAL DELETE command. ;PS:KERMIT.MAC.30, 16-Jan-84 16:15:25, Frank ;[112] Fix server command business of ACK vs Text Header; get/send one or the ; other, but not both. ;PS:KERMIT.MAC.18, 16-Jan-84 12:15:04, Frank ;[111] Make file stepping mechanism do 1-file lookahead. Add LOCAL DIRECTORY. ;PS:KERMIT.MAC.551, 13-Jan-84 19:16:44, Frank ;[110] Release TTY JFN when ^C'd out of server mode. ; Thanks to Kimmo Laaksonen (Helsinki), Norm Kincl (HP Labs) for reporting ; this bug, which surfaced when user detached after ^C out of server mode, ; leaving TTY assigned and unavailable for new jobs. ;PS:KERMIT.MAC.550, 13-Jan-84 17:36:32, Frank ;[109] Fix bad bug in 8th-bit prefixing. Also bug in SET PARITY command that ; prevented SET PARITY NONE from ever working. ;PS:KERMIT.MAC.542, 11-Jan-84 09:28:05, Frank ;[108] Add REMOTE DELETE, REMOTE DIRECTORY. Misc cleanups, minor fixes. ; Merge SDEBUG and DIAMSG. Better recovery from SPACK failures. ;PS:KERMIT.MAC.540, 10-Jan-84 17:40:57, Frank ;[107] Added server support for remote CWD command. ;PS:KERMIT.MAC.521, 9-Jan-84 18:26:43, Frank ;[106] Added REMOTE CWD command. ;PS:KERMIT.MAC.512, 9-Jan-84 12:44:11, Frank ;[105] Debug [104], add REMOTE HOST command. ;PS:KERMIT.MAC.500, 6-Jan-84 19:40:33, Frank ;[104] Add server and user TYPE command. ; Collapse a lot of redundant code into routines like SRVCMD and DOSRV. ;PS:KERMIT.MAC.499, 6-Jan-84 11:50:51, Frank ;[103] Provide disk quota query service in server mode. ;*************** Major Version 4.0 **************** ;PS:KERMIT.MAC.491, 5-Jan-84 18:49:24, Frank ;[102] Have SFILE call GETBUF to put filename in file header packet with ; full prefixing. This is the first use of GETBUF/ENCODE on non-file data. ;PS:KERMIT.MAC.487, 3-Jan-84 18:42:38, Frank ;[101] Strip ^V quote characters from outgoing file names. ;PS:KERMIT.MAC.472, 30-Dec-83 11:29:03, Frank ;[100] More debugging of [98]; got 3-char CRC to work. Also: ;.Make GET command send an I packet before the R packet, to tell other side ; what block check & other parameters to use when sending. Replace SINFO ; with a simple call to SINIT -- they do the same thing. ;.New headings for SHOW PACKET display. ;.If local, say delay is 0 in SHOW TIMING. ;PS:KERMIT.MAC.469, 29-Dec-83 20:53:36, Frank ;[99] Debugging of [98]; Got 2-character checksum actually working. Also: ;.In RPACK, allow receipt of 1-char checksummed null packet, even if doing ; 2 or 3 char block checks. Other side might have restarted & sent a NAK. ;.Tightened up various much-used loops. ;.Improved packet logging -- now every character sent or received is logged. ;PS:KERMIT.MAC.2, 28-Dec-83 09:25:32, Frank ;[98] Added support for 2- and 3-character checksums. ;************* Version 3.4 ************** ;PS:KERMIT.MAC.448, 23-Dec-83 13:59:52, Frank ;[97] In INILIN, preserve TTY mode word settings that don't effect KERMIT, so ; as not to cause undesired side effects with TACs, etc. Fixes(?) bug reported ; by Keith Petersen, diagnosed by Mark Crispin. ;PS:KERMIT.MAC.442, 20-Dec-83 19:47:03, Frank ;[96] Add SEND (AS) remote-filespec when sending a single file. ; Don't confuse user by displaying escape character in SHOW LINE when remote. ;PS:KERMIT.MAC.437, 15-Dec-83 19:20:10, Frank ;[95] Remove SET EIGHTH-BIT-PREFIX command, always request it if parity is ; being used. Minor cleanups of help & program text. Change version number ; typeout to agree with the way the Exec now does it: major.minor(edit)-who. ; Get rid of old GTCHR and PTCHR routines, and SET IBM routines. ;PS:KERMIT.MAC.431, 14-Dec-83 18:21:44, Frank ;[94] Don't allow user to type RECEIVE or SERVER commands when local. ;PS:KERMIT.MAC.428, 14-Dec-83 15:18:03, Frank ;[93] Minor corrections in ENCODE for off-by-1 errors doing repeat counts. ;PS:KERMIT.MAC.420, 14-Dec-83 12:39:32, Frank ;[92] Add repeat count processing to SPAR, RPAR, SINIT, RINIT. ; (It was already in the i/o routines, but never used.) ;PS:KERMIT.MAC.419, 13-Dec-83 18:25:55, Frank ;[91] Add routine TTXON, call it whenever there's a timeout. ; This should unstick the two sides in case of an XOFF deadlock. ;PS:KERMIT.MAC.415, 12-Dec-83 13:04:35, Frank ;[90] Make 8th-bit prefixing work with PDP-10 36-bit binary files. ;PS:KERMIT.MAC.405, 9-Dec-83 15:15:39, Frank ;[89] Polish up previous edit. Turn on prefixing if using parity. ;PS:KERMIT.MAC.400, 8-Dec-83 16:40:28, Frank ;[88] Turn on 8th-bit prefixing in RPAR & SPAR, add SET & SHOW stuff for it. ;****************** Version 3C ********************** ;PS:KERMIT.MAC.394, 2-Dec-83 14:50:55, Frank ;[87] Fix bugs in [85]; make sure line does not change after halt/cont. ;PS:KERMIT.MAC.382, 1-Dec-83 14:15:24, Frank ;[86] Don't send 4 extra characters if file is ITS binary. ;PS:KERMIT.MAC.381, 1-Dec-83 13:58:23, Frank ;[85] Make rescan work even if no KERMIT.INI file. ; Make sure line is set up correctly after exit and continue. ;PS:KERMIT.MAC.379, 25-Nov-83 17:13:16, Frank ;[84] Add SET option to convert file names to "normal form". ; SET FILE-BYTE-SIZE changed to SET FILE BYTESIZE to allow other file ; options, like this new one (SET FILE NAMING). ; Still allow "SET FILE 8", etc, for compatibility with the old way. ;PS:KERMIT.MAC.361, 25-Nov-83 11:34:54, Frank ;[83] Return properly from SHOW ALL command. ; Allow init file to be taken even when there is a command line argument. ; Init file is always taken before looking at any other commands. ;PS:KERMIT.MAC.355, 11-Nov-83 19:14:43, Frank ;[82] Clear/refuse links, system messages during file transfer. ; Also, make sure we print the contents of any incoming error packet if ; in local mode. Also, don't echo back DEFINEs any more. ;PS:KERMIT.MAC.354, 9-Nov-83 18:35:53, Frank ;[81] More miscellaneous fixes: ; . Since CCOFF is called whenever RESLIN is called, have RESLIN call CCOFF. ; . Don't turn ^C trap off between transactions if running in server mode. ; . Fix broken autobyte code (skipn/skipe, sigh...) ; . Fix broken "bit35" code in PUTCH for SOS & PDP-10 binary files. ; . Remove debugging output for DEFINE & SET macro stuff. ;PS:KERMIT.MAC.338, 8-Nov-83 11:39:11, Frank ;[80] Fix miscellaneous bugs: ; . Communication line JFNs improperly juggled in $SETLN. ; . Control-C trap was leaving an extra entry on the stack. ; . Turn off Control-C trap after ^C out of send, receive, or server mode. ; . Close file we're sending if other side sends an error packet. ; . Time transfer started not always properly initialized. ; . Remove garbage at end of set-macro body string. ; . Clean up code at $SEND and $RECV for server entry. ;PS:KERMIT.MAC.331, 28-Oct-83 20:35:46, Frank ;[79] Do an implicit TAKE of KERMIT.INI upon initial startup. ;PS:KERMIT.MAC.309, 28-Oct-83 15:29:45, Frank ;[78] Add TAKE command to allow (nested) command files. ;PS:KERMIT.MAC.288, 27-Oct-83 18:55:44, Frank ;[77] Add DEFINE command for SET macros. Remove hardwired SET IBM. ;PS:KERMIT.MAC.268, 26-Oct-83 14:15:23, Frank ;[76] Add SET HANDSHAKE. ;PS:KERMIT.MAC.251, 12-Oct-83 10:51:56, Frank ;[75] Add ITS binary format file handling, as specified in KRFC #3. ;PS:KERMIT.MAC.243, 10-Oct-83 13:33:53, Frank ;[74] Fix bug that truncated JSYS error messages in error packet text. ;PS:KERMIT.MAC.241, 10-Oct-83 13:07:33, Frank ;[73] Make sure old JFN's on assigned TTYs are released properly. ;PS:KERMIT.MAC.240, 10-Oct-83 11:44:47, Frank ;[72] Fix bug that made any file sent after a null file also null. ; Fix bug in which last send from server sets byte size for next receive. ;PS:KERMIT.MAC.237, 7-Oct-83 16:47:24, Frank ;[71] Fix SHOW DEBUG not to foul up if log JFN is .PRIOU. ;PS:KERMIT.MAC.230, 7-Oct-83 14:02:35, Frank ;[70] Catch illegal memory references when mapping in a nonexistent page. ; If i/o error sending a file, don't cancel, tell other side to discard. ; This allows wildcard sends to proceed after a memory access error. ; Also, allow ^C's to interrupt a nonworking FINISH or BYE command gracefully. ;PS:KERMIT.MAC.224, 6-Oct-83 18:56:09, Frank ;[69] Fix bug that prevented interrupts from working after EXIT & continue. ;PS:KERMIT.MAC.219, 6-Oct-83 15:13:33, Frank ;[68] Separate local and remote mode top-level command tables. ; Make remote commands invisible in local mode & vice versa. ; Move command keyword tables to where they are used. ;PS:KERMIT.MAC.212, 6-Oct-83 10:18:30, Frank ;[67] Remove REMOTE & LOCAL commands for now -- these will be added later. ; Update help text to reflect changes since last release, mainly ^A,^X,^Z. ; Rename SET ABORTED-FILE to SET INCOMPLETE to avoid emotionally toned word. ; Rename SET IBM-FLAG to SET IBM (flags are for programmers). ; Break up help text for SET command. ; Move help text for each command to same area as command itself. ;PS:KERMIT.MAC.202, 4-Oct-83 19:16:37, Frank ;[66] Same deal as [63], but for file output routines. ; Old PTCHR replaced by PUTBUF, DECODE, and PUTCH. ; Also, include Nick Bush's CRC routine, but don't use it yet. ;PS:KERMIT.MAC.199, 30-Sep-83 19:48:52, Frank ;[65] Clean up SEND command parsing, don't parse for initial filespec if no ; wildcards given. ;PS:KERMIT.MAC.196, 29-Sep-83 19:13:45, Frank ;[64] Debug the previous edit for basic service. ;PS:KERMIT.MAC.184, 28-Sep-83 18:53:21, Frank ;[63] Rewrite file input routines to separate i/o from packet formation. ; New routines are GETBUF to fill a packet buffer, ; GETCH to get an input character, ; ENCODE to process the character, performing control quoting, prefix quoting, ; and, if selected, 8th-bit quoting and repeat count processing. ; GTCHR is still present, but not used at all. ;PS:KERMIT.MAC.169, 19-Sep-83 17:56:27, Frank ;[62] Add ^X and ^Z to interrupt receiving a file or a batch, respectively. ; Required insertion of data ("D") in ACK for data packet. ;PS:KERMIT.MAC.163, 16-Sep-83 19:19:13, Frank ;[61] Put brief status report on ^A, like NFT has. ;PS:KERMIT.MAC.156, 16-Sep-83 15:45:56, Frank ;[60] Add return code to SPACK to distinguish different kinds of failures. ;PS:KERMIT.MAC.151, 15-Sep-83 19:32:57, Frank ;[59] Add ^X and ^Z to interrupt sending a file or a batch, respectively. ; Required addition of data ("X" or "Z") to Z packet. ;PS:KERMIT.MAC.146, 15-Sep-83 16:18:26, Frank ;[58] Add sending of "I" packets before server commands. ;PS:KERMIT.MAC.137, 8-Sep-83 20:20:28, Frank ;[57] Add debugging log capability to server commands as well as file xfer. ;PS:KERMIT.MAC.130, 8-Sep-83 18:55:05, Frank ;[56] Begin adding new server commands. First, add LOCAL and REMOTE ; top level commands, with operands like DELETE, TYPE, DISK, etc. ; Implement DISK first, that's the easiest test of sending back info in ; the data field of an ACK. Also, catch a couple places where the nonskip ; return from SPACK was not being accounted for (oops!). ;**************** Version 3B ******************************* ;PS:KERMIT.MAC.126, 8-Sep-83 15:14:37, Frank ;[55] Add CFIBFs in BYE and FINISH; all commands to servers should do this. ;PS:KERMIT.MAC.123, 8-Sep-83 14:02:38, Frank ;[54] Report number of NAKs and timeouts in STATISTICS command. ;PS:KERMIT.MAC.7, 2-Sep-83 17:56:19, Frank ;[53] When receiving a file, NAK a trashed packet immediately, don't just wait ; for it to come again and only NAK after timeout. This should result in a ; major speed improvement over noisy lines. The book has always said to do it ; this way. Fix is in RINIT, RFILE, RDATA. Other KERMITs may need this too. ;PS:KERMIT.MAC.4, 2-Sep-83 16:43:22, Frank ;[52] Combine some common code in the send routines, and improve comments. ;PS:20KERMIT.MAC.40, 25-Aug-83 15:28:36, Frank ;[51] Fix packet number compares for mod 64 in SFILE, SDATA, SEOF, SEOT. ; This eliminates canceling whenever a retransmission of packet 0 occurs. ;CU20D::PS:[SY.FDC]KERMIT.MAC.32, 29 June 1983, 5:39PM, Frank ;[50] Change and document the calling conventions of RPAR & SPAR to eliminate ; the mess from the last few edits. Do even more validation in SPAR. ;PS:KERMIT.MAC.118, 29-Jun-83 14:31:52, Frank ;[49] Fix another bug in SPAR, change method of incrementing packet numbers. ;PS:KERMIT.MAC.114, 28-Jun-83 16:43:09, Frank ;[48] Point to data buffer correctly in SPAR & RPAR. This was lost in some ; previous edit. ;PS:KERMIT.MAC.110, 28-Jun-83 15:10:26, Frank ;[47] Fix bad checksum reporting, again. Print most recent JSYS err in STAT. ; Don't let other side's Send-Init parameters override any local SET commands. ;PS:KERMIT.MAC.104, 27-Jun-83 17:37:54, Frank ;[46] CFIBF after timeout in RPACK. Be more consistent about how errors ; are handled in receive routines. Clean up server command loop a little. ;[PS:KERMIT.MAC.101, 24-Jun-83 20:18:42, Frank ;[45] Fix SHOW command for timing info. ;[PS:KERMIT.MAC.99, 24-Jun-83 17:54:07, Frank ;[44] In SFILE, don't give up if OPENF failed because file already open. ;PS:KERMIT.MAC.92, 24-Jun-83 16:55:38, Frank ;[43] Don't do timeouts if STIMOU is 0, as protocol says. Kermit-65 was ; sending a space (which translates to 0) in this field of the send-init by ; mistake, and Kermit-20 was doing rapid-fire timeouts. ;CU20D::PS:[SY.FDC]KERMIT.MAC.19, 22 Jun 83 17:12:33, Frank ;[42] Release any piled up log jfns. Issue KERMSGs any time we cancel. ; Add SET ABORTED-FILE (DISPOSITION) DISCARD | KEEP ;PS:KERMIT.MAC.89, 17-Jun-83 11:48:26, Frank ;[3A(41)] Clean up listing & help messages, declare minor version "A". ;************************ Version 3A ****************************** ;PS:KERMIT.MAC.83, 16-Jun-83 16:10:47, Frank ;[41] Add bytesize selection option for debugging log file (7 or 8 bit), ; for use when debugging binary file transfers. Force debugging on ; when log file requested. ;PS:KERMIT.MAC.75, 16-Jun-83 12:32:34, Frank ;[40] Remove the last remaining long lines. Get rid of hairy %CLEAR macro. ; Don't send an error packet longer than the other side's maximum packet size. ; Always blank out the error message packet buffer before filling. ;PS:KERMIT.MAC.71, 16-Jun-83 11:36:51, Frank ;[39] Change STATUS to STATISTICS, give optional arguments to SHOW command. ; Print program version upon startup. ;CU20D::PS:KERMIT.MAC.13, 15-Jun-83 18:12:37, Frank ;[38] Allow debugging output to go to a file. Thus can even get debugging ; information when running remotely. Suggested by Dave King at CMU. ;CU20D::PS:KERMIT.MAC.6, 15-Jun-83 14:34:19, Frank ;[37] Add SET RETRY, fix FLDDB's so none are more than 80 chars wide. ;PS:KERMIT.MAC.68, 15-Jun-83 11:47:19, Frank ;[36] Add SET SEND PAUSE, and include pause info in SHOW & STATUS commands. ;PS:KERMIT.MAC.64, 14-Jun-83 19:25:45, Frank ;[35] Add SET RECEIVE PAUSE, suggested by Dave King at CMU. ;PS:KERMIT.MAC.61, 14-Jun-83 18:40:48, Frank ;[34] In SPACK, send padding if requested. ;PS:20KERMIT.MAC.34, 10-Jun-83 12:55:42, Frank ;[33] Cancel correctly if the output file can't be opened. ; Enclose checksum characters in quotes in debugging messages. ;*********** Version 3(40) Shipped to over 100 sites May 5 ************ ;PS:KERMIT.MAC.56, 4-May-83 09:01:16, Frank ;[32] Report bad checksums correctly when debugging. ; Report error message from server & cancel if it can't get a file. ;PS:KERMIT.MAC.54, 26-Apr-83 19:08:00, Frank ;[31] Beep when done with a transfer, if local. ;PS:20KERMIT.MAC.8, 15-Apr-83 14:45:36, Frank ;[30] A NAK for the next packet is *not* the same as an ACK for the current ; packet if the current packet is Send-Init. ;PS:KERMIT.MAC.42, 15-Apr-83 11:39:08, Frank ;[29] When debugging packets, print checksum of incoming packets, and ; print bad packets. ;PS:KERMIT.MAC.41, 8-Apr-83 19:31:28, Frank ;[28] Add FINISH command. ;PS:KERMIT.MAC.29, 8-Apr-83 12:43:02, Frank ;[27] Fix ^C trap to DEBRK to the right place in all cases. ;PS:KERMIT.MAC.28, 8-Apr-83 09:38:49, Frank ;[26] Save and restore normal send timeout when going in & out of server ; command-wait. ;PS:KERMIT.MAC.27, 7-Apr-83 20:20:15, Bill C. ;[25] Neaten up SERVER mode time out changes. ;PS:KERMIT.MAC.20, 5-Apr-83 18:14:14, Frank ;[24] Fix SPAR to account for the actual length of an incoming SEND-INIT. ;PS:KERMIT.MAC.19, 5-Apr-83 17:46:23, Frank ;[23] Include both send and receieve parameters in SHOW command. ;PS:KERMIT.MAC.4, 3:20pm Tuesday, 5 April 1983, Frank ;[22] Add debugging options. Remove i/o to DIAJFN and just test LOCAL and ; DEBUG flag values. Make DEBUG an AC, move RTOT & STOT to memory. ;PS:KERMIT.MAC.81, 1-Apr-83 15:59:19, Frank ;[21] Change SET SEND/RECEIVE QUOTE to parse an octal number. The hairy ; .CMUQS/breakmask/.CMTOK parsing tended to hang the program... ;PS:KERMIT.MAC.75, 1-Apr-83 15:13:43, Bill C. ;[20] Make packet time outs longer if in server mode awaiting commands. ;PS:KERMIT.MAC.72, 1-Apr-83 12:55:40, Frank ;[19] Print "[OK]" for each file successfully sent or received, if local. ;PS:KERMIT.MAC.65, 31-Mar-83 16:43:20, Frank ;[18] Expanded help text, with individual help for each command. ; Added SET DUPLEX, SET SEND/RECEIVE START-OF-PACKET. ;PS:KERMIT.MAC.58, 31-Mar-83 13:35:57, Bill C. ;[17] Restore CFIBFs of yore. Clears up packet echoing and stacking. ;PS:KERMIT.MAC.52, 31-Mar-83 10:58:12, Frank ;[16] Add SET ESCAPE (for CONNECT), try to print remote message after BYE. ;PS:KERMIT.MAC.48, 30-Mar-83 19:54:32, Frank ;[15] Don't bomb if we can't open a file to be sent, just print nice msg. ;PS:KERMIT.MAC.47, 30-Mar-83 18:16:53, Frank ;[14] Add code for ^B interrupts, but don't use it for anything yet. ;PS:KERMIT.MAC.45, 30-Mar-83 15:06:42, Frank ;[13] Don't delay before send if local. ;PS:KERMIT.MAC.41, 30-Mar-83 13:52:57, Frank ;[12] When local, print name of file being sent or received. ;PS:KERMIT.MAC.33, 29-Mar-83 17:59:47, Frank ;[11] Talk to Kermit server. Added BYE and GET commands. ;************* Version 3 **************** ;PS:KERMIT.MAC.22, 28-Mar-83 14:56:39, Frank ;[10] Enable ^C capability if not on already (reported by Willis Dair, SCU). ; If we can't enable it, don't go on unless we're running under batch. ;PS:KERMIT.MAC.21, 20-Mar-83 17:55:27, Bill C. ;[9] Fixed SHOW command to print number of blips correctly. ;PS:KERMIT.MAC.17, 18-Mar-83 20:31:00, Frank ;[8] Added some help to the help text. ;PS:KERMIT.MAC.15, 18-Mar-83 19:03:51, Frank ;[7] Assign & deassign line if not already assigned. This prevents ; "?Line is not active" and similar errors if Kermit is run on top of TTLINK ; rather than vice versa, and not under DIAL (both TTLINK and DIAL will do ; their own assigning, if necessary). Thanks to Willis Dair, Santa Clara ; University, for pointing out the bug. ;PS:KERMIT.MAC.14, 18-Mar-83 18:44:39, Frank ;[6] Differentiate between remote & local timeouts in SHOW command. ; Add version #, date/time, etc, to SHOW. ; Replace a zillion NOUTs with NUMOUT macro. ;PS:KERMIT.MAC.12, 17-Mar-83 18:47:21, Frank ;[5] Give error message when initial connection can't be made, if local. ;PS:KERMIT.MAC.7, 17-Mar-83 15:54:33, Frank ;[4] When acting as local Kermit, show packet traffic by typing blips. ;PS:KERMIT.MAC.6, 17-Mar-83 15:31:30, Frank ;[3] When comparing packet numbers, allow for wraparound. ;PS:KERMIT.MAC.3, 17-Mar-83 10:53:03, Frank ;[2] Cont'd... Show range of timeouts in SHOW command. ;PS:KERMIT.MAC.2, 15-Mar-83 12:51:12, Frank da Cruz ;[2] Make timeouts load-dependent. Fix spelling of "interrupt" everywhere. ;PS:20KERMIT.MAC.22, 20-Feb-83 14:13:19, Bill C. ;[1] Put in a CFIBF% in the INILIN code to clear the line at the beginning ; of each send or receive of backed up NAKs. This may not be just right. This ; can lose a Send Init packet some times. This will work til the problem can ; be looked at more closely. ;*************************** Major Version 2 ******************************** ;PS:KERMIT.MAC.20, 8-Feb-83 14:43:48, Bill C. ; Put in (FINALLY!) the SHOW command. ;PS:KERMIT.MAC.11, 8-Feb-83 10:04:10, Bill C. ; Add SET PARITY command. Eliminate IGNORE-PARITY as its functionality is ; replaced by SET PARITY SPACE. ;PS:20KERMIT.MAC.3, 4-Feb-83 11:04:08, Bill C. ; Change TELNET to TTLINK (by FdC) and remove TELNET command. ;PS:KERMIT.MAC.38, 26-Jan-83 15:35:37, Bill C. ; Make Kermit able to act as a SERVER. ;PS:20-KERMIT.MAC.29, 18-Jan-83 14:08:45, Bill C. ; Take care of the case where user set terminal pause char to ^A. ;PS:20-KERMIT.MAC.27, 11-Jan-83 13:19:06, Bill C. ; Fix ^C trap bug that caused illegal instruction. ;PS:20-KERMIT.MAC.22, 11-Jan-83 11:40:01, Bill C. ; Fix bug in SET IGNORE-PARITY COMMAND. ;PS:20-KERMIT.MAC.11, 10-Jan-83 16:52:03, Bill C. ; Add turn around char for the IBM running VM/CMS. ;PS:20-KERMIT.MAC.8, 7-Jan-83 17:59:01, Bill C. ; Fix numerous mispellings of received. ;PS:20-KERMIT.MAC.3, 7-Jan-83 16:06:04, Bill C. ; Clean up the diagnostic and error message code. ;PS:20-KERMIT.MAC.2, 7-Jan-83 15:06:02, Bill C. ; Add the TELNET command (thanks to Bill Schilit.) Change EXIT/CONT ; sequence to not throw away JFN. ;PS:KERMIT-20.MAC.2, 14-Dec-82 15:25:40, Bill C. ; Be scrupulous in PMAP use after errors. Don't make files with holes. ;PS:KERMIT.MAC.44, 28-Sep-82 09:47:32, Bill C. ; Add ignore parity option for some UNIX systems. ;PS:KERMIT.MAC.19, 28-Apr-82 16:00:31, Bill C. ; Big clean up. Consolidate duplicate sections of code. Also, ; no longer die on bad packet type, just NAK or retransmit. ; Removed empty show command. ;PS:KERMIT.MAC.18, 21-Apr-82 16:31:04, Bill C. ; Clean up line on ^C from transfer. ;PS:KERMIT.MAC.17, 17-Feb-82 16:16:10, Bill C. ; Add eight bit file mode. ;PS:KERMIT.MAC.16, 28-Jan-82 12:31:09, Bill C. ; Clean up better on some error conditions. ;PS:KERMIT.MAC.15, 6-Jan-82 12:18:06, Bill C. ; Fill out some of the SET command options. subttl THINGS TO DO... ; * Internal cleanup -- do state transition, packet input & ACK/NAK, etc ; globally like C-Kermit, instead of replicating the same code all over. ; ; * Check/fix bugs: ; . Page mode on/off on assigned line (got some complaints, not verified). ; . ^A in local mode sometimes gets lost. ; . ^A sometimes not turned off (e.g. after ^C out of f.t., then connect) ; ; * Move receive-file opening code to RDATA (& REOF); don't open file until ; first data packet (or EOF if null file) arrives, to prepare for attributes. ; ; * Finish adding server functions: COPY, RENAME, WHO, MESSAGE, STATUS, RUN, ; KERMIT (e.g. "remote kermit set file bytesize 8"). ; ; * Do something with the REMOTE ERROR command (like think of a better name, ; make it visible, and document it, maybe put it on ^E). ; ; * When local and receiving a file, if ^Z has no effect, send an error packet ; to shut down the transaction. ; ; * Add host commands. Fork an Exec, pass commands to it in rescan, somehow ; pipe the Exec's typeout back, packetized. Too bad TOPS-20 isn't UNIX... ; Maybe use LOTS's new pipe device? ; ; * Add some support for file attribute packets. ; ; * Integrate %JSERR etc with the debugging log mechanism? ; ; * When receiving a file, put the name I open the file under in the data field ; of the ACK to the File Header. When receiving File Headers in local mode, ; print the contents of the data field instead of doing a JFNS if the data ; field is not empty. ; ; * In local mode, allow running as a background fork. Or use ^P as an ; interrupt character during file transfer to Push to an inferior exec while ; the transfer continues above. ^A should still give progress report. ; ; * Separate out the routines according to ISO levels. In particular, make the ; transport-level routines available to any other application (like mail, ; e.g. SMTP) that may want to use them. ; ; * For various reasons, it might be nice to allow KERMIT-20 to send its ; packets to a file, without another KERMIT to talk to. This will translate ; a file into all printable characters (with data compaction, etc) suitable ; for transmission over an RJE link or other picky communication media. ; ; * Have CWD check to see if we are trying to connect to a structure ; that we do not have mounted and issue the MSTR% ourselves to mount ; it, if so. Do NOT bypass mount counts as this will prevent proper ; billing for structure mounts (see usage specification for .UTDSU ; and .UTMNT records, also found in actsym.mac) ; ; Automounting code was written for FAL/FALSUB/DAPSRV, so a fair ; amount can be lifted from this. ; ; Probably shouldn't do a fork-only (.msicf) because then doing the ; ACCES% would result in other forks seeing funny things or not ; being able to create files at all. ; ; * Sure would be nice to have that snappy graphical display that C-Kermit ; does when doing a transfer. Nicer to look at then ... dots ... ; ; * When running against Kermit-20 4.2(174), seemed to get into ; condition that, if parity is on in any way, seems to always check ; parity, even for /generate-only ; ; * Put all of the SET variables into a seperate page so they can be ; dumped and mapped in a binary format. Basically can go through ; everything that SHOW displays and move that to a seperate .PSECT. ; Maybe call the .PSECT something obvious, like CONFIG? ; ; * Support for the below ; ; cdup command. Generic 'G'. ; [T291] New HPTIM% function: .HPEUD, return uptime as an unwrapped 70 bit ; [T290] New HPTIM% function: .HPFRT, read another fork's high precision run time ; SHOW FORKS, for what we have CFORK%'ed ; ; * Bugfix ; ; define /DUMP will write a file where the byte count is the number ; of macros is and the byte size is zero, thus making it impossible ; to send with 36 bit mode. ; ; * What would it take to send and recieve automatic byte sizes? ; Would need to implement the "A" attributes packets wih the " ; (ASCII 34) TYPE, with A, B or I having values as appropriate. ; ; * Set PARITY /Retry so that parity doesn't fail the transfer. Could ; use it in addition to block check. Parity plus CRC would catch ; certain picked bits on packets that CRC alone would not. SHOW LINE ; should display number of times bad parity was detected. Should ; just jump to badc in k20mit.mac. ; ; * Set prompt have a parameter to make CU20B::Kermit-20> END ; Local Modes: ; Mode:MACRO ; Comment Column:32 ; Comment Start:;[255] ; Comment Begin:;[255] ; Auto Fill Mode: 0 ; End: