Beta.05, 7 May 1998C-Kermit is a combined serial and network communication software package offering a consistent, medium-independent, cross-platform approach to connection establishment, terminal sessions, file transfer, character-set translation, and automation of communication tasks.
The current version of C-Kermit is 6.0, released in September 1996:
After extensive private testing, C-Kermit 6.1 entered public Beta testing May 15, 1998:
Those that show up as links are described in greater detail below. The others (and many more) are described in the text file, ckermit2.upd.
for even more detail, you can read the day-by-day edit history in the ckc193.upd file, as well as all the Alpha and Beta test announcments in the alpha*.txt and beta*.txt files in the kermit/test/text/ directory.
The following sections present an overview of several of C-Kermit 6.1's new features. After these come links to the software itself.
The UNIX version of C-Kermit 6.1 can now be used through any other communications program whose user interface goes through standard input and standard output. This allows you (for example) to use all the scripting and file transfer features of C-Kermit through clients of various services that C-Kermit might not support directly (e.g. a SOCKS Telnet client, a cu or tip program that has access to a dialout device that Kermit does not, rlogin connections without being root).
UNIX C-Kermit can now be built with support for MIT's Kerberos and/or Stanford University's Secure Remote Password (SRP) protocol. So far this has been done only for Linux. New makefile entries need to be added for other UNIX platforms to link with the appropriate libraries, but the UNIX code to use them is all written. Additional tinkering (and volunteer programming) would be required for other platforms such as VMS, VOS, etc.
These protocols allow for mutually authenticated Telnet connections without sending passwords over the network, and optionally also for fully encrypted sessions. The encryption modules are not part of the regular C-Kermit package due to USA export law. If you are interested in testing Kerberos or SRP, send us e-mail.
For further information, see the security.txt file.
As of version 6.1, C-Kermit allows for optional command modifiers called switches.
A switch is a keyword beginning with a slash (/). Some switches accept values as operands. Switches affect only the command with which they are included; thus their affect is local, not global like SET commands. Here are some examples:
send oofa.txt ; No switches send /binary oofa.zip ; A switch without a value send /protocol:zmodem oofa.zip ; A switch with a value send /text /delete /as-name:x.x oofa.txt ; Several switchesSwitches bring a new level of flexibility to Kermit's command language. For example, they can be used for file selection in file-transfer commands:
send /after:8-Feb-1998_10:28:01 /larger-than:10000 /except:*.log *.*or for disposition of the source file after transfer:
send /binary /delete *.zipor for mailing or printing:
send /mail /subject:{Here is the recipe you wanted} lasagna.txt send /print:{-PLaserWriter2 -#3} lasagna.psor whether to pass the file through a filter, or to descend directories recursively, or to recover an interrupted transfer from the point of failure, and so on, in any sensible combination.
Switches have been added not only to the SEND command, but also to most other file-transfer commands, as well as to the CONNECT, SET LINE, SET HOST, STATISTICS, and others.
C-Kermit 6.1 (and Kermit 95 1.1.16) automatically choose the appropriate transfer mode, text or binary, for each file they send by matching the file's name with a list of patterns. For example, if a file's name matches the pattern "*.txt" it is sent in text mode, whereas if it matches "*.zip" it is sent in binary mode. A comprehensive list of patterns is preconfigured, and commands are provided for you to edit the list, as well as to disable or re-enable this feature.
Filename pattern matching allows a file group to be sent between unlike systems (e.g. from UNIX to VMS) without having to separate the text and binary files, with full record-format and character-set conversion performed on text files, and binary files transferred without conversion, automatically. (NOTE: This feature is not used in VMS C-Kermit, which has a different method of accomplishing the same thing.)
The UNIX and VMS versions of C-Kermit 6.1 now include each file's permissions (protection code) among the transmitted file attributes. This is useful mainly in UNIX, so avoid loss of "execute" permission for programs or shell scripts during transfer. However, the mechanism also works across platforms so, for example, a UNIX file with execute permission will also have execute permission after being transferred to VMS (and vice-versa).
C-Kermit 6.1, when used in conjunction with Kermit 95 1.1.16 or later, MS-DOS Kermit 3.16 or later, or C-Kermit 6.1 itself, can perform "recursive" file transfers, in which all the (selected) files in the given directory are sent, plus all the files in all the subdirectories of the given directory, and all the files in their subdirectories, and so on.
Such transfers can take place not only between computers with similar file systems (such as Solaris and AIX), but also between dissimilar systems (like Windows 95 and HP-UX or VMS). Directories are created as needed during the transfer process.
Furthermore, any mixture of text and binary files can be accommodated via filename-pattern matching, as described in the previous section. This allows, for the first time anywhere (as far as we know) transfer of entire directory trees (entire file systems if you start at the root) between dissimilar computers in a single operation.
In some versions of C-Kermit 6.1 (notably the UNIX version) it is now possible to pass outbound or incoming files through a "filter" as part of the transfer process. Similarly, it is now possible to send the output of an arbitrary command or program, or to receive into the standard input of a command or program. For example, you may now tell C-Kermit to send the output of a pipeline composed of tar and gzip, and another C-Kermit on the other end to receive to a pipeline composed of gunzip and tar. Or in case you have a text file written in a character set that C-Kermit doesn't know about, you can pass it through a translation filter. You can even use this feature to accomplish encrypted file transfers on connections that are not already encrypted otherwise.
File-transfer performance has been improved in several ways:
When full unprefixing and streaming are used with a large packet length, C-Kermit's file-transfer throughput is comparable with FTP; here are some typical text and binary file transfers between two UNIX workstations with C-Kermit 6.1 over a local 10Mbps Ethernet (note the new brief file-transfer display option, the automatic switching between binary and text mode, and the new more-accurate statistics):
SENDING wart (binary) (23985 bytes): OK (0.040 sec, 599625 cps) SENDING wermit (binary) (1323517 bytes): OK (4.490 sec, 294769 cps) SENDING ckcnet.c (text) (269168 bytes): OK (0.790 sec, 340718 cps) SENDING ckwart.o (binary) (25332 bytes): OK (0.040 sec, 633299 cps) SENDING ckufio.c (text) (112341 bytes): OK (0.290 sec, 387382 cps) SENDING ckuusr.o (binary) (132340 bytes): OK (0.180 sec, 735222 cps) SENDING ckuus2.o (binary) (183168 bytes): OK (0.300 sec, 610559 cps) SENDING ckuus3.o (binary) (154492 bytes): OK (0.200 sec, 772459 cps) SENDING ckuus6.o (binary) (133128 bytes): OK (0.180 sec, 739599 cps)C-Kermit 6.1 also responds much faster to connection loss and external interruptions during file transfer.
You can obtain the current C-Kermit 6.1 Beta test in any of several archive formats via anonymous ftp by clicking on the following links:
Trouble with FTP? . . CLICK HERE.UNIX instructions:
See the ckuins.doc file for greater detail. See the ckccfg.doc file for information about compile-time configuration options.
You can also retrieve the text files only (without the source code) in the following archives:
Source code and text files are also available separately in the kermit/test/text/ directory. These include files for platforms other than UNIX and VMS, such as Stratus VOS, OS-9, etc. See the ckaaaa.hlp file for details.
Individual binaries are also available from the kermit/test/bin/ directory for those who can not build from source code. Be sure to download in binary (not ASCII or text) mode. Those marked with "+" are C-Kermit 6.1 Beta.05; those without the "+" are from earlier Beta tests, or in some cases, from Alpha tests.
After downloading, rename to "wermit" or "wermit.exe" (etc), as appropriate for your operating system (as opposed to "kermit", to prevent confusion between the production and test versions) and, if necessary, give execute permission, e.g. (in UNIX):
$ chmod +x wermit
Note that any executable C-Kermit 6.1 binary should also be accompanied by an assortment of text files -- documentation updates, installation instructions, hints and tips, etc; see the previous section.
If you are able to make a binary not listed below (or that is listed below, but without the "+"), please contact us.
ck9ker-net.bin OS-9/68K 2.4 ck9ker-nonet.bin OS-9/68K 2.4 ---------------------------------------------------------------------- + ckdker-aosvsii.pr DG MV 2500 AOS/VS-II 2.20.73 ---------------------------------------------------------------------- + ckiker.exe Commodore Amiga, AmigaDOS 3.1 or higher ---------------------------------------------------------------------- + ckpker.plan9_68020 Plan 9 from Bell Labs on 680x0 + ckpker.plan9_i386 Plan 9 from Bell Labs on PC + ckpker.plan9_mips Plan 9 from Bell Labs on MIPS + ckpker.plan9_sparc Plan 9 from Bell Labs on Sparc ---------------------------------------------------------------------- + ckuker.sys3upcgc AT&T 7300 UNIX PC (with curses) + ckuker.sys3upcold AT&T 7300 UNIX PC (no curses) + ckuker.sys3upcm AT&T 7300 UNIX PC (minimum size) + ckuker.att351gm AT&T 7300 UNIX PC (hardware flow control) + ckuker.ultrix43-mips DECstation 5000, Ultrix 4.3 + ckuker.linux-2.0.33-ms68000 Commodore Amiga, Linux 2.0.33 RH 5.0 + ckuker.du32 DEC Alpha Digital UNIX 3.2 + ckuker.du40-4.0b DEC Alpha Digital UNIX 4.0B + ckuker.linux-2.1.103-alpha DEC Alpha Linux 2.1.103 + kermit-6.1.193-1.alpha.rpm DEC Alpha Linux RPM + ckuker.rs6aix32c IBM RS/6000 AIX 3.2 + ckuker.aix41 IBM RS/6000 AIX 4.1 + ckuker.bsd44-hp9000_300 HP-9000/300 4.4BSD-Lite ckuker.hpux500wintcp HP-9000/550 HP-UX 5.21 TWG-TCP/IP 1.2 + ckuker.hpux65oc-hp9000_350 HP-9000/350 HP-UX 6.5 + ckuker.hpux70olfnc-hp9000_350 HP-9000/350 HP-UX 7.05 + ckuker.hpux80c-hp9000_385 HP-9000/385 HP-UX 8.00 (not optimized) + ckuker.hpux80oc-hp9000_425S HP-9000/425S HP-UX 8.00 (optimized) + ckuker.hpux80onotcp-hp9000_425S HP-9000/425S HP-UX 8.00 (ditto, no TCP) + ckuker.hpux90mot-9.10-hp9000_340 HP-9000/340 HP-UX 9.10 (Motorola CPU) + ckuker.hpux90-9.05-hp9000_712 HP-9000/712 HP-UX 9.05 (not optimized) + ckuker.hpux90o-9.05-hp9000_712 HP-9000/712 HP-UX 9.05 (optimized) + ckuker.hpux90o700-9.05-hp9000_712 HP-9000/712 HP-UX 9.05 (optimized for 700) + ckuker.hpux100-10.20 HP-9000/715/33 HP-UX 10.20 (not optimized) + ckuker.hpux100o-10.20 HP-9000/715/33 HP-UX 10.20 (optimized) + ckuker.hpux1100 HP-9000/K200 HP-UX 11.00 (not optimized) + ckuker.hpux1100o+ HP-9000/K200 HP-UX 11.00 (optimized) + ckuker.sv68r3v6 Motorola MVME 147 68K, System V/68 R3V6 + ckuker.sv88r40 Motorola MVME 187 88K, System V R4 V4.4 + ckuker.next-3.1-mc68040 NeXT 68040 NeXTSTEP 3.1 + ckuker.next-3.2-mc68040 NeXT 68040 NeXTSTEP 3.2 + ckuker.next33-mc68040 NeXT 68040 NeXTSTEP 3.3 ckuker.bsdi2-2.1 PC, BSDI 2.1 ckuker.bsdi2-3.0 PC, BSDI 3.0 + ckuker.bsdi3-3.1 PC, BSDI 3.1 + ckuker.freebsd2x PC, FreeBSD 2.2.6 + ckuker.linux-1.2.13-i386 PC, Linux 1.2.13, Red Hat + ckuker.linux-2.0.31-i386 PC, Linux 2.0.31 + ckuker.linux-2.0.33-i386 PC, Linux 2.0.33, Slackware 3.4 + ckuker.sco32v4netnd-odt2 PC, SCO ODT 2.0 (with TCP/IP) + ckuker.sco32v504 PC, SCO OpenServer 5.0.4 (no net) + ckuker.sco32v4netnd-odt2 PC, SCO ODT 2.0 (with TCP/IP) + ckuker.sco32v504 PC, SCO OpenServer 5.0.4 (no net) + ckuker.sco32v504net PC, SCO OpenServer 5.0.4 (TCP/IP) ckuker.is5r3jc-4.1 PC, Sunsoft Interactive UNIX 4.1 + ckuker.unixware-1.1.2 PC, Unixware 1.1.2 ckuker.unixware2-2.1.1 PC, Unixware 2.1.1 + ckuker.unixware2-2.1.2 PC, Unixware 2.1.2 + ckuker.pyramid Pyramid MIS-12/06 OSx5.1a-93a080 + ckuker.pyrdcosx Pyramid MIS-ES6/1024 SMP_DC-OSx1.1-95c087.2 + ckuker.qnx16 QNX 4.24 16-bit + ckuker.qnx32 QNX 4.24 32-bit + ckuker.irix53 SGI IRIX 5.3 + ckuker.irix62 SGI IRIX 6.2 + ckuker.irix63 SGI IRIX 6.3 + ckuker.irix64 SGI IRIX 6.4 + ckuker.sinix542-5.42-mips SNI SINIX-N 5.4.2 MIPS (RM200) + ckuker.solaris24-sparc Sun Sparc, Solaris 2.4 + ckuker.solaris24g-sparc Sun Sparc, Solaris 2.4 (gcc) + ckuker.solaris24x25-sparc Sun Sparc, Solaris 2.4, SunLink X.25 + ckuker.solaris25-2.5.1-sparc Sun Sparc, Solaris 2.5.1 + ckuker.solaris25g-2.5.1-sparc Sun Sparc, Solaris 2.5.1 (gcc) + ckuker.solaris26-2.6-sparc Sun Sparc, Solaris 2.6 + ckuker.sunos41c-4.1.3-sparc Sun Sparc, SunOS 4.1.3_U1 + ckuker.sunos41gcc-4.1.3-sparc Sun Sparc, SunOS 4.1.3_U1 (gcc) ---------------------------------------------------------------------- + ckvaker-vms62-nonet.exe Alpha CPU, VMS 6.2, no TCP/IP ckvaker-vms62-tgv40a.exe Alpha CPU, VMS 6.2, MultiNet 4.0A + ckvaker-vms62-tgv40b.exe Alpha CPU, VMS 6.2, MultiNet 4.0B + ckvaker-vms62-ucx40.exe Alpha CPU, VMS 6.2, UCX 4.0 + ckvaker-vms71-nonet.exe Alpha CPU, VMS 7.1, no TCP/IP + ckvaker-vms71-tgv40b.exe Alpha CPU, VMS 7.1, MultiNet 4.0B + ckvaker-vms71-ucx42.exe Alpha CPU, VMS 7.1, UCX 4.2 ---------------------------------------------------------------------- + ckvvker-vms44-nonet.exe VAX CPU, VMS 4.4, no TCP/IP + ckvvker-vms44-twg32.exe VAX CPU, VMS 4.4, Wollongong 3.2 ckvvker-vms45-nonet.exe VAX CPU, VMS 4.5, no TCP/IP + ckvvker-vms55-nonet.exe VAX CPU, VMS 5.5-2, no TCP/IP + ckvvker-vms55-ucx20.exe VAX CPU, VMS 5.5-2, UCX 2.0 + ckvvker-vms61-nonet.exe VAX CPU, VMS 6.1, no TCP/IP + ckvvker-vms61-tgv40a.exe VAX CPU, VMS 6.1, MultiNet 4.0AX + ckvvker-vms71-nonet.exe VAX CPU, VMS 7.1, no TCP/IP + ckvvker-vms71-pst32.exe VAX CPU, VMS 7.1, TCPware 3.2 + ckvvker-vms71-tgv40b.exe VAX CPU, VMS 7.1, MultiNet 4.0B
Questions? Comments? -- Send e-mail.