From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
Date: Thu, 23 Apr 98 20:29:05 EDT
To: C-Kermit Developers and Testers <kermit@columbia.edu>
Reply-to: kermit@columbia.edu
Subject: C-Kermit 6.1 Beta.03
Message-ID: <CMM.0.90.4.893377745.fdc@watsun.cc.columbia.edu>

This is to announce C-Kermit 6.1 Beta.03.  I hope this will be the final
closed Beta.  The main reason it's still closed is that the security modules
have been rearranged in a rather major way, plus a fair amount of new code
was added to support IBM AIXLink/X.25.

Let me know if you want to be removed from this mailing list (mailings will
continue to go out about once or twice a month until C-Kermit 6.1 is done).

HIGHLIGHTS

IBM AIXLinx/X.25 support (peer-to-peer only) was added by Stephen Riehm of
PC-Plus in Germany.

Beta.03 adds Stanford University's Secure Remote Password (SRP)(TM) protocol
for Telnet connections.  This allows secure logins without transmission of
passwords, and also encryption ov securely authenticated sessions (encryption
is available in the USA and Canada only due to USA export laws).  For more
information about SRP, see:

  http://srp.stanford.edu/srp/

SRP is available currently for Linux only; other UNIX systems can be
supported by adding new makefile entries following the "linux+srp" model;
see the security.txt file for further information.

If you are interested in SRP or Kerberos, and are in the USA or Canada,
please contact me directly for access to the files, which (due to export
restrictions) can not be placed on the public ftp server.

GENERAL CHANGES SINCE BETA.02

 . Added: STATUS as a synonym for SHOW STATUS.
 . Added: A Telnet "personality"; if you call the C-Kermit executable Telnet
   instead of Kermit, it accepts the Telnet command line ("telnet host port").
 . Added: \v(name), the name by which C-Kermit was invoked.
 . Added: 877 and 866 to default toll-free area code list for country code 1.
 . Added: -O command-line option: "Be 100% transparent in CONNECT mode".
 . Added: System (utsname) info to SHOW FEATURES on platforms that allow it.
 . Added: ".hex" and ".hqx" to default list of text file types.
 . Added: XMODEM-CRC as an external protocol type.
 . Added: More informative error messages on SET LINE / PORT failures.
 . Fixed: Server (non)response to "GET *".
 . Fixed: INPUT 0 <text> to work as advertised.
 . Fixed: \- at end of a command now properly quotes the hyphen.
 . Fixed: PIPE connections to work more than once.
 . Fixed: Time and CPS fields of transfer display after Ctrl-C interruption.
 . Fixed: SHOW NET not to run off screen.
 . Fixed: A spurious "Transfer OK" message if connection lost during transfer.
 . Fixed: "kermit -x" at C-Kermit> prompt to return to prompt after 1 action.
 . Fixed: \v(instatus) value if INPUT failed because of connection loss.
 . Fixed: SET HOST commands were not getting into the command recall buffer.
 . Fixed: Various minor command syntax discrepancies.
 . Fixed: Various #ifdef inconsistencies.

UNIX-SPECIFIC CHANGES

 . Added: Secure Remote Password protocol.
 . Added: IBM AIXLink/X.25 support.
 . Added: Support for ttylock(), ttylocked(), ttyunlock() library routines
          in AIX for creating, checking, and removing UUCP lockfiles.
 . Added: Automatic recognition of lockfile PID format when checking
          for stale lockfiles.
 . Added: dgux54411i makefile entry for DG/UX 5.4R4.11 on Intel.
 . Fixed: C-Kermit no longer removes lockfiles it didn't create.
 . Fixed: HP-UX 7.x makefile entries to not try to optimize ckcnet.c.
 . Updated: sv68r3v6 and sv88r50 makefile entries for new C-K 6.1 features.

Note the UUCP lockfile changes.  The use of ttylock() and friends is
preferable to hand-crafted lockfile handling, since it isolates C-Kermit from
changes in lockfile conventions (directory, name, contents, format), e.g.
when new OS releases come out.  To my knowledge, only AIX supports these
routines.  Also, C-Kermit now tries to automatically detect the format in
which the PID is recorded in the lockfile: if the lockfile is 2 bytes long, it
is assumed to be a short; if it is 4 bytes, it is assumed to be an int.  If it
is longer than 4 bytes, it is assumed to be a string (with a couple exceptions
that are known not to fit, e.g. COHERENT).  This should reduce the frequency
of false positives (or negatives) in detecting stale lockfiles.  Also, when
closing a device that it opened, and for which it created a lockfile, C-Kermit
no longer removes the lockfile if it changed out from underneath it (i.e. if
it contains somebody else's PID).  I'm not sure if this is good or bad, but
several people had requested this change.

VMS-SPECIFIC CHANGES

 . Added: \v(osname), \v(osrelease), \v(osversion)
 . Added: \v(model) (hardware model)
 . Fixed: GFTIMER ifdefs for pre-5.0 VMS versions.

 Open VMS issues:

 . LABELED mode lacks relative pathname option; directory-tree transfers
   don't work between two VMS systems because they go into LABELED mode
   automatically.
 . Confusion about SET TRANSFER MODE { AUTOMATIC, MANUAL } vs FILE TYPE IMAGE
   (should AUTOMATIC unset IMAGE?  Should IMAGE set MANUAL? ...)
 . Problems with overstrike records in Fortran Carriage Control files.
 . Need better error message for failure to receive a file in text mode that
   has lines longer than 32K, or else a way to recover when this happens,
   e.g. by breaking the long line.
 . DECnet-aware CD command -- work in progress, should be available in Beta.04.
 . Fractured fullscreen file transfer display during GET (can't reproduce).
 . I don't have access to Alpha VMS 6.x any more, can't make binaries, sorry.

WHERE TO FIND IT

C-Kermit 6.1.193 Beta.03 is in the kermit/test tree at the Kermit ftp site,
along with drafts of all the update documentation, etc:

 ftp://kermit.columbia.edu/kermit/test/tar/
   cku193src.tar.Z   Source code (UNIX and VMS), tar, UNIX compress
   cku193src.tar.gz  Source code (UNIX and VMS), tar, gzipped
   cku193txt.tar.Z   Other text files, tar, UNIX compress
   cku193txt.tar.gz  Other text files, tar, gzipped

 ftp://kermit.columbia.edu/kermit/test/text/
   Individual source and text files for UNIX, VMS, OS-9,
   AOS/VS, Stratus VOS, etc etc.

 Among the interesting text files:
   ckermit2.upd    -- User documentation of new features since 6.0.
   ckaaaa.hlp      -- Overview of files, file naming conventions, etc.
   ckc193.upd      -- Program edit history since 6.0.
   ckuins.doc      -- UNIX installation instructions.
   ckvins.doc      -- VMS installation instructions.
   ckuker.bwr      -- UNIX C-Kermit "beware file" (hints and tips).
   ckvker.bwr      -- VMS C-Kermit beware file.
   ckcplm.doc      -- Program logic manual, API definition, etc.
   ckccfg.doc      -- Program configuration options.
   alpha*.txt      -- Announcements of each Alpha test.
   beta*.txt       -- Announcements of each Beta test.
   security.txt    -- Documentation of Kerberos and SRP features.

INDIVIDUAL BETA.03 BINARIES:

The binaries marked with (+) are Beta.03, transferred using itself to the
Kermit ftp site.  The others are mostly Beta.02 or earlier Alpha or Beta
tests built at sites I can't reach any more or that have since been upgraded
to newer OS versions, or built on systems that don't work any more, or that
were sent in by others.

 ftp://kermit.columbia.edu/kermit/test/bin/
   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
   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.aix41                  IBM RS/6000 AIX 4.1
 + ckuker.bsd44-hp9000_300       HP-9000/300 4.4BSD-Lite
   ckuker.bsdi2-2.1              PC, BSDI 2.1
   ckuker.bsdi2-3.0              PC, BSDI 3.0
 + ckuker.bsdi2-3.1              PC, BSDI 3.1
 + ckuker.du32                   DEC Alpha Digital UNIX 3.2
 + ckuker.du40                   DEC Alpha Digital UNIX 4.0
   ckuker.hpux500wintcp          HP-9000/550 HP-UX 5.21 with TWG-TCP/IP 1.2
   ckuker.hpux80-hp9000_385      HP-9000/385 HP-UX 8.00 (no curses, no opt.)
   ckuker.hpux80c-hp9000_385     HP-9000/385 HP-UX 8.00 (not optimized)
 + ckuker.hpux90-hp9000_712      HP-9000/712 HP-UX 9.05 (not optimized)
 + ckuker.hpux90o700-hp9000_712  HP-9000/712 HP-UX 9.05 (optimized for mod 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.irix53                 SGI IRIX 5.3
   ckuker.irix62                 SGI IRIX 6.2
 + ckuker.irix63                 SGI IRIX 6.3
   ckuker.is5r3jc-4.1            PC, Sunsoft Interactive UNIX 4.1
 + ckuker.linux-1.2.13-i386      PC, Red Hat Linux 1.2.13
 + ckuker.next-3.1-mc68040       NeXT 68040 NeXTSTEP 3.1
 + ckuker.next33-3.3-mc68040     NeXT 68040 NeXTSTEP 3.3
 + ckuker.qnx16                  QNX 4.24 16-bit
 + ckuker.qnx32                  QNX 4.24 32-bit
 + ckuker.sco32v504              PC, SCO OpenServer 5.0.4 (no net)
 + ckuker.sco32v504net           PC, SCO OpenServer 5.0.4 (TCP/IP)
   ckuker.sinix542-5.42-mips     SNI SINIX-N 5.4.2 MIPS (RM200)
 + ckuker.solaris24-2.4-sparc    Sun Sparc, Solaris 2.4
 + ckuker.solaris2xg-2.4-sparc   Sun Sparc, Solaris 2.4 (made with gcc)
   ckuker.solaris2x25-2.4-sparc  Sun Sparc, Solaris 2.4 with 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 (made with gcc)
 + ckuker.solaris26-2.6-sparc    Sun Sparc, Solaris 2.6
 + ckuker.sunos41c-4.1.3-sparc   Sun Sparc, SunOS 4.1.3_U1 (full)
 + ckuker.sunos41m-4.1.3-sparc   Sun Sparc, SunOS 4.1.3_U1 (no command parser)
 + ckuker.sunos41mi-4.1.3-sparc  Sun Sparc, SunOS 4.1.3_U1 (minimum parser)
 + ckuker.sunos41gcc-4.1.3-sparc Sun Sparc, SunOS 4.1.3_U1 (full, with gcc)
   ckuker.sv68r3v6               Motorola MVME 147 68K, System V/68 R3V6
   ckuker.sv88r40                Motorola MVME 187 88K, System V R4 V4.4 
 + ckuker.ultrix42c-4.3-mips     DECstation 5000, Ultrix 4.3
   ckuker.unixware2-2.1.1        PC, Unixware 2.1.1
 + ckuker.unixware2-2.1.2        PC, Unixware 2.1.2
   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-vms71-nonet.exe       Alpha CPU, VMS 7.1,   no TCP/IP
 + ckvaker-vms71-tgv40b.exe      Alpha CPU, VMS 7.1,   MultiNet 4.0B
   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-tgv40b.exe      VAX CPU,   VMS 7.1,   MultiNet 4.0B

Thanks to all of you for your help with and comments on this version so far!
Please continue to beat on it and send any bug reports straight to me.

If any of you can try building this version on platforms not listed above,
please let me know the results.

Thanks again!

- Frank

APPENDIX: MAJOR NEW FEATURES SINCE VERSION 6.0

 * Program management:
   . Editor and web browser interfaces
   . Command modifiers (switches)

 * Making and Using Connections
   . Kerberos IV, Kerberos V, and Secure Remote Password security
   . Dialing improvements (10-digit dialing, blind dialing, etc)
   . New modem types and controls
   . New Telnet protocol options
   . External communication program interface
   . Ability to accept incoming TCP connections in VMS

 * File Transfer and Management
   . File-transfer command switches
   . File-transfer pipes and filters
   . Automatic per-file text/binary mode switching (by name)
   . Transfer and preservation of file permissions
   . Ability to transfer directory trees between unlike systems
   . New file management commands and features
   . Improved performance and responsiveness
   . New display and log formats

 * New or improved client/server features
 * Greek character sets

 * Script Programming
   . Ability to pass more than ten arguments to a macro
   . New or improved built-in variables and functions
   . Built-in help for functions.
   . Function and variable diagnostics
   . New IF conditions
   . Autodownload during INPUT command execution
   . New OUTPUT command options
   . Automatic arrays
   . Array initializers
   . Assignment operators

This is a very brief list; the complete story runs to about 100 printed pages,
and can be found in the ckermit2.upd file, which is a supplement to "Using
C-Kermit", 2nd Edition.

(End)