The Columbia Crown The Kermit Project | Columbia University
612 West 115th Street, New York NY 10025 USA • kermit@columbia.edu
…since 1981
Download:   Source files   Zip archive   Libraries:   MIT Kerberos   OpenSSL   OpenSSH

KERMIT 95 SOURCE FILES

The Kermit Project at Columbia University is cancelled effective 1 July 2011

The Columbia University Kermit Project website is frozen effective 1 October 2011, but remains available as a public resource. A new Kermit Project website has been established outside of Columbia at www.kermitproject.org for the continued development of C-Kermit, E-Kermit, and Kermit 95.
New Kermit Project website   New K95 Source Code page
Frank da Cruz
fdc@columbia.edu
20 July 2011
Most recent update:  Thu Sep 29 16:46:23 2011
FTP links converted to HTTP: Sun Aug 1 20:51:21 2021

As part of the cancellation of the Kermit Project, the source code for Kermit 95 (K95 for short, the Kermit software for 32-bit and 64-bit versions of Microsoft Windows and for IBM OS/2, which previously was available only as a commercial product) is being published for the first time under the open-source Revised 3-Clause BSD License so that anybody who wants to can download, build, customize, embed, package, redistribute, or do anything else with it that is legal and permitted by the license. It is hoped that this will result in the Open Source community creating a new and free version of Kermit 95. In the meantime, those who still need a ready-to-run Kermit 95 application can obtain it from the retailers listed on the Kermit 95 page, and those who need bulk licenses can obtain them from Columbia Technology Ventures.

The new k95source directory in the Kermit software archive now contains the Columbia-written source files for Kermit 95 2.1.3, released 1 January 2003, with updates by Jeffrey Altman through 2007, which are listed HERE.

This source code does not include the various libraries with which K95 is linked, notably MIT Kerberos and OpenSSL. Those libraries have undergone considerable change and development since K95 2.1.3 was released, and any new release of K95 should be adapted to the current releases (use buttons above).

The modules which are shared with C-Kermit for Unix, VMS, and other platforms (ckc*.*, cku*.*) correspond to those of C-Kermit 8.0.207 (which was never formally released), but with updates either from the main C-Kermit development branch, or K95-specific by Jeff. No attempt has been made to reconcile these sources with those of C-Kermit 9.0; that would be a big job indeed (but one that is worth doing if a new Open Source Kermit 95 release is to be created). Only the minimum changes to convert the K95 source code to an Open Source license have been made:

No attempt has been made to compile or link these source files on Windows or OS/2 or anywhere else (actually I did attempt it, but did not get very far; see below).

Any new version of K95 will have to deal with the following considerations:

K95 was last built with Microsoft Visual Studio 6.0. Some adaptation may be required to build it with current Microsoft developers tools and/or non-Microsoft tools.

K95-specific source files have names starting with "cko" and "ckn". These files were not written to be read by the public so in some cases comments might be inexistent, sketchy, or misleading.

The makefile is ckoker.mak. Before running it, it's necessary to set the "include" and "lib" environment variables for the external libraries K95 is linked with (such as OpenSSL, SRP, and Kerberos), for example [each of these is one long line broken for readability]:

    set include=%include%;c:\src\kermit\k95;
  c:\src\openssl\0.9.7\inc32;
  c:\src\srp\include;
  c:\src\pwsdk\inc32;
  c:\src\kerberos\kfw-2.2-beta-2\athena\wshelper\include;
  c:\src\superlat\include;
  c:\src\kerberos\kfw-2.2-beta-2\athena\auth\krb5\src\include;
  c:\src\kermit\k95\kui;
  c:\src\zinc\include;

    set lib=%lib%;c:\src\kerberos\kfw-2.2-beta-2\target\lib\i386\rel;
  c:\src\zinc\lib\mvcpp500

Note that Zinc is not included in this distribution, nor Meridian Technologies SuperLAT, support for which was included in K95 under license. Any -DSUPERLAT definition should be removed the makefile. I'm not sure how avoid Zinc. Once the lib and include environments are defined, the makefile can be invoked something like this:

  SET PLATFORM=NT
  SET K95BUILD=K95
  nmake /nologo /e /f ckoker.mak msvc |& tee comp.out.nt | list /s

In the source code and makefile you will see many references to "KUI". This was a 100% graphical version of K95 that was never completed. The sources contain a fair amount of vestigial KUI code.

The principal authors of Kermit 95, Jeff Altman and Frank da Cruz, no longer have jobs at Columbia University and may or may not be available for advice due to the exigencies of real life.

Edward Berner has written a guide to the compiler options used in the Kermit 95 makefile, with the object of being able to build K95 with Open Watcom, and has kindly granted permission to publish it; CLICK HERE to see it (PDF reader required).

Appendix: Directory Structure

The makefile ckoker.mak assumes data files for Kermit 95 are in a directory tree (lowercase names are directories):

Using this arrangement, you could first CD to the root directory, execute SETENV.BAT, then CD to the Kermit subdirectory, then CD to the k95 directory and execute the makefile.

I tried this myself with mknt.bat, but evidently these batch files are to be used with some other shell than CMD.EXE because it fails with "& was not expected at this time". Giving the nmake command without the redirectors:

nmake /nologo /e /f ckoker.mak msvc

failed because nmake wasn't found. I located it in:

C:\Program Files\Microsoft Visual Studio\VC98\Bin\nmake.exe

and set my PATH accordingly, tried the nmake command again but it failed with "mspdb60.dll not found" and advised me to "reinstall". I'm not a Windows programmer, so that's as far as I got. If I obtain any new information and I still have access to this page, I will improve these instructions.

Appendix: XYZMODEM Code ("P") License

LICENSE AGREEMENT (21 July 1995)
(1) Introduction: This agreement details when and how you may use the source code acquired from Oy Online Solutions Ltd.

In this agreement:

(2) Copyright: "P" and its source code is protected by copyright under Finnish law and international treaty provisions.

Rights have been granted to the Columbia University in the City of New York to include "P" with its C-Kermit program in compiled form. Responsibility for the program stays with Oy Online Solutions Ltd., Finland.

Any binaries generated from this source code or portions of it must mention, where it is appropriate, the copyright holder. (e.g. Portions Copyright (c) 1995 Oy Online Solutions Ltd.)

(3) Use of the source code: The source code is released to be used only by the persons working for the Kermit project at Columbia University in the City of New York, USA. Such persons may use this source code only to make binaries to be released with C-Kermit, not as an individual program.

(4) Distribution of source code: Distribution of source code, or portions of it and any documentation relating to it in any form, file or hardcopy, is strictly forbidden.

You may distribute program generated from the source code to be used in accordance with C-Kermit.

(5) DISCLAIMER AND LIMITATIONS:

THE SOURCE CODE IS PROVIDED "AS-IS" AND WITHOUT ANY WARRANTY OF ANY KIND.

END OF LICENSE AGREEMENT


Kermit 95 Source Files / Columbia University / kermit@columbia.edu / July 2011