Columbia University Center for Computing Activities INFO-KERMIT DIGEST VOLUME 15 Christine M. Gianone, Editor January - June 1992 Table of Contents Volume 15, Number 1 1 Volume 15, Number 2 7 Announcing C-Kermit 5A BETA 7 Volume 15, Number 3 16 A few release files more for Kermit-12 17 New BOO file Encoder / Decoder 18 INFO-KERMIT DIGEST V15 #1 Page 1 Info-Kermit Digest Fri, 24 Jan 1992 Volume 15 : Number 1 Today's Topics: PC-Initiated File Transfers with VM/CMS File Transfer Macros for MS-DOS Kermit / Kermit-CMS Mapping CR to CRLF in MS-DOS Kermit MS-DOS Kermit 3.11 43x132 WD VGA Screen Bug? MS-DOS Kermit and Screen Length Is the MS-DOS Kermit INPUT Command Buffer Accessible? Problems with MS-DOS Kermit and DOS 5 SHARE MS-DOS Kermit 3.11 w/ DECnet LAT & WP5.1 Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMA.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMA.BITNET or LISTSERV@CUVMA.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I-KERMIT (To start a subscription) UNSUBSCRIBE I-KERMIT (To cancel a subscription) REGISTER I-KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Center for Computing Activities, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Thu, 19 Dec 91 15:10:58 CST >From: "Ray Carlson 2-5805" Subject: PC-Initiated File Transfers with VM/CMS Keywords: VM/CMS Kermit, MS-DOS Kermit, Host-Initiated File Transfer Xref: CMS Kermit, See VM/CMS Kermit In Info-Kermit Digest V14 Number 11, Professor TJ Olney gave a couple of macros for for doing file transfers from your PC. The Editor replied with info about TERMINALS and TERMINALR macros and pages 180-181 of second edition of "Using MS-DOS Kermit". Since I wanted the ability to transfer files with a single command from the mainframe, I investigated further. The manual assumes C-Kermit 5A or later and 2 macro definitions: define pcsend echo \27[\{63}34l, send \%1 \%2 define pcget echo \27[\{63}34h, get \%1, finish However, I'm running Kermit-CMS version 4.2.2 XA, and it doesn't like Page 2 INFO-KERMIT DIGEST V15 #1 macros. Is there any way of doing file transfers with a single command using MS-DOS Kermit 3.11 and Kermit-CMS version 4.2.2 XA, preferably from the mainframe side of Kermit. Thanks in advance for your help. [Ed. - Actually, this can be done with CMS Kermit. For downloading files, you can write a CMS EXEC that starts Kermit and gives it an XECHO (Transparent Mode Echo) command (for the escape sequence), and then a SEND command. Similarly for uploading. But if you want to initiate the transfers from the PC rather than the host, read the next message...] ------------------------------ Date: Wed, 8 Jan 92 17:30 EST >From: "H. D. Knoble" Subject: File Transfer Macros for MS-DOS Kermit / Kermit-CMS Keywords: VM/CMS Kermit, MS-DOS Kermit, PC-Initiated File Transfer In the Info-Kermit 14-11 Newsletter, a response was given to professor Olney who suggested macros for file transfer. That response suggested using the TerminalR/S macros. This requires sending those codes transparently to MS-DOS Kermit (e.g. via the Kermit-CMS XEcho subcommand) - a somewhat complicated slow procedure that can be timing dependent (among other anomalies). It seems that it would be desirable to have two hot keys, say Alt-D and Alt-U that would provide file xfer beginning at and ending with the host screen. To simplify it, these keys could work for the bulk of files (text files) that the majority of people work with. The filespecs could be provided via prompts, null responses to which which would immediately return to the clean host screen. The code The code and screens presented should be reasonably efficient, robust, and hopefully obviously easy to use. Many thanks; for your work and book too. Skip Knoble, Research Associate ;-------------------------- MSKERMIT.INI code segment begin------------- ; Define macros and hot keys to enable file transfer via prompts. ; Alt-D downloads a CMS text file, Alt-U uploads a DOS text file. ; The Kermits involved are MS-Kermit and Kermit-CMS in this case. ; File transfer is initiated and ends with any CMS screen where a ; command may be issued. The output commands are specific to an ; asynchronous connection to CMS through the Yale IUP (e.g. IBM Series 1, ; IBM 4994, IBM 7171); the rest of the code should be independent of ; that and Kermit-CMS. File type being called TEXT in the prompts ; assumes this setting for illustrative purposes. ; DEF fc finish, output \07, clear, c, stop; Ctrl-G = Yale IUP reset. ; Esc OM is Yale IUP (hard) clear screen. DEF DnLd def \%1, output \27OM, output kermit server\13, - Input 5 local Kermit,if failure do fc,run CLS, - Echo *** Download text file(s) from CMS to DOS ***\13, - Echo . (Press Enter for 1st prompt to cancel)\10\13, - Ask \%1 Please enter CMS filespec:\32, if not defined \%1 do fc, - Ask \%2 Please enter DOS path or DOS filespec:\32, - Get, \%1, \%2, if failure run PAUSE, do fc SET KEY \2336 {\KDnLd}; Alt-D Downloads a CMS text filespec to DOS. INFO-KERMIT DIGEST V15 #1 Page 3 ; DEF UpLd def \%1, def \%3, output \27OM, output kermit server\13, - Input 5 local Kermit,if failure do fc,run CLS, - Echo *** Upload text file(s) from DOS to CMS ***\13, - Echo . (Press Enter for 1st prompt to cancel)\10\13, - Ask \%1 Please enter DOS filespec:\32, if not defined \%1 do fc, - Ask \%2 Please enter CMS filespec:\32, - Ask \%3 Please enter CMS destination disk filemode (press Enter=default)\32, - if defined \%3 remote kermit set dest \%3, if failure do fc, - Send \%1 \%2,if failure run PAUSE, do fc SET KEY \2326 {\KUpLd}; Alt-U Uploads a DOS text filespec to CMS. [Ed. - This is a fine example of how to use MS-DOS Kermit's script programming, macro, and key definition features to make life easy for users. Obviously, many of the items shown above are specific to Penn State's site configuration (Yale ASCII protocol converter, the reset character that is sent to the protocol converter, etc). But with minor changes, these "scripts on keys" should work at any CMS installation. Nice work!] ------------------------------ Date: Tue, 17 Dec 1991 21:09:07 GMT >From: alistair@bcu.ubc.ca (Alistair Blachford) Subject: Mapping CR to CRLF in MS-DOS Kermit Keywords: MS-DOS Kermit Heath Terminal Emulation, Heath Terminal Emulation I'm running MS-DOS Kermit, talking down a serial line to a lab instrument that send back lines ending only with a bare carriage return character (Control-M, ^M). I'd like to read the received information properly, i.e. one line on the screen to each received line. For example, if the instrument sends out "hi^Mthere^Mworld^M", I'd like to see on my screen: hi there world I haven't managed to find the right incantation to do this. Thanks. Alistair Blachford Biosciences Computing Unit University of British Columbia Vancouver, Canada, V6T 1W5 [Ed. - And a magic incantation it is! 1. SET TERMINAL TYPE HEATH 2. SET LOCAL ECHO ON 3. CONNECT 4. Type these three characters: ESC x 8 This tells the Heath terminal emulator to map incoming CR to CRLF. VT terminals do not have this capability. This is documented in "Using MS-DOS Kermit", second edition, on page 316. Unfortunately, the parameters 8 and 9 were inadvertantly exchanged in the book. "8" maps CR to CRLF, "9" maps LF to CRLF. "y" (as the second character) restores things to normal.] Page 4 INFO-KERMIT DIGEST V15 #1 ------------------------------ Date: Thu, 12 Dec 1991 15:54:20 -0600 >From: "Dugal James P." Subject: MS-DOS Kermit 3.11 43x132 WD VGA Screen Bug? Subject: MS-DOS Kermit and Screen Length I have a problem retaining 43x132 and 50x132 mode in MS-Kermit 3.11 of 7 Sep 1991 patch level 7. I run MS-DOS 4.01 on a CompuAdd 386/25, with a stock VGA card. It appears to be a Western Digital card. I load ANSI.SYS high using QEMM 5.0, and then type: mode con: lines=50 (or 43, as desired) and get the appropriate results. When I invoke Kermit with a VT320 terminal width of 80, everything seems OK. When I escape to MS-Kermit command level and set terminal width to 132, and then reconnect, I lose the 50-line mode in favor of the 43-line mode. Could this be a VGA limitation? Further, when I escape to Kermit command level a second time, the display reverts to 25-line mode (but 132-column mode is retained). I must exit and re-run the mode command to regain 43/50 line mode. Help! James Dugal, N5KNX Internet: jpd@usl.edu Associate Director Ham packet: n5knx @k5arh (land), UO-14 (sat.) Computing Center US Mail: PO Box 42770 Lafayette, LA 70504 University of Southwestern LA. Tel. 318-231-6417 U.S.A. [From jrd - Every board on the market has a different way of doing screen shapes. Kermit can't track all of them and thus has to revert to closest standard values that make some sense. Western Digital has made boards and OEM'd their video controller to many companies and each can add some special modes to the BIOS. Kermit knows about mode 54 (132x43) and 55 (132x25, but it's also 132x35 on fixed frequency monitors) for this chip, but not about 132x50. Kermit inquires about the video mode when it starts up and tries to use it when returning to the Kermit prompt. If the mode is something Kermit does not understand it drops back to a close standard value. We won't be adding piles of code to handle all the screen shapes vendors supply, that's not reasonable. I have a board similar to yours and *x50 is not in its manual.] ------------------------------ Date: 16 Jan 92 20:16:22 GMT >From: weissh@nextadm.cc.vt.edu (Hugh Weiss) Subject: Is the MS-DOS Kermit INPUT Command Buffer Accessible? Keywords: MS-DOS Kermit INPUT Command Hi. Is was wondering if the characters read by the Kermit INPUT command and stored in a buffer somewhere are accessible in any way in a script. What I would like to do is to be able to copy the information from the INPUT command's buffer to a file with the WRITE FILE command. Something like: WRITE FILE \v(input) INFO-KERMIT DIGEST V15 #1 Page 5 Does anything like this exist? Thanks in advance. Virginia Tech Computing Center - Distributed Computing Group weissh@nextadm.cc.vt.edu OR weissh@vtcc1.cc.vt.edu [from jrd - The INPUT buffer can be as large as the user wishes, via DOS environment variable INPUT-BUFFER-LENGTH . But this does not mesh well with making it a variable, \v(input), because the internal command procedures are unable to accomodate both a raw binary object of this kind and one of a size much larger than the work buffers normally employed.] ------------------------------ Date: Tue, 14 Jan 92 12:56:32 CST >From: John Perry Subject: Problems with MS-DOS Kermit and DOS 5 SHARE Keywords: MS-DOS Kermit and DOS 5.0 I was wondering if anyone could provide a little insight to the problem outlined below? The closing of the session log appears to work with versions of DOS less than 5. The problem seems to manifest itself when sharing is used under DOS 5. Please advise. > Date: Tue, 14 Jan 1992 11:58:27 -0600 (CST) > From: CDENNEY@beach.gal.utexas.edu (Cecil Denney) > Subject: DOS 5 SHARE Violation and Kermit Session Logs > > Using DOS 5, with "install=C:\DOS\SHARE.EXE" in CONFIG.SYS... > Get into Kermit, log onto a computer, and then ALT-X to kermit prompt and > > MS-Kermit> log session kermit.log > MS-Kermit> connect > > run your terminal session and then ALT-X again, and > > MS-Kermit> close session > MS-Kermit> type kermit.log > MS-Kermit> del kermit.log > > you get a "Share Violation" from DOS 5 and can not delete the file from > within kermit. > > It appears to me that Kermit is not properly closing the file so that SHARE > thinks it is still open and will not allow it to be erased, renamed, etc. > Could you inquire about this for me? Thanks... > [from jrd - This will be fixed in a forthcoming maintenance release of MS-DOS Kermit, which will be called 3.12. In 3.11, the actual file closure was delayed longer than it should have been, hence the sharing violation.] [Ed. - Watch future issues of the Info-Kermit Digest for more news about version 3.12.] ------------------------------ Date: Thu, 23 Jan 1992 16:28 CST Page 6 INFO-KERMIT DIGEST V15 #1 >From: "Jon Sonntag (LutherNet)" Subject: MS-DOS Kermit 3.11 w/ DECnet LAT & WP5.1 Keywords: WordPerfect, MS-DOS Kermit and WordPerfect Keywords: LAT, MS-DOS Kermit and LAT I personally prefer to use MS-DOS Kermit 3.11 to DEC's SETHOST program with our DEC Pathworks LAN. The auto switching from 80 to 132 columns and text to graphics modes is great! But, as stated or hinted at in the .BWR or .HLP files, when starting up VAX WordPerfect 5.1 using MS-DOS Kermit over DECnet, we continue to lose the connection. Is there anything we can do either in MS-DOS Kermit or in VMS to eliminate this? [Ed. - As it says in the .BWR file, enable Xon/Xoff flow control in both directions: SET FLOW XON/XOFF in MS-DOS Kermit, and SET TERMINAL /HOSTSYNC /TTSYNC in VMS. Or use CTERM rather than LAT.] Also, is there a mac version of Kermit available? [Ed. - A pre-pre-pre-release in kermit/test/ckmut9.hqx, which was announced in a recent digest.] Jon Sonntag Concordia University Information Systems sonntajm@crf.cuis.edu (internet) ------------------------------ End of Info-Kermit Digest INFO-KERMIT DIGEST V15 #2 Page 7 Info-Kermit Digest Tue, 18 Feb 1992 Volume 15 : Number 2 Today's Topic: Announcing C-Kermit 5A BETA Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMA.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMA.BITNET or LISTSERV@CUVMA.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I-KERMIT (To start a subscription) UNSUBSCRIBE I-KERMIT (To cancel a subscription) REGISTER I-KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Center for Computing Activities, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Sat, 8 Feb 92 23:31:00 EST >From: Christine M Gianone Subject: Announcing C-Kermit 5A BETA Keywords: C-Kermit 5A, UNIX Kermit, VAX/VMS Kermit, Amiga Kermit Keywords: Atari ST Kermit, OS/2 Kermit, OS-9 Kermit Keywords: Sliding Windows, Script Programming, International Character Sets Keywords: TCP/IP and C-Kermit Xref: Commodore Amiga, See Amiga We are very pleased to announce the availability of C-Kermit version 5A, edit 179, for public Beta testing. Over three years in the making, C-Kermit 5A was written by Frank da Cruz of Columbia University with contributions from hundreds of other programmers all over the world. Its major new features include: ADVANCED KERMIT FILE TRANSFER PROTOCOL Sliding window packet protocol, up to 31 window slots, for improved efficiency, especially on connections with long delays (public networks, satellites, etc). The maximum packet size has been increased to 9024. Sliding windows and long packets can be used together. Using combinations of long packets and sliding windows, file transfer efficiencies up to about Page 8 INFO-KERMIT DIGEST V15 #2 95% can be achieved (and more when Kermit can compress the data). CHARACTER-SET TRANSLATION C-Kermit translates character sets during text-file transfer and terminal emulation. Most Roman-alphabet-based character sets are supported, as well as Cyrillic character sets and Japanese Kanji. A new locking-shift mechanism is provided for efficient transfer of Kanji and other predominantly 8-bit character sets in the 7-bit communication environment. SCRIPT LANGUAGE PROGRAMMING C-Kermit now has a powerful and easy-to-use script programming language similar to MS-DOS Kermit's. Write script programs to automate your logins, interact automatically with remote computers or services, and even run your scripts late at night, unattended, when phone rates are lower and networks less congested. NETWORK SUPPORT On UNIX computers that have Berkeley Sockets libraries and a TCP/IP connection, and on VAX/VMS systems with TGV MultiNet, C-Kermit now can make TCP/IP TELNET connections. Unlike regular TELNET, C-Kermit brings its script language capabilities and character-set translation ability to the Internet world. And unlike FTP, C-Kermit can translate text file character sets as part of the file transfer process. On SUN computers with SunLink X.25, X.25 connections are also supported. SYSTEMS SUPPORTED BY C-KERMIT C-Kermit 5A is available for the following platforms: - Most known variations of UNIX including V7, 2.x BSD, 4.x BSD, AT&T System III and System V R2, R3, and R4, POSIX, Ultrix, SUNOS, NeXT OS, AIX, HP-UX, DGUX, IRIX, SCO XENIX, DNIX, UMAX, RTU, DYNIX, PTX, etc, etc, on hardware platforms of all makes, models, sizes, and shapes - VAX/VMS, including a completely new RMS interface - OS/2 1.3 and 2.0 - Commodore Amiga - Atari ST - OS-9 Full ANSI C and/or POSIX compliance can be selected. OTHER NEW FEATURES Kermit File Transfer Protocol: Packet lengths shrink and grow dynamically based on the quality of the connection. Even, Odd, or Mark parity is detected automatically during packet operations. Low-level packet readers and writers recoded for increased efficiency. File transfer performance improvements (see below) Transfer of files with international character set translation (see below) Sending and recognition of file attribute (A) packets: File size, creation date, file type, character set, system ID. INFO-KERMIT DIGEST V15 #2 Page 9 Incoming file's creation date set from Attribute packet. Control of use of attributes via SET ATTRIBUTES. Automatic entry into binary or text mode when receiving files that specify the file type in the attribute packet. New MSEND command to send a list of files ("msend foo.* dir/*.c aaa bbb") New MAIL and REMOTE PRINT commands (work in both directions). SET FILE COLLISION { APPEND, BACKUP, DISCARD, OVERWRITE, RENAME, UPDATE } REMOTE SET commands are now supported in both directions. REMOTE LOGIN, LOGOUT, and KERMIT commands (client end only). GET, BYE, FINISH, REMOTE commands now work in both local & remote modes. SET ATTRIBUTES ON/OFF can be used to enable/disable attribute packets. DISABLE and ENABLE commands to control client access to server functions. Ability to read packets without terminators, based on length field. Printable start-of-packet character now supported. Packet buffers allocated dynamically, overall size specifiable by user. Ability to run external protocols. Increased maximum number of files that can be sent in a single operation. Non-Error-Checked File Transfer: New TRANSMIT command for uploading text files, complete with character set translation and many other options via SET/SHOW TRANSMIT. LOG SESSION for downloading text files or capturing other screen data, complete with character-set translation and TEXT/BINARY mode selection. Command parser: Expansion of variables and functions in commands (see below). Partial as well as full completion of filenames. Improved error and help messages. Commands in progress can be interrupted, with return to prompt. Macros and variables, compatible with MS-DOS Kermit: DEFINE macros and variables. ASSIGN variable's current value to another variable. INCREMENT and DECREMENT numeric variables by 1 (or any other number). Execute macros using DO or just by giving their name. Arguments are passed as parameters \%1..\%9 Global variables \%a..\%z (and others). Access to environment variables via \$(name). Access to builtin Kermit named variables via \v(name), e.g. \v(date). Long variable names: \m(name). Backslash notation for numbers and characters as in MS-DOS Kermit. Dynamically allocated space for macro names and definitions. Variables and backslash codes in all commands are fully expanded. And beyond MS-DOS Kermit (at least for now!): Built-in string and arithmetic functions. User-defined functions. Arrays. Script programming language, mostly compatible with MS-DOS Kermit: INPUT, OUTPUT, REINPUT, PAUSE, GOTO, IF, ASK, ASKQ, ECHO, STOP, END, GETOK, and other new commands. INPUT, PAUSE, and WAIT interruptible from keyboard. SET INPUT, SET TAKE, SET MACRO, SET SCRIPT commands to control echoing, error handling. WRITE . Page 10 INFO-KERMIT DIGEST V15 #2 OPEN, READ, WRITE/APPEND, and CLOSE local files. FOR and WHILE loops, which may be nested. BREAK and CONTINUE allowed in FOR and WHILE loops. Trailing comments ; like this one, allowed in all contexts. Command line continuation using hyphen (-) or backslash (\). Relaxed prefixing rules; backslashes no longer doubled. Conditional branching or execution of commands via IF. The IF command: May have an ELSE part. IF NOT can be used to reverse the truth of the following condition. IF <, IF =, IF > for numeric variables. IF EQUAL, LLT, LGT for string comparison. IF NUMERIC for checking numbers. IF COUNT for looping. IF EXIST for files. IF DEFINED for variable and macro names. IF SUCCESS, IF FAILURE based on success of previous command. Extended IF statement (XIF) allows nested, compound parts. Terminal emulation: Key-mapping via SET KEY command SET TERMINAL CHARACTER-SET SET TERMINAL LOCKING-SHIFT SET TERMINAL NEWLINE-MODE Flexible session logging TELNET protocol New escape functions: Suspend, Shell, Send Long BREAK, etc Improved efficiency Other: Improved use of Xon/Xoff software flow control during file transfer. Ability to use RTS/CTS hardware flow control when host computer supports it. Ability to couple to external protocols via open file descriptor (UNIX). Many file-format-related options for VMS. Tilde-expansion in local UNIX filenames (~ = home directory). Ability to ask shell to expand wildcards ("send ck[cuw]*.{[cwh],{doc,ps}}"). Alternative initialization filename specifiable on command line with -y. Kermit "application files" start Kermit automatically (UNIX only). Correct handling of Suspend interrupt (Ctrl-Z) in UNIXes with job control. New SUSPEND (Z) command. New TYPE command, interruptible by Ctrl-C. New PRINT command. New DELETE command. New RENAME command. Command synonyms added for compatibility with MS-DOS Kermit: RUN, PUSH, etc. And with UNIX: RM, LS, etc. And with VMS: SET/SHOW DEFAULT, SPAWN, @, etc SHOW command divided into SHOW FILE, SHOW PROTOCOL, SHOW COMMUNICATIONS, etc. SET SPEED no longer required with SET LINE - current speed used by default. 75/1200 Split-speed communication supported in some implementations. Improved control and monitoring of modem signals. Improved interaction with Hayes modems. Support for speed-matching modems. Support for many new modem types including Telebit, Microcom. New SET DIAL command controls: HANGUP, TIMEOUT, INIT-STRING, DISPLAY, etc. New REDIAL command. Compatibility with new and distributed (struct dirent) file systems. INFO-KERMIT DIGEST V15 #2 Page 11 Improved use of UUCP lockfiles. Improved operation and security when run setuid/setgid on UNIX. Improved handling of disk-full and disk-write errors. More detailed and accurate statistics reporting. New debugging display available during CONNECT. Append mode available for all logs. Under UNIX, Kermit no longer appears "idle" while transferring files. Program exit status code now reflects protocol success/failure. EXIT n explicitly sets program's exit status code to n. Many new additions and improvements to UNIX makefile. Simplification and expansion of makefile configuration options. New documentation - user manual, man page, improved built-in help text. Many bugs fixed. ACKNOWLEDGEMENTS C-Kermit 5A has been a three-year cooperative effort involving hundreds of people in all parts of the world. It is not possible to list them all here (but we have tried to keep track of them in the documentation); here is a very much abbreviated list of just a few of the major designers, developers, and testers: Chris Adie, Edinburgh U, Scotland (OS/2 support) William Bader, Moravian College (VMS, mostly) Fuat Baran, formely of Columbia University (lots of help) Jim Barbour, U of Colorado Donn Baumbartner, Dell Jack Bryans, California State U at Long Beach Nelson Beebe, U of Utah John Chandler, Harvard U / Smithsonian Astronomical Observatory Joe R Doupnik, Utah State U (many, many things) Kristoffer Eriksson, Peridot Konsult AB, Oerebro, Sweden (many things) Marcello Frutig, Catholic University, Sao Paulo, Brazil (X.25 support) Hirofumi Fujii, Japan National Lab for High Energy Physics, Tokyo (Kanji) James Harvey, Indiana/Purdue U (VMS) Chuck Hedrick, Rutgers U Ron Heiby, Motorola Christian Hemsing, RWTH Aachen, Germany (OS-9) Mark Johnson, Apple Computer Luke Jones, AT&T Peter Jones, U of Quebec at Montreal (MIPS) Sergei Kartashoff, Inst. of Precise Mechanics & Computer Equipment, Moscow Howie Kaye, Columbia University (lots of help) Terry Kennedy, St Peter's College, Jersey City, NJ (VAX/VMS, 2.11 BSD) John Klensin, MIT (standards, sage advice) Bo Kullmar, Central Bank of Sweden, Kista, and ABC-Klubben (many things) Bob Larson, USC (OS-9 and more) Bert Laverman, Groningen University, Netherlands David MacKenzie, Environmental Defense Fund, University of Maryland Fulvio Marino, Olivetti, Ivrea, Italy Peter Mauzey, AT&T Bruce J Moore, Allen-Bradley Co, Highland Heights, OH (Atari ST) Andre Pirard, U of Liege, Belgium (character sets) Paul W Placeway, (formerly of) Ohio State U (Macintosh & more) Piet W Plomp, ICCE, Groningen University, Netherlands Manfred Prange, Oakland U (Coherent) Page 12 INFO-KERMIT DIGEST V15 #2 Frank Prindle, NADC Alan Robiette, Oxford University, UK (VMS) Kai Uwe Rommel, Technische Universitaet Muenchen (OS/2) Larry Rosenman (Amiga) Jay S Rouman, U of Michigan Benn Schreiber, DEC Steven Schultz, Contel Gisbert W Selke, WIdO, Bonn, Germany Warren Tucker, Tridom Corp, Mountain Park, GA (many things) Konstantin Vinogradov, ICSTI, Moscow (Cyrillic and more) Stephen Walton, Calif State U, Northridge (Amiga) Jamie Watson, Switzerland (RS/6000) Ken Yap, formerly of the U of Rochester Michael Yaroslavtsev, Inst. Precise Mechanics & Computer Equipment, Moscow HOW TO GET IT C-Kermit 5A(179) BETA is available on the Internet via anonymous ftp from host watsun.cc.columbia.edu [128.59.39.2], using text (ASCII) mode, in the directory kermit/test, and on BITNET/EARN from host CUVMA through the KERMSRV file server, in the T: area. Warning: some files might have records longer than 80, making it impossible for KERMSRV to MAIL them to you. You can also order C-Kermit 5A on magnetic media (9-track tape, TK50 cartridge, or quarter-inch tape cartridge) from Columbia University by mail order as "Tape T" (see the order form, kermit/a/aaxfly.doc or aaxfly.ps). The C-Kermit filenames all start with the letters "ck" (for C-Kermit). The third letter in the filename is used for grouping: c = Portable C, u = UNIX-specific, v = VAX/VMS-specific, etc. The following sections give brief synopses of the files you will need for each version. A detailed description of the file naming conventions and organization is given in the file ckaaaa.hlp. Notation: * = match any string of characters [abc] = match the single character a, b, or c ALL VERSIONS All C-Kermit versions include the files ckc*.c, ck*.h, and ckcpro.w. These files implement the Kermit file transfer protocol. The user manual is ckuker.doc (plain text), ckuker.ps (postscript). It applies to all versions, but (so far) includes system-specific information only for UNIX, VAX/VMS, OS/2, Amiga, and OS-9. THE UNIX VERSION UNIX sources: ck[cuw]*.[cwh] UNIX build: ckuker.mak (for 2.1xBSD, use ckubs2.mak) UNIX executable: (none, build from source code) UNIX doc: ckuker.doc, ckuker.ps To build the UNIX version, rename ckuker.mak (or ckubs2.mak) to makefile, read the comments at the top of the makefile to select the make-option appropriate for your computer, and then give the appropriate "make" command, for example "make bsd", "make sunos41", "make sys5r4", etc. Read the file INFO-KERMIT DIGEST V15 #2 Page 13 ckuins.doc for further instructions and hints. There is also a compressed tar archive of the UNIX sources in kermit/bin/cku179.tar.Z, which you can ftp in BINARY mode: 595K. THE VAX/VMS VERSION This version is not quite finished. Work on an interrupt-driven communications I/O module is still in progress. However, the file system interface is more or less complete, and is quite advanced, thanks to endless and unenviable hours of work by Terry Kennedy of St Peter's College in New Jersey. The result is quite usable, provided you don't push the communications too hard (very long packets and/or big sliding window sizes), especially on small, slow, or old VAXes. A special feature of VMS C-Kermit 5A is called "labeled files", which allows VMS files of any type to be transmitted to a foreign system and then brought back to a VMS system with all their attributes and formats intact -- or for that matter, between two VMS systems directly. VMS sources: ck[cuwv]*.[cwh], plus ckvcvt.c (labeled-file decoder) VMS build: ckvcdt.com plus ckvker.com (DCL), ckvker.mak (VMS MAKE), or ckvker.mms (DEC MMS) VMS executable: ckvker.hex, use ckvdeh.mar to decode it into .EXE format. VMS doc: ckuker.doc, ckuker.ps THE OS/2 VERSION C-Kermit was originally adapted to OS/2 by Chris Adie, of Edinburgh University in Scotland in 1988. Kai Uwe Rommel of the Technical University of Munich in Germany has brought Chris's version up to date and added many new features in the bargain. This program runs in an OS/2 window under both OS/2 1.3 and 2.0, performs VT102 emulation complete with key mapping, screen rollback, etc. OS/2 sources: ck[cuwo]*.[cwh], ckwart.def, ckoker.def OS/2 build: ckoker.mak OS/2 executable: ckoker.boo (unboo with ckbunb.c), kermit/bin/ckoker.exe OS/2 doc: ckuker.doc, ckuker.ps THE COMMODORE AMIGA VERSION The adaptation of C-Kermit 5A to the Amiga was handled by Steve Walton, California State University at Northridge. The original adaptation (for C-Kermit 4E) was done by Jack Rouse of the "Software Distillery" in 1986. The files are: Amiga sources: ck[cuwi]*.[cwh] Amiga build: ckiker.mak (use Aztec C V5.0b) Amiga executable: ckiker.boo, kermit/bin/ckiker.exe Amiga doc: ckuker.doc, ckuker.ps THE ATARI ST VERSION This one is hot off the press, just in from Bruce J Moore of Allen-Bradley Company in Highland Heights, Ohio. This is not a desktop application; it must be run under a character-mode shell like msh (which comes with Mark Page 14 INFO-KERMIT DIGEST V15 #2 Williams C), gulam, ksh, or bash. Atari ST sources: ck[cuws]*.[cwh] (Mark Williams C) Atari build: cksker.mak Atari executable: cksker.boo (decode with ckbunb.c), kermit/bin/cksker.ttp Atari doc: cksker.bwr (more coming) THE OS-9 VERSION OS-9 is a UNIX variant from Microware Systems Corporation, designed mainly for the real-time processing environment, mostly on Motorola CPUs. C-Kermit 5A was adapted to OS-9/68K by Christian Hemsing, RWTH Aachen, Germany, and Bob Larson of the University of Southern California. OS-9 sources: ck[cuw9]*.[cwh] OS-9 build: ck9ker.mak or ck9ker.gcc OS-9 executable: (None, build from source code using cc or gcc) OS-9 doc: ckuker.doc, ckuker.ps OTHER VERSIONS Macintosh Kermit is not at BETA level yet. Much work remains to be done and is, in fact, underway at this moment. Announcements to come in forthcoming Info-Kermit Digest issues. Previous editions of C-Kermit were available for Apollo Aegis and Data General AOS/VS. The Aegis version appears to be pretty much dead; most people run a UNIX-like environment on Apollos now, under SR10. The Apollo SR10 UNIX environments are fully supported by the UNIX version. Work on updating the Data General AOS/VS support has recently begun. Watch this space for announcements. Anybody who might have plans to adapt C-Kermit to any other kind of system, please contact us first so we can keep all efforts coordinated. DOCUMENTATION Much of the documentation listed below needs additional work. Improved documentation will be announced as it becomes available. ckaaaa.hlp Explanation of file naming conventions ckaplm.doc C-Kermit "program logic manual" ckuker.ann This message ckuker.doc plain-text user manual, UNIX and VMS ckuker.ps Postscript user manual, UNIX and VMS ckuker.mss Scribe source for user manual + ckuhdr.mss ckuker.nr UNIX man page, NROFF source (NEEDS WORK!) ckuins.doc UNIX and VMS installation instructions, plain text ckuker.bwr UNIX and VMS "Beware file", plain text ckvker.bwr VAX/VMS-specific "beware file", plain text (mostly obsolete?) ckvker.hlp VAX/VMS help file, for VMS HELP command (needs updates) ckiker.bwr Amiga beware file ck9ker.bwr OS-9 beware file ckuker.upd C-Kermit program update history, plain text, BIG INFO-KERMIT DIGEST V15 #2 Page 15 As you might guess from the contents of this message, C-Kermit has grown considerably in size and complexity since version 4E. Consequently, many of its features are now deselectable via feature-selection switches at compile time: network support, script programming language, character sets, etc. This is necessary when the target computer (or compiler or linker) does not have the capacity (memory or address space) to support this version in its full glory. The feature-removal techniques are documented in the file ckuins.doc, and the various build procudures (UNIX makefile, etc) show which (if any) features are removed from which versions. In most versions, the SHOW VERSION command also lists which features are present and which are absent. WHAT NEXT? As far as features are concerned, this is the end of C-Kermit 5A. Bugs will be fixed, support for various systems will be updated, and then it will replace version 4E(072) as the standard, supported, released version. New features will be added to future releases. Please report successes or failures to Frank da Cruz, FDCCU@CUVMA.BITNET or fdc@watsun.cc.columbia.edu. ------------------------------ End of Info-Kermit Digest Page 16 INFO-KERMIT DIGEST V15 #3 Info-Kermit Digest Fri, 10 Apr 1992 Volume 15 : Number 3 Today's Topics: Prime Kermit version 8.14 A few release files more for Kermit-12 New BOO file Encoder / Decoder Re: Unique Log File Names for MS-DOS Kermit RE: Question on MS-KERMIT 3.10 Terminal Emulator Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMB.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMB.BITNET or LISTSERV@CUVMB.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I-KERMIT (To start a subscription) UNSUBSCRIBE I-KERMIT (To cancel a subscription) REGISTER I-KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMB. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Center for Computing Activities, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Fri, 14 Feb 92 19:51:17 >From: John Horne Subject: Prime Kermit version 8.14 The current version of Prime Kermit, version 8.12, has now been superceeded by version 8.14. This new version incorporates many bug fixes, and some new functionality over version 8.12. The intermediate version 8.13, was never released since it was a development version. This release also contains an updated copy of the PRIME.HLP file listing all development work carried out up to the present. Unfortunately this file was not updated at the release of version 8.12. Some of the changes at revision 8.14 are : * Checks for the remote server being present in the BYE and FINISH commands. * The receive timeout code has been improved, and the timer converted from from minutes to seconds. The send packet timer may also now be set. INFO-KERMIT DIGEST V15 #3 Page 17 * The AMLC line speeds are now set to Prime supplied default values, and only the validity of any specified speed is checked. This is necessary since the AMLC code in Kermit is somewhat 'awkward', because the Primos subroutines used to handle AMLC/ICS line speeds have several significant changes from Primos revision 21 to 22. The handling of data along AMLC lines has also been corrected to eliminate POINTER_FAULT$ errors. * Multiple file transfers with a specific file type has been corrected, and the MS-DOS pound sign conversion is also correctly handled. The automatic file type checking code has been improved, and the setting of a file type may be abbreviated to "FT" or any sub-string of "FILE_TYPE" * The "REMOTE SPACE" command will now show the amount of disk space (records) on the current partition, as well as the current directory quota. * The users 'environment' is re-evaluated after they have PUSHed from Kermit. This is in case they changed anything in their environment, e.g. message status, duplex settings, etc, whilst at Primos command level. * The exact file length is now sent in the attributes packet. Previously no account was taken of the Prime space compression character, thus misleading the remote Kermit. * The Kermit command line will now accept the "-INIT pathname" option to startup Kermit with an initialization file. If no pathname is specified, then the file "PRIME_KERMIT.INIT" is looked for in the current directory. * The sliding windows code has been improved, and uses a default window size of 6. Note, however, that it seems there are still problems with sliding windows by users dialing in to a Prime computer from a C-Kermit or MS-DOS Kermit machine. It does, however, work when using MS-DOS Kermit connected to the Prime by some other medium. More details of these, and other changes, can be found in the PRIME.HLP file. This version has been successfully run at Primos revisions 22.1.1b and 23.2.0b. Finally, I would like to thank Matthew Sutter for all his work on Prime Kermit. Matthew has, I gather, now left the world of Computers to become a Paramedic. Despite this I shall still be bug fixing Kermit, and improving it as time permits! John Horne, Polytechnic South West, Plymouth, U.K. ------------------------------ Date: Wed, 11 Mar 92 15:52:25 EST >From: Charles Lasner Subject: A few release files more for Kermit-12 In /uw/guests/lasner/nufiles is two new versions of K12DEC and K12ENC which now have a new feature for image transfer of an entire device. This comes at the request of several users, and was quite easy to add. As before, the source documents how to use it, etc. Page 18 INFO-KERMIT DIGEST V15 #3 I am working on an upgrade (specifically a handler) for OS/278 to allow complete transfer of RX50 diskettes as an encoded ASCII-fied file. This utility merely handles records available to the normal file structure, but in the OS/278 RX50 case (from DEC) this is not the whole disk. In part this is a safety feature, so you can't access the "slushware" tracks, but in any case, you can't transfer an entire image of an RX50 currently, but when the system is upgraded with a suitable handler, then the encoder and decoder gain access to the entire device, along with all other utilities. If the handler project takes too long (it is actually quite involved surprisingly enough) I will possibly resort (by popular demand) to releasing an interim program that does its own RX50 I/O as a special case of encode and decode. That would be withdrawn later when the handler is available. (DECmates are becoming available to various people around the world, but they don't have the support software to get it running; this method would allow them to get their machines up after they had merely an OS/278 bootable disk (available from DECUS) and Kermit-12 stuff :-).) In any case, the two new files are useful for other devices. For example, an entire OS/8 RX01 or RX02 can be encoded as a file. With the WPS-oriented handlers installed (commonly available), images of an RX01 WPS document disk can be encoded/decoded directly. (This even includes bootable WPS RX01 systems diskettes, or even RT-11 RX01 disks!) The existant WPS/COS-style handlers allow transfer of any RX01 as long as track zero can be ignored. This is generally the case on RX01/02, but NOT RX50, thus the above problem. ------------------------------ Date: Wed, 1 Apr 92 10:33:38 EST >From: Christine M Gianone Subject: New BOO file Encoder / Decoder Charles Lasner, the author of PDP-8 / PDP-12 / DECmate Kermit and of the previous message, discovered a while ago that the well-known flaw in BOO-file encoding could have distastrous effects on computers where executable program images included checksums or other checking information. The flaw is that the 4-for-3 encoding used in BOO files could add 1 or 2 extraneous null bytes to the end of a file. Christian Hemsing, in his work on C-Kermit for OS-9, found this flaw to be fatal for OS-9 also. Charles had suggested a method for having the BOO files record the exact image of the encoded file by adding special codes to the end to "take back" the extraneous null bytes. This method has the benefit that it is compatible with old BOO file decoders. Christian added the code for this to the MSBMKB (BOO file maker) and MSBPCT (BOO file decoder) programs. The new programs are now available in kermit/a/msbmkb.c and msbpct.c on watsun and MSBMKB.C and MSBPCT.C from CUVMA. Thanks to Charles and Christian for this valuable contribution! ------------------------------ Date: Thu, 16 Jan 92 10:33:38 CET INFO-KERMIT DIGEST V15 #3 Page 19 >From: "Janusz S. Bie/n" Subject: Re: Unique Log File Names for MS-DOS Kermit Info-Kermit Digest Vol. 14 No 2 contained the following advice: [... SET COUNT 999 :LOOP DEFINE \%F \V(NDATE).\V(COUNT) IF NOT EXIST \%F GOTO OK IF COUNT GOTO LOOP ECHO Sorry, you've already created 1000 log files today! STOP :OK LOG SESSION \%F That should give you a unique filename.] I tried it with MS-Kermit 3.11. It works only if DEFINE is replaced by ASSIGN. Regards Janusz S. Bie/n Institute of Informatics, Warsaw University ------------------------------ Date: Tue, 31 Mar 1992 21:41:44 CST >From: Dave Mausner Subject: RE: Question on MS-KERMIT 3.10 Terminal Emulator In the past I reported that Kermit 3.11 would hang when receiving bursts of textual data at 19200 or above. This occurred in DOS 4.0, and 5.0 with or without HIMEM/EMM386 loaded. I never used ANSI.SYS ever. I recently downloaded UMBDR522.ZIP from EXEC-PC which loads HIMEM.SYS in the UMA and dispenses entirely with EMM386. It increases the amount of free main memory in DOS 5.0 from 621000 to 640000 bytes (not 640K mind you). It claims to remap chunks of ROM to speed up memory access. I downloaded NNANS591.ZIP from the USENET c.b.i.p. It advertises an ability to speed up screen writes of every type (DOS, BIOS). Don't ask me why, but with these things in charge, i no longer experience the Kermit hangs at 19200. I am a happy camper even if i have to use voodoo. Since the KERMIT.BWR file mentions the hang problem under DOS 5.0, i thought you might find the above interesting for future reference. Regards, Dave Mausner, Senior Consultant Datalogics Inc Chicago IL / 312-266-4450 dlm@dlogics.com [From jrd - Interesting indeed. About the best suggestion I have about why outages occurred previously is the video Bios held off interrupts too long Page 20 INFO-KERMIT DIGEST V15 #3 while it scrolled the screen; such Bios's do vary quite a bit. By moving the Bios to fast memory (shadowing it) one gets work done faster there and hence fewer outages. Do be aware that when changing between 132/80 columns Kermit will need to look into that Bios for a signature of known boards, and if the "stealth" option of some memory managers is used to map away the Bios then Kermit won't find the signature.] ------------------------------ End of Info-Kermit Digest Index Page 21 Amiga Kermit, 7 Atari ST Kermit, 7 C-Kermit 5A, 7 CMS Kermit, See VM/CMS Kermit Commodore Amiga, See Amiga Heath Terminal Emulation, 3 Host-Initiated File Transfer, 1 International Character Sets, 7 LAT, 6 MS-DOS Kermit, 1-2 MS-DOS Kermit and DOS 5.0, 5 MS-DOS Kermit and LAT, 6 MS-DOS Kermit and WordPerfect, 6 MS-DOS Kermit Heath Terminal Emulation, 3 MS-DOS Kermit INPUT Command, 4 OS-9 Kermit, 7 OS/2 Kermit, 7 PC-Initiated File Transfer, 2 Script Programming, 7 Sliding Windows, 7 TCP/IP and C-Kermit, 7 UNIX Kermit, 7 VAX/VMS Kermit, 7 VM/CMS Kermit, 1-2 WordPerfect, 6