C-Kermit 10.0 Specifications
Frank da Cruz
fdc@columbia.edu
Last update:
Tue May 9 20:07:51 2023
As of C-Kermit 10.0 Beta.09
of 9 May 2023.
PLATFORMS
C-Kermit 10.0 is available for:
Earlier releases remain available for:
- 16-bit versions of Unix such as 2.9BSD and Tandy XENIX
- Data General AOS and AOS/VS
- Stratus VOS
- Microware OS-9
- QNX 4.21 and above
- The Commodore Amiga
- The Atari ST
- Apollo Aegis
WHAT'S NEW
The functional changes since C-Kermit 9.0 are relatively few. The vast
majority of work has gone into adapting the code to the constantly changing
C language and its compilers, the Unix libraries and header files, and
security methods, notably OpenSSL. The biggest user-visible change in
version 10.0 is full
support for
Microsoft Windows in C-Kermit 10.0 for Windows
(CKW), a free Open-Source replacement for Kermit 95, which was last
released almost 20 years ago. For a concise list of changes
see
below and for greater detail see
the
C-Kermit change log; for example
how C-Kermit 10.0 Beta.09 is now (almost) totally "Clang compliant".
COMMAND MODES
- Unix-style command-line options
- Interactive commands with:
- Keyword and filename completion and lists on demand
- Per-field context-sensitive help on demand
- HELP text for each command and function
- Command recall
- Command files
- Command macros (procedures)
- Programmed execution via command files, macros, and scripts.
SHELL-LIKE FUNCTIONS
- CD, PWD, DATE, RUN, EXEC, ...
- DIRECTORY command with numerous file-selection and listing options.
- TYPE, MORE, HEAD, TAIL, GREP commands with numerous options
- COPY and RENAME commands with numerous options.
- DELETE and PURGE commands with numerous options.
- MKDIR and RMDIR commands.
- CHMOD, SET ROOT, ...
- Almost everything a shell does except job control.
COMMUNICATION METHODS
- Direct serial connections
- Dialed serial connections with automatic dialing
- SSH (via external client, Unix only)
- SSH (built-in, Windows only)
- Built-in HTTP / HTTPS client for interacting with Web servers
- Dialed connections via RFC 2217 Telnet modem server*
- TCP/IP Telnet (Unix, VMS, AOS/VS, VOS, OS-9) and Rlogin
(Unix, VMS) with optional OpenSSL security in Unix and VMS (and in Unix
only, also Kerberos and/or SRP security)*
- Built-in FTP client with
optional security*
- X.25 (SunOS, Solaris, AIX, VOS)*
MODEMS AND DIALING
- Built-in support for the following modems:
- AT&T Dataport
- AT&T Digital Terminal Data Module
- AT&T ISN Network
- AT&T Keepintouch Card Modem.
- AT&T Secure Data STU III 1900 and 1910
- AT&T switched-network modems
- Atlas Newcom ixfC 33.6
- Best Data Fax Modem
- Boca modems
- CCITT / ITU-T V.25bis Command Set
- CCITT / ITU-T V.250 (V.25ter) Command Set
- Cardinal V.34
- Cermetek Info-Mate 212 A
- Compaq Data+Fax Modem
- Condor CDS 220 2400b
- Conexant
- DEC DF03-AC
- DEC DF100-series
- DEC DF200-series
- Diamond SupraSonic 288V+
- Digitel DT-22 CCITT variant
- Fujitsu Fax/Modem Adapter
- Gateway 2000 Telepath
- GeneralDataComm 212A/ED
- Generic High Speed (works with most modern modems)
- Hayes 1200, 2400, and compatible modems
- Hayes Accura, Optima, and Ultra
- IBM Mwave
- Intel Fastalk and Lifestyle
- Lucent Venus chipset
- MaxTech modems
- Megahertz AT&T V.34
- Megahertz X-Jack
- MicroLink 14.4, 28.8, 33.6, 56K
- MicroLink V.250
- Microcom DeskPorte FAST ES 28.8
- Microcom modems in native SX mode
- Microlink modems
- Microsoft Telephony (TAPI, Windows only)
- Motorola Codex 326X Series
- Motorola FasTalk II or Lifestyle
- Motorola Montana
- Multitech MT5634ZPX
- Multitech modems
- PCTel V.90 chipset
- Penril modems
- Practical Peripherals modems
- QuickComm Spirit II
- Racal Vadic VA4492E
- Rockwell V.32
- Rockwell V.32bis
- Rockwell V.34 Data/Fax
- Rockwell V.90
- Rolm 8000, 9000, 9751 CBX DCM
- Rolm data phone with AT command set
- Supra Express V.90
- Supra modems
- Telebit modems, all models
- USR Courier and Sportster
- Ven-Tel modems
- Zoltrix modems
- Zoom modems
- ZyXEL modems
- Easy configuration of additional modem types
- Dialing:
- Dialing by directly connected modem or (when available) via reverse LAT
or TELNET terminal servers, including RFC 2217 Telnet Com Port Control.
- Intelligent dialing directory
- Can consist of multiple distributed files
- Travels well: understands country codes, area codes, PBXs, etc.
- Unlimited alternative entries for same service with "cheapest-first"
dialing
- Automatic redialing
- Multistage dialing
- Credit-card dialing
- Dialing beepers and numeric pagers
- Dialing alphanumeric pagers and sending text messages
- Answering incoming modem calls
- Flexible configuration of additional modem types
- PPP dialing (Unix only)
TCP/IP
- (Unix only) Makes
SSH connections using the external ssh
command.
- (Windows only) includes a built-in
SSH client
- TCP protocol controls
- SSL/TLS security (Unix, Windows, and VMS)
- Telnet and FTP clients, both clear text and SSL/TLS-secured
- Internet Kermit Service Daemon
(client and server) (Unix and Windows only)
- TELNET, RLOGIN, FTP, and HTTP 1.1 Clients built in:
- Numerous TELNET protocol and policy controls
- Automatic TELNET and RLOGIN screen-size negotiation
- Automatic TELNET echo and binary-mode negotiation
- Connections to non-TELNET ports allowed
- Configurability as an
SSH subsystem
on the server side (Unix only)
- Front end for external SSH client (Unix only)
- Scripting, file transfer, character-set translation on TELNET, SSH,
FTP, and RLOGIN connections
- Scripted HTTP operations
- TELNET and FTP protocol debugging
TERMINAL CONNECTION
- 40 built-in terminal emulations (C-Kermit
for Windows and OS/2 only).
- C-Kermit for Unix, VMS, etc: Terminal emulation is not done by C-Kermit;
rather, C-Kermit provides a semitransparent (totally transparent upon
request) communications pipe between the remote host or service and your
terminal, emulator, emulation window, or console screen.
- Selection of echo, 8-vs-7-bit, parity, shift-in/shift-out, and newline
modes.
- Idle timeout control / actions.
- Session logging and debugging.
- Character-set conversion for these character
sets.
- Automatic recognition of Kermit and Zmodem file-transfer packets.
KERMIT FILE TRANSFER
- The fastest and most advanced implementation of the Kermit protocol
available anywhere:
- Streaming
- Long packets
- Sliding windows with selective retransmission
- Adaptive packet lengths and timeouts
- Run-length compression
- Control-character unprefixing (for speed)
and prefixing (for transparency)
- Locking shifts for efficient transfer of 8-bit data on 7-bit connections
- Kermit protocol features:
- Force3 packet protocol (new to C-Kermit 9.0, forces 16-bit CRC on all
packets)
- Automatic per-file text/binary mode switching
- Send or receive text or binary files singly or in groups
- Cross-platform recursive directory-tree transfers
- File-transfer interruption
- Text-file record-format conversion
- Text-file character-set translation
- Automatic peer recognition
- Automatic directory creation
- Preservation of file timestamps and permissions
- Numerous filename collision handling options, including "update"
- File transfer recovery from the point of failure
- File attribute transmission
- Logging of file transfers
- Numerous controls for tuning and troubleshooting
- Support for external protocols such as X-, Y-, and ZMODEM (Unix)
- X-, Y-, and Zmodem built in (C-Kermit for Windows and OS/2)
- "Unguarded" text-file file capture and transmission.
Read more about Kermit file transfer
HERE.
KERMIT'S BUILT-IN FTP CLIENT
As of 2021, FTP has been been effectively banished from the Internet.
But if you can find an FTP server anywhere, you can use C-Kermit as a
highly versatile client. Unix, Windows, VMS, and OS/2 only:
- Both clear-text and secure connections supported.
- SSL/TLS security supported.
- Active and Passive mode supported.
- Passive mode used by default for firewalls.
- Automatic per-file text/binary mode switching.
- Character-set conversion, including Unicode.
- Atomic file movement.
- Flexible file selection (patterns, lists, size, date, size, ...)
- Update and recovery modes.
- Preservation of file permissions when uploading.
- Preservation of file dates when downloading.
- Recursive directory-tree uploads.
- Recursive directory-tree downloads when server permits.
- File collision options.
- Full scripting and automation, as well as command-line and URL control.
KERMIT CLIENT/SERVER SESSIONS
In which all actions are controlled by the client... The server can be
configured (optionally) to require login and password, and all services and
access can be enabled or disabled individually.
- Transfer files
- Change/Query directory
- Change/Query settings
- Change/Query variables
- Redirect query results
- Get directory listings
- Delete, rename, copy files
- Execute host commands
- Send files as mail
- Send files for printing
CHARACTER-SET TRANSLATION
- Can be done in terminal mode and as part of file transfer
- West European, East European, Greek, Cyrillic, Hebrew, and Japanese
character-sets supported
- Cyrillic/Roman transliteration
- Language-specific conversions
- Plus Unicode UTF-8, which supports all languages and writing sytems
- CLICK HERE for a list of C-Kermit's character sets
SCRIPT PROGRAMMING
- Learned scripts (automatic script recording, terminal connections only)
- "kerbang" scripts can be run just like shell scripts (Unix only)
- Macros and command files (scripts) with positional or keyword parameters
- User-defined variables
- Built-in variables
- Environment variables
- Arrays
- Associative arrays
- Ability to construct new data types.
- Built-in character, string, arithmetic, file-info, and other functions
- File open, read/write/seek/append, close
- Integer and floating-point arithmetic
- Date-time arithmetic and timezone conversion
- User-defined functions
- Lisp-like S-Expressions
- Block structure with local automatic variables and arrays
- Nestable FOR loops, WHILE loops, SWITCH, IF-ELSE
- Complex compound IF / WHILE conditions
- User-defined Ctrl-C (keyboard interruption) trap
- Recursion
- Transport-independent communications input / output
- Search communications input for multiple simultaneous targets or patterns
- Numerous login and other sample scripts provided
- Scripts are portable to hundreds of different platforms
- Scripts are portable between serial and network connections
- Support for TSV and CSV files
Improvements and bug fixes since C-Kermit 9.0
- Reintegration of the main C-Kermit version for Unix and VMS with
the Windows version formerly known as Kermit 95, now called C-Kermit
for Windows (CKW).
- Adaptation to Android, Raspberry Pi, new macOS versions, and other new
platforms.
- CHANGE command for changing strings in
external files.
- New serial-port speeds up to 4000000bps, and "set speed ?" now
lists the speeds numerically.
- Limited Locale support for date formats, day and month names,
system error messages, currency notaion, sorting and collation behavior, etc.
- TOUCH command fixed (it was broken in C-Kermit 9.0) and TOUCH
/MODTIME:date-time added.
- DIRECTORY command once again allows multiple filespecs (this was
broken in C-Kermit 9.0).
- RENAME /OVERWRITE:OLDER fixed (was broken in 9.0).
- In Unix-based OS's, new ability to execute Kermit scripts in pipelines.
- New IF conditions: NEQ, LLE, LGE, BINARY, TEXT.
- Parsing of some REMOTE commands was broken, now fixed.
- New (ECHO xxx) command for use within LISP S-expressions.
- New \ffileinfo() function to get all the information available about a
given file, used by the Photogallery script.
- DIRECTORY /BRIEF /EXCEPT:xxx fixed (required for
Photogallery), e.g. "dir /brief /except:*-[tr].jpg /output:IMAGES *.jpg"
(creates a file containing list of original JPG files exclusive of any
resized or thumbnail versions)
- New \ffilecompare() function (tells whether two files are identical or
differ, used in the renamejpgs
script).
- Some new date formats for \fcvtdate():
photogallery.html,
remind.html.
- In response to Unix full path names getting longer and longer
all the time:
Improved fullscreen file-transfer display to show user's login directory
as ~/ and to truncate too-long lines from the left rather than the right.
- The current directory shown in C-Kermit's default prompt now also uses
~/ notation to save space.
- Numerous adaptations to newer OpenSSL versions up to and including
OpenSSL 3.0.7.
- All variables are now evaluated one level deep by default, rather
then some being evaluated recursively and others not; more about
this HERE.
- Countless fixes and adaptations to newer Unix platforms, libraries,
header files, and C compilers. Described in the C-Kermit change log
from HERE
to HERE... about 2000 lines of text.
This type of pointless busy work will never end and it dooms every Unix
application to a short life.
DOCUMENTATION
C-Kermit 10.0 / The Kermit Project / Page created: 22 May 2022
|
|