The Kermit Project
|
Now hosted by
Panix.com
New York City USA
•
kermit@kermitproject.org
…since
1981
|
Home | C-Kermit | E-Kermit | Kermit 95 | Scripts | Timeline | About | Archive |
Frank da Cruz
fdc@columbia.edu ← (send reports to)
As of C-Kermit 10.0, this page lists only the actual Alpha and Beta tests. The "daily" updates are now found HERE.
As of C-Kermit 10.0 Beta.11, 8 August 2024 This page last updated: Fri Aug 9 12:16:45 2024 Eastern USA time
ALL FTP LINKS CONVERTED TO HTTPS 7 May 2021
▶▶ See brief change log below ▶▶ Go to voluminous update history
See table of recent C-Kermit builds, successful and unsuccessful. If you download and build this version, please send results to the email above for inclusion in the table.
Between formal C-Kermit releases, and even between Alpha and Beta releases during C-Kermit testing periods, the current working sources are uploaded to the Kermit Web site whenever there is something new to show and reasonable consistency checks don't fail. Since 2010, new builds aren't as frequent; "daily" is a slight overstatement due to the cancellation of the Kermit Project as my day job.
DOWNLOAD TARGET Description x.tar.gz Unix C-Kermit for Unix source code, Tar archive, Gzip compression (gunzip, 2.4MB) x.tar.Z Unix Ditto, Compress compression (uncompress, 3.5MB). x.tar Unix Ditto, not compressed (10MB) x.zip VMS Unix and VMS source code, ZIP archive (unzip*, 2.8MB). Test-Tar Unix Clickable directory listing of files in the kermit/test/tar directory.Test-Text (both) Clickable directory listing of files in the kermit/test/text directory.
* Use "unzip x.zip" on Unix (Linux, OSX, BSD, etc), as well as in (Open) VMS or DOS or Windows.
Note: the
The "daily" upload is not guaranteed to build successfully on the many platforms where a true release or Beta builds, but it does build on at least 2 or 3 of the primary development platforms (these days, pretty much just Linux and NetBSD — the days of guest IDs all over the Internet are long gone). A detailed C-Kermit edit history going back to the C-Kermit 8.0 release in 2003 is HERE.
CLICK HERE for greater detail.
Commonly-used C-Kermit Makefile targets Target Description linux Linux, all versions freebsd FreeBSD 4.1 or later openbsd OpenBSD 2.3 or later netbsd NetBSD 1.41 or later macosx Apple Mac OS X macos Apple macOS (newer than Mac OS X) hpux1000 Hewlett-Packard HP-UX 10 hpux1100 Hewlett-Packard HP-UX 11 aix IBM AIX 4.2 or later solaris9 Sun Solaris 9 or later
There are over 750 targets in the makefile, including many variations on each target listed above that add optional features (e.g. "make linux+ssl"), remove unwanted features (e.g. "make linux KFLAGS=-DNODEPRECATED"), support older OS versions or obscure and forgotten Unix-based platforms, etc.
To build C-Kermit for VMS:
For greater detail, CLICK HERE to see detailed C-Kermit building and installation instructions. In particular Section 7: Building VMS C-Kermit from the Source Code and Section 5: Installing VMS C-Kermit (after it's built).
See the UPDATE HISTORY for detailed descriptions of each change; it is updated much more frequently than this page is (15-20 years ago it really was almost daily).
Besides the C-Kermit 10.0 formal Beta test releases listed below, pre-test versions for the next Beta are posted occasionally, so interested parties can test new additions or changes before the next announcement. CLICK HERE to see the currently available pretests; the latest one is always on top. When there are pretest versions newer than the last Beta, the changes are described HERE. | |||||||||||||||||||||
| Minor changes for Unix and VMS, detailed HERE. | ||||||||||||||||||||
| All problems noted in the previous entry fixed; compiles with Clang 15 with no prototype warnings; all functions are prototyped to Clang's satisfaction, yet C-Kermit can still be built with old pre-ANSI compilers. | ||||||||||||||||||||
| Complies with Clang requirement that all functions must have prototypes (in C-Kermit's case, nearly 700 of 'em). Although the prototypes were (mostly) all present, some had problems, and some of the corresponding functions lacked an ANSI declaration. | ||||||||||||||||||||
| Very much like Beta.07 but is accompanied by the first new Beta for Windows (which is called Beta.04 but is based on C-Kermit 10.0 Beta.08) since 15 September, CLICK HERE for details. | ||||||||||||||||||||
| No more recursive evaluation of variables unless you ask for it. No more Wart. Better support for new OpenSSL releases. Space-saving compile-time feature-deselection options rehabilited. Numerous minor fixes and adaptations. | ||||||||||||||||||||
| A mistake that prevented Beta.05 from building on HP-UX fixed. Improved user interface for accessing higher interface speeds. Restored ability of the DIRECTORY command to accept multiple filepecs. Restored proper operation of the TOUCH command. Hundreds of source-code adjustments to suppress modern compiler warnings. Details HERE | ||||||||||||||||||||
| Support for a whole bunch of higher serial speeds (up to 4000000 bps). New /INTERPRET option for the TYPE command that interprets any Kermit backslash-escapes (variable references, etc) as it displays the file's contents. New /TOSCREEN and /INTERPRET options for the COPY command. Fixes some long-standing errors where the file-transfer protocol could step out of bounds on negotiated parameters. Removed arrow-key support from the Unix version because the corresponding API is "deprecated". Numerous minor improvements and countless syntax modernizations to cut down on compiler warnings. Details HERE | ||||||||||||||||||||
| Corrects one or two syntax errors fatal to compilation. | ||||||||||||||||||||
| Corrects some warnings and adds new "no networks" and "no tcp/ip" build options. | ||||||||||||||||||||
| Corrects two fatal errors affecting only non-ANSI-C builds (which I can't test myself). | ||||||||||||||||||||
| Big version-number change (explained HERE) and much polishing up of details in preparation for a formal release: more serial port high speeds added; elimination of more compiler warnings; some minor bugs fixed. | ||||||||||||||||||||
| More minor changes to eliminate compile-time warnings. | ||||||||||||||||||||
| At some point since the last real release of C-Kermit (9.0.302 in 2011) some unguarded ANSI C constructions snuck into the code so pre-ANSI (e.g. K&R) C compilers could no longer build C-Kermit. This has been fixed in Alpha.06, along with numerous picky-compiler warnings. Vielen Dank to Peter Eichhorn of Assyst GmbH, Aschheim-Dornach, Germany, "Herr C-Kermit/HP-UX". | ||||||||||||||||||||
| New support for 1,500,000bps serial port speed for platforms that offer it. Numerous adjustments to APIs, header files, and C compilers that changed out from under C-Kermit since the last release. A file-transfer bug fixed that resulted in the truncation of the filename when using ultra-short packets. Also a problem was fixed that occurred when transferring any file that contained 0xff bytes through an external Xmodem protocol. Most notably we now have successful builds on VMS operating system versions from 7.3 to 8.4 on various hardware platforms. See the update notes for details. | ||||||||||||||||||||
| (Alpha.03 was not uploaded) Nothing functional, mainly just adaptations to the changes in underlying Unix platforms to eliminate or at least cut down on compilation warnings and errors. Plus new adaptations to VMS from David Hittner as well as a correction to the way the VMS Zip file was created. It should unzip smoothly now (without "-aa") but there might still be some problems with the VMS compilation but it compiled with no errors or warnings on NetBSD, Ubuntu, and Red Hat. | ||||||||||||||||||||
| A couple edits from Debian produced in the process of getting C-Kermit back into its distribution. Plus a bunch of "compliance" edits so C-Kermit builds cleanly with the latest gcc (9.3.0). All warnings (most of them harmless) were eliminated on Ubuntu 20.04.1, NetBSD 9.0, and Red Hat 6.1. Reports from other platforms would be appreciated; send them to my email address shown at the top. | ||||||||||||||||||||
| § Emergency test release to cope with a backwards-incompatible
change in glibc 2.28, in which the symbol | ||||||||||||||||||||
| § Improvements to date/time parsing. § Segfault in CHANGE command fixed. | ||||||||||||||||||||
| § Function calls like | ||||||||||||||||||||
§ Fundamental redesign of C-Kermit's method for passing arguments to macros, necessary because of a longstanding bug in which a single argument passed by the caller could look like multiple arguments to the callee if it contained certain characters. Changes to 25 modules were required. With these changes I was finally able to write a usable text-to-html conversion script, which is HERE, and then I used it to convert my 9294-line C-Kermit update notes file to HTML, HERE (use this link to go straight to the bottom, where the latest entries are) (Note: the current version of the change log has newest entries at the top and is much improved stylistically). Also in this version: § FOPEN /STDOUT and FOPEN /STDERR to complete the support for using C-Kermit scripts in Unix pipelines; § Some improvements to error messages that are issued during script execution; § various bug fixes (see notes). | |||||||||||||||||||||
§ New FOPEN /STDIN command allows the FREAD command to read from
Standard Input as well as from a file.
§ New ECHO command for S-expressions. Previously there was no way
to print things in Lisp code.
§ HELP SEXP now shows second argument (decimal places) for
ROUND.
§ New switches for GETC (command to read one character from
the terminal): /TIMEOUT:seconds, /QUIET (to suppress any error
messages), /CHECK (to see if any characters are available to be read).
§ | |||||||||||||||||||||
§ Fixed a problem with creating files in recent releases of Mac OS X. | |||||||||||||||||||||
§ Put back new sizes of things with help from Mark Sapiro,
who tested them on some platforms I don't have access to.
§ Expanded Locale support to the | |||||||||||||||||||||
§ Backed off the "sizes of things" changes because they cause segfaults on some platforms I don't have access to; will revisit later. | |||||||||||||||||||||
§ Maximum sizes of all sorts of buffers were increased for 64-bit builds, so macro definitions can be almost infinitely long, packet buffers can hold the largest possible load, etc. § The CHANGE command is now documented HERE. § New features were added the CHANGE command, including two different ways to preserve the original files. § Some bugs fixed in the CHANGE command (for example, it didn't work at all on Linux). § Bugs in the SET TEMP-DIRECTORY command were fixed. § A bug in the IF WRITEABLE command when applied to a directory was fixed. § Some robustness and defensiveness problems with some of C-Kermit's internal APIs were fixed. § The S-Expression (LISP) ROUND operator fixed to not crash (as it did on certain platforms but not others). § Local arrays were fixed to be deallocated when their declaring context vanished even when they did not shadow another array of the same name higher up. | |||||||||||||||||||||
| § A new 'linux' target in the makefile that should correct numerous problems in feature selection and locating libraries and header files. § Copyright updated to 2016. | ||||||||||||||||||||
| § Changes to makefile for building on Red Hat Linux EL6 on x86_64, and in particular for detecting the case where the ncurses lib is installed but ncurses.h is not (in which case C-Kermit builds without curses support). § Patches from Bernard Spil: "Kermit fails to build when OpenSSL libraries built without SSLv3 are used (configure --no-ssl2 --nossl3). This has surfaced when building with the latest LibreSSL 2.3. In addition, there are issues with LibreSSL as it does not support SSL compression nor Perl EGD as entropy source." | ||||||||||||||||||||
| §
Two closing braces were missing in | ||||||||||||||||||||
|
§ Default SSL/TLS FTP, HTTP, and Telnet connections to TSL 1.0
instead of SSL 3.0 or 2.3 (thanks to Jake Thompson). § Fix
inconsistent declarations of | ||||||||||||||||||||
| § Downloads (RECEIVE or GET) would crash Kermit on any Unix-family platform that does not have UCCP, or any other Unix-family build done with -DNOUUCP. This would occur in Kermit protocol downloads and with FTP GET. Maybe also with SSH. This should be fixed in Dev.12. Thanks to Glenn Sherman for reporting the problem. § The copyright year was updated to 2015. | ||||||||||||||||||||
(Dev.10 skipped) |
§ Fixed DIRECTORY /EXCEPT: switch to work when /BRIEF switch
was also given.
§ Fixed the client end of many REMOTE commands, such as REMOTE PWD,
which had been getting spurious parse errors, apparently for many years.
Thanks to Alan Jones and to Harold Baldwin for reporting the problem.
§ Improved HELP SET FILE text to mention that SET FILE COLLISION
OVERWRITE doesn't work for a server unless it has also been told to ENABLE
DELETE.
§ Fixes to | ||||||||||||||||||||
9.0.304 Dev.09 | § A fix from Jeff for SET AUTH TLS VERIFY NO to allow scripts to run with no user interaction when server does not provide a certificate. § Fixed a core dump that could happen in the TOUCH command. § New briefer current-directory string in C-Kermit prompt on Unix. § Further adaptations for Windows. | ||||||||||||||||||||
9.0.304 Dev.08 | § Some more fixes and changes for a Windows version of C-Kermit. § Improved error messages from scripts. § Suppression of spurious parse errors in certain IF commands. § Locale support enabled for certain sorting operations, e.g. of directory listings. | ||||||||||||||||||||
9.0.304 Dev.07 |
Fixes to the new CHANGE command. Fixes for NetBSD 6.1 (time_t change).
Fixes to | ||||||||||||||||||||
9.0.304 Dev.06 |
§ LOCALE SUPPORT
for platforms that have locales
(internationalization features for languages, character sets, dates, etc).
This begins with new functions (next item) to get day and month names
in the language and character set specified in the locale, but also has
other ramifications that might not please everybody; for example, that it
can change the behavior of certain functions like
§ Internationalized day and month names: New functions
§ Disabling the locale features. To return Kermit to its
previous anglocentric behavior, you can (a) start it with a
special command-line option, (b) define a certain environment
variable, or (c) give a SET LOCALE command at the
§ New CHANGE command, to change strings in text files. For example, suppose you manage a website with thousands of files in a directory tree, many of which link to an offsite page whose URL has just changed. Now you can fix them all with a single C-Kermit command: change /recursive ~/web/*.html www.oldname.com www.newname.comThe CHANGE command has lots of options: /after: /dotfiles /modtime: /not-before: /before: /except: /nodotfiles /recursive /case: /larger-than: /norecursive /simulate /count: /list /not-after: /smaller-than:...for file selection (size, date, exception lists, dot-files), directory traversal (flat or recursive), modification time of changed files (updated or preserved), and reporting of results. HELP CHANGE for details and options. § Added GREP /ARRAY:&a to get the names of all the files that contain text that matches a given pattern into an array, which can be looped through later to take any desired actions with the files: moving them, renaming them, transferring them, etc. The GREP command has lots of options, too, like CHANGE and TOUCH do, for file selection, recursion, what to do with results, etc.
§ Added a new Also, just for symmetry with
§ Added a way for a Kermit script to test whether a file is text
or binary: IF BINARY filename, IF TEXT
filename. Also the new § New IF conditions for lexical comparisons: NEQ, LLE, LGE. Previously these could only be done with IF NOT EQU, IF NOT LGT, IF NOT LLT.
| ||||||||||||||||||||
9.0.304 Dev.05 |
§
Fixed a problem with SET TELNET WAIT OFF being overridden by faulty Telnet
protocol negotiations and fixed a deadlock when negotiating Telnet
parameters with the Synchronet BBS.
§ Added IF FUNCTION to test for availability of a given
built-in function.
§ Expanded the | ||||||||||||||||||||
9.0.304 Dev.04 |
(1) Added can be supressed, printed normally, or sent to stderr. Added EXIT MESSAGE status to SHOW EXIT and updated HELP SET EXIT.EXIT 1 "File not found"
(2) Made a new function
| ||||||||||||||||||||
9.0.304 Dev.03 | § The TOUCH command was updated to allow an arbitrary modification date-time to be applied to the touched file(s), rather than always the current date-time. Kermit's TOUCH command is quite powerful in its file selection capabilities, including size, date, type, patterns, exception lists, recursion, etc. Type HELP TOUCH at the C-Kermit prompt for details. § C-Kermit now shortens pathnames as much as possible for the file-transfer display, necessary because Unix paths are getting longer and longer and the name of the file increasingly tends to disappear off the end. This was done by replacing the user's home path with "~/" and/or leaving the path off entirely when the file is in C-Kermit's current directory. | ||||||||||||||||||||
9.0.304 Dev.02 | This is a development version, not widely tested and therefore not ready for release. Since the Kermit Project at Columbia University was canceled, I no longer have access to a wide variety of platforms for development and testing. What's new in 9.0.304: § Android support via the "make linux" path (Tim Sneddon). § Noted in makefile that "make linux" works for Raspberry Pi. § Fixes for OpenSSL 1.0.0 and later; C-Kermit built with OpenSSL was sometimes spuriously refusing to run when a new SSL version was detected (Adam Friedlander and Jeff Altman). § Support for multiarchitecture libraries in Linux (curses, resolv, etc) (Ian Beckwith). § Fix for a core dump when transferring a file on OpenBSD on Sparc64 due to some inconsistencies in declarations between modules (the edit with just this fix was marked 9.0.303 and may have made its way into some OpenBSD distributions). § Various minor fixes described in the Change Log. Thanks also to Bruce Skelly for verification on the Raspberry Pi. | ||||||||||||||||||||
The C-Kermit 9.0.302 release, contains corrections applying only to FreeBSD 8 and 9. | |||||||||||||||||||||
The C-Kermit 9.0.301 release, contains a correction applying only to Solaris 10 and 11. | |||||||||||||||||||||
Beta.01 | C-Kermit 9.0.301 Beta.01. Fixes DNS lookup in Solaris 10 and 11 (which apparently has never worked); suppresses a couple compiler warnings in the SSL module. So far there is no need for 9.0.301 on any platform but Solaris 10 and 11. | ||||||||||||||||||||
The C-Kermit 9.0.300 release (actually released 28 June but dated 30 June). | |||||||||||||||||||||
Beta.02 | Builds correctly on more and more platforms with and without MIT Kerberos 5 and/or OpenSSL. | ||||||||||||||||||||
Beta.01 | First Open Source version. FORCE-3 error checking. Simple variable evaluation. See the C-Kermit 9.0 Beta Test release notes. | ||||||||||||||||||||
Alpha.09 | SSL feature detection updates in Solaris and Linux; pseudoterminal support update in Solaris. | ||||||||||||||||||||
Alpha.08 | CSV support for | ||||||||||||||||||||
Alpha.07 | Several bug fixes, new | ||||||||||||||||||||
Alpha.06 | Comma-Separated Value files, documented HERE. | ||||||||||||||||||||
Alpha.05 | New functions: | ||||||||||||||||||||
Alpha.04 | FTP connections could not be made from 64-bit Unix platforms like Mac OS X or RHEL5 on x86_64, or any Unix OS on Alpha hardware. This should be fixed now. Also various unrelated compile-time warnings fixed. | ||||||||||||||||||||
Alpha.03 | See notes for details. General: § Escape-sequence stripping from session log by INPUT as well as by CONNECT. § New commands for selectively issuing progress or debugging messages from scripts. § A fix to prevent the fixed packet-timeout interval from going to an unexpected value. Unix: § Relaunching a closed SSH connection with the CONNECT command is now possible. § Unlike Alpha.02, Alpha.03 can be built on FreeBSD 8.0 and SunOS 4.1. § New aixg target for building on AIX with gcc. § New aix+ibmssl target for building on AIX with IBM SSL. VMS: § "Large File Support" now included by default on 64-bit hardware on VMS 7.3 and later § Kermit's internal FTP client is now included by default in any build that also includes TCP/IP networking. § In network builds that request OpenSSL support are more self-configuring. § Preliminary limited support for the ODS-5 file system on VMS 7.2 and later. § Support for older and older VMS versions. | ||||||||||||||||||||
Alpha.02 |
§ Fix for unbalanced | ||||||||||||||||||||
Alpha.01 | First C-Kermit 9.0.299 Alpha-test release, Described here. | ||||||||||||||||||||
Dev.27 | Very minor, fixed some compiler warnings in the VMS version. | ||||||||||||||||||||
Dev.26 | Fixed FTP timeouts to work on the command channel as well the data
channel, e.g. for directory listings, and added code to make timeouts work
for uploads as well as downloads, but so far this is untested. Fixed some
compiler warnings from HP-UX 9 and earlier over the new timeout code.
§ Fixed a
bug in the VMS version of C-Kermit in which downloading a file with
SET DESTINATION NOWHERE (or /CALIBRATE) could fail if there was not enough
space on the disk to hold the file, even though the file was not going to be
stored on the disk.
§ Changed | ||||||||||||||||||||
Dev.25 |
Fixed a bug in INPUT /COUNT:. Removed an unnecessary | ||||||||||||||||||||
Dev.24 |
By popular demand (especially this week with the Kermit FTP site server
malfunctioning), I added a SET FTP TIMEOUT feature. For now, it works on
downloads only, only on the data connection (so, for example, it doesn't
help with stuck DIRECTORY commands). Works as expected in conjunction with
SET FTP ERROR-ACTION when downloading multiple files with MGET. Needs a lot
of testing on both clear-text FTP and FTPS (SSL/TLS) sessions. I'll flesh
it out later.
Other changes… § Fixed a bad bug in the date-parsing routines; it's been there for years: if a date string includes a timezone, e.g. "Sat, 9 Dec 2006 19:26:23 EST", and converting it to GMT changes the date, the separate variables for day, month, and year (which are used later) were not updated, and the final result was a day off. § For communication protocols: | ||||||||||||||||||||
Dev.23 |
Added COPY /PRESERVE (like "cp -p" in Unix) and COPY
/OVERWRITE:option. DIRECTORY /BRIEF fixed to pay attention to other
switches. SHOW CONNECTION fixed to show TCP Port (service, socket) number
in TCP connections; ditto for the connection log. DECLARE command fixed to
allow for empty array element initializers (e.g. undefined variables).
Fixed DIRECTORY /ARRAY | ||||||||||||||||||||
Dev.22 |
New TOUCH command, like UNIX but accepts all the same file-selection
switches as Kermit's DIRECTORY command. New netbsd+openssl makefile target.
Fixed the new RENAME command to work in the case where the source and
destination file names both include paths. Fixed the FOPEN and FCLOSE
commands to make sure to scrub and reinitialize all the file information
(previously it was possible that some of the old info, e.g. current line
number, could be inherited from a previously closed file). Fixed an
unguarded variable reference in | ||||||||||||||||||||
Dev.21 | One fairly major change: code was added to not drop DTR on a serial
connection when closing the connection and/or EXITing if SET EXIT HANGUP is
OFF. I don't have a good way to test this just now, but at least it seems
to compile OK on a fair number of platforms. And then some minor
things... Added DIRECTORY /COUNT:x to count the number of files that
match the given criteria and store the result in the given variable. Fixed
DIRECTORY /TOP to work if the number of lines was omitted, displaying the
top 10. Added HDIRECTORY as an invisible synonym for DIR /SORT:SIZE
/REVERSE, i.e. show the biggest ("H"ugest) files first; can be used with
other switches, e.g. HDIR /TOP to show the 10 biggest files. Fixed
DIRECTORY /FOLLOWLINKS and /NOFOLLOWLINKS, which apparently always behaved
the same. Added \v(dialmessage) which is the text string
corresponding to \v(dialstatus) (e.g. 2 = "Communication device not
specified"). Added a missing UUCP lock directory name definition for Linux
(used only for display). Even more minor: Improved error messages for new
RENAME command. Made IF KERBANG more reliable. Fixed
| ||||||||||||||||||||
Dev.20 | New
if > \%a 3000000001 ... (this didn't work before).
I fixed
if \f_status(\%c) fwrite /line \%c blah blah blah...
without having to worry about whether we have opened the file yet. What
else... I fixed Also: New invisible WDIRECTORY command = DIR /SORT:DATE /REVERSE. And new /TOP:n DIRECTORY command switch says to show only the top n lines of the listing. | ||||||||||||||||||||
Dev.19 | Large file support added for IRIX 6.5 by Scott Kasten. File transfer
display fixed for RESEND/REGET of large files. | ||||||||||||||||||||
Dev.18 | New feature: SET SEXPRESSION TRUNCATE-ALL-RESULTS lets you force
S-Expressions to do only integer arithmetic (see the two
Easter date calculation scripts).
Big new feature: A new set of switches for the RENAME command, allowing
you to rename groups of files at once, changing case of letters or changing
the character set, removing spaces or changing them to something else,
and doing anchored or floating or occurrence-based string replacement,
described HERE.
Other changes: the FILE commands (FOPEN, FREAD, FWRITE, FCLOSE, etc) have
been changed to consume far less memory. Various | ||||||||||||||||||||
Dev.17 | New secure builds for Linux: linux+ssl (OpenSSL 0.9.7 or later);
linux+krb5 (Kerberos 5); linux+krb5+ssl (both), tested on
Red Hat AS4.3 (the old targets don't seem to work any more). Warnings about
| ||||||||||||||||||||
Dev.16 | Fixed FTP [M]GET /DELETE /MOVE-TO:xxx. This combination never worked. Created a new target for HP-UX 10 and 11 with OpenSSL but not Zlib, for systems where Zlib is not installed. Added OpenSSL version number display to SHOW FEATURES. Verified this edit with AIX 5.3. | ||||||||||||||||||||
Dev.15 | Added large file support for AIX 4.2 and later. Added SSL option for AIX 5.1 and later. Fixes for IRIX 6.4 and 6.5 (DIRECTORY command would loop forever). HELP command fixed to work for tokens as well as keywords. Thanks to J. Scott Kasten for the IRIX fixes. | ||||||||||||||||||||
Dev.14 | Attempted to squelch a few more SSL messages when SET QUIET ON. Adjustments to the HP-UX 7.00 makefile target. New makefile targets for NetBSD and IRIX 6.5 with SSL/TLS, SRP, and ZLIB. New NetBSD target omitting curses. New IRIX 6.5 target for building with GCC. Updated Linux-with-no-curses (linuxnc), Linux-with-curses-rather-than-ncurses (linuxc) targets. Old NetBSD targets retired since the new ones should work with any NetBSD release. | ||||||||||||||||||||
Dev.13 | Fixed a couple typos that caused warnings or build failures on some platforms. Finally determined that large file support (LFS) can be the default on all Solaris builds (Sparc and PC), Solaris 9 and later. Maybe earlier versions also but I don't have access to them any more to check. So all the regular "solarisxxx" targets were changed to select LFS, and the previous "solarisxxxlfs" targets are now just synonyms. | ||||||||||||||||||||
Dev.12 |
Fixed "value too large for switch case" compilation errors in S-Expression
parser. Fixed setting of serial speed to 921600bps on platforms that
support it. Restored the ability to use arithmétic expressions in
compact substring notation, which I broke back in August, and this required
a small change in syntax in the | ||||||||||||||||||||
Dev.11 |
Large-file access and large-integer arithmetic working in FreeBSD,
NetBSD, OpenBSD, HP-UX, and UnixWare. Here is the current status of 32-bit
builds that support 63-bit file lengths and integer arithmetic. All known
pure 64-bit builds (Tru64 Unix, Solaris with -xarch=generic64, Linux on
X86_64, etc) handle large files and big numbers automatically. All the
regular 32-bit builds (QNX 4.25, older HP-UX versions, etc) seem OK.
Other changes in Dev.11:
| ||||||||||||||||||||
Dev.10 |
Implemented X/Open Single UNIX Specification Version 2 (UNIX 98) Large File
Support (LFS), allowing 32-bit platforms to access, manage, and transfer
files bigger than 2GB on platforms that support LFS. These include Linux
on Intel PC hardware, Mac OS X 10.3.9 or 10.4.x, and Solaris 9 and 10
(Solaris on Sparc, of course, also supports pure 64-bit builds, but the LFS
version has a much smaller footprint). This should work for both Kermit
and FTP protocol transfers, although I have not yet found a way to test it
in the FTP client. It also has the side benefit that new 64-bit signed
integer data type can also be used elsewhere, e.g. in arithmetic, so the
S-Expression and regular arithmetic expression evaluators were upgraded to
use it when available. This applies to both 32-bit LFS platforms as well
as 100% 64-bit platforms. All of this involved massive changes in the code,
touching virtually every module, and there are sure to be spots I missed,
so thorough testing is warranted. I've built and tested to some extent on
both 32- and 64-bit versions of Linux going back to 1999, plus OpenVMS, SCO
Unixware 7.1, FreeBSD 4.11, Tru64 Unix 4.0F, and Mac OS X 10.3.9 and 10.4.2.
Areas to watch out for:
When building, use "make linux" to build any Linux version. This should automatically include LFS support on Linuxes that include it. I haven't been able to find any Linux platforms that don't, but in case it causes trouble, use "make linuxnolfs". For Solaris, use "make solaris9lfs" or "make solaris10lfs". I didn't make this the default for Solaris yet because I don't seem to have access to the i386 version of Solaris any more to make sure it works there too (Sun cc or gcc). For Mac OS X 10.3.9 or later, use "make macosx10.4". Adding LFS to other builds on other platforms that support it should be easy: just do this:
make clean make xxx "KFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" where xxx is any makefile target. If you do this, let me know the results. Other changes in this edit are:
| ||||||||||||||||||||
Dev.09 |
Added buffering code to speed up HTTP GET and all other input from an
HTTP server; result is about 20 × faster on a fast network connection
(clear-text, non-SSL connections only).
Changed DIRECTORY and DELETE commands to not show filenames in braces when
printing error messages.
An updated HP-UX 9.xx makefile target to avoid core dumps from stack
exhaustion.
Fixed a typo in the non-ANSIC definition of | ||||||||||||||||||||
Dev.08 | Discovered that on a SET PORT /SSL connection, Kermit treats incoming 0xff data bytes (e.g. sent from the POP server) as IACs and goes into Telnet negotiations. This makes it impossible to retrieve email from a SSL or TLS POP server if the mail contains any 0xff bytes, because the POP server doesn't do Telnet protocol. Kermit's current SSL and TLS methods both allowed for Telnet negotiations to be initiated by one side or the other. Added two new ones: /SSL-RAW and /TLS-RAW, which do not respond to Telnet IACs but, rather, accept them as data. Also: Updated INPUT and MINPUT help text; changed "make netbsd" to be a synonym for "make netbsd2" because the original netbsd target was ancient and got compiler warnings. | ||||||||||||||||||||
Dev.07 |
In the DATE command and related functions, fixed parsing of dates like "Wed,
13 Feb 2002 17:43:02 -0800 (PST)", commonly used in email. Added a new
format code 4 to
\flopx(sesame.cc.columbia.edu) = edu \flopx(sesame.cc.columbia.edu,,2) = columbia.edu Laid some more groundwork for hybrid 32/64-bit builds (to allow "long" files to be transferred on 32-bit platforms that supply an appropriate API). | ||||||||||||||||||||
Dev.06 | Strictly for debugging an isolated FTP/SSL problem; one debug statement added. | ||||||||||||||||||||
Dev.05 |
More data-type tests in SHOW FEATURES.
••
A typo in the HP-UX 7.00 Makefile target was corrected.
••
Even after the previous changes, it was still possible for SWITCH to produce
incorrect results if the value of a case-label variable was too long. Any
such error is now fatal to the script where it occurs.
••
An idea popped into my head after having typed too many commands like
" | ||||||||||||||||||||
Dev.04 | Adjustment of builds for various old platforms to avoid the "long long not defined" compilation failure (older HP-UX versions, etc). Please notify me of any further failures. Adaptation to OpenSSL 0.9.8. More data-type feature tests for SHOW FEATURES (remember, this is to shake out the platforms differences in advance of attempting long-file support for 32-bit architectures). Major fixes to the SWITCH statement; it did not allow for long case labels (including variables that are expanded into long strings) and under certain circumstances it could execute the wrong case, e.g. if two case labels were not unique in their first 50 characters. The length limit for labels has been raised to 8K, overflows are now detected, and certain other failures have been corrected that are too hard to explain. | ||||||||||||||||||||
Dev.03 |
Nothing major. In no special order: Prevented HTTP POST from adding an
extraneous CRLF at the end. Fixed warnings in network and FTP for
socket-related functions on HP-UX 11i V2, and got long-file transfers
working on HP-UX 11i. Added tests to SHOW FEATURES for macros like INT_MAX,
LONG_MAX, LLONG_MAX, as well as | ||||||||||||||||||||
Dev.02 | More 64-bit work. When
a 32-bit versions of Kermit is sent a long file, the result isn't pretty.
First it truncates the file size that was announced in the sender's
Attribute packet so the file-transfer display statistics are all wrong, and
then in most cases when the 2^31 (or 2^32) byte boundary was hit, a trap
would occur causing Kermit to exit immediately. As a first step in adapting
32-bit versions of C-Kermit to long files, I fixed these problems. And
discovered that on some platforms, (such as in 32-bit C-Kermit builds on Mac
OS X 10.3.9) the file would be received successfully anyway -- don't ask me
how. Began to add some consciousness of 64-bitness at compile time (new
CK_64BIT macro) and runtime (new | ||||||||||||||||||||
Some work on 64-bit versions of C-Kermit. New targets 'solaris10_64' and 'solaris9_64' that actually work (Sun CC only, I'm still having problems with gcc). Having built them, I found some runtime problems: some versions (notably Solaris) would not make Telnet connections; other versions (such as Linux on ia64 or x86_64) would not make ssh connections. These are now fixed. The big news is that 64-bit builds transfer large files correctly between themselves. So far these include Solaris 9 and 10, Linux on AMD x86_64, Linux on ia64, and Tru64 Unix on Alpha. These versions also handle long files in all the other ways that Kermit deals with files -- the DIRECTORY command, the file-related functions, the local file interface (FOPEN / FREAD / FWRITE / FCLOSE). I believe the FTP client also works, but it's hard to prove. The next -- and much more difficult -- step is to handle long files on those 32-bit platforms that support them, through any of several "transitional APIs". Also in this edit, I changed the plain-text version of ASKQ to echo asterisks. | |||||||||||||||||||||
New build target for Mac OS X 10.x that automatically picks up Mac OS
version, e.g. 10.4.2, for the program herald. Updated UnixWare 7 target
(uw7) to also pick up UnixWare version automatically. Fixed FOPEN to set
the channel variable to -1 if it fails rather than possibly leaving it
undefined. Added two special channel values, -8 and -9, that turn all FILE
i/o commands (FREAD, FWRITE, FSEEK, etc) into noops that succeed (-8) or
fail (-9). Fixed IF DIRECTORY to work for Unix pathnames that begin with
tilde. Fixed the NONOSETBUF compile-time directive (which instructs Kermit
to make stdout unbuffered) as well as the corresponding runtime
| |||||||||||||||||||||
Compact substring notation extended
to allow ending position to be specified instead of length; thus
| |||||||||||||||||||||
Added OpenSSL support for Tru64 Unix. Added HTTP support for NetBSD. Fixed HTTP GET command work with URLs that contain metacharacters. Fixed the June 16th fix to the pattern matcher. Added some missing HELP text. | |||||||||||||||||||||
New makefile targets for Solaris 10. | |||||||||||||||||||||
Fixed some problems matching patterns that use the | |||||||||||||||||||||
New build target for Mac OS X 10.3 with Kerberos 5 and OpenSSL. Fixed error in herald generation for NetBSD 1.5, 1.6. Fixed SET TERMINAL IDLE-ACTION OUTPUT to work as documented, i.e. to send a NUL character if the OUTPUT string is empty. New SET WILDCARD-EXPANSION { ON, OFF } command allows straightforward processing of filenames obtained programmatically if they happen to contain literal metacharacters, or for that matter if you want to type them interactively without all the quoting. | |||||||||||||||||||||
New IF LINK command (Unix only) to test for symlinks.
New SET TERMINAL LF-DISPLAY command.
New | |||||||||||||||||||||
Fix automatic redialing of numbers that contain spaces when DIAL MACRO is defined. Add client and server side of REMOTE MESSAGE. Fix FTP CD to strip quotes or braces from around argument. | |||||||||||||||||||||
Allow access to FTP ports above 16383. Fix FTP output of Unicode
text to screen. Relax FTP FEAT parsing to allow different kinds of
whitespace. Fix short-circuit property of S-Expressions like
(AND X Y). Inhibit automatic switching from SPACE parity to NONE
on autodownload. Fix DIAL MACRO to work with multi-word phone numbers.
Deal with compile-time warning on certain Red Hat systems regarding
| |||||||||||||||||||||
The UUCP lockfile for Mac OS X was |
Language | Link | Date | Translator | Organization |
---|---|---|---|---|
Spanish | Español | 2024/01/05 | Marglin Araujo | chicksx.com |
Home | C-Kermit | E-Kermit | Kermit 95 | Scripts | News | About | FAQ |
C-Kermit 10.0 / The Kermit Project / kermit@kermitproject.org |