ckermit for Debian
------------------

The site for ckermit, which has lots more documentation, is at:

 http://www.kermitproject.org/ck90.html

On startup, kermit looks for .kermrc in your home directory.
If this is not found, it uses /etc/kermit/kermrc. This in
turn looks for .mykermrc in your home directory.

Kermit scripts can be run with shebang (#!) notation, i.e. by making
the script executable and setting the first line to

#!/usr/bin/kermit

File transfer mode
------------------

Kermit has the ability to translate text files between systems.  This can
include things such as line endings and even character sets.

The default configuration has SET FILE TYPE BINARY, which means that unless
overriden, files will be sent in binary mode.

Unix-to-Unix transfers will always use binary mode.  However, when the other
kermit is not Unix, because SET TRANSFER MODE defaulted to AUTO upstream, a
heuristic involving file extensions could override the file type setting and
engage the translation mechanism.

In many modern cases, this is interpreted as corruption.  Therefore, Debian's
kermit patches the transfer mode to be MANUAL.  If you have an old script that
relies on the previous behavior, simply add "SET TRANSFER MODE AUTO" to the
beginning.

Please note that the translation is decided by the sending side, so this change
will not help you if, for instance, you are using kermit on Windows with a
default transfer mode of AUTO.  It would be wise to always SET TRANSFER MODE
MANUAL on all systems unless you know you have a specific need for AUTO.

Extensive discussion of this can be found at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121901 .

Running a kermit server
-----------------------

iksd (the Internet Kermit Service Daemon) can be enabled or disabled
using:

dpkg-reconfigure -plow ckermit

If you intend to enable anonymous use, you must have a local user named "ftp".  

iksd uses /etc/kermit/iksd.conf on startup.  If you have enabled
anonymous use, you can configure it to subsequently load an
additional file post-login within the anonymous chroot.

Additional information about running iksd can be found at:

https://www.complete.org/how-to-run-an-internet-kermit-server/
https://www.kermitproject.org/uiksd.html

C-Kermit and certain network code
---------------------------------

C-Kermit is primarily an application for serial communication.  Over the
years, network code has been added.  Here are a few notes about that.

C-Kermit's SSL code is dated and is not generally going to live up to
modern standards or interoperate with modern SSL stacks.  See
https://www.kermitproject.org/ckupdates.html for more.

C-Kermit does not currently support IPv6 directly.  However, you can tunnel
C-Kermit over other commands; eg using netcat, "set host /command nc hostname
port" (or ssh or whatever).  You may want to use "set host /pty /connect" if
running an interactive command such as ssh underneath it; ie, "set host /pty
/connect ssh -e none hostname".  The SSH command is effectively a synonym for
this as well.

 -- John Goerzen <jgoerzen@complete.org>, Sun, 25 Aug 2024 06:50:03 -0500
 -- Sébastien Villemot <sebastien@debian.org>, Thu, 17 Sep 2020 14:44:24 +0200
 -- Ian Beckwith <ianb@nessie.mcc.ac.uk>, Tue Jun 29 12:31:58 2004
