home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
ktfc
/
ktfc.zip
/
KTFC0D5.TXT
< prev
next >
Wrap
Text File
|
2000-05-24
|
44KB
|
1,085 lines
File ktfc0d5.txt, copyright (C) Peter Lyall Easthope, 2000.
All rights reserved.
** Contents
What is it?
Benefits of using KTFC
Disclaimer
Requirements
What is in the package?
How do I get KTFC?
Installation
User Configuration
Sending a message
Receiving a message
Signature Lines
Serial Port Problems
Tidying the Mailbox
Scanning Other Conferences
Automated Startup
FAQs
System Specific Notes
Macintosh
Microsoft Windows
MS-DOS
Oberon
Unixes and other systems running C-Kermit
Bugs
Limitations
Support
References
Conditions of Use
Fee
Registration
Thanks
History
Trademarks
** What is it?
KTFC is the acronym for "Kermit To FirstClass". See references
1 and 2 below. KTFC is also the name of a script set which
allows Kermit to communicate automatically with a FirstClass
Server.
** Benefits of using KTFC
- Kermit works on many systems including MS-DOS, MS Windows
and unixes. KTFC has the potential to work with any Kermit
which has script processing at least as good as MS-DOS Kermit
3.1.6. See System Specific Notes and reference 1.
- Messages are read and composed off line using a text editor.
- Options for user configuration are set by switches which are
easily changed with a text editor.
- Signature lines can be appended to a message automatically.
- User confirmation before sending a message and before deleting
an old message from the server is optional.
- Messages can be read from directories other than the
Mailbox---a directory in OneNet for example.
- The KTFC scripts in their entirety are accessible to user
customization.
** Disclaimer
This software is provided "as is" without express or implied
warranty.
The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
The author may change the software and documentation and issue a
revision at any time without prior notice.
** Requirements
KTFC has been tested with MS-DOS Kermit 3.1.6 and FirstClass
Server 3.5.2. Kermit is available for many operating systems.
See reference 1 and System Specific Notes.
Installation and use of Kermit and KTFC require an editor. In
DOS, EDIT is recommended. Various text processors can also be
used. The vi and emacs editors are commonly used in unix
systems.
Before attempting to install KTFC the user should install Kermit
and configure it so that communication can be established with a
FirstClass server. Using the terminal emulator in Kermit, the
user should be able to log in to the server and to read and send
mail interactively. To allow the <delete> key on a PC to
produce a backspace in the FC Server task, the Kermit command
"set key \270 \8" should be issued---usually in the MSCUSTOM.INI
or .kermrc file.
** What is in the package?
The KTFC version 0.5 package comprises these 7 files. Each file
contains plain text.
datefil0.5 An auxiliary script; see Automated Startup below.
ktfc0d5.txt This file.
mailout File where outgoing messages are queued.
prolog0.5 The script containing the user configuration, the
login code and other procedures used by scan and sr.
readme.kfc A brief description of the package.
scan0.5 The script which reads the mailbox, deletes outdated
messages from the FC server and reads directories
other than the mailbox.
sr0.5 The script for sending and receiving messages.
The version number m.n is real. In the following discussions
the version number is omitted from the file name. Thus, a
mention of the file name prolog is really a reference to the
file prolog0.5.
** How do I get KTFC?
KTFC might be found on an Internet server or on your FirstClass
server.
If you find the 7 files on a ftp or iksd server transfer them to
your Kermit directory. If binary mode is used for the transfer,
the files will be received on your machine with the end-of-line
notation that they have on the server. If text mode is used for
the transfer, the end-of-line notation will be translated from
that on the server to that used in your system. Text mode is
appropriate, for example, if unix files are brought to a MS
Windows machine. Various utilities and editor capabilities can
also translate end-of-line notations.
Alternatively, get the MIME file ktfc0d5.64. This is a text
file which can be transmitted in an e-mail message. 0d5
represents the version number 0.5. The .64 extension on the
file name refers to MIME base64 encoding. Transfer this file to
your Kermit directory in text mode if you wish to use it.
Alternatively, get the ZIP file ktfc0d5.zip. Transfer this file
to your Kermit directory in binary mode if you wish to use it.
** Installation
The objective of installation is simply to have the 7 files of
the KTFC package in the Kermit directory with the correct
end-of-line notation for the system. These are a few system
specific notes.
*** MS-DOS
This is the procedure for extracting the files from the MIME
archive in MS-DOS.
If ktfc0d5.64 is on a diskette in the a: drive and the Kermit
directory is c:\util\kermit type this.
copy a:\ktfc0d5.64 c:\util\kermit<enter>
Move to the Kermit directory. In our example type this.
cd c:\util\kermit<enter>
Expand the archive using a MIME base64 decoder. MIME
en/decoding programs are available for all operating systems in
current use. In MS-DOS I use MIME64 written by Karl Hahn.
Search for mime64b.zip on the Web. If mime64.exe is in the
\mime directory type this to expand the KTFC archive.
\mime\mime64 ktfc0d5.64<enter>
The 6 files plus this readme.kfc will be produced. After
extracting the files, mime64 will report "No MIME base64 lines
found in ktfc0d5.64". Don't worry about this message.
If using ktfc0d5.zip follow the analogous procedure. Unpack the
archive with pkunzip.exe which is readily available from BBS and
Internet servers.
*** Macintosh
As of early 1999, development of Mac Kermit was not keeping pace
with MS-DOS Kermit or with C-Kermit. KTFC has not been tested
with Mac Kermit. Mac users should consider one of the off-line
FirstClass clients---BulkRate by Greg Neagle for example.
*** Microsoft Windows
MS Windows users should also consider the OffRoad client written
by Hans Haider.
I have not tested KTFC with Kermit-95 but, of course, anyone is
welcome to try that configuration. Until successful use of KTFC
with Kermit-95 is established I can not offer the same level of
support for that configuration as is provided for KTFC in the
MS-DOS system.
*** Unixes
Testing in a unix system is on my "to do" list. Until testing
is completed I can not offer the same level of support for KTFC
in a unix system as is provided for KTFC in the MS-DOS system.
If you wish to try KTFC, get the individual files in text mode.
Alternatively, get ktfc0d5.64 or ktfc0d5.zip, unpack the archive
and translate the end-of-lines using dos2unix or the like.
*** Other Systems
Files in the .64 and .zip archives have lines ending in
<cr><lf>. The end-of-line notation may have to be translated
for your system. Reports of problems and successes are welcome.
** User Configuration
Approximately the first 70 lines of the prolog script is the
User Configuration. This is where you set parameters and
switches according to equipment and preferences.
Open an editor on prolog and change the line "set modem HAYES"
according to your modem. In MS-DOS, modem files are in the
modems directory in your Kermit directory. You should already
have a modem file specified in the MSCUSTOM.INI file.
If your modem does not use COM2 change the line "set port com2"
accordingly. If you do not know which com port is used try
com2. If this fails check your MSCUSTOM.INI file.
In the line "def _dialnum {}" insert the number of your FC
server inside the {} brackets. Prefix the number with T for
tone dialing. For pulse dialing give the number alone.
To avoid being asked for your UserID every time you log in,
change the line "def AU 1" to "def AU 0".
To avoid being asked for your Password every time you log in,
change the line "def AP 1" to "def AP 0".
If AU is defined to 0 replace "guest" with your UserID.
If AP is defined to 0 replace "please" with your Password.
Additional configuration features are discussed as FAQs below.
Save prolog. Quit the editor. KTFC is ready to use.
** Sending a message
These instructions assume that you are in the Kermit directory
and that Kermit works. To verify that Kermit is working, log in
to your FirstClass server and send or read a message
interactively. Solve any problem before attempting to use KTFC.
Using an editor, compose outgoing messages in the file mailout
(yyyymmdd.out if the dated OutFile is configured. For more
information see "FAQs > ... How is the name of the outgoing
file changed?"). Syntax is explained below. Close the editor.
Type the command to invoke Kermit to process sr and strike the
<enter> or <return> key. With MS-DOS Kermit version 3.1.6 and
KTFC version 0.5, type this.
msk316 -f sr0.5<enter>
The KTFC version and the login process should be reported on the
screen. If the login fails, try to identify the problem
precisely. Once a problem is identified the solution may be
simple.
A prompt for each message gives the opportunity to avoid
sending. This is useful if an old message has been left in the
OutFile. Once you have sent a few messages and become familiar
with KTFC you will probably want to shut off this prompt; see
"FAQs > What is the purpose of the CS flag ... ?"
After sr sends and reads all pending messages Kermit will quit
and the prompt from your operating system will appear. Using
the editor again, delete from the OutFile any message you do not
want to send the next time sr is processed. Alternatively, old
messages can be left in the OutFile and two message separator
lines can be placed where sending is to stop. sr will not send
messages in the OutFile which follow a pair of separator lines.
The paired separators can be the first two lines of the OutFile.
This is the syntax of the OutFile. The stock OutFile, mailout,
contains example messages which you can use as a template. The
example is addressed to the author; there is no harm in sending
it.
========== syntax of text in OutFile =====================
<message>
{<messageseparator>[n]<text>
[<messageseparator><text>]
<message>}
==========================================================
=============== syntax of <message> ======================
[To:]<recipient>
{[To:]<recipient>}
[Copies:<copy recipient>
{[Copies:]<copy recipient>}]
Subject:<text>
<messagetext>
==========================================================
Notes.
1. Line breaks must be as shown. For example, a message ends
at the end of a line and a recipient address ends at the end of
a line. In DOS the end-of-line notation is <cr><lf>, in Mac it
is <cr> and in unix it is <lf>. In most text editors the
end-of-line character(s) is (are) inserted by pressing <enter>
or <return>. This produces a line break in a text file.
Otherwise the end-of-line characters are invisible.
Square brackets, [], enclose a construct which can occur 0 or 1
times. Curly brackets, {}, enclose a construct which can occur
0 or more times. A term in pointed brackets and the brackets,
<recipient> for example, must be replaced by appropriate text.
Other text, Subject: for example, must appear just as shown.
<text> may contain any ordinary text typed with an editor,
excluding end-of-line characters of course. <messagetext> is
any ordinary text including end-of-lines and excluding the
message separator at the beginning of a line.
2. Every message must have the first line.
[To:]<recipient>
<recipient> must be a name in the directory of your FirstClass
server or a valid Internet address. A valid Internet address
has the form "[<realname>,] <userid>@<node>", not including the
quote characters of course. The "<realname>," portion is
optional. The remaining portions are required.
These are two valid Internet addresses for me.
peter_easthope@gulfnet.pinc.com
Peter Easthope, peter_easthope@gulfnet.pinc.com
sr checks for an @ character in the address. If one is found
the address is assumed to be an Internet address and the
characters ",i" are sent after it. Do not put ",i", ",I" or
",Internet" after an Internet address in the KTFC OutFile. If
you do, this gateway identifier will be duplicated and the
address will fail.
3. The "Copies:" section of the message header is optional.
4. The "Subject:" line is necessary and may not occupy more
than one line. The <text> of the subject line may be empty.
5. Limitations on <message text> with MS-DOS Kermit are
described under System Specific Notes.
6. The OutFile can contain more than one message. A message
separator line, a line beginning with the message separator
defined in the User Configuration section of prolog, separates
messages. KTFC is distributed with the separator being
"**EndOfMsg**", not including the " characters.
7. No messages after two consecutive separator lines are sent.
8. All lines between the "Subject:" line and the next message
separator line, or the end of the file, are included in the
message body. If one of your messages must contain a line
beginning **EndOfMsg** change the message separator. Refer to
"FAQs > I want to send a message which contains ...".
9. If the message separator is immediately followed by the
character n, sr will not send the signature lines after the
message text.
10. The message separator is not required after the last
message. The end of the file is the end of the message.
** Receiving a message
Type the command to invoke Kermit to process sr and strike the
<enter> or <return> key. With MS-DOS Kermit version 3.1.6 and
KTFC version 0.5, type this.
msk316 -f sr0.5<enter>
Messages in mailout will be sent and incoming messages which
have not previously been read will be appended to the file
mailin (yyyymmdd.in if the dated InFile is configured).
** Signature Lines
"Signature" lines are applied to the end of each outgoing
message by the procedure Sig invoked in ProceedMsg.
The signature lines are defined at the end of the user
configuration section of prolog. The number and contents of the
signature lines can be changed by the user. The value assigned
to SigLen must be the number of signature lines. If, for
example, 4 signature lines are intended, the line "def SigLen 2"
must be changed to "def SigLen 4". The 3rd and 4th lines must
be defined; ie. lines "def \&s[3] {...}" and "def \&s[4] {...}"
must be added immediately following "def \&s[2] {...}".
The signature on an individual message can be suppressed by
appending the character "n" to the separator. This is shown in
the formal syntax above. "n" is meant to suggest "no
signature".
The signature can be eliminated permanently from all messages by
commenting the line "xif not equal ... {Sig}" near the end of
ProceedMsg in the sr file (ie. by inserting a ";" at the
beginning of the line).
** Serial Port Problems
This topic really belongs to Kermit rather than to KTFC but some
details are just too significant to ignore.
Kermit documentation recommends RTS/CTS flow control, sometimes
called hardware flow control, in preference to XON/XOFF flow
control. The serial link between a computer and an external
modem can be deadlocked by changing the flow control in Kermit
to RTS/CTS before changing the flow control in the modem. When
this is done Kermit waits indefinitely for CTS assertion from
the modem but the modem never asserts CTS because it continues
to use XON/XOFF flow control. If you have an external modem,
view the modems\*.scr file with the editor. The command to turn
on RTS/CTS flow control in the modem, "output AT &H1&R2\13" for
example, should preceed the command "set flow rts/cts" which
sets flow control in Kermit.
Every serial port and internal modem in a PC with the old ISA
bus had a Universal Asynchronous Receiver Transmitter or UART.
(A machine with the newer PCI bus may be delivered with Windows
specific hardware such as a Winmodem. These notes on serial
ports and UARTs may not apply to such a machine.)
Communications through such a serial port or modem pass through
a register or buffer in the UART. If the register or buffer is
overrun, MS-DOS inserts a BEL character in the data stream. You
will notice the BEL character because a tone will be emitted
from the system speaker. If this error occurs in characters
which KTFC depends upon to make a decision, it will fail. When
KTFC fails you might find a BEL character among those it was
processing. Kermit documentation, KERMIT.BWR for example,
recommends a UART referred to as a 16550A to avoid errors.
Additional information about UARTs can be found in reference 4.
The 16550A is found infrequently on serial port cards for the
ISA bus. If you have an external modem on an ISA system, the
UART of the serial port is likely to be poorer than the 16550A.
If this is the case the external modem is unlikely to work
reliably at speeds above 9600 b/s.
If your modem is faster and you observe errors, set the speed
down to 9600 b/s. Make a backup copy of the modems\*.scr file
and then open your editor on it. Look for a line such as "set
speed 57600". If the speed setting is that simple, change it to
"set speed 9600" and save the file. In some *.scr files the
speed is set by a more complex process. In such a case study
the code carefully before changing it.
This is how I modified ppi.scr for a Practical Peripherals
MC144MTII. Originally the speed was set by "atok 38400". That
line was commented and a line "atok 9600" was inserted. That
set the intended speed. Following the line "chkok {Can't
initialize modem}" the line "goto config" was inserted. That
skipped the model specific speed setting process. Following the
label :CONFIG are these lines.
echo Enabling modulation negotiation...
output AT \m(_modcmd)\13
chkok {Can't enable modulation speed negotiation}
define _modcmd
These four lines are commented so that negotiation does not push
the speed up again. With these changes saved, ppi.scr reports a
connection at 9600 b/s.
** Tidying the Mailbox
Old messages accumulate in the mailbox on the FirstClass server.
The user can log in interactively and delete unwanted messages.
This process is automated by scan. This script examines each
message in the Mailbox. If a message is unread scan reads it
into the InFile just as sr does. If a message has already been
read, scan calculates the age---the difference in days between
the creation date and the current date. Each message older than
the value in the variable MsgLife is a candidate for deletion.
If the variable CDM has the value 1 the user is prompted to
confirm deletion. If CDM is 0 the message is deleted without
user confirmation. According to previous examples, the script
is invoked with the command "msk316 -f scan0.5".
** Scanning Other Conferences
Many users routinely read messages in conferences other than the
Mailbox. This includes conferences in OneNet. The scan script
automates retrieval of such messages.
Before scan can be applied, the path from the home conference to
each conference to be scanned, must be placed in the User
Configuration section at the beginning of the scan script. For
example, on the GulfNet FirstClass server the conference
"Science Talk" is reached by keying <6> <enter> <1> <1> <enter>
<3> <enter>; the path is 6 11 3. Note the path from the Home
conference to each conference you wish to scan.
Open the editor on the scan script and find the definition of
ListLen. ListLen must be given the number of conferences to be
scanned. Change the 0 in the line "def ListLen 0" to the number
of conferences you want to scan. Next, the values for the
\%d[ ] array must be inserted. Each line beginning with "def
\%d[1] {3 3}" specifies a path inside the {} brackets.
Decomment ";def \%d[1] {..}" and ";def \%d[2] {..}"; ie. remove
the ";" character at the beginning of each line. Add additional
definitions as required. The index of the last component of d
must be the value of ListLen. Inside each pair of {} brackets
put a path as described in the preceeding paragraph. Save the
scan file and close the editor. With MS-DOS Kermit version
3.1.6 and KTFC version 0.5, type this.
msk316 -f scan0.5<enter>
The messages retrieved will be found in the file which is also
used for incoming mail. Normally I run scan once per day. On
average a scan of 18 directories at 9600 b/s takes about 10
minutes.
** Automated Startup
MS-DOS can be configured to automate the use of KTFC at startup.
Adding these two lines to the end of the autoexec.bat file
allows sr to be processed automatically when MS-DOS is started.
cd \kermit
msk316 -f sr0.5
Modify the cd command if your Kermit directory is not \kermit.
Modify the Kermit invocation if you are using a MS-DOS Kermit
later than version 3.1.6.
A second arrangement automatically opens EDIT on an OutFile when
MS-DOS is started. Configure the dated OutFile as described in
"FAQ > ... How is the name of the outgoing file changed?"
At the end of the autoexec.bat file insert these three lines.
cd \kermit
msk316 -f datefil0.5
editdate.bat
The command "cd \kermit" tells MS-DOS to switch to the Kermit
directory.
"msk316 -f datefil0.5" invokes Kermit to process datefil.
datefil checks whether a dated OutFile exists for the current
date. If not, the dated file is created and a template of
address, subject and message separator lines are written to it.
Finally, a MS-DOS batch file containing the command to invoke
EDIT on the dated OutFile is created in the Kermit directory.
Processing of datefil is then complete and Kermit exits.
"editdate.bat" invokes EDIT on the dated OutFile. The user can
then compose one or more outgoing messages. When that is
complete the user should exit from EDIT. Message transfer is
initiated with the command "msk316 -f <date>.out" where <date>
is typed in the format yyyymmdd.
Variations of these automation arrangements can be adapted to
other systems.
** FAQs
*** Q. Why are sr and scan not integrated into a single script?
sr pushes the limits of MS-DOS Kermit. All the macros required
to implement the capabilities of sr and scan in one script can
not be defined.
If scan is configured to read several conferences, it requires
much more time to process than does sr. I run sr several times
each day to update the mailbox; usually scan runs only once per
day.
*** Q. scan connects to the server and reads a few conferences.
Then the screen goes blank. What is wrong?
Nothing. The screen fills and then clears. There is a delay
before writing to the fresh screen as scan processes a big
directory.
*** Q. How can interpretation of a Kermit script be interrupted
other than by switching off the power?
A. <ctrl>+<c>; hold down the <ctrl> key and strike <c>.
*** Q. With MS-DOS Kermit, why is there a period at the
beginning of each blank line in an incoming message?
A. This is a side effect associated with a "work around" for an
idiosyncrasy of MS-DOS Kermit. See System Specific Notes >
MS-DOS Kermit > The Side Effect Problem.
*** Q. My InFile is getting too big. What can be done?
A. The simplest solution is to delete the file. In MS-DOS type
"del mailin<enter>". If you want to save the messages, the file
can be renamed; for example, type "rename mailin
mailin1<enter>".
*** Q. What is the purpose of the line "log session
\v(ndate).log" in the User Configuration section of prolog?
It invokes session logging, which is explained in _Using MS-DOS
Kermit_. To activate session logging decomment these lines.
;if exist \v(ndate).log del \v(ndate).log
;log session \v(ndate).log
KTFC will process faster when it is not logging a session.
*** Q. Incoming messages are placed in mailin but I want them in
files named according to date of receipt. How is the name of
the incoming file changed?
A. The name of the incoming file is the value in the macro
variable InFile defined in the User Configuration section of the
prolog file. Decomment the line ";asg InFile \v(ndate).in". An
example of such a dated file name is 19990627.in.
*** Q. Outgoing messages are placed in mailout but I want them
in files named according to date. How is the name of the
outgoing file changed?
A. The name of the outgoing file is the value in the macro
variable OutFile in the prolog file. Decomment the line ";asg
OutFile \v(ndate).out". If sr is executed on June 27 of 1999,
it will try to send messages in a file named 19990627.out. If
no such file exists, no messages will be sent on that day.
*** Q. Old messages are accumulating in my Mailbox on the FC
server; deleting them interactively is tedious. How can old
messages be deleted from the server automatically?
A. Run the scan script. Messages older than MsgLife will be
deleted. MsgLife is assigned a value near the beginning of the
scan script. Change the value if you wish.
*** Q. What is the purpose of the CS flag in the prolog script?
A. CS is the acronym for Confirm Send. With CS set to 1, sr
will read each outgoing message in the OutFile and then prompt
the user for confirmation before sending. When you tire of
giving this confirmation, use the editor to set the value for CS
to 0.
*** Q. What is the purpose of the DAR flag in the prolog script?
A. DAR is the acronym for Delete After Receipt. With DAR set to
1, sr and scan will attempt to delete each unread message in the
Mailbox after reading it. If INPUT of a message fails while it
is being received and DAR is set to 1, there is a possibility of
the message being deleted before it is retrieved from the server
correctly. Most users will be best served by leaving DAR with
the value 0 and relying on scan to delete outdated messages.
*** Q. I want deletion of messages to occur without the prompt
for confirmation. How do I turn off the prompt?
A. The prompt to confirm deletion occurs or not accordingly as
the switch CDM is set to 1 or 0. When you tire of giving this
confirmation, open the editor on prolog and set the value for
CDM to 0.
*** Q. Processing of sr (or scan) failed while a message was
being received. What should be done?
Check that your modem has "hung up" and then restart the script
to finish processing.
The failure probably resulted from a serial port error,
discussed in Serial Port Problems above, or from one of the
limitations of MS-DOS Kermit, described in System Specific
Notes. In any case the faulted message is no longer unread and
will not cause the script to fail again. A message can be read
using Kermit interactively and can be recorded in the session
log. Session logging is explained in _Using MS-DOS Kermit_.
*** Q. I want to send a message which contains a line beginning
with **EndOfMsg** but this is the message separator. How can
the message be sent intact?
A. Change the message separator. Open the editor on prolog and
find the variable MSep in the User Configuration. Change the
assigned value to any string you wish. The length need not be
12 characters. Choose a string which is not likely to appear in
future messages.
** System Specific Notes
*** Microsoft Windows
Microsoft Windows is not available here. Reports from users are
welcome. Appropriate information will be incorporated into
documentation of subsequent releases for benefit of MS Windows
users.
*** MS-DOS
The Side-Effect Problem
KTFC was developed on MS-DOS Kermit. Originally an incoming
message was handled using \v(input) directly. Problems became
evident. For example, if an incoming message contained Kermit
code, the interpretation of KTFC was "sidetracked". Kermit
Support recommended that \v(input) be copied to a macro variable
and that subsequently the macro variable be used rather than
\v(input). This was implemented in the procedure SaveLine
in the sr script.
SaveLine prevented Kermit code received by INPUT from
sidetracking the interpreter but then a new problem appeared.
Lines containing visible characters had a comma appended. This
was solved by deleting the last two characters from the line and
then writing the line to the file with writeln. Perversely,
another problem appeared. A line which was empty was deleted.
This was solved by replacing an empty line with a line
containing a period. All these features are implemented in the
SaveLine defined when KTFC is used with MS-DOS Kermit. With
other systems SaveLine is defined to simply record \v(input) in
a macro variable.
These complications would be eliminated if INPUT simply recorded
incoming characters in a buffer where they would remain
unchanged and available until explicitly cleared.
Other Problems
A minus sign "-" at the end of a line in an outgoing message
causes that line and the following line to be joined when sent
to the server. Avoid ending a line in an outgoing message with
a "-" character.
Transmission failures for messages containing the characters "\"
and "{" have been observed.
Leading blanks are stripped from a line when a message is sent.
Leading and trailing blanks are stripped from an argument passed
to a macro.
A problem specific to MS-DOS Kermit can cause script processing
to fail. Refer to "FAQs > Processing of sr (or scan) failed
...".
*** Oberon
I use the PC Native Oberon operating system; see
http://www.oberon.ethz.ch/. Kermit is not yet implemented in
Oberon so I use MS-DOS Kermit to transfer mail. I reboot the
machine with Oberon to read incoming messages and to compose
outgoing messages. Edit and ET in Oberon are very well suited
to editing message files.
The Oberon.Text file contains these groups in the
InitCommands section.
{ DOS.CopyFrom "c:/kermit" mailin ~ }
{ ET.OpenAscii mailin }
These commands are in System.Tool.
ET.OpenAscii mailin
DOS.CopyTo "c:/kermit" mailin ~
ET.OpenAscii mailout
DOS.CopyTo "c:/kermit" mailout ~
*** Unixes and other systems running C-Kermit
Testing with C-Kermit on a unix system is on my "to do" list.
Reports from users are welcome and appropriate information will
be incorporated in future releases.
** Bugs
Bug reports and suggestions are welcome. Analysis of a bug
resulting from a specific message requires a copy of the message
which caused the problem. The user may need Software
independent of KTFC to send a message for diagnosis.
** Limitations
The limitations of MS-DOS Kermit described in System Specific
Notes can not be completely overcome by KTFC.
The ability to send and receive attachments using the X-modem
protocol imposed by the FC server would be nice. If this can be
implemented for C-Kermit it is unlikely to work with MS-DOS
Kermit because of limitations described above. Nevertheless, a
binary file can be transmitted by ASCII encoding it, with a MIME
algorithm for example, and including the encoded file in the
body of a message. I have no plans to implement attachment
handling.
Rather that descend to each target directory from Home, scan
might perform a tree traversal. The "*" which marks a
FirstClass directory containing unread items might be used to
improve efficiency. The sr script pushes the limits of MS-DOS
Kermit and the programming requirements for tree traversal are
likely to exceed the capability of MS-DOS Kermit. I have no
plans for work on this implementation.
The calculation of the age of a message does not take account of
February 29 in a leap year; the age of a message which is on the
server on February 29 will be one day longer than calculated.
scan will allow this message to remain on the server one day
more than specified by MsgLife. This is unlikely to be
seriously harmful.
** Support
Are you having difficulty installing Kermit? Are you modifying
a KTFC script and in need of help with Kermit programming?
Questions about Kermit and Kermit programming should be sent to
the Usenet forum comp.protocols.kermit.misc. Not all FirstClass
servers subscribe to this forum and you might not have access to
it from home. Most public libraries now have Web terminals.
Anyone can go to http://www.deja.com/, open an account and have
access to comp.protocols.kermit.misc. The Deja account allows
subscription to e-mail delivery of the forum.
KTFC users can subscribe to the ktfcinfo mailing list. Send a
message with empty subject field and empty message body to
ktfcinfo-subscribe@egroups.com. You will be asked for a
confirmation. Once your subscription has been accepted, you can
send support questions to ktfcinfo@egroups.com. To learn more
about eGroups read http://www.egroups.com/. To leave the
mailing list, send an empty message to
ktfcinfo-unsubscribe@egroups.com.
Messages sent to ktfcinfo should be plain ASCII text. html code
wastes communications and human time; please refrain from
sending it.
A query posted to ktfcinfo may benefit other Kermit users. I
will tend to give more attention to a query in ktfcinfo than to
the same query sent in a personal message.
Mention your operating system (Linux, MS-DOS or something else),
Kermit version number and KTFC version number. Be as specific
as possible in describing the problem. If there is an error
message, record and report it. Your InFile or OutFile or the
session log may be required.
If you can not send e-mail, post is acceptable. My address is
given below under Registration. Please do not ask for support
by telephone.
** References
1. Kermit in many forms is available from
http://www.cc.columbia.edu/kermit/ and from
ftp://kermit.columbia.edu/kermit/. Kermit softwares are
products of Kermit Distribution, Columbia University Center for
Computing Activities, 612 West 115th Street, New York, NY 10025,
USA.
2. FirstClass is produced by SoftArc Inc. See
http://www.softarc.com/.
3. MS-DOS Kermit is documented in _Using MS-DOS Kermit_, Second
Edition by Christine M. Gianone, (C) 1992, Butterworth-Heinemann
/ Digital Press. C-Kermit is documented in _Using C-Kermit_,
Second Edition by Frank da Cruz and Christine M. Gianone, (C)
1997, Butterworth-Heinemann / Digital Press. Additional
information is available from the Web site in reference 1.
Features of the Kermit language additional to those described in
the manuals are described in files available from the Columbia
server, reference 1.
4. Information about UARTs is available at these locations.
http://www.linuxdoc.org/HOWTO/Hardware-HOWTO-10.html
http://www.redhat.com/support/docs/howto//PPP-HOWTO/PPP-HOWTO-8.html
Submit "UART 16550A" to a Web searcher to find additional
information.
** Conditions of Use
The copyright to each file in the KTFC package belongs to the
author. The files are not in the public domain. Please
attribute KTFC to the author when mentioning it in a
publication.
If registered, you may
... modify the files for your individual use.
... use the original or modified files for personal, academic
or commercial communications.
... distribute the archive ktfc0d5.64, the archive ktfc0d5.zip
or the complete set of 7 files. The package may be
distributed via a network from a server freely accessible to
the public or by storage media.
Regardless of registration you may not
... violate my copyright by plagiarism. This includes
appropriation and publication of the name KTFC and of any
significant portion of a KTFC file.
... distribute individual files isolated from the KTFC package.
... distribute KTFC under a different name.
... publish similar data under a name resembling KTFC. KtFC,
ktfc, KTFC3 and XKFTC, for example, are too similar.
... suggest, imply or state an affiliation between KTFC and an
entity other than the author.
... charge a fee for distribution of KTFC.
... distribute KTFC to customers of a business, exclusive of the
public at large. This includes distribution on a storage
medium and distribution via a network.
... use KTFC within a hardware or software product which is
given away or sold.
For any use or distribution outside of these conditions please
contact the author.
** Fee
For an individual, the registration fee is 25 US dollars or 35
Canadian dollars. This covers use of version 0.5 of KTFC and
future revisions until further notice. The fee also covers
consultation to assist in installing, configuring and
troubleshooting up to about 30 minutes of my time. The
magnitude of the fee is valid until 2000 August 31 and may
change after that date.
Everyone mentioned under Thanks is exempt from payment.
Extensive time may be required to adapt a script to a specific
purpose. Assistance with modification of scripts may be subject
to charge in addition to the KTFC registration fee.
The fee does not include support for Kermit.
** Registration
Registration is by sending me a name, contact address and the
fee specified under Fees. The post is not perfectly reliable; I
can not take responsibility for a loss of cash or other
instrument of payment in the mail.
Registration fees are my principal source of income; I really
appreciate receiving them. Support can not be provided to users
who are not registered. If the fee is beyond your means, let me
know.
Peter Easthope, peter_easthope@gulfnet.pinc.com
2701 Privateers Road
RR2, Pender Island, BC
V0N 2M2 Canada
** Thanks to
... Maria Watson for extensive testing.
... the staff of the Kermit Project at Columbia University for
assistance with Kermit; in particular to Jeffrey Altman,
Frank da Cruz and Christine Gianone.
... Professor Joseph Doupnik for assistance with MS-DOS Kermit.
** History
1999 January Prototype of KTFC developed with Kermit 3.14.
1999 02 16 KTFC0.0 testing.
1999 02 20 Kermit 3.15 installed.
1999 02 20 Attempt to use \fsubstring(\%a,1,1) to identify
unread messages.
1999 05 11 \fsubstr(\%m,1,1) successfully identified unread
messages.
1999 05 16 Improved extraction of message number.
1999 05 17-18 Incorporated \fsubstr(\%m,1,1) to simplify
processing of header of outgoing message.
1999 05 22 KTFC0.1 released for testing.
1999 05 26 Reported bug in handling of a blank character
(20_F) in an argument to a macro, to Kermit
Support.
1999 05 28 Incorporated minput to simplify handling of
special cases of input, including [More] prompt.
1999 05 29-06 03 Corrected syntax of string comparisons; eg.
if equal \fsubstr(...) \%m changed to if equal
{\fsubstr(...)} {\%m}.
1999 06 05-06 07 Added handling of defective and ambiguous
addresses. Various improvements using SWITCH
statements.
1999 06 12 Fixed end-of-file handling. Double message
separator no longer needed after last message.
1999 06 28 Moved deletion of message into macros.
1999 07 04 Improved the recognition of the end of an incoming
message.
1999 07 05-14 Moved all code for receiving messages into macros.
1999 07 15 Added user configuration section at beginning of
KTFC.
1999 07 16 Reorganized code preceding macro definitions.
1999 07 17 Released KTFC0.2 for testing.
1999 07 17-18 Improvements to SkipDeja. Kermit 3.16 bug found:
leading blanks deleted by INPUT, leading and
trailing blanks deleted when argument is passed to
macro.
1999 07 22 Improvements in handling of login.
1999 08 23
-1999 09 15 Sending of message header rewritten in macros.
1999 09 22 KTFC0.3 script frozen.
1999 09 22-23 Simple mailbox tidying code added.
1999 11 07 Code to avoid a message number beginning with 0 ---
eg. "05".
1999 11 14 KTFC0.4 script frozen.
KTFC split into script for sending and receiving
messages SR and script for tidying the mailbox
TIDY.
1999 12 03-04 Code for applying "signature" lines at the end of
a message added to SR.
2000 01 04-20 Added code for reading messages from directories
other than the mailbox.
2000 02 01-03 Code common to SCAN, SR and TIDY moved to PROLOG.
2000 02 19-21 Mailbox tidying incorporated into SCAN thereby
obsoleting TIDY.
2000 03 01-08 Miscellaneous revisions to README.KFC.
2000 03 09-10 Internet address recognition added; ",Internet" no
longer required in address.
2000 03 10 Name README.KFC changed to KTFC0P4.TXT.
2000 03 11-19 Miscellaneous revisions to KTFC0P4.TXT.
2000 03 20 Revisions to KTFC0P4.TXT and preparations of MIME
-2000 04 06 archive.
2000 04 06 Error in calculation of age of message with
attachment corrected.
2000 04 24-28 Definition of dial and chkmdm macros placed in
PROLOG; MSKERMIT.INI and MSCUSTOM.INI are no
longer required.
2000 04 28 In SR a bug in inputing control sequences when
sending a message was corrected.
2000 05 01-04 Miscellaneous revisions to KTFC0P4.TXT and
README.KFC.
2000 05 08 Names of script files changed to lower case.
2000 05 09 Documentation revised accordingly.
2000 05 10 KFTC0.4 Released to the Kermit Project, Columbia
University.
2000 05 19 \&o[1] tested in place of OutLine.
2000 05 20 Definition of SaveLine made system dependent.
Procedure SLEC removed.
2000 05 19-21 Miscellaneous revisions to ktfc0d5.txt.
2000 05 24 KTFC0.5 Released to the Kermit Project, Columbia
University.
** Trademarks
"Macintosh", Apple Computer, Cupertino, CA.
"FirstClass", SoftArc Inc., Markham, ON.
"Kermit", Henson Associates, Inc., New York, NY. Name used with
permission by Kermit Distribution, Columbia University
Center for Computing Activities, New York, NY.
"IBM PC", International Business Machines Corp., Armonk, NY.
"Linux", registrant: Croce, William R. Della, Jr., Boston, MA.
last listed owner: Torvalds, Linus, Santa Clara, CA.
"MS-DOS", "Microsoft Windows", Microsoft Corporation, Redmond,
WA.
"Red Hat", registrant: Red Hat Software, Inc. Durham, North
Carolina.
"UNIX" exclusive licensee: X/Open Company Ltd.
registrant: American Telephone and Telegraph Company
Corporation, New York, NY.
last listed owner: UNIX System Laboratories, Inc.
Delaware, NJ.