home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / k95source / 00README.TXT next >
Text File  |  2020-01-01  |  14KB  |  304 lines

  1.  
  2.    [1]The Columbia Crown The Kermit Project | Columbia University
  3.    612 West 115th Street, New York NY 10025 USA o [2]kermit@columbia.edu
  4.    ...since 1981
  5.    [3]Home [4]Kermit 95 [5]C-Kermit [6]Scripts [7]Current [8]New [9]FAQ
  6.    [10]Support
  7.  
  8.    Download:   [11]Source files   [12]Zip archive   Libraries:   [13]MIT
  9.    Kerberos   [14]OpenSSL   [15]OpenSSH
  10.  
  11. KERMIT 95 SOURCE FILES
  12.  
  13.      Frank da Cruz
  14.      [16]fdc@columbia.edu
  15.      20 July 2011
  16.      Most recent update:  Thu Jul 21 10:23:02 2011
  17.  
  18.    As part of the [17]cancellation of the Kermit Project, the source code
  19.    for Kermit 95 (K95 for short, the Kermit software for 32-bit and 64-bit
  20.    versions of Microsoft Windows and for IBM OS/2, which previously was
  21.    available only as a commercial product) is being published for the
  22.    first time under the open-source [18]Revised 3-Clause BSD License so
  23.    that anybody who wants to can download, build, customize, embed,
  24.    package, redistribute, or do anything else with it that is legal and
  25.    permitted by the license. It is hoped that this will result in the Open
  26.    Source community creating a new and free version of Kermit 95. In the
  27.    meantime, those who still need a ready-to-run Kermit 95 application can
  28.    obtain it from the retailers listed on the [19]Kermit 95 page, and
  29.    those who need bulk licenses can obtain them from [20]Columbia
  30.    Technology Ventures.
  31.  
  32.    The new [21]k95source directory in the Kermit software archive now
  33.    contains the Columbia-written source files for Kermit 95 2.1.3,
  34.    released 1 January 2003, with updates by Jeffrey Altman through 2007,
  35.    which are listed [22]HERE.
  36.  
  37.    This source code does not include the various libraries with which K95
  38.    is linked, notably [23]MIT Kerberos and [24]OpenSSL. Those libraries
  39.    have undergone considerable change and development since K95 2.1.3 was
  40.    released, and any new release of K95 should be adapted to the current
  41.    releases (use buttons above).
  42.  
  43.    The modules which are shared with C-Kermit for Unix, VMS, and other
  44.    platforms (ckc*.*, cku*.*) correspond to those of C-Kermit 8.0.207
  45.    (which was never formally released), but with updates either from the
  46.    main C-Kermit development branch, or K95-specific by Jeff. No attempt
  47.    has been made to reconcile these sources with those of [25]C-Kermit
  48.    9.0; that would be a big job indeed (but one that is worth doing if a
  49.    new Open Source Kermit 95 release is to be created). Only the minimum
  50.    changes to convert the K95 source code to an Open Source license have
  51.    been made:
  52.  
  53.      * A new [26]COPYING.TXT file.
  54.      * New copyright notices in [27]ckcmai.c (the K95 main program
  55.        module).
  56.      * Elimination of restrictive license text from all files that are
  57.        Copyright Trustees of Columbia University in the City of New York
  58.        (these files have 19 July 2011 modification dates). The COPYING.TXT
  59.        file applies to all files in this directory bearing a Columbia
  60.        University copyright.
  61.      * Exclusion of any module whose license prohibits open distribution
  62.        (primarily the XYZMODEM code).
  63.  
  64.    No attempt has been made to compile or link these source files on
  65.    Windows or OS/2 or anywhere else (actually I did attempt it, but did
  66.    not get very far; see below).
  67.  
  68.    Any new version of K95 will have to deal with the following
  69.    considerations:
  70.  
  71.      * A new (non-Installshield) installer is needed.
  72.      * Many bugs need to be addressed. They are listed [28]HERE and
  73.        [29]HERE.
  74.      * Assorted ideas (mine) for a new release are [30]HERE.
  75.      * Large file support should be added (K95 uses 32-bit C Library APIs
  76.        for file access). C-Kermit itself supports large files so it's
  77.        "just" a matter of changing the file i/o routines in ckufio.c (?).
  78.      * All registration, serial number, and license enforcement code
  79.        should be removed.
  80.      * There can be no Dialer unless a new one is written from scratch.
  81.        The Dialer was built using a commercial GUI-builder called Zinc;
  82.        that company ceased to exist many years ago. Columbia had a source
  83.        license to Zinc and made modifications and bug fixes necessary to
  84.        build the Dialer. But Columbia does not have the right to
  85.        distribute Zinc nor any patches to it.
  86.      * If there is no Dialer, the Dialer activation button should be
  87.        removed from the K95G.EXE Toolbar.
  88.      * The Console version for Windows is obsolete since later Windows
  89.        versions do not support it; only the GUI version (K95G.EXE) should
  90.        be built. Also there is probably not much reason to carry forward
  91.        support for Window 95, 98, and ME.
  92.      * The XYZMODEM protocol code was contributed from Finland. The
  93.        license under which this code was included in K95 (see [31]below)
  94.        forbids publication of the source code.
  95.      * The SSH code contains known security weaknesses that need to be
  96.        fixed. K95's SSH module was adapted from a 2002 version
  97.        [32]OpenSSH, but OpenSSH itself has changed so much since then that
  98.        a new SSH module should be developed from scratch.
  99.      * Other security code (Kerberos, SSL/TLS, and SRP) needs to brought
  100.        up to date with current releases of those libraries.
  101.      * To take advantage of all the new developments in C-Kermit since
  102.        2007 and to return to a common code base for C-Kermit and K95, K95
  103.        should be integrated with the C-Kermit source files (ck[cu]*.[ch]
  104.        and ckcpro.w). The current release of C-Kermit is [33]here.
  105.  
  106.    K95 was last built with Microsoft Visual Studio 6.0. Some adaptation
  107.    may be required to build it with current Microsoft developers tools
  108.    and/or non-Microsoft tools.
  109.  
  110.    K95-specific source files have names starting with "cko" and "ckn".
  111.    These files were not written to be read by the public so in some cases
  112.    comments might be inexistent, sketchy, or misleading.
  113.  
  114.    The makefile is [34]ckoker.mak. Before running it, it's necessary to
  115.    set the "include" and "lib" environment variables for the external
  116.    libraries K95 is linked with (such as OpenSSL, SRP, and Kerberos), for
  117.    example [each of these is one long line broken for readability]:
  118.  
  119.     set include=%include%;c:\src\kermit\k95;
  120.   c:\src\openssl\0.9.7\inc32;
  121.   c:\src\srp\include;
  122.   c:\src\pwsdk\inc32;
  123.   c:\src\kerberos\kfw-2.2-beta-2\athena\wshelper\include;
  124.   c:\src\superlat\include;
  125.   c:\src\kerberos\kfw-2.2-beta-2\athena\auth\krb5\src\include;
  126.   c:\src\kermit\k95\kui;
  127.   c:\src\zinc\include;
  128.  
  129.     set lib=%lib%;c:\src\kerberos\kfw-2.2-beta-2\target\lib\i386\rel;
  130.   c:\src\zinc\lib\mvcpp500
  131.  
  132.    Note that Zinc is not included in this distribution, nor Meridian
  133.    Technologies SuperLAT, support for which was included in K95 under
  134.    license. Any -DSUPERLAT definition should be removed the makefile. I'm
  135.    not sure how avoid Zinc. Once the lib and include environments are
  136.    defined, the makefile can be invoked something like this:
  137.  
  138.   SET PLATFORM=NT
  139.   SET K95BUILD=K95
  140.   nmake /nologo /e /f ckoker.mak msvc |& tee comp.out.nt | list /s
  141.  
  142.    In the source code and makefile you will see many references to "KUI".
  143.    This was a 100% graphical version of K95 that was never completed. The
  144.    sources contain a fair amount of vestigial KUI code.
  145.  
  146.    The principal authors of Kermit 95, Jeff Altman and Frank da Cruz, no
  147.    longer have jobs at Columbia University and may or may not be available
  148.    for advice due to the exigencies of real life.
  149.  
  150. Appendix: Directory Structure
  151.  
  152.    The makefile [35]ckoker.mak assumes data files for Kermit 95 are in a
  153.    directory tree (lowercase names are directories):
  154.      * Root (name doesn't matter)
  155.           + SETENV.BAT - Defines the "include" and "lib" environment
  156.             variables
  157.           + infozip - Zip and Unzip sources and binaries (not used in
  158.             build)
  159.           + kerberos - Kerberos for Windows sources, libraries, and
  160.             utilities
  161.           + kermit - Kermit 95 source files
  162.                o cif - k95_21_master.cif file used in creating CD image
  163.                  (not used in build)
  164.                o dialer - source code for K95 Dialer (not released because
  165.                  there is no way to build it)
  166.                o k95 - Source code for Kermit 95 itself, plus .BAT files
  167.                  for launching builds of various configurations, plus the
  168.                  following subdirectories:
  169.                     # iksd - Directory used for object files when building
  170.                       [36]WIKSD
  171.                     # kui - Directory used for object files for building
  172.                       KUI (see above)
  173.                     # nt - Directory for building Kermit 95
  174.                     # ssh - OpenSSH libraries and other materials
  175.                     # k95dlls - Example of how to create a K95 DLL (not
  176.                       used in build)
  177.                     # k95inst - Files used in K95 installer and
  178.                       registration (not used in build)
  179.                     # p - Original XYZMODEM code Oy Online Solutions Ltd
  180.                       including [37]license
  181.                     # p95 - XYZMODEM code modified for use in K95
  182.           + openssl - OpenSSL
  183.           + pwsdk - Digital Equipment Corporation PATHWORKS Software
  184.             Developers Kit
  185.           + srp - Stanford Secure Remote Password libraries
  186.           + superlat - Meridian Technologies SuperLAT
  187.           + zinc - the Zinc GUI developer
  188.  
  189.    Using this arrangement, you could first CD to the root directory,
  190.    execute SETENV.BAT, then CD to the Kermit subdirectory, then CD to the
  191.    k95 directory and execute the makefile.
  192.  
  193.    I tried this myself with mknt.bat, but evidently these batch files are
  194.    to be used with some other shell than CMD.EXE because it fails with "&
  195.    was not expected at this time". Giving the nmake command without the
  196.    redirectors:
  197.  
  198.      nmake /nologo /e /f ckoker.mak msvc
  199.  
  200.    failed because nmake wasn't found. I located it in:
  201.  
  202.      C:\Program Files\Microsoft Visual Studio\VC98\Bin\nmake.exe
  203.  
  204.    and set my PATH accordingly, tried the nmake command again but it
  205.    failed with "mspdb60.dll not found" and advised me to "reinstall". I'm
  206.    not a Windows programmer, so that's as far as I got. If I obtain any
  207.    new information and I still have access to this page, I will improve
  208.    these instructions.
  209.  
  210. Appendix: XYZMODEM Code ("P") License
  211.  
  212.    LICENSE AGREEMENT (21 July 1995)
  213.  
  214.      (1) Introduction: This agreement details when and how you may use
  215.      the source code acquired from Oy Online solutions Ltd.
  216.  
  217.      In this agreement:
  218.  
  219.      * "Program" means the binary code generated using "P" source code or
  220.        portions of it.
  221.      * "source" or "source code" means the "P" source code.
  222.      * "we" or "us" means Oy Online Solutions Ltd., a corporation based in
  223.        Jyvaskyla, FINLAND.
  224.      * "you" means the person or persons working for the Kermit project at
  225.        the Columbia University in the City of New York, USA.
  226.  
  227.      (2) Copyright: "P" and its source code is protected by copyright
  228.      under Finnish law and international treaty provisions.
  229.  
  230.      Rights have been granted to the Columbia University in the City of
  231.      New York to include "P" with its C-Kermit program in compiled form.
  232.      Responsibility for the program stays with Oy Online Solutions Ltd.,
  233.      Finland.
  234.  
  235.      Any binaries generated from this source code or portions of it must
  236.      mention, where it is appropriate, the copyright holder. (e.g.
  237.      Portions Copyright (c) 1995 Oy Online Solutions Ltd.)
  238.  
  239.      (3) Use of the source code: The source code is released to be used
  240.      only by the persons working for the Kermit project at Columbia
  241.      University in the City of New York, USA. Such persons may use this
  242.      source code only to make binaries to be released with C-Kermit, not
  243.      as an individual program.
  244.  
  245.      (4) Distribution of source code: Distribution of source code, or
  246.      portions of it and any documentation relating to it in any form,
  247.      file or hardcopy, is strictly forbidden.
  248.  
  249.      You may distribute program generated from the source code to be used
  250.      in accordance with C-Kermit.
  251.  
  252.      (5) DISCLAIMER AND LIMITATIONS:
  253.  
  254.      THE SOURCE CODE IS PROVIDED "AS-IS" AND WITHOUT ANY WARRANTY OF ANY
  255.      KIND.
  256.  
  257.    END OF LICENSE AGREEMENT
  258.      __________________________________________________________________
  259.  
  260.  
  261.     Kermit 95 Source Files / Columbia University /
  262.     [38]kermit@columbia.edu / July 2011
  263.  
  264. References
  265.  
  266.    1. http://www.columbia.edu/
  267.    2. mailto:kermit@columbia.edu
  268.    3. http://www.columbia.edu/kermit/index.html
  269.    4. http://www.columbia.edu/kermit/k95.html
  270.    5. http://www.columbia.edu/kermit/ckermit.html
  271.    6. http://www.columbia.edu/kermit/ckscripts.html
  272.    7. http://www.columbia.edu/kermit/current.html
  273.    8. http://www.columbia.edu/kermit/whatsnew.html
  274.    9. http://www.columbia.edu/kermit/k95faq.html
  275.   10. http://www.columbia.edu/kermit/support.html
  276.   11. ftp://kermit.columbia.edu/kermit/k95source
  277.   12. ftp://kermit.columbia.edu/kermit/archives/k95source.zip
  278.   13. http://web.mit.edu/kerberos/
  279.   14. http://www.openssl.org/
  280.   15. http://www.openssh.com/
  281.   16. mailto:fdc@columbia.edu
  282.   17. http://www.columbia.edu/kermit/announce.html
  283.   18. http://www.columbia.edu/kermit/cu-bsd-license.html
  284.   19. http://www.columbia.edu/kermit/k95.html
  285.   20. http://techventures.columbia.edu/kermit/
  286.   21. ftp://kermit.columbia.edu/kermit/k95source
  287.   22. http://www.columbia.edu/kermit/k95-fixes-since-213.txt
  288.   23. http://web.mit.edu/kerberos/
  289.   24. http://www.openssl.org/
  290.   25. http://www.columbia.edu/kermit/ck90.html
  291.   26. ftp://kermit.columbia.edu/kermit/k95source/COPYING.TXT
  292.   27. ftp://kermit.columbia.edu/kermit/k95source/ckcmai.c
  293.   28. http://www.columbia.edu/kermit/k95faq.html#bugs
  294.   29. ftp://kermit.columbia.edu/kermit/k95/newbugs.txt
  295.   30. ftp://kermit.columbia.edu/kermit/k95source/NOTES.TXT
  296.   31. http://www.columbia.edu/kermit/k95sourcecode.html#plicense
  297.   32. http://www.openssh.com/
  298.   33. http://www.columbia.edu/kermit/ckermit.html
  299.   34. ftp://kermit.columbia.edu/kermit/k95source/ckoker.mak
  300.   35. ftp://kermit.columbia.edu/kermit/k95source/ckoker.mak
  301.   36. http://www.columbia.edu/kermit/wiksd.html
  302.   37. http://www.columbia.edu/kermit/k95sourcecode.html#license
  303.   38. mailto:fdc@columbia.edu
  304.