home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ktfc / ktfc.txt < prev    next >
Text File  |  2020-01-01  |  43KB  |  1,085 lines

  1. File ktfc0d5.txt, copyright (C) Peter Lyall Easthope, 2000.
  2. All rights reserved.
  3.  
  4. ** Contents
  5.  
  6. What is it?
  7. Benefits of using KTFC
  8. Disclaimer
  9. Requirements
  10. What is in the package?
  11. How do I get KTFC?
  12. Installation
  13. User Configuration
  14. Sending a message
  15. Receiving a message
  16. Signature Lines
  17. Serial Port Problems
  18. Tidying the Mailbox
  19. Scanning Other Conferences
  20. Automated Startup
  21. FAQs
  22. System Specific Notes
  23.    Macintosh
  24.    Microsoft Windows
  25.    MS-DOS
  26.    Oberon
  27.    Unixes and other systems running C-Kermit
  28. Bugs 
  29. Limitations
  30. Support
  31. References
  32. Conditions of Use
  33. Fee
  34. Registration
  35. Thanks
  36. History
  37. Trademarks
  38.  
  39. ** What is it?
  40.  
  41. KTFC is the acronym for "Kermit To FirstClass".  See references 
  42. 1 and 2 below.  KTFC is also the name of a script set which 
  43. allows Kermit to communicate automatically with a FirstClass 
  44. Server.
  45.  
  46. ** Benefits of using KTFC
  47.  
  48. - Kermit works on many systems including MS-DOS, MS Windows 
  49.   and unixes.  KTFC has the potential to work with any Kermit 
  50.   which has script processing at least as good as MS-DOS Kermit 
  51.   3.1.6.  See System Specific Notes and reference 1.
  52. - Messages are read and composed off line using a text editor.
  53. - Options for user configuration are set by switches which are 
  54.   easily changed with a text editor.
  55. - Signature lines can be appended to a message automatically.
  56. - User confirmation before sending a message and before deleting 
  57.   an old message from the server is optional.
  58. - Messages can be read from directories other than the 
  59.   Mailbox---a directory in OneNet for example.
  60. - The KTFC scripts in their entirety are accessible to user 
  61.   customization.
  62.  
  63. ** Disclaimer
  64.  
  65. This software is provided "as is" without express or implied 
  66. warranty.
  67.  
  68. The author disclaims all warranties with regard to this 
  69. software, including all implied warranties of merchantability 
  70. and fitness.  In no event shall the author be liable for any 
  71. special, indirect or consequential damages or any damages 
  72. whatsoever resulting from loss of use, data or profits, whether 
  73. in an action of contract, negligence or other tortious action, 
  74. arising out of or in connection with the use or performance of 
  75. this software.
  76.  
  77. The author may change the software and documentation and issue a 
  78. revision at any time without prior notice.
  79.  
  80. ** Requirements
  81.  
  82. KTFC has been tested with MS-DOS Kermit 3.1.6 and FirstClass 
  83. Server 3.5.2.  Kermit is available for many operating systems.  
  84. See reference 1 and System Specific Notes.
  85.  
  86. Installation and use of Kermit and KTFC require an editor.  In 
  87. DOS, EDIT is recommended.  Various text processors can also be 
  88. used.  The vi and emacs editors are commonly used in unix 
  89. systems.
  90.  
  91. Before attempting to install KTFC the user should install Kermit 
  92. and configure it so that communication can be established with a 
  93. FirstClass server.  Using the terminal emulator in Kermit, the 
  94. user should be able to log in to the server and to read and send 
  95. mail interactively.  To allow the <delete> key on a PC to 
  96. produce a backspace in the FC Server task, the Kermit command 
  97. "set key \270 \8" should be issued---usually in the MSCUSTOM.INI 
  98. or .kermrc file.
  99.  
  100. ** What is in the package?
  101.  
  102. The KTFC version 0.5 package comprises these 7 files.  Each file 
  103. contains plain text.
  104.  
  105. datefil0.5  An auxiliary script; see Automated Startup below.
  106.  
  107. ktfc0d5.txt This file.
  108.  
  109. mailout     File where outgoing messages are queued.
  110.  
  111. prolog0.5   The script containing the user configuration, the 
  112.             login code and other procedures used by scan and sr.
  113.  
  114. readme.kfc  A brief description of the package.
  115.  
  116. scan0.5     The script which reads the mailbox, deletes outdated 
  117.             messages from the FC server and reads directories 
  118.             other than the mailbox.
  119.  
  120. sr0.5       The script for sending and receiving messages.
  121.  
  122. The version number m.n is real.  In the following discussions
  123. the version number is omitted from the file name.  Thus, a
  124. mention of the file name prolog is really a reference to the
  125. file prolog0.5.
  126.  
  127. ** How do I get KTFC?
  128.  
  129. KTFC might be found on an Internet server or on your FirstClass 
  130. server.
  131.  
  132. If you find the 7 files on a ftp or iksd server transfer them to 
  133. your Kermit directory.  If binary mode is used for the transfer, 
  134. the files will be received on your machine with the end-of-line 
  135. notation that they have on the server.  If text mode is used for 
  136. the transfer, the end-of-line notation will be translated from 
  137. that on the server to that used in your system.  Text mode is 
  138. appropriate, for example, if unix files are brought to a MS 
  139. Windows machine.  Various utilities and editor capabilities can 
  140. also translate end-of-line notations.
  141.  
  142. Alternatively, get the MIME file ktfc0d5.64.  This is a text
  143. file which can be transmitted in an e-mail message.  0d5
  144. represents the version number 0.5.  The .64 extension on the
  145. file name refers to MIME base64 encoding.  Transfer this file to
  146. your Kermit directory in text mode if you wish to use it.
  147.  
  148. Alternatively, get the ZIP file ktfc0d5.zip.  Transfer this file
  149. to your Kermit directory in binary mode if you wish to use it.
  150.  
  151. ** Installation
  152.  
  153. The objective of installation is simply to have the 7 files of 
  154. the KTFC package in the Kermit directory with the correct 
  155. end-of-line notation for the system.  These are a few system 
  156. specific notes.
  157.  
  158. *** MS-DOS
  159.  
  160. This is the procedure for extracting the files from the MIME 
  161. archive in MS-DOS.
  162.  
  163. If ktfc0d5.64 is on a diskette in the a: drive and the Kermit 
  164. directory is c:\util\kermit type this.
  165.  
  166. copy a:\ktfc0d5.64 c:\util\kermit<enter>
  167.  
  168. Move to the Kermit directory.  In our example type this.
  169.  
  170. cd c:\util\kermit<enter>
  171.  
  172. Expand the archive using a MIME base64 decoder.  MIME 
  173. en/decoding programs are available for all operating systems in 
  174. current use.  In MS-DOS I use MIME64 written by Karl Hahn.  
  175. Search for mime64b.zip on the Web.  If mime64.exe is in the
  176. \mime directory type this to expand the KTFC archive.
  177.  
  178. \mime\mime64 ktfc0d5.64<enter>
  179.  
  180. The 6 files plus this readme.kfc will be produced.  After
  181. extracting the files, mime64 will report "No MIME base64 lines
  182. found in ktfc0d5.64".  Don't worry about this message.
  183.  
  184. If using ktfc0d5.zip follow the analogous procedure.  Unpack the
  185. archive with pkunzip.exe which is readily available from BBS and
  186. Internet servers.
  187.  
  188. *** Macintosh
  189.  
  190. As of early 1999, development of Mac Kermit was not keeping pace
  191. with MS-DOS Kermit or with C-Kermit.  KTFC has not been tested
  192. with Mac Kermit.  Mac users should consider one of the off-line
  193. FirstClass clients---BulkRate by Greg Neagle for example.
  194.  
  195. *** Microsoft Windows
  196.  
  197. MS Windows users should also consider the OffRoad client written 
  198. by Hans Haider.
  199.  
  200. I have not tested KTFC with Kermit-95 but, of course, anyone is
  201. welcome to try that configuration.  Until successful use of KTFC
  202. with Kermit-95 is established I can not offer the same level of
  203. support for that configuration as is provided for KTFC in the
  204. MS-DOS system.
  205.  
  206. *** Unixes
  207.  
  208. Testing in a unix system is on my "to do" list.  Until testing
  209. is completed I can not offer the same level of support for KTFC
  210. in a unix system as is provided for KTFC in the MS-DOS system. 
  211. If you wish to try KTFC, get the individual files in text mode. 
  212. Alternatively, get ktfc0d5.64 or ktfc0d5.zip, unpack the archive
  213. and translate the end-of-lines using dos2unix or the like.
  214.  
  215. *** Other Systems
  216.  
  217. Files in the .64 and .zip archives have lines ending in
  218. <cr><lf>.  The end-of-line notation may have to be translated
  219. for your system.  Reports of problems and successes are welcome.
  220.  
  221. ** User Configuration
  222.  
  223. Approximately the first 70 lines of the prolog script is the 
  224. User Configuration.  This is where you set parameters and 
  225. switches according to equipment and preferences.
  226.  
  227. Open an editor on prolog and change the line "set modem HAYES" 
  228. according to your modem.  In MS-DOS, modem files are in the 
  229. modems directory in your Kermit directory.  You should already 
  230. have a modem file specified in the MSCUSTOM.INI file.
  231.  
  232. If your modem does not use COM2 change the line "set port com2" 
  233. accordingly.  If you do not know which com port is used try 
  234. com2.  If this fails check your MSCUSTOM.INI file.
  235.  
  236. In the line "def _dialnum {}" insert the number of your FC 
  237. server inside the {} brackets.  Prefix the number with T for 
  238. tone dialing.  For pulse dialing give the number alone.
  239.  
  240. To avoid being asked for your UserID every time you log in, 
  241. change the line "def AU 1" to "def AU 0".
  242.  
  243. To avoid being asked for your Password every time you log in, 
  244. change the line "def AP 1" to "def AP 0".
  245.  
  246. If AU is defined to 0 replace "guest" with your UserID.
  247.  
  248. If AP is defined to 0 replace "please" with your Password.
  249.  
  250. Additional configuration features are discussed as FAQs below.
  251.  
  252. Save prolog. Quit the editor.  KTFC is ready to use.
  253.  
  254. ** Sending a message
  255.  
  256. These instructions assume that you are in the Kermit directory
  257. and that Kermit works.  To verify that Kermit is working, log in
  258. to your FirstClass server and send or read a message
  259. interactively.  Solve any problem before attempting to use KTFC.
  260.  
  261. Using an editor, compose outgoing messages in the file mailout
  262. (yyyymmdd.out if the dated OutFile is configured.  For more
  263. information see "FAQs > ...  How is the name of the outgoing
  264. file changed?").  Syntax is explained below.  Close the editor. 
  265. Type the command to invoke Kermit to process sr and strike the
  266. <enter> or <return> key.  With MS-DOS Kermit version 3.1.6 and
  267. KTFC version 0.5, type this.
  268.  
  269. msk316 -f sr0.5<enter>
  270.  
  271. The KTFC version and the login process should be reported on the
  272. screen.  If the login fails, try to identify the problem
  273. precisely.  Once a problem is identified the solution may be
  274. simple.
  275.  
  276. A prompt for each message gives the opportunity to avoid 
  277. sending.  This is useful if an old message has been left in the 
  278. OutFile.  Once you have sent a few messages and become familiar 
  279. with KTFC you will probably want to shut off this prompt; see 
  280. "FAQs > What is the purpose of the CS flag ...  ?"
  281.  
  282. After sr sends and reads all pending messages Kermit will quit 
  283. and the prompt from your operating system will appear.  Using 
  284. the editor again, delete from the OutFile any message you do not 
  285. want to send the next time sr is processed.  Alternatively, old 
  286. messages can be left in the OutFile and two message separator 
  287. lines can be placed where sending is to stop.  sr will not send 
  288. messages in the OutFile which follow a pair of separator lines.  
  289. The paired separators can be the first two lines of the OutFile.
  290.  
  291. This is the syntax of the OutFile.  The stock OutFile, mailout, 
  292. contains example messages which you can use as a template.  The 
  293. example is addressed to the author; there is no harm in sending 
  294. it.
  295.  
  296. ========== syntax of text in OutFile =====================
  297. <message>
  298. {<messageseparator>[n]<text>
  299. [<messageseparator><text>]
  300. <message>}
  301. ==========================================================
  302.  
  303. =============== syntax of <message> ======================
  304. [To:]<recipient>
  305. {[To:]<recipient>}
  306. [Copies:<copy recipient>
  307. {[Copies:]<copy recipient>}]
  308. Subject:<text>
  309. <messagetext>
  310. ==========================================================
  311.  
  312. Notes.
  313.  
  314. 1.  Line breaks must be as shown.  For example, a message ends 
  315. at the end of a line and a recipient address ends at the end of 
  316. a line.  In DOS the end-of-line notation is <cr><lf>, in Mac it 
  317. is <cr> and in unix it is <lf>.  In most text editors the 
  318. end-of-line character(s) is (are) inserted by pressing <enter> 
  319. or <return>.  This produces a line break in a text file.  
  320. Otherwise the end-of-line characters are invisible.
  321.  
  322. Square brackets, [], enclose a construct which can occur 0 or 1 
  323. times.  Curly brackets, {}, enclose a construct which can occur 
  324. 0 or more times.  A term in pointed brackets and the brackets, 
  325. <recipient> for example, must be replaced by appropriate text.  
  326. Other text, Subject: for example, must appear just as shown.
  327.  
  328. <text> may contain any ordinary text typed with an editor, 
  329. excluding end-of-line characters of course.  <messagetext> is 
  330. any ordinary text including end-of-lines and excluding the 
  331. message separator at the beginning of a line.
  332.  
  333. 2.  Every message must have the first line.  
  334.  
  335. [To:]<recipient>
  336.  
  337. <recipient> must be a name in the directory of your FirstClass 
  338. server or a valid Internet address.  A valid Internet address 
  339. has the form "[<realname>,] <userid>@<node>", not including the 
  340. quote characters of course.  The "<realname>," portion is 
  341. optional.  The remaining portions are required.
  342.  
  343. These are two valid Internet addresses for me.
  344.  
  345. peter_easthope@gulfnet.pinc.com
  346.  
  347. Peter Easthope, peter_easthope@gulfnet.pinc.com
  348.  
  349. sr checks for an @ character in the address.  If one is found 
  350. the address is assumed to be an Internet address and the 
  351. characters ",i" are sent after it.  Do not put ",i", ",I" or 
  352. ",Internet" after an Internet address in the KTFC OutFile.  If 
  353. you do, this gateway identifier will be duplicated and the 
  354. address will fail.
  355.  
  356. 3.  The "Copies:" section of the message header is optional.
  357.  
  358. 4.  The "Subject:" line is necessary and may not occupy more 
  359. than one line.  The <text> of the subject line may be empty.
  360.  
  361. 5.  Limitations on <message text> with MS-DOS Kermit are 
  362. described under System Specific Notes.
  363.  
  364. 6.  The OutFile can contain more than one message.  A message 
  365. separator line, a line beginning with the message separator 
  366. defined in the User Configuration section of prolog, separates 
  367. messages.  KTFC is distributed with the separator being 
  368. "**EndOfMsg**", not including the " characters.
  369.  
  370. 7.  No messages after two consecutive separator lines are sent.
  371.  
  372. 8.  All lines between the "Subject:" line and the next message
  373. separator line, or the end of the file, are included in the
  374. message body.  If one of your messages must contain a line
  375. beginning **EndOfMsg** change the message separator.  Refer to
  376. "FAQs > I want to send a message which contains ...".
  377.  
  378. 9.  If the message separator is immediately followed by the
  379. character n, sr will not send the signature lines after the
  380. message text.
  381.  
  382. 10.  The message separator is not required after the last
  383. message.  The end of the file is the end of the message.
  384.  
  385. ** Receiving a message
  386.  
  387. Type the command to invoke Kermit to process sr and strike the 
  388. <enter> or <return> key.  With MS-DOS Kermit version 3.1.6 and 
  389. KTFC version 0.5, type this.
  390.  
  391. msk316 -f sr0.5<enter> 
  392.  
  393. Messages in mailout will be sent and incoming messages which 
  394. have not previously been read will be appended to the file 
  395. mailin (yyyymmdd.in if the dated InFile is configured).
  396.  
  397. ** Signature Lines
  398.  
  399. "Signature" lines are applied to the end of each outgoing 
  400. message by the procedure Sig invoked in ProceedMsg.
  401.  
  402. The signature lines are defined at the end of the user 
  403. configuration section of prolog.  The number and contents of the 
  404. signature lines can be changed by the user.  The value assigned 
  405. to SigLen must be the number of signature lines.  If, for 
  406. example, 4 signature lines are intended, the line "def SigLen 2" 
  407. must be changed to "def SigLen 4".  The 3rd and 4th lines must 
  408. be defined; ie.  lines "def \&s[3] {...}" and "def \&s[4] {...}" 
  409. must be added immediately following "def \&s[2] {...}".
  410.  
  411. The signature on an individual message can be suppressed by 
  412. appending the character "n" to the separator.  This is shown in 
  413. the formal syntax above.  "n" is meant to suggest "no 
  414. signature".
  415.  
  416. The signature can be eliminated permanently from all messages by 
  417. commenting the line "xif not equal ...  {Sig}" near the end of 
  418. ProceedMsg in the sr file (ie.  by inserting a ";" at the 
  419. beginning of the line).
  420.  
  421. ** Serial Port Problems
  422.  
  423. This topic really belongs to Kermit rather than to KTFC but some
  424. details are just too significant to ignore.
  425.  
  426. Kermit documentation recommends RTS/CTS flow control, sometimes
  427. called hardware flow control, in preference to XON/XOFF flow
  428. control.  The serial link between a computer and an external
  429. modem can be deadlocked by changing the flow control in Kermit
  430. to RTS/CTS before changing the flow control in the modem.  When
  431. this is done Kermit waits indefinitely for CTS assertion from
  432. the modem but the modem never asserts CTS because it continues
  433. to use XON/XOFF flow control.  If you have an external modem,
  434. view the modems\*.scr file with the editor.  The command to turn
  435. on RTS/CTS flow control in the modem, "output AT &H1&R2\13" for
  436. example, should preceed the command "set flow rts/cts" which
  437. sets flow control in Kermit.
  438.  
  439. Every serial port and internal modem in a PC with the old ISA
  440. bus had a Universal Asynchronous Receiver Transmitter or UART.
  441. (A machine with the newer PCI bus may be delivered with Windows
  442. specific hardware such as a Winmodem.  These notes on serial
  443. ports and UARTs may not apply to such a machine.) 
  444. Communications through such a serial port or modem pass through
  445. a register or buffer in the UART. If the register or buffer is
  446. overrun, MS-DOS inserts a BEL character in the data stream.  You
  447. will notice the BEL character because a tone will be emitted
  448. from the system speaker.  If this error occurs in characters
  449. which KTFC depends upon to make a decision, it will fail.  When
  450. KTFC fails you might find a BEL character among those it was
  451. processing.  Kermit documentation, KERMIT.BWR for example,
  452. recommends a UART referred to as a 16550A to avoid errors. 
  453. Additional information about UARTs can be found in reference 4. 
  454. The 16550A is found infrequently on serial port cards for the
  455. ISA bus.  If you have an external modem on an ISA system, the
  456. UART of the serial port is likely to be poorer than the 16550A.
  457. If this is the case the external modem is unlikely to work
  458. reliably at speeds above 9600 b/s.
  459.  
  460. If your modem is faster and you observe errors, set the speed 
  461. down to 9600 b/s.  Make a backup copy of the modems\*.scr file 
  462. and then open your editor on it.  Look for a line such as "set 
  463. speed 57600".  If the speed setting is that simple, change it to 
  464. "set speed 9600" and save the file.  In some *.scr files the 
  465. speed is set by a more complex process.  In such a case study 
  466. the code carefully before changing it.
  467.  
  468. This is how I modified ppi.scr for a Practical Peripherals 
  469. MC144MTII. Originally the speed was set by "atok 38400".  That 
  470. line was commented and a line "atok 9600" was inserted.  That 
  471. set the intended speed.  Following the line "chkok {Can't 
  472. initialize modem}" the line "goto config" was inserted.  That 
  473. skipped the model specific speed setting process.  Following the 
  474. label :CONFIG are these lines.
  475.  
  476.   echo Enabling modulation negotiation...
  477.   output AT \m(_modcmd)\13
  478.   chkok {Can't enable modulation speed negotiation}
  479.   define _modcmd
  480.  
  481. These four lines are commented so that negotiation does not push 
  482. the speed up again.  With these changes saved, ppi.scr reports a 
  483. connection at 9600 b/s.
  484.  
  485. ** Tidying the Mailbox
  486.  
  487. Old messages accumulate in the mailbox on the FirstClass server.  
  488. The user can log in interactively and delete unwanted messages.  
  489. This process is automated by scan.  This script examines each 
  490. message in the Mailbox.  If a message is unread scan reads it 
  491. into the InFile just as sr does.  If a message has already been 
  492. read, scan calculates the age---the difference in days between 
  493. the creation date and the current date.  Each message older than 
  494. the value in the variable MsgLife is a candidate for deletion.  
  495. If the variable CDM has the value 1 the user is prompted to 
  496. confirm deletion.  If CDM is 0 the message is deleted without 
  497. user confirmation.  According to previous examples, the script 
  498. is invoked with the command "msk316 -f scan0.5".
  499.  
  500. ** Scanning Other Conferences
  501.  
  502. Many users routinely read messages in conferences other than the 
  503. Mailbox.  This includes conferences in OneNet.  The scan script 
  504. automates retrieval of such messages.
  505.  
  506. Before scan can be applied, the path from the home conference to 
  507. each conference to be scanned, must be placed in the User 
  508. Configuration section at the beginning of the scan script.  For 
  509. example, on the GulfNet FirstClass server the conference 
  510. "Science Talk" is reached by keying <6> <enter> <1> <1> <enter> 
  511. <3> <enter>; the path is 6 11 3.  Note the path from the Home 
  512. conference to each conference you wish to scan.
  513.  
  514. Open the editor on the scan script and find the definition of 
  515. ListLen.  ListLen must be given the number of conferences to be 
  516. scanned.  Change the 0 in the line "def ListLen 0" to the number 
  517. of conferences you want to scan.  Next, the values for the 
  518. \%d[ ] array must be inserted.  Each line beginning with "def
  519. \%d[1] {3 3}" specifies a path inside the {} brackets.
  520. Decomment ";def \%d[1] {..}" and ";def \%d[2] {..}"; ie.  remove
  521. the ";" character at the beginning of each line.  Add additional
  522. definitions as required.  The index of the last component of d
  523. must be the value of ListLen.  Inside each pair of {} brackets
  524. put a path as described in the preceeding paragraph.  Save the
  525. scan file and close the editor.  With MS-DOS Kermit version
  526. 3.1.6 and KTFC version 0.5, type this.
  527.  
  528. msk316 -f scan0.5<enter>
  529.  
  530. The messages retrieved will be found in the file which is also 
  531. used for incoming mail.  Normally I run scan once per day.  On 
  532. average a scan of 18 directories at 9600 b/s takes about 10 
  533. minutes.
  534.  
  535. ** Automated Startup
  536.  
  537. MS-DOS can be configured to automate the use of KTFC at startup.  
  538. Adding these two lines to the end of the autoexec.bat file 
  539. allows sr to be processed automatically when MS-DOS is started.
  540.  
  541. cd \kermit
  542. msk316 -f sr0.5
  543.   
  544. Modify the cd command if your Kermit directory is not \kermit.  
  545. Modify the Kermit invocation if you are using a MS-DOS Kermit 
  546. later than version 3.1.6.
  547.  
  548. A second arrangement automatically opens EDIT on an OutFile when 
  549. MS-DOS is started.  Configure the dated OutFile as described in 
  550. "FAQ > ...  How is the name of the outgoing file changed?"
  551.  
  552. At the end of the autoexec.bat file insert these three lines.
  553.  
  554. cd \kermit
  555. msk316 -f datefil0.5
  556. editdate.bat
  557.   
  558. The command "cd \kermit" tells MS-DOS to switch to the Kermit 
  559. directory.
  560.  
  561. "msk316 -f datefil0.5" invokes Kermit to process datefil.  
  562. datefil checks whether a dated OutFile exists for the current 
  563. date.  If not, the dated file is created and a template of 
  564. address, subject and message separator lines are written to it.  
  565. Finally, a MS-DOS batch file containing the command to invoke 
  566. EDIT on the dated OutFile is created in the Kermit directory.  
  567. Processing of datefil is then complete and Kermit exits.
  568.  
  569. "editdate.bat" invokes EDIT on the dated OutFile.  The user can 
  570. then compose one or more outgoing messages.  When that is 
  571. complete the user should exit from EDIT. Message transfer is 
  572. initiated with the command "msk316 -f <date>.out" where <date> 
  573. is typed in the format yyyymmdd.
  574.  
  575. Variations of these automation arrangements can be adapted to 
  576. other systems.
  577.  
  578. ** FAQs
  579.  
  580. *** Q. Why are sr and scan not integrated into a single script?
  581.  
  582. sr pushes the limits of MS-DOS Kermit.  All the macros required 
  583. to implement the capabilities of sr and scan in one script can 
  584. not be defined.
  585.  
  586. If scan is configured to read several conferences, it requires 
  587. much more time to process than does sr.  I run sr several times 
  588. each day to update the mailbox; usually scan runs only once per 
  589. day.
  590.  
  591. *** Q. scan connects to the server and reads a few conferences.  
  592. Then the screen goes blank.  What is wrong?
  593.  
  594. Nothing.  The screen fills and then clears.  There is a delay 
  595. before writing to the fresh screen as scan processes a big 
  596. directory.
  597.  
  598. *** Q. How can interpretation of a Kermit script be interrupted 
  599. other than by switching off the power?
  600.  
  601. A. <ctrl>+<c>; hold down the <ctrl> key and strike <c>.
  602.  
  603. *** Q. With MS-DOS Kermit, why is there a period at the
  604. beginning of each blank line in an incoming message?
  605.  
  606. A. This is a side effect associated with a "work around" for an 
  607. idiosyncrasy of MS-DOS Kermit.  See System Specific Notes > 
  608. MS-DOS Kermit > The Side Effect Problem.
  609.  
  610. *** Q. My InFile is getting too big.  What can be done?
  611.  
  612. A. The simplest solution is to delete the file.  In MS-DOS type
  613. "del mailin<enter>".  If you want to save the messages, the file
  614. can be renamed; for example, type "rename mailin
  615. mailin1<enter>".
  616.  
  617. *** Q. What is the purpose of the line "log session 
  618. \v(ndate).log" in the User Configuration section of prolog?
  619.  
  620. It invokes session logging, which is explained in _Using MS-DOS
  621. Kermit_.  To activate session logging decomment these lines.
  622.  
  623. ;if exist \v(ndate).log del \v(ndate).log
  624. ;log session \v(ndate).log
  625.  
  626. KTFC will process faster when it is not logging a session.
  627.  
  628. *** Q. Incoming messages are placed in mailin but I want them in 
  629. files named according to date of receipt.  How is the name of 
  630. the incoming file changed?
  631.  
  632. A. The name of the incoming file is the value in the macro
  633. variable InFile defined in the User Configuration section of the
  634. prolog file.  Decomment the line ";asg InFile \v(ndate).in".  An
  635. example of such a dated file name is 19990627.in.
  636.  
  637. *** Q. Outgoing messages are placed in mailout but I want them 
  638. in files named according to date.  How is the name of the 
  639. outgoing file changed?
  640.  
  641. A. The name of the outgoing file is the value in the macro 
  642. variable OutFile in the prolog file.  Decomment the line ";asg 
  643. OutFile \v(ndate).out".  If sr is executed on June 27 of 1999, 
  644. it will try to send messages in a file named 19990627.out.  If 
  645. no such file exists, no messages will be sent on that day.
  646.  
  647. *** Q. Old messages are accumulating in my Mailbox on the FC 
  648. server; deleting them interactively is tedious.  How can old 
  649. messages be deleted from the server automatically?
  650.  
  651. A. Run the scan script.  Messages older than MsgLife will be 
  652. deleted.  MsgLife is assigned a value near the beginning of the 
  653. scan script.  Change the value if you wish.
  654.  
  655. *** Q. What is the purpose of the CS flag in the prolog script?
  656.  
  657. A. CS is the acronym for Confirm Send.  With CS set to 1, sr 
  658. will read each outgoing message in the OutFile and then prompt 
  659. the user for confirmation before sending.  When you tire of 
  660. giving this confirmation, use the editor to set the value for CS 
  661. to 0.
  662.  
  663. *** Q. What is the purpose of the DAR flag in the prolog script?
  664.  
  665. A. DAR is the acronym for Delete After Receipt.  With DAR set to 
  666. 1, sr and scan will attempt to delete each unread message in the 
  667. Mailbox after reading it.  If INPUT of a message fails while it 
  668. is being received and DAR is set to 1, there is a possibility of 
  669. the message being deleted before it is retrieved from the server 
  670. correctly.  Most users will be best served by leaving DAR with 
  671. the value 0 and relying on scan to delete outdated messages.
  672.  
  673. *** Q. I want deletion of messages to occur without the prompt 
  674. for confirmation.  How do I turn off the prompt?
  675.  
  676. A. The prompt to confirm deletion occurs or not accordingly as 
  677. the switch CDM is set to 1 or 0.  When you tire of giving this 
  678. confirmation, open the editor on prolog and set the value for 
  679. CDM to 0.
  680.  
  681. *** Q. Processing of sr (or scan) failed while a message was 
  682. being received.  What should be done?
  683.  
  684. Check that your modem has "hung up" and then restart the script 
  685. to finish processing.
  686.  
  687. The failure probably resulted from a serial port error, 
  688. discussed in Serial Port Problems above, or from one of the 
  689. limitations of MS-DOS Kermit, described in System Specific 
  690. Notes.  In any case the faulted message is no longer unread and 
  691. will not cause the script to fail again.  A message can be read 
  692. using Kermit interactively and can be recorded in the session 
  693. log.  Session logging is explained in _Using MS-DOS Kermit_.
  694.  
  695. *** Q. I want to send a message which contains a line beginning 
  696. with **EndOfMsg** but this is the message separator.  How can 
  697. the message be sent intact?
  698.  
  699. A. Change the message separator.  Open the editor on prolog and 
  700. find the variable MSep in the User Configuration.  Change the 
  701. assigned value to any string you wish.  The length need not be 
  702. 12 characters.  Choose a string which is not likely to appear in 
  703. future messages.
  704.  
  705. ** System Specific Notes
  706.  
  707. *** Microsoft Windows
  708.  
  709. Microsoft Windows is not available here.  Reports from users are
  710. welcome.  Appropriate information will be incorporated into
  711. documentation of subsequent releases for benefit of MS Windows
  712. users.
  713.  
  714. *** MS-DOS
  715.  
  716. The Side-Effect Problem
  717.  
  718. KTFC was developed on MS-DOS Kermit.  Originally an incoming
  719. message was handled using \v(input) directly.  Problems became
  720. evident.  For example, if an incoming message contained Kermit
  721. code, the interpretation of KTFC was "sidetracked".  Kermit
  722. Support recommended that \v(input) be copied to a macro variable
  723. and that subsequently the macro variable be used rather than
  724. \v(input).  This was implemented in the procedure SaveLine 
  725. in the sr script.
  726.  
  727. SaveLine prevented Kermit code received by INPUT from
  728. sidetracking the interpreter but then a new problem appeared. 
  729. Lines containing visible characters had a comma appended.  This
  730. was solved by deleting the last two characters from the line and
  731. then writing the line to the file with writeln.  Perversely,
  732. another problem appeared.  A line which was empty was deleted. 
  733. This was solved by replacing an empty line with a line
  734. containing a period.  All these features are implemented in the
  735. SaveLine defined when KTFC is used with MS-DOS Kermit.  With
  736. other systems SaveLine is defined to simply record \v(input) in
  737. a macro variable.
  738.  
  739. These complications would be eliminated if INPUT simply recorded
  740. incoming characters in a buffer where they would remain
  741. unchanged and available until explicitly cleared.
  742.  
  743. Other Problems
  744.  
  745. A minus sign "-" at the end of a line in an outgoing message 
  746. causes that line and the following line to be joined when sent 
  747. to the server.  Avoid ending a line in an outgoing message with 
  748. a "-" character.
  749.  
  750. Transmission failures for messages containing the characters "\" 
  751. and "{" have been observed.
  752.  
  753. Leading blanks are stripped from a line when a message is sent.
  754.  
  755. Leading and trailing blanks are stripped from an argument passed 
  756. to a macro.
  757.  
  758. A problem specific to MS-DOS Kermit can cause script processing
  759. to fail.  Refer to "FAQs > Processing of sr (or scan) failed
  760. ...".
  761.  
  762. *** Oberon
  763.  
  764. I use the PC Native Oberon operating system; see
  765. http://www.oberon.ethz.ch/.  Kermit is not yet implemented in
  766. Oberon so I use MS-DOS Kermit to transfer mail.  I reboot the
  767. machine with Oberon to read incoming messages and to compose
  768. outgoing messages.  Edit and ET in Oberon are very well suited
  769. to editing message files.
  770.  
  771. The Oberon.Text file contains these groups in the 
  772. InitCommands section.
  773.     { DOS.CopyFrom "c:/kermit" mailin ~ }
  774.     { ET.OpenAscii mailin }
  775.  
  776. These commands are in System.Tool.
  777.      ET.OpenAscii mailin
  778.      DOS.CopyTo "c:/kermit" mailin ~ 
  779.      ET.OpenAscii mailout
  780.      DOS.CopyTo "c:/kermit" mailout ~ 
  781.       
  782. *** Unixes and other systems running C-Kermit
  783.  
  784. Testing with C-Kermit on a unix system is on my "to do" list. 
  785. Reports from users are welcome and appropriate information will
  786. be incorporated in future releases.
  787.  
  788. ** Bugs
  789.  
  790. Bug reports and suggestions are welcome.  Analysis of a bug 
  791. resulting from a specific message requires a copy of the message 
  792. which caused the problem.  The user may need Software 
  793. independent of KTFC to send a message for diagnosis.
  794.  
  795. ** Limitations
  796.  
  797. The limitations of MS-DOS Kermit described in System Specific 
  798. Notes can not be completely overcome by KTFC.
  799.  
  800. The ability to send and receive attachments using the X-modem 
  801. protocol imposed by the FC server would be nice.  If this can be 
  802. implemented for C-Kermit it is unlikely to work with MS-DOS 
  803. Kermit because of limitations described above.  Nevertheless, a 
  804. binary file can be transmitted by ASCII encoding it, with a MIME 
  805. algorithm for example, and including the encoded file in the 
  806. body of a message.  I have no plans to implement attachment 
  807. handling.
  808.  
  809. Rather that descend to each target directory from Home, scan 
  810. might perform a tree traversal.  The "*" which marks a 
  811. FirstClass directory containing unread items might be used to 
  812. improve efficiency.  The sr script pushes the limits of MS-DOS 
  813. Kermit and the programming requirements for tree traversal are 
  814. likely to exceed the capability of MS-DOS Kermit.  I have no 
  815. plans for work on this implementation.
  816.  
  817. The calculation of the age of a message does not take account of 
  818. February 29 in a leap year; the age of a message which is on the 
  819. server on February 29 will be one day longer than calculated.  
  820. scan will allow this message to remain on the server one day 
  821. more than specified by MsgLife.  This is unlikely to be 
  822. seriously harmful.
  823.  
  824. ** Support
  825.  
  826. Are you having difficulty installing Kermit?  Are you modifying 
  827. a KTFC script and in need of help with Kermit programming?  
  828. Questions about Kermit and Kermit programming should be sent to 
  829. the Usenet forum comp.protocols.kermit.misc.  Not all FirstClass 
  830. servers subscribe to this forum and you might not have access to 
  831. it from home.  Most public libraries now have Web terminals.  
  832. Anyone can go to http://www.deja.com/, open an account and have 
  833. access to comp.protocols.kermit.misc.  The Deja account allows 
  834. subscription to e-mail delivery of the forum.
  835.  
  836. KTFC users can subscribe to the ktfcinfo mailing list.  Send a 
  837. message with empty subject field and empty message body to 
  838. ktfcinfo-subscribe@egroups.com.  You will be asked for a 
  839. confirmation.  Once your subscription has been accepted, you can 
  840. send support questions to ktfcinfo@egroups.com.  To learn more 
  841. about eGroups read http://www.egroups.com/.  To leave the 
  842. mailing list, send an empty message to 
  843. ktfcinfo-unsubscribe@egroups.com.
  844.  
  845. Messages sent to ktfcinfo should be plain ASCII text.  html code 
  846. wastes communications and human time; please refrain from 
  847. sending it.
  848.  
  849. A query posted to ktfcinfo may benefit other Kermit users.  I 
  850. will tend to give more attention to a query in ktfcinfo than to 
  851. the same query sent in a personal message.
  852.  
  853. Mention your operating system (Linux, MS-DOS or something else), 
  854. Kermit version number and KTFC version number.  Be as specific 
  855. as possible in describing the problem.  If there is an error 
  856. message, record and report it.  Your InFile or OutFile or the 
  857. session log may be required.
  858.  
  859. If you can not send e-mail, post is acceptable.  My address is 
  860. given below under Registration.  Please do not ask for support 
  861. by telephone.
  862.  
  863. ** References
  864.  
  865. 1.  Kermit in many forms is available from
  866. http://www.cc.columbia.edu/kermit/ and from
  867. ftp://kermit.columbia.edu/kermit/.  Kermit softwares are
  868. products of Kermit Distribution, Columbia University Center for
  869. Computing Activities, 612 West 115th Street, New York, NY 10025,
  870. USA.
  871.  
  872. 2.  FirstClass is produced by SoftArc Inc.  See 
  873. http://www.softarc.com/.
  874.  
  875. 3.  MS-DOS Kermit is documented in _Using MS-DOS Kermit_, Second
  876. Edition by Christine M. Gianone, (C) 1992, Butterworth-Heinemann
  877. / Digital Press.  C-Kermit is documented in _Using C-Kermit_,
  878. Second Edition by Frank da Cruz and Christine M. Gianone, (C)
  879. 1997, Butterworth-Heinemann / Digital Press.  Additional
  880. information is available from the Web site in reference 1.
  881.  
  882. Features of the Kermit language additional to those described in
  883. the manuals are described in files available from the Columbia
  884. server, reference 1.
  885.  
  886. 4.  Information about UARTs is available at these locations.  
  887. http://www.linuxdoc.org/HOWTO/Hardware-HOWTO-10.html 
  888. http://www.redhat.com/support/docs/howto//PPP-HOWTO/PPP-HOWTO-8.html
  889.  
  890. Submit "UART 16550A" to a Web searcher to find additional 
  891. information.
  892.  
  893. ** Conditions of Use
  894.  
  895. The copyright to each file in the KTFC package belongs to the 
  896. author.  The files are not in the public domain.  Please 
  897. attribute KTFC to the author when mentioning it in a 
  898. publication.
  899.  
  900. If registered, you may 
  901.  
  902. ... modify the files for your individual use.
  903.  
  904. ... use the original or modified files for personal, academic 
  905.     or commercial communications.
  906.  
  907. ... distribute the archive ktfc0d5.64, the archive ktfc0d5.zip
  908.     or the complete set of 7 files.  The package may be
  909.     distributed via a network from a server freely accessible to
  910.     the public or by storage media.
  911.  
  912. Regardless of registration you may not 
  913.  
  914. ... violate my copyright by plagiarism.  This includes 
  915.     appropriation and publication of the name KTFC and of any 
  916.     significant portion of a KTFC file.
  917.  
  918. ... distribute individual files isolated from the KTFC package.
  919.  
  920. ... distribute KTFC under a different name.
  921.  
  922. ... publish similar data under a name resembling KTFC. KtFC, 
  923.     ktfc, KTFC3 and XKFTC, for example, are too similar.
  924.  
  925. ... suggest, imply or state an affiliation between KTFC and an 
  926.     entity other than the author.
  927.  
  928. ... charge a fee for distribution of KTFC.
  929.  
  930. ... distribute KTFC to customers of a business, exclusive of the 
  931.     public at large.  This includes distribution on a storage 
  932.     medium and distribution via a network.
  933.  
  934. ... use KTFC within a hardware or software product which is 
  935.     given away or sold.
  936.  
  937. For any use or distribution outside of these conditions please 
  938. contact the author.
  939.  
  940. ** Fee
  941.  
  942. For an individual, the registration fee is 25 US dollars or 35 
  943. Canadian dollars.  This covers use of version 0.5 of KTFC and 
  944. future revisions until further notice.  The fee also covers 
  945. consultation to assist in installing, configuring and 
  946. troubleshooting up to about 30 minutes of my time.  The 
  947. magnitude of the fee is valid until 2000 August 31 and may 
  948. change after that date.
  949.  
  950. Everyone mentioned under Thanks is exempt from payment.
  951.  
  952. Extensive time may be required to adapt a script to a specific 
  953. purpose.  Assistance with modification of scripts may be subject 
  954. to charge in addition to the KTFC registration fee.
  955.  
  956. The fee does not include support for Kermit.
  957.  
  958. ** Registration
  959.  
  960. Registration is by sending me a name, contact address and the 
  961. fee specified under Fees.  The post is not perfectly reliable; I 
  962. can not take responsibility for a loss of cash or other 
  963. instrument of payment in the mail.
  964.  
  965. Registration fees are my principal source of income; I really 
  966. appreciate receiving them.  Support can not be provided to users 
  967. who are not registered.  If the fee is beyond your means, let me 
  968. know.
  969.  
  970. Peter Easthope, peter_easthope@gulfnet.pinc.com
  971. 2701 Privateers Road
  972. RR2, Pender Island, BC 
  973. V0N 2M2 Canada
  974.  
  975. ** Thanks to  
  976.  
  977. ... Maria Watson for extensive testing.
  978. ... the staff of the Kermit Project at Columbia University for 
  979.     assistance with Kermit; in particular to Jeffrey Altman, 
  980.     Frank da Cruz and Christine Gianone.
  981. ... Professor Joseph Doupnik for assistance with MS-DOS Kermit.
  982.  
  983. ** History
  984.  
  985. 1999 January  Prototype of KTFC developed with Kermit 3.14.
  986. 1999 02 16    KTFC0.0 testing.
  987. 1999 02 20    Kermit 3.15 installed.
  988. 1999 02 20    Attempt to use \fsubstring(\%a,1,1) to identify 
  989.               unread messages.
  990. 1999 05 11    \fsubstr(\%m,1,1) successfully identified unread 
  991.               messages.
  992. 1999 05 16    Improved extraction of message number.
  993. 1999 05 17-18 Incorporated \fsubstr(\%m,1,1) to simplify 
  994.               processing of header of outgoing message.
  995. 1999 05 22    KTFC0.1 released for testing.
  996. 1999 05 26    Reported bug in handling of a blank character 
  997.               (20_F) in an argument to a macro, to Kermit 
  998.               Support.
  999. 1999 05 28    Incorporated minput to simplify handling of 
  1000.               special cases of input, including [More] prompt.
  1001. 1999 05 29-06 03 Corrected syntax of string comparisons; eg.  
  1002.               if equal \fsubstr(...)  \%m changed to if equal 
  1003.               {\fsubstr(...)} {\%m}.
  1004. 1999 06 05-06 07 Added handling of defective and ambiguous 
  1005.               addresses.  Various improvements using SWITCH 
  1006.               statements.
  1007. 1999 06 12    Fixed end-of-file handling.  Double message 
  1008.               separator no longer needed after last message.
  1009. 1999 06 28    Moved deletion of message into macros.
  1010. 1999 07 04    Improved the recognition of the end of an incoming 
  1011.               message.
  1012. 1999 07 05-14 Moved all code for receiving messages into macros.
  1013. 1999 07 15    Added user configuration section at beginning of 
  1014.               KTFC.
  1015. 1999 07 16    Reorganized code preceding macro definitions.
  1016. 1999 07 17    Released KTFC0.2 for testing.
  1017. 1999 07 17-18 Improvements to SkipDeja.  Kermit 3.16 bug found: 
  1018.               leading blanks deleted by INPUT, leading and 
  1019.               trailing blanks deleted when argument is passed to 
  1020.               macro.
  1021. 1999 07 22    Improvements in handling of login.
  1022. 1999 08 23
  1023.  -1999 09 15  Sending of message header rewritten in macros. 
  1024. 1999 09 22    KTFC0.3 script frozen.
  1025. 1999 09 22-23 Simple mailbox tidying code added.
  1026. 1999 11 07    Code to avoid a message number beginning with 0 --- 
  1027.               eg.  "05".
  1028. 1999 11 14    KTFC0.4 script frozen.
  1029.               KTFC split into script for sending and receiving 
  1030.               messages SR and script for tidying the mailbox 
  1031.               TIDY.
  1032. 1999 12 03-04 Code for applying "signature" lines at the end of 
  1033.               a message added to SR.
  1034. 2000 01 04-20 Added code for reading messages from directories 
  1035.               other than the mailbox.
  1036. 2000 02 01-03 Code common to SCAN, SR and TIDY moved to PROLOG.
  1037. 2000 02 19-21 Mailbox tidying incorporated into SCAN thereby 
  1038.               obsoleting TIDY.
  1039. 2000 03 01-08 Miscellaneous revisions to README.KFC.
  1040. 2000 03 09-10 Internet address recognition added; ",Internet" no 
  1041.               longer required in address.
  1042. 2000 03 10    Name README.KFC changed to KTFC0P4.TXT.
  1043. 2000 03 11-19 Miscellaneous revisions to KTFC0P4.TXT.
  1044. 2000 03 20    Revisions to KTFC0P4.TXT and preparations of MIME
  1045.  -2000 04 06  archive.
  1046. 2000 04 06    Error in calculation of age of message with 
  1047.               attachment corrected.
  1048. 2000 04 24-28 Definition of dial and chkmdm macros placed in 
  1049.               PROLOG; MSKERMIT.INI and MSCUSTOM.INI are no 
  1050.               longer required.
  1051. 2000 04 28    In SR a bug in inputing control sequences when 
  1052.               sending a message was corrected.
  1053. 2000 05 01-04 Miscellaneous revisions to KTFC0P4.TXT and 
  1054.               README.KFC.
  1055. 2000 05 08    Names of script files changed to lower case.
  1056. 2000 05 09    Documentation revised accordingly.
  1057. 2000 05 10    KFTC0.4 Released to the Kermit Project, Columbia 
  1058.               University.
  1059. 2000 05 19    \&o[1] tested in place of OutLine.
  1060. 2000 05 20    Definition of SaveLine made system dependent. 
  1061.               Procedure SLEC removed.
  1062. 2000 05 19-21 Miscellaneous revisions to ktfc0d5.txt.
  1063. 2000 05 24    KTFC0.5 Released to the Kermit Project, Columbia 
  1064.               University.
  1065.  
  1066. ** Trademarks
  1067.  
  1068. "Macintosh", Apple Computer, Cupertino, CA.
  1069. "FirstClass", SoftArc Inc., Markham, ON.
  1070. "Kermit", Henson Associates, Inc., New York, NY. Name used with 
  1071.       permission by Kermit Distribution, Columbia University 
  1072.       Center for Computing Activities, New York, NY.
  1073. "IBM PC", International Business Machines Corp., Armonk, NY.
  1074. "Linux", registrant: Croce, William R. Della, Jr., Boston, MA. 
  1075.       last listed owner: Torvalds, Linus, Santa Clara, CA.
  1076. "MS-DOS", "Microsoft Windows", Microsoft Corporation, Redmond, 
  1077.       WA.
  1078. "Red Hat", registrant: Red Hat Software, Inc.  Durham, North 
  1079.       Carolina.
  1080. "UNIX" exclusive licensee: X/Open Company Ltd.
  1081.       registrant: American Telephone and Telegraph Company 
  1082.       Corporation, New York, NY.
  1083.       last listed owner: UNIX System Laboratories, Inc.  
  1084.       Delaware, NJ.
  1085.