home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / INTERNET / FXUC03B.ZIP / FXUUCI.DOC next >
Text File  |  1993-08-29  |  19KB  |  437 lines

  1. (MS-DOS)                       UUCICO                           (MS-DOS)
  2.  
  3. FX UUCICO -- Copyright (c) 1993 Jorge Cwik
  4. <jorge@laser.satlink.net>
  5.  
  6. Version 0.3 beta
  7.  
  8. I.  INTRODUCTION
  9.  
  10. FX UUCICO is a drop-in replacement for Waffle's UUCICO. It's fully compatible
  11. with Waffle 1.65, but adds a lot of new features:
  12.  
  13. o   Up to 115200 bps, and use of the 16550A FIFO (no need for FOSSIL)
  14. o   File restart (crash recovery)
  15. o   File size negotiation and free space management
  16. o   A very robust and efficient protocol 'g' implementation.
  17. o   Smart protocol 'g', with variable packets upto 4096 bytes.
  18. o   A new, extremely fast protocol 'y' for high-speed modems.
  19. o   Protocol 'f' for X.25 or other 7-bits lines.
  20. O   Protocol 'G' for SVR4 systems.
  21. o   Full support for incoming and outgoing grades
  22.  
  23. Many more new features are being implemented but they are still not available 
  24. in this preliminary release.
  25.  
  26. In all UUCP packages UUCICO is the program who manages the external
  27. communications and file transfers. It's similar to Terminal Programs
  28. (like Telix), except that it performs completely automatically.
  29.  
  30. Because modems (even the newest) are very slow in computers terms, and
  31. because long distance connections are very expensive, UUCICO performance
  32. is critical.
  33.  
  34.  
  35. II.  INSTALLATION.
  36.  
  37. 1) Copy your current UUCICO.EXE to UUCICO.OLD. This is to make sure that
  38. you don't overwrite your original copy. We strongly urge you to take this
  39. step!
  40.  
  41. 2) Copy the FX UUCICO.EXE into your waffle\bin directory.
  42.  
  43. Because it's designed as a replacement, FX UUCICO will perform perfectly 
  44. well without any changes to your WAFFLE environment. The only recommended 
  45. changes (not mandatory) are these.
  46.  
  47. o  Add fx.gpktsize: 1024 to your 'static' file, keep windows
  48.    setting at seven.
  49.    (Only if the system you are connecting supports this size)
  50.  
  51. o  Unless you have a non-standard hardware setup don't use a
  52.    FOSSIL driver ( change 'uu.driver' in the static file to 'NATIVE').
  53.  
  54. o  If you have a high-speed modem (over 2400), configure it
  55.    to use hardware flow control (CTS/RTS).
  56.  
  57. o  If you have an error-correction modem you may want to use
  58.    the new 'y' protocol (change your 'systems' entries in the
  59.    UUCP directory).
  60.  
  61.  
  62. Examples:
  63.  
  64. In your STATIC file...
  65.  
  66. driver:      fossil
  67. uu.driver:   native
  68. uu.windows:  7
  69. fx.gpktsize: 1024
  70.  
  71. You may want to make the first tests, without changing any parameters.
  72. FX UUCICO should work right out of the box. Defering the fine-tuning
  73. settings, will help you in finding any particular problem.
  74.  
  75. III.  IMPLEMENTATION.
  76.  
  77. FX UUCICO is fully compatible with WAFFLE 1.65, we tried very hard to make 
  78. it as transparent as possible. Most messages and logs are exactly the same, 
  79. although 'debugging' messages may differ.
  80.  
  81. There is a potential incompatibility in the waffle/admin/net file. This file 
  82. logs all connections and reports xmitted packets. Unfortunately there is no 
  83. indication of the amount in bytes or the packet size. This presents a problem 
  84. when different packet sizes are used and with protocols that do not use pkts 
  85. at all.
  86.  
  87. We changed the line format of this file to make it more descriptive. Utility
  88. programs that depend on the old/waffle format will probably not work.
  89.  
  90. Internal 'COMM' driver:
  91. ----------------------
  92.  
  93. The RS-232 driver has been enhanced to avoid the need of FOSSIL in most
  94. cases. It's supports upto 115200 bps, hardware flow control, and will
  95. automatically detect 16550A 'fifo' chips. FIFO mode can be disabled with
  96. the new parameter -z.
  97.  
  98. When using a FOSSIL driver you MUST set the receiving buffer size larger than
  99. the packet size (/R parameter in the BNU version). The default of 1024 bytes 
  100. is not enough for the 'y' protocol. Note that a FOSSIL driver may usually
  101. slow your performance. Most FOSSILs *does not* support bps over 38400. Those
  102. that support them, do it _only_, locking the speed from the command line.
  103. You can still use it (and we recommed you do) for WAFFLE incoming calls
  104. (Awaiting Call).
  105.  
  106. It's possible that some systems may experiment an erratic behaviour with
  107. the internal driver. Some old RS-232 boards, and some internal modems do
  108. not have a full compatible UART. In those cases a FOSSIL driver (which may
  109. have been tested with these boards) may give better results.
  110.  
  111. File restart:
  112. ------------
  113.  
  114. FX UUCICO supports file transfer restart, compatible with Unix SVR4 and TAYLOR
  115. UUCP implementations. This is similar to the crash recovery feature in ZMODEM.
  116. You can disable file restart with the new parameter -a.
  117.  
  118. You may need to temporarily disable the crash recovery option when sending
  119. a file whose name matches an existing file. If UUCP is used to transfer a
  120. file, and the same filename is found in the destination directory, UUCICO
  121. will interpret this as a 'recovery' situation, and APPEND to the existing
  122. file.
  123.  
  124. Grades:
  125. ------
  126.  
  127. Grades in UUCP links means 'priorities'. By using different grades you can 
  128. control which (uucp) jobs are more 'urgent'. Many sites implement this so
  129. they can make better use of the system resources. For instance, mail always
  130. gets assigned Grade 'A' so that it will be sent/received at all hours. But
  131. news may be assigned a Grade of 'B' (or something lower than 'A') so that
  132. newsfeeds only happen during sessions which permit 'B' traffic. Regular file
  133. sends/receives may be Grade 'C' or lower.
  134.  
  135. All of this allows a site to arrange their traffic so that mail always comes
  136. and goes, but newsfeeds only happen at certain times, and file transfers only
  137. happen in the wee hours of the morning when system usage is lowest.
  138.  
  139. For more information on grades, see the Waffle documentation or the man page
  140. for Taylor or HDB uucp packages for Unix.
  141.  
  142. FX UUCICO has full support for grades, and it's compatible with the standard 
  143. used in most UNIX UUCP hosts. Grades consist of a single letter attached to 
  144. the (uucp) job file name when it is created. They are classified in reverse 
  145. ASCII collateral order: 'A' is the highest grade and 'z' is the lowest. Grades 
  146. are case sensitive in Unix systems, but they aren't in DOS because DOS doesn't 
  147. distinguish cases in filenames.
  148.  
  149. Calls made by UUCICO use the static file parameter 'uu_grade' and/or the -g 
  150. command line parameter for establishing call grade. Calls received by UUCICO 
  151. uses the grade requested by the caller. Always the 'caller' (who's probably 
  152. paying for the connection) governs the grade. UUCICO will not send jobs that 
  153. have low grades than specified, and the remote host is supposed to do the same.
  154. When no grade is specified, all jobs are transferred.
  155.  
  156. If you does not use grades, WAFFLE will create all jobs with decimal digits 
  157. which have an even higher priority. You can still request the remote host for 
  158. grade limits. A request for a determinated 'grade' will enable transmission 
  159. of any job with the same *or higher* grade.  This is not fully compatible 
  160. with Waffle's UUCICO usage, but it is with virtually all common UUCP packages.
  161.  
  162. Grades are not very useful if the 'caller' doesn't known the remote host conv-
  163. ention. If you implement grades you should tell your users what grades you use 
  164. for mail and news.
  165.  
  166. UUCICO doesn't generate grades, because it doesn't create jobs. Rmail, rnews, 
  167. uux and 'uucp' create jobs as specified in the 'mailgrade' and 'newsgrade' 
  168. configuration. Note that even though it's not documented, most WAFFLE util-
  169. ities accept a -g parameter to override the grade generation.
  170.  
  171.  
  172. File size negotiation:
  173. ---------------------
  174.  
  175. This is an extension to the UUCP protocol introduced by Unix SVR4 and enhanced 
  176. by TAYLOR UUCP. Each side tell the others the maximum file size it can accept, 
  177. and the exact size in bytes of files before they are transmitted. File sizes
  178. are limited by the Operating System, by the available space on disk and by con-
  179. figuration.
  180.  
  181. FX UUCICO can be configured for a maximum file size transmission and to leave a
  182. minimum free space on the spool disk. A cooperative party (a remote UUCICO that
  183. uses file sizes) is needed for full implementation.
  184.  
  185. There are two parameters in the 'static' file for size usage:  
  186.  
  187.     'fx.maxfile' 
  188. and 
  189.     'fx.freespace' 
  190.  
  191. FX UUCICO will not send files larger that 'maxfile'. It will request the other 
  192. side to not send files larger than 'maxfile' or that will leave less than 
  193. 'freespace' on disk.
  194.  
  195. If the remote host doesn't understand file size negotiation, FX UUCICO will
  196. still check space on the local site, and reject any files which will leave
  197. less than 'freespace' bytes the local system.
  198.  
  199. Caveat: Currently FX UUCICO will not do additional checking, once the trans-
  200. mission of a particular file has begun. Future releases will probably check
  201. for disk usage 'on the fly.'
  202.  
  203. Note that the remote side who is sending a file may react to the 'denying for 
  204. size reasons' in different ways. If it's not aware of the 'file size' extensions
  205. it may NEVER send that file again (you may have enough space on disk later).
  206. This is not a failure of FX UUCICO, but simply a feature missing from the host
  207. you communicate with.
  208.  
  209. If 'fx.freespace' is not present in the configuration file, FX UUCICO will not 
  210. check for free space on disk at all (which might improve performance on some 
  211. systems). If 'fx.maxfile' is not present the default is 32 Megabytes.
  212.  
  213.  
  214. Available protocols:
  215. -------------------
  216.  
  217. Protocol 'f':
  218.  
  219. The protocol 'f' is on the original Unix UUCPs. It's designed for 'flow con-
  220. trolled, error correction' 7-bits lines. This protocol is very inefficient for 
  221. binary (8-bits) files. It has _no_ internal flow control or error correction. 
  222. The only recommended use (and the one it was designed for), is X.25 or other
  223. non 8-bit transparent lines.
  224.  
  225. Any error during downloads will result in truncating the file to zero length, 
  226. this is to avoid invalid data, if file restart is afterwards used. (Note: 
  227. aborted downloads with ctrl-c/ctrl-break are not truncated).
  228.  
  229.  
  230. Protocol 'y':
  231.  
  232. This protocol is new. It's extremely fast and efficient. As the 'f' protocol 
  233. it was designed for 'error correction' (MNP-V42) modems, but it uses 8-bit 
  234. bytes. It's probably the fastest protocol, but you need a 'clean' connection 
  235. between both ends.
  236.  
  237. Most new modems, have hardware error correction. The modems will take care of 
  238. flow control and error correction. Note that FX UUCICO has no reliable way to
  239. ensure that an 'error correction' connection has been established. We recom-
  240. mend you 'force' MNP or V42, (see your modem docs).
  241. Because its a streaming protocol (no windows), 'y' it's very efficient on
  242. HALF duplex connections (USR HST and Telebit's PEP/Turbo-PEP).
  243.  
  244.  
  245. Protocol 'g':
  246.  
  247. FX UUCICO supports the full 'g' implementations with variable sized packets up
  248. to 4096 bytes. The error management is very robust and efficient, which should 
  249. result in a much better throughput in noisy lines.
  250.  
  251. Using a large window size (packet size * max windows), makes a big difference 
  252. in 'long delay' lines (as in long distance calls), especially in high speed 
  253. modems. We do recommend you to use a large packet size, and keep windows at 7.
  254.  
  255. Because UUCP protocols are used to transfer everything, not just the files, 
  256. large packets are inefficient for very small files. This is why variable size
  257. packets are used, only the minimum packet size needed will be used for each 
  258. packet.
  259.  
  260. Unfortunately many old UUCP implementations don't support anything but 3 win-
  261. dows, 64 bytes fixed packets. Some ones are so badly designed that they even 
  262. accept other configurations but crash. The -k parameter governs the max packet 
  263. size allowed. If the remote host request packet sizes larger than 64, variable
  264. size packets will be used too. Only powers of 2 (from 32 to 4096) are valid: 
  265. 32, 64, 128, 256, 512, 1024, 2048 & 4096.
  266.  
  267. Waffle UUCICO supports 128, 256 and 512, but not variable sizes. We note that
  268. many UNIX systems accept 128 (HDB based) and some of them 256. Taylor UUCP
  269. supports the whole range. FX UUCICO is fully compatible with it, and will work 
  270. with any configuration. For better results you should yur remote hosts which
  271. use Taylor to implement large packet size and enable short packets.
  272.  
  273. You _must_ use the -S switch to connect with Waffle Uucico at any packet size
  274. larger than 64 bytes. If you can't connect to a Unix host, reduce the packet
  275. size to 64. Many old implementations will behave in very strangely ways,
  276. when _trying_ to use large sizes.
  277.  
  278. The default packet timeout was increased to 20 seconds. If you use large pack-
  279. ets and receive calls at low speed, check that the parameter 'uu_delay' is not 
  280. too short.
  281.  
  282. Protocol 'G':
  283.  
  284.     This is a variation of the 'g' protocol used in SVR4, that is known
  285. to implement the full range of packet sizes. It _doesn't_ use variable sizes,
  286. so it's recommended only for systems which do not support large packets on
  287. the 'g' protocol.
  288.  
  289.  
  290. IV.  LOGGING
  291.  
  292. FX UUCICO creates two different log files: 'uucico' has the normal logging, and
  293. 'debug' has all the testing messages and info. This has the advantage of _not_
  294. clobbering the normal log with tons of debugging messages.
  295.  
  296. Because using high debug levels may create huge files, there is a new parm in 
  297. the 'static' file that indicates the drive & subdirectory where the 'debug' 
  298. file is written. You may want to put your 'debug' file in a ramdisk, because 
  299. otherwise the speed may slow down considerably when using higher debug levels 
  300. (8 an up).
  301.  
  302.    fx.debugdir : [drive:]path
  303.  
  304. As in other path options, do not put a slash '\' at the end, because one will 
  305. automatically added. If this entry is not present, the 'debug' file will be 
  306. created in 'waffle\admin' as the usual place for the 'uucico' log. The
  307. optional 'channel' extension is honored and used.
  308.  
  309.  
  310. V.   CONFIGURATION
  311.  
  312. New command lines parameters:
  313.  
  314. o     -a Disable file restart
  315. o     -z Disable 16550AF usage and detection
  316. o     -S Disable variable packets ('g' protocol only).
  317.  
  318.  
  319. New entries in 'static' file:
  320.  
  321. o     fx.gpktsize: Default and maximum packet size for protocol 'g'.
  322.       (Default to 64 bytes, maximum valid value 4096.)
  323.  
  324. o     fx.streamtime: Fatal timeout period in seconds for the streaming
  325.       protocols, ('f' and 'y'). Default is 30 seconds.
  326.  
  327. o     fx.debugdir: Path, include drive and directory where to write the
  328.       'debug' log. Default is 'waffle\admin'.
  329.  
  330. o     fx.maxfile: Maximum file size in bytes for transmission. Default
  331.       is 32 MegaBytes.
  332.  
  333. o     fx.freespace: Minimum free space in bytes available on the spool
  334.       drive. Default do not check for free space.
  335.  
  336. o     fx.backup: Save backups of old jobs in the directory 'spool\lost'.
  337.       Note, backups are never made when file restart is active!
  338.       Boolean. Default is on, make backups.
  339.  
  340.       Boolean options:
  341.           yes, true, 1 = enabled
  342.           no, false, 0 = disabled
  343.  
  344. People may want to specify parameters for individual sites, with those
  345. parms valid for that site only. Currently this cannot be done in the
  346. general configuration. To implement such a thing, different static files
  347. or different poll and uushell batch files would be needed. FX UUCICO 
  348. does NOT intentionally support such configurations, and users must find
  349. their own way to making such modifications work.
  350.  
  351. Future releases of FX UUCICO will probably use an alternative configuration.
  352.  
  353.  
  354. VI.  TELEBIT modems
  355.  
  356. TELEBIT are very powerful modems very popular in UUCP hosts. 'Wordlblazer', 
  357. the latest model at this moment, is an excellent choice. If both sides are 
  358. using FX UUCICO you would be foolish not to use the 'y' protocol, you would 
  359. get unbelievable throughput. We reached 2670 cps in compressed news between 
  360. two 'Wordblazers'.
  361.  
  362. Otherwise, you must use 64 bytes packet size to activate the modem 'spoofing'. 
  363. Without the spoofing these modems are very slow. The TELEBITs modem will not 
  364. spoof if _any_ of both sides requests packets size that are not 64 bytes. 
  365. Window size doesn't matter.
  366.  
  367. In long delay lines (like international calls), it may be better to do one of 
  368. these: 
  369.  
  370.    To transmit ascii non-compressed files, use protocol 'f'. If the other side 
  371.    supports it, use 4Kb packet; the modems will not spoof, but you may get bet-
  372.    ter performance. If the quality of the line is good, try to connect in V32b 
  373.    ('Worldblazers' only).
  374.  
  375.  
  376. VII. ALPHA - BETA versions
  377.  
  378. This is a preliminary version, and in all these cases we recommend you use it 
  379. with care. You may wish to back up your system, before installing and running 
  380. this version. We recommend you keep a backup of WAFFLE's 'uucico'. The author
  381. of FX UUCICO offers this release AS IS, and takes no responsibility for any
  382. problems incurred through its use.
  383.  
  384. The 'y' protocol is still in development. It's quite possible that new releases
  385. will introduce changes and modifications that will make the new version of that
  386. protocol incompatible with the current one. Releases from 0.16 and up have int-
  387. ernal version detection and will abort with a descriptive message if they are 
  388. incompatible with the version on the other side. In that case use protocol 'g' 
  389. (which is an universal standard) to get the new FX Uucico version.
  390.  
  391. Send comments, suggestions and bug reports to:
  392. Jorge Cwik                 jorge@satlink.net
  393. Horacio Stolovitzky        postmaster@satlink.net
  394. US FX Mail List Server     fx-list@dogear.spk.wa.us
  395.  
  396. When reporting a bug, please include pertinent clips from your logfiles, or
  397. any other documentation which may assist us in resolving the problem.
  398. Thanks to all the testers, and specially to Bob Kirkpatrick for their help.
  399.  
  400.  
  401. A current copy of the FX UUCICO package may be retrieved from:
  402.  
  403. US FX Mail Server          fx-dist@dogear.spk.wa.us
  404.  
  405.   An empty message to this address will send you the help file
  406.   on return. Additional files and FX documentation are available
  407.   from this server.
  408.  
  409. FTP Sites:
  410.  
  411.    oak.oakland.edu     halcyon.com    wsmr-simtel20.army.mil
  412.  
  413.    File name is currently  FXUC03B.ZIP  (v 0.3 beta)
  414.  
  415.  
  416. VIII.   LEGAL
  417.  
  418. FX UUCICO is (c) copyright 1993 by Jorge Cwik. It is not freeware nor
  419. shareware. This specific beta release is freely distributable by normal
  420. shareware channels, as long as they do not charge for it beyond a nominal 
  421. fee for diskette or transmission, and the zip file is not modified in any 
  422. way. The author reserves all rights to the software.
  423.  
  424. As a voluntary alpha-beta tester you are allowed to use this release only
  425. for testing purposes and *limited time* only. We reserve the right to
  426. change both the status and the distribution method in future releases.
  427.  
  428.  
  429.  
  430. We are very grateful to Tom Dell, author of Waffle, for the open
  431. architecture and the vast documentation of Waffle, without which
  432. would be impossible to achieve the compatibility provided by FX UUCICO.
  433. He can be contacted at dell@vox.darkside.com
  434.  
  435. All references to WAFFLE are for version 1.65. 
  436. WAFFLE is the copyrighted property of Darkside Int'l.
  437.