home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1988-10-20 | 289.1 KB | 5,677 lines
UFGATE UFGATE UFGATE UUCP/Usenet - FidoNet Gateway Package Release 1.00 Copyright (C) 1988 Late Night Software Co. Late Night Software Co. Late Night Software Co. All Rights Reserved October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Copyright (C) 1988 All Rights Reserved. Late Night Software Co. 671 28th Street San Francisco, CA 94131 (415) 695-7727 No part of this manual or software may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language, in any form or by any means, except as provided for in the following license without the prior written consent of Late Night Software Co. Information in this manual is subject to change without notice and does not represent a commitment on the part of Late Night Software Co. or any of the authors of the software which this document describes. USER SUPPORTED SOFTWARE NOTICE USER SUPPORTED SOFTWARE NOTICE USER SUPPORTED SOFTWARE NOTICE ______________________________ Permission is hereby granted to copy, distribute, and use this manual and the described software provided the following conditions are met: No changes or modifications may be made to either the software or the manual. No attempt may be made to decompile, disassemble, or otherwise reverse engineer the software. This software and manual may not be rented or leased to others. No charge may be made for the distribution of this manual and software, this particularly applies to disk vendors and electronic bulletin board systems which are run on a for profit basis. Commercial, corporate, and governmental use is Commercial, corporate, and governmental use is Commercial, corporate, and governmental use is allowed if and only if the software and manual are purchased on allowed if and only if the software and manual are purchased on allowed if and only if the software and manual are purchased on a one package per CPU basis at the $195 cost outlined below. a one package per CPU basis at the $195 cost outlined below. a one package per CPU basis at the $195 cost outlined below. This package represents the work of many weeks, and while no payment is required from private non-profit users, contributions will be very much appreciated. Contributions will also encourage further development work, the addition of new features, etc. For contributions of $35 or more, you will gain the following benefits: You will be sent a printed, bound manual along with the latest version of the software. You will also be notified of updates for a one year period, and the updates will be provided to you for the same period of time at the cost of materials and postage. Commercial, corporate, and governmental users are required to purchase the package at its full $195 price. This purchase will get you a printed, bound manual along with the latest UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 version of the software. You will be notified of updates for a period of one year after your purchase, and will be sent free updates for the same period of time. Quantity discounts and site licenses are available. For more information, contact us at the address listed above. For the convenience of those people wishing to make a contribution or full purchase, there is a printed invoice/order form on the last page of this manual. Thank you in advance for your support. DISCLAIMER OF WARRANTY DISCLAIMER OF WARRANTY DISCLAIMER OF WARRANTY ______________________ THIS SOFTWARE AND MANUAL ARE SOLD/PROVIDED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY. THE SELLER'S SALESPERSONS MAY HAVE MADE STATEMENTS ABOUT THIS SOFTWARE. ANY SUCH STATEMENTS DO NOT CONSTITUTE WARRANTIES AND SHALL NOT BE RELIED ON BY THE BUYER IN DECIDING WHETHER TO PURCHASE THIS PROGRAM. THIS PROGRAM IS SOLD/PROVIDED WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES WHATSOEVER. BECAUSE OF THE DIVERSITY OF CONDITIONS AND HARDWARE UNDER WHICH THIS PROGRAM MAY BE USED, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. THE USER IS ADVISED TO TEST THE PROGRAM THOROUGHLY BEFORE RELYING ON IT. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF SELLER OR MANUFACTURER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF THE PURCHASE PRICE IF ANY. Trademarks Trademarks Trademarks __________ We would like to acknowledge the following trademarks and their owners: Fido and FidoNet are trademarks of Fido Software, Inc. SEAdog and ARC are trademarks of System Enhancement Associates, Inc. EchoMail is a trademark of Jeff Rush. Unix and UUCP are a trademarks of AT&T. MS-DOS is a trademark of Microsoft, Inc. IBM, IBM PC, XT, AT, and PS/2 are trademarks of International Business Machines corporation. UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Contents 1. Introduction ........................................... 1 1.1. Requirements .................................... 1 1.2. Assumptions ..................................... 1 1.3. Overview ........................................ 2 1.4. UUCP ............................................ 2 1.5. Electronic Mail Addresses ....................... 2 1.5.1. Traditional UUCP Addresses ............... 2 1.5.2. ARPA-Internet Domain Addresses ........... 3 1.5.3. Hybrid Addresses ......................... 4 1.5.4. Precedence in UUCP Addresses ............. 4 1.5.5. FidoNet Addresses ........................ 5 1.5.5.1. Standard FidoNet Addresses ........ 5 1.5.5.2. Bang Path Type FidoNet Addresses .. 6 1.5.5.3. Domain Type FidoNet Addresses ..... 6 1.6. Usenet .......................................... 6 1.7. UFGATE Programs ................................. 7 1.7.1. COMPCTL.EXE .............................. 7 1.7.2. DUMPCTL.EXE .............................. 7 1.7.3. UUSLAVE.EXE .............................. 7 1.7.4. MAILIN.EXE ............................... 8 1.7.5. MAILOUT.EXE .............................. 8 1.7.6. CUB.EXE .................................. 8 1.7.7. COMP12.EXE ............................... 8 1.7.8. COMP16.EXE ............................... 8 1.7.9. NEWSIN.EXE ............................... 9 1.7.10. NEWSOUT.EXE ............................. 9 1.7.11. EXPNEWS.EXE ............................. 9 2. Installation ........................................... 9 2.1. Config.Sys ...................................... 10 2.2. Autoexec.Bat .................................... 11 2.2.1. PATH, SEADOG, DPATH, and BBS ............. 11 2.2.2. TZ ....................................... 11 2.3. The UFGATE.CTL Control File ..................... 12 2.3.1. System Information ....................... 13 2.3.1.1. The System Statement .............. 13 2.3.1.2. The Baud Statement ................ 14 2.3.1.3. The Node Statement ................ 14 2.3.1.4. The Aka Statement ................. 14 2.3.1.5. The DomainName Statement .......... 15 2.3.1.6. The NodeName Statement ............ 15 2.3.1.7. The Organization Statement ........ 15 2.3.1.8. The BangPath Statement ............ 16 2.3.1.9. The SMailPath Statement ........... 16 2.3.1.10. The UucpHost Statement ........... 16 2.3.1.11. The Send Statement ............... 17 2.3.2. UUSLAVE Modem Information ................ 17 2.3.2.1. The ModemInit Statement ........... 17 2.3.2.2. The ModemEnd Statement ............ 18 2.3.2.3. The DialPrefix Statement .......... 18 - C1 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.2.4. The DialSuffix Statement .......... 18 2.3.3. User Information ......................... 19 2.3.3.1. The FidoAlias Statement ........... 19 2.3.3.2. The Forward Statement ............. 20 2.3.4. The Gateway Statement .................... 20 2.3.5. Files and Directories .................... 21 2.3.5.1. The Debug Statement ............... 21 2.3.5.2. The Log Statement ................. 21 2.3.5.3. The Signature Statement ........... 22 2.3.5.4. The Mail Statement ................ 23 2.3.5.5. The Files Statement ............... 23 2.3.5.6. The Attach Statement .............. 24 2.3.5.7. The Spool Statement ............... 24 2.3.5.8. The Save Statement ................ 25 2.3.5.9. The Orphans Statement ............. 25 2.3.5.10. The BBSFiles Statement ........... 26 2.3.6. The Arc Statement ........................ 26 2.3.7. Usenet News Handling ..................... 27 2.3.7.1. The HistCycle Statement ........... 27 2.3.7.2. The Expire Statement .............. 27 2.3.7.3. The Text Statement ................ 28 2.3.7.4. The Fido Statement ................ 28 2.3.7.5. The Trash Statement ............... 28 2.4. The L.SYS File .................................. 28 2.4.1. Host Entry Format ........................ 29 2.4.1.1. Host Name ......................... 29 2.4.1.2. Time .............................. 29 2.4.1.3. Device ............................ 29 2.4.1.4. Baud Rate ......................... 30 2.4.1.5. Phone Number ...................... 30 2.4.1.6. Login Sequence .................... 30 2.4.2. Sample L.SYS file ........................ 31 2.5. Batch Files ..................................... 32 2.6. Finding a UUCP Mail/Usenet News feed ............ 32 2.7. Sending in a UUCP map entry ..................... 33 2.7.1. Syntax ................................... 33 2.7.1.1. System Name: #N ................... 34 2.7.1.2. System Environment: #S ............ 35 2.7.1.3. Organization Name: #O ............. 35 2.7.1.4. Contact Person: #C ................ 35 2.7.1.5. Contact Person's Electronic Mail Address: #E......................... 35 2.7.1.6. Contact Person's Telephone Number: #T 36 2.7.1.7. Organization's Address: #P ........ 36 2.7.1.8. Longitude and Latitude: #L ........ 37 2.7.1.9. Remarks: #R ....................... 37 2.7.1.10. Usenet News Neighbors: #U ........ 38 2.7.1.11. Who Last Edited the Map Entry: #W 38 2.7.1.12. Comments ......................... 38 2.7.1.13. PathAlias Data ................... 39 2.7.2. Sample Map Entry ......................... 40 2.7.3. What to do with Your Map Entry ........... 41 - C2 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 3. Reference .............................................. 42 3.1. File Types ...................................... 42 3.2. Nodelists ....................................... 43 3.3. User Lists ...................................... 44 3.4. Program Usage ................................... 44 3.4.1. Compctl .................................. 45 3.4.1.1. Command Line Usage ................ 45 3.4.1.2. Description ....................... 45 3.4.2. Dumpctl .................................. 46 3.4.2.1. Command Line Usage ................ 46 3.4.2.2. Description ....................... 46 3.4.3. Uuslave .................................. 46 3.4.3.1. Command Line Usage ................ 46 3.4.3.2. Description ....................... 47 3.4.3.2.1. Answer Mode ................ 47 3.4.3.2.2. Originate Mode ............. 48 3.4.3.2.3. Format of a .C File ........ 48 3.4.4. Mailin ................................... 49 3.4.4.1. Command Line Usage ................ 49 3.4.4.2. Description ....................... 50 3.4.5. Mailout .................................. 52 3.4.5.1. Command Line Usage ................ 52 3.4.5.2. Description ....................... 53 3.4.6. Cub ...................................... 55 3.4.6.1. Command Line Usage ................ 55 3.4.6.2. Description ....................... 55 3.4.7. Newsin ................................... 56 3.4.7.1. Command Line Usage ................ 56 3.4.7.2. Description ....................... 58 3.4.8. Newsout .................................. 59 3.4.8.1. Command Line Usage ................ 59 3.4.8.2. Description ....................... 60 3.4.9. Expnews .................................. 61 3.4.9.1. Command Line Usage ................ 61 3.4.9.2. Description ....................... 62 4. Error Messages ......................................... 62 5. Bug Reports and Problems ............................... 71 6. Compatible Software .................................... 72 6.1. FidoNet Mailer Software ......................... 72 6.2. EchoMail Software ............................... 73 7. Authors ................................................ 74 8. Index .................................................. 75 9. Invoice/Order Form ..................................... 80 - C3 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 1. Introduction 1. Introduction 1. Introduction UFGATE, pronounced you-eff-gate, is a set of programs UFGATE UFGATE which implement a gateway between the FidoNet and UUCP electronic mail systems. Mail from FidoNet can pass into the UUCP electronic mail network, and vice versa. UFGATE can also UFGATE UFGATE take UUCP mail from one uucp system and forward it to another. So that when this package is used with an appropriate FidoNet mailer, the system it runs on becomes a full member of both the FidoNet and UUCP electronic mail communities. UFGATE also UFGATE UFGATE allows its FidoNet compatible host to participate in a distributed message conferencing system called Usenet. 1.1. Requirements 1.1. Requirements 1.1. Requirements UFGATE requires the following hardware: an IBM PC, XT, UFGATE UFGATE AT, PS/2, or compatible computer with a hard disk, at least 256K of memory, a serial port addressable as COM1 or COM2, and modem. In the way of software, it requires only one thing, a FidoNet compatible mailer/Bulletin Board System. UFGATE will UFGATE UFGATE use a FOSSIL serial port driver if one is available, but such a driver is not required. There are many different examples of both pieces of software around. OpusComm version 5.2 is a good example of a usable FOSSIL driver. As for compatible FidoNet mailers/BBS's, the following have tested out OK: Opus versions 1.03b and 1.10, Fido versions 11w and 12e through 12h, BinkleyTerm versions 1.40 through 2.00, and SEAdog version 4.10. All of the FOSSIL drivers and FidoNet mailers/BBS's are available on most BBS's for free, or as Shareware, except Fido except except version 12a and above, and SEAdog. Those two programs are copyrighted commercial works and must be purchased in order to be used. 1.2. Assumptions 1.2. Assumptions 1.2. Assumptions This document assumes quite a few things about the reader. For one thing, it assumes the reader is familiar with PC compatible computers and MS-DOS. Little or no hand holding will be done for such things as directories, environment variables, or the PATH. It also assumes a broad familiarity with FidoNet concepts and terms. Some good examples of this would be net/node numbers, EchoMail, and FOSSIL drivers. It is also assumed that the user has a FidoNet compatible mail system up and running. Since UFGATE has no message entering system UFGATE UFGATE itself, it relies on the FidoNet mailer/BBS for this. Because of this fact, it would make no sense to try and run UFGATE UFGATE UFGATE without one. Some Unix/UUCP/Usenet background would also be helpful, but this is not necessary. - 1 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 1.3. Overview 1.3. Overview 1.3. Overview UFGATE is a fairly complex software package. As such, UFGATE UFGATE most people installing, or operating it will need at least a little background information to help them get started. The following sections describe various useful topics in a general way. They also describe the basic functions of each major component program of UFGATE. UFGATE UFGATE 1.4. UUCP 1.4. UUCP 1.4. UUCP UUCP is a program whose name is an acronym for Unix to Unix CoPy. As its name implies, UUCP is a standard part of the Unix Operating System. Its basic function is to copy files from one Unix machine to another over whatever connection is available between those machines, whether it be telephone lines, an EtherNet connection, or whatever. UUCP can copy files from one machine to another over any number of intervening machines. This is the framework upon which UUCP mail is implemented. A user on a Unix machine invokes a mailer program which creates a message file. The mailer itself creates files with the necessary information, and then invokes UUCP to send the message off. 1.5. Electronic Mail Addresses 1.5. Electronic Mail Addresses 1.5. Electronic Mail Addresses In order for any electronic mail system to work, the originator of a message must give some sort of an address for the person he is sending it to. When dealing with UUCP mail, there are three basic types of addresses we need to worry about. These are traditional UUCP addresses, also known as "bang paths", Internet Domain addresses, and combinations of the two. 1.5.1. Traditional UUCP Addresses 1.5.1. Traditional UUCP Addresses 1.5.1. Traditional UUCP Addresses Traditional UUCP addresses, as the name implies, have been around since the dawn of UUCP mail. This form of address consists of a route to get to the addressee, and the addressee's user name. This route is made up of the names of uucp host machines through which the message must pass in order to reach its destination. Host names are separated from each other, and from the user name, by exclamation points. The exclamation point is also known as a "bang". Hence the name "bang path" for this type of address. Here are some example bang paths: - 2 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 puff!plocher puff!plocher puff!plocher uwvax!geowhiz!circle!galvin uwvax!geowhiz!circle!galvin uwvax!geowhiz!circle!galvin In the first example, the addressee's user name is plocher. plocher plocher His account is on the machine named puff, which has a direct puff puff connection with the sender's machine. The second example is slightly more complicated. It says that to get to the addressee, the message must go from the sender's machine to uwvax, from uwvax to geowhiz, and from geowhiz to circle. uwvax uwvax geowhiz geowhiz circle uwvax uwvax geowhiz geowhiz circle Circle is the machine upon which the addressee's account resides. It should be apparent from the above that bang path addressing requires the person sending the message to have a lot of knowledge. He must have a very good picture of not only what uucp hosts his machine talks to, but also what hosts a machine somewhere down the line may talk to. Conventions have sprung up to make this less of a problem than it may appear. 1.5.2. ARPA-Internet Domain Addresses 1.5.2. ARPA-Internet Domain Addresses 1.5.2. ARPA-Internet Domain Addresses Because of the problem outlined above, the UUCP mail community is moving away from bang paths towards ARPA (Advanced Research Projects Agency) standard domain addressing. The most simple type of domain address consists of a local part, the user's name, followed by an at sign, and the domain. A domain is basically a hierarchical host name. The following are some examples of domain addresses: Garry.Paxinos@ankh.FIDONET.ORG Garry.Paxinos@ankh.FIDONET.ORG Garry.Paxinos@ankh.FIDONET.ORG ben@geology.wisc.edu ben@geology.wisc.edu ben@geology.wisc.edu plocher@puff.UUCP plocher@puff.UUCP plocher@puff.UUCP Note that the domain specifications in the above addresses are broken up into separate fields. Each field, called a sub-domain, is delimited by periods. Thus the domain in the first address is made up of three separate sub-domains, ORG, FIDONET, and ankh. Also note that the domain gets more specific as you move from right to left. This is part of what we meant above by saying a domain was a hierarchical host name. The most general sub-domains, always the right most sub-domain in an address, are called "top level domains". There are very few top level domains. "Com" for commercial institutions, "gov" for government institutions, "mil" military institutions, and "org" for organization are a few of these. Top level domains must be approved by and registered with the Network Information Center, SRI International, Menlo Park, California. Such domains are rarely - 3 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 created and must be well justified. Each sub-domain must also be registered with the organization responsible for the immediately preceding domain. When a user sends a message with a domain address, the sender's machine forwards the message to one of the machines in charge of the right most sub-domain. That system is assumed to be able to forward the message to a machine in charge of the next sub-domain, and so on down the line. The system in charge of the left most sub-domain places the message in the user's "mailbox". The Internet also has its equivalent of bang paths. This is called domain routing. A domain route is a list of comma separated domains followed by a colon, and a normal domain address. For example: @uunet.UU.NET,@uwvax.WISC.EDU:galvin@circle.FIDONET.ORG @uunet.UU.NET,@uwvax.WISC.EDU:galvin@circle.FIDONET.ORG @uunet.UU.NET,@uwvax.WISC.EDU:galvin@circle.FIDONET.ORG The above address says that the message will first be sent to uunet.UU.NET. Uunet.UU.NET will forward the message to uunet.UU.NET Uunet.UU.NET uunet.UU.NET Uunet.UU.NET uwvax.WISC.EDU. Which will in turn send it to uwvax.WISC.EDU uwvax.WISC.EDU circle.FIDONET.ORG. Circle.FIDONET.ORG will deliver the circle.FIDONET.ORG Circle.FIDONET.ORG circle.FIDONET.ORG Circle.FIDONET.ORG message. Since this form of addressing defeats the purpose of normal domain addressing, its use is strongly discouraged. 1.5.3. Hybrid Addresses 1.5.3. Hybrid Addresses 1.5.3. Hybrid Addresses A hybrid address is a combination of bang paths and domain addressing. Here is an example of hybrid addressing: geowhiz!uwvax!fritzson@prc.unisys.com geowhiz!uwvax!fritzson@prc.unisys.com geowhiz!uwvax!fritzson@prc.unisys.com This address is ambiguous. In the old uucp mail world a message with the above address would be sent to geowhiz. A new geowhiz geowhiz domain style mailer would mail it to prc.unisys.com. It is for prc.unisys.com prc.unisys.com this reason that the use of hybrid addresses is, in general, strongly discouraged. UFGATE understands domain style UFGATE UFGATE addresses, so it would take the latter course of action. 1.5.4. Precedence in UUCP Addresses 1.5.4. Precedence in UUCP Addresses 1.5.4. Precedence in UUCP Addresses The above discussion of UUCP addressing may not be clear enough in regards to address type precedence for many people, so what follows is an attempt to clear up any confusion in that area. At least in so far as UFGATE is concerned. Currently, UFGATE UFGATE there is one major standard dealing with UUCP addressing, known as RFC-976. RFC-976 details a method for converting the general case, hybrid, uucp address into a straight unambiguous - 4 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 bang path representation. UFGATE converts all UUCP addresses UFGATE UFGATE it encounters into this form. The first part of this bang path is made up of the domain route, if any, specified in the original address. This is followed by the normal domain. This is in turn followed by the bang path, if any, from the original address. The user specification is the last element of the new address. For example, take the following address: @host1,@host2:host4!host5!<user>@host3 @host1,@host2:host4!host5!<user>@host3 @host1,@host2:host4!host5!<user>@host3 UFGATE would translate the above to: UFGATE UFGATE host1.!host2.!host3.!host4!host5!<user> host1.!host2.!host3.!host4!host5!<user> host1.!host2.!host3.!host4!host5!<user> Periods are added to the names of hosts 1 through 3 because RFC-976 requires that when a domain address is translated into a bang path, all domains must have at least one period in their name. This is nothing to worry about. 1.5.5. FidoNet Addresses 1.5.5. FidoNet Addresses 1.5.5. FidoNet Addresses Now we come to FidoNet addressing. The programs that make up UFGATE understand three distinctly different forms of UFGATE UFGATE FidoNet addressing. In the following discussion, <zone>, <net>, <node>, and <point> all represent integers ranging from 0 to 32767. <User> represents a user's name, with all spaces changed to periods. Anything shown in square brackets is optional. 1.5.5.1. Standard FidoNet Addresses 1.5.5.1. Standard FidoNet Addresses 1.5.5.1. Standard FidoNet Addresses The first form of address is the standard FidoNet address notation. This type of address is accepted only in certain places in the UFGATE control/configuration file. This is the UFGATE UFGATE only place it is allowed. This type of address follows the form: [[<zone>:]<net>/]<node>[.<point>] [[<zone>:]<net>/]<node>[.<point>] [[<zone>:]<net>/]<node>[.<point>] 1:121/1 1:121/1 1:121/1 121/5.2 121/5.2 121/5.2 This form of address is used only to identify a particular FidoNet host. - 5 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 1.5.5.2. Bang Path Type FidoNet Addresses 1.5.5.2. Bang Path Type FidoNet Addresses 1.5.5.2. Bang Path Type FidoNet Addresses This type of address looks very much like a standard UUCP bang path. It looks like this: [[[<zone>!]<net>!]<node>[.<point>]!]<user> [[[<zone>!]<net>!]<node>[.<point>]!]<user> [[[<zone>!]<net>!]<node>[.<point>]!]<user> 1!121!1!galvin 1!121!1!galvin 1!121!1!galvin This type of address may be used almost anywhere a standard UUCP destination address may be used. Use of this form of address is strongly discouraged. It is supported only for one reason, compatibility with Bob Hartman's old FidoNet/UUCP gateway. 1.5.5.3. Domain Type FidoNet Addresses 1.5.5.3. Domain Type FidoNet Addresses 1.5.5.3. Domain Type FidoNet Addresses This type of FidoNet address is a valid domain address. It looks like this: <user>@[p<point>.]f<node>.n<net>.z<zone>.FIDONET.ORG <user>@[p<point>.]f<node>.n<net>.z<zone>.FIDONET.ORG <user>@[p<point>.]f<node>.n<net>.z<zone>.FIDONET.ORG galvin@f1.n121.z1.FIDONET.ORG galvin@f1.n121.z1.FIDONET.ORG galvin@f1.n121.z1.FIDONET.ORG The FIDONET.ORG is a valid registered domain. This type of address may be used almost anywhere in UFGATE that a standard UFGATE UFGATE UUCP destination might be used. This is the preferred form of FidoNet address for UUCP. Use it if circumstances permit. It should be noted that this type of address can also be represented in bang path form. The following example is semantically equivalent to the one given above: f1.n121.z1.FIDONET.ORG!galvin This type of address will only be valid on systems, like UFGATE UFGATE UFGATE iself, that recognize RFC-976 style bang domain addresses. 1.6. Usenet 1.6. Usenet 1.6. Usenet Usenet is a network of computers joined, for the most part, by UUCP connections. This network shares a large number of distributed message bases. These message bases are called newsgroups. If this seems unclear, try this: Usenet is basically EchoMail for Unix machines. That is a broad generalization, but basically true. A newsgroup is the Usenet equivalent of an EchoMail conference. Usenet news is usually distributed in batches of messages that have been run through a Lempel-Ziv compression program. That is roughly equivalent to EchoMail's ArcMail packets. - 6 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 One difference between Usenet and Echomail is the number of systems involved. At last count FidoNet stood at over 4,000 nodes, only some of which are involved in EchoMail. Usenet, however, consists of over 10,000 systems. 1.7. UFGATE Programs 1.7. UFGATE Programs 1.7. UFGATE Programs UFGATE is made up of quite a few programs. Each of which UFGATE UFGATE has its own specific purpose. What follows is a short description of the major programs, and what their purposes are. This should give you enough background on what each program does to make it through the installation section below. An in depth description of what each command does appears later in this document. 1.7.1. COMPCTL.EXE 1.7.1. COMPCTL.EXE 1.7.1. COMPCTL.EXE The information that UFGATE uses to control its options is UFGATE UFGATE stored in a file named UFGATE.CTL. This information is stored as text, so that the user may use any ASCII text editor to change the configuration information in this file. Once the user has finished editing the control file, it is run through a program named compctl. Compctl checks the control file for errors. If there are none, it then writes the control information to a file named UFGATE.SYS. This is called a compiled control file. The information in this file is not readily readable by humans. It is stored in a format that is easier for the other programs of UFGATE to understand. UFGATE UFGATE 1.7.2. DUMPCTL.EXE 1.7.2. DUMPCTL.EXE 1.7.2. DUMPCTL.EXE This program takes a compiled control file generated by compctl and writes it out as human readable text. This program is intended to be used to verify that compctl is working correctly, and possibly to reconstruct the control file, if needed. Most users will never have to use this program. The text output by dumpctl can be compiled with compctl. 1.7.3. UUSLAVE.EXE 1.7.3. UUSLAVE.EXE 1.7.3. UUSLAVE.EXE Uuslave is the program that implements the UUCP file transfer protocol for UFGATE. Its purpose is to make and UFGATE UFGATE receive calls to and from uucp hosts to transfer UUCP mail and Usenet news. It uses a special configuration file named L.SYS to store phone numbers and login scripts for various hosts. - 7 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 1.7.4. MAILIN.EXE 1.7.4. MAILIN.EXE 1.7.4. MAILIN.EXE Mailin processes any mail that has arrived via uuslave. It takes the uucp mail message and transfers it into standard FidoNet format. 1.7.5. MAILOUT.EXE 1.7.5. MAILOUT.EXE 1.7.5. MAILOUT.EXE Mailout processes FidoNet mail that is addressed to UUCP addresses. It takes the FidoNet message and translates it into standard UUCP format. The UUCP message, along with certain control information, is placed in a directory where uuslave will find it and send it to the appropriate destination. 1.7.6. CUB.EXE 1.7.6. CUB.EXE 1.7.6. CUB.EXE Most of the time, before Usenet news is sent from one system to another, it is put through a data compression program. That program encodes the news into a much more compact form. That way, the transfer of news from one system to another takes much less time than would otherwise be the case. Before news can be processed, it must be restored to its original, unencoded form. This is where cub comes in. Cub takes any compressed news that has been received via uuslave and decompresses it. 1.7.7. COMP12.EXE 1.7.7. COMP12.EXE 1.7.7. COMP12.EXE This is one of cub's underlying workhorses. This program is invoked by cub to deal with 12 bit compression. 12 bit compression does not generate files as small as those generated by 16 bit compression, but 12 bit compression requires far less RAM to work. 1.7.8. COMP16.EXE 1.7.8. COMP16.EXE 1.7.8. COMP16.EXE This is cub's other workhorse. Comp16.exe is used by cub to implement 16 bit compression and decompression. This program requires a lot of RAM to operate. Depending on how you are invoking cub, you may not have enough memory to run this program, even on a 640K machine. - 8 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 1.7.9. NEWSIN.EXE 1.7.9. NEWSIN.EXE 1.7.9. NEWSIN.EXE Newsin processes Usenet news that has been uncompressed by cub. It takes this uncompressed news and generates FidoNet messages from it. These messages are then placed in the appropriate directories. Newsin keeps track of all the messages it has seen in a certain period of time and prevents duplicates from being processed. 1.7.10. NEWSOUT.EXE 1.7.10. NEWSOUT.EXE 1.7.10. NEWSOUT.EXE Newsout is basically the mirror image of newsin. It takes FidoNet messages from any number of directories and generates Usenet news messages from them. During this translation process, newsout removes any extraneous information that an EchoMail processor may have placed in the message text. 1.7.11. EXPNEWS.EXE 1.7.11. EXPNEWS.EXE 1.7.11. EXPNEWS.EXE Expnews is a simple program that deletes news messages created by newsin or newsout after they have been on the system for a specified number of days. It also allows a specified number of messages to remain in a FidoNet message area, even if they are beyond their expiration time has past. Thus the sysop can make sure that there will always be some messages in any given message area. 2. Installation 2. Installation 2. Installation These installation instructions and the control file distributed with this package assume the directory structure listed below. This structure is intended merely as a frame of reference. Your directory tree will almost certainly be different. - 9 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 +- bbs ---+- files ----+- e-mail | | | | | +- uploads | | | +- messages --- e-mail | | | +- news ------- * | | | +- system | +- bin | +- etc | +- seadog | +- usr ----- spool ----+- orphans | +- save | +- uucp -----+- geowhiz | +- uwspan To begin with copy all of the UFGATE files into a UFGATE UFGATE directory on your hard disk accessible via the PATH. The logical choice for this directory would be the one you already have your FidoNet mailer software in. In our case this would be the \BBS\SYSTEM directory. Assuming the UFGATE files are in UFGATE UFGATE the current directory on the default drive, the command to accomplish this would be: COPY *.* C:\BBS\SYSTEM <RETURN> COPY *.* C:\BBS\SYSTEM COPY *.* C:\BBS\SYSTEM 2.1. Config.Sys 2.1. Config.Sys 2.1. Config.Sys You should have a file named CONFIG.SYS in the root directory of your boot drive. If you do not, then create one. This file should contain, at the very minimum, a FILES command and a BUFFERS command. For example: FILES = 20 <RETURN> FILES = 20 FILES = 20 BUFFERS = 40 <RETURN> BUFFERS = 40 BUFFERS = 40 These values should be regarded as minimums. If your CONFIG.SYS file contains higher values than the ones above, do not change them. - 10 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.2. Autoexec.Bat 2.2. Autoexec.Bat 2.2. Autoexec.Bat You should also have a file named AUTOEXEC.BAT in the root directory of your boot drive. If you do not, then create one. This file should contain commands to set a minimum of two environment variables, PATH and TZ. 2.2.1. PATH, SEADOG, DPATH, and BBS 2.2.1. PATH, SEADOG, DPATH, and BBS 2.2.1. PATH, SEADOG, DPATH, and BBS MS-DOS uses the directories named in the PATH environment variable to locate executable files. The directory you copied the UFGATE executable files should be included on the PATH. In our case this would be something like: set PATH=C:\BIN;C:\BBS\SYSTEM <RETURN> set PATH=C:\BIN;C:\BBS\SYSTEM set PATH=C:\BIN;C:\BBS\SYSTEM UFGATE will also use the path to locate its control file, and, if necessary, your BBS's data files. It will also use the SEADOG, DPATH, and BBS environment variable for the same purpose, should the files not be found in the current directory or on the path. 2.2.2. TZ 2.2.2. TZ 2.2.2. TZ The TZ (Time Zone) environment variable should contain information about the time zone you are operating the UFGATE UFGATE UFGATE package in. The first part of this information is the three character abbreviation for your standard time zone. The second part is the difference, in hours, between you local time zone and Greenwich Mean Time (GMT). When you are observing daylight savings time, TZ should also include the three character abbreviation for that time zone as well. For those of you who have it, use of the TZ environment variable is explained on pages 34, 391, and 618 of the Microsoft C v5.1 Run Time Library Reference Manual. You do not have to set your system clock to not not GMT. Leave it at local time. The valid time zones in the US are: Time Zone Std. Tm. TZ Day. Tm. TZ Time Zone Std. Tm. TZ Day. Tm. TZ Time Zone Std. Tm. TZ Day. Tm. TZ _________ ___________ ___________ Eastern EST5 EST5EDT Central CST6 CST6CDT Mountain MST7 MST7MDT Pacific PST8 PST8PDT For the central time zone during daylight savings time, the following command would suffice: set TZ=CST6CDT <RETURN> set TZ=CST6CDT set TZ=CST6CDT - 11 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3. The UFGATE.CTL Control File 2.3. The UFGATE.CTL Control File 2.3. The UFGATE.CTL Control File The control file contains almost all of the configuration information needed by UFGATE. The name of the default control UFGATE UFGATE file is UFGATE.CTL. As that name indicates, the default extension for all control files is CTL. A control file is a standard text file. It may be directly edited by any ASCII text editor. A control file must be run through compctl, the control file compiler, before the other programs of UFGATE can UFGATE UFGATE use it. Compctl generates compiled control files. The default extension for a compiled control file is SYS. Edit the UFGATE.CTL file included with this package to reflect your configuration. Then compile it with compctl. The control file is line oriented. All of the arguments to a configuration command must be on the same logical line. A logical logical logical line may be made up of any number of actual physical lines of text. The maximum physical line length allowed is 255 characters. There is no limit on the length of a logical line other than the amount of free memory available. Throughout the control file, the backslash character (\) is used as an escape character. That is, putting a backslash in front of another character takes away the special properties of that character. For example, you could continue a logical line of text on another physical line by ending the line with a backslash immediately followed by a <RETURN> character. For example, this would be interpreted as a single logical line of text: Forward ufgate \<RETURN> Forward ufgate \ Forward ufgate \ galvin@circle.FIDONET.ORG \<RETURN> galvin@circle.FIDONET.ORG \ galvin@circle.FIDONET.ORG \ paxinos@ankh.FIDONET.ORG \<RETURN> paxinos@ankh.FIDONET.ORG \ paxinos@ankh.FIDONET.ORG \ pozar@fidogate.FIDONET.ORG <RETURN> pozar@fidogate.FIDONET.ORG pozar@fidogate.FIDONET.ORG There are some characters that take on special characteristics when escaped. These are r, n, t, and x. \r evaluates to a carriage return, \n to a line feed, and \t to a tab character. \x is rather special. It is used in the following format: \x##, where ## is a one to two digit hexadecimal number. The \x## sequence evaluates to the character with the hexadecimal ASCII code indicated. The only character that is not representable with \x is the null character, ASCII 0. These special escape characters are mainly useful for including unusual characters in a quoted string. Each word following a configuration command is considered to be an argument to that command. To have a string containing one or more spaces be considered one argument, quote the string with double quotes, I.E.: Gateway "Usenet News" Gateway "Usenet News" Gateway "Usenet News" - 12 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Alternatively, escape the space character(s) as in the below example: Gateway Usenet\ News Gateway Usenet\ News Gateway Usenet\ News The # character introduces a comment. Everything following an unquoted, unescaped comment character on the same line is ignored. Note that the escape character has no meaning if it follows a comment character, so a comment line may not be not not continued on multiple physical lines. In other words, each physical comment line must have its own comment character. There is a small syntax chart before the description of each statement in this control file. In this "chart" anything enclosed in square brackets "[]" is optional. Anything enclosed in angle brackets "<>" is required. An ellipsis "..." means "and so on" and generally denotes repetition. 2.3.1. System Information 2.3.1. System Information 2.3.1. System Information The following statements define the basic environment that UFGATE is working in. This includes the kind of FidoNet mailer UFGATE UFGATE being used, the baud rate of your modem, your FidoNet node number, and other such like things. 2.3.1.1. The System Statement 2.3.1.1. The System Statement 2.3.1.1. The System Statement System <system type> System <system type> System <system type> This statement defines the type of FidoNet mail compatible software being used with UFGATE. The supported software UFGATE UFGATE includes Fido v11w, v12e - v12h, Opus v0.00 - v1.10, and SEAdog. In the future support will be added for TBBS. The available types are: Software System Type Software System Type Software System Type ________ ___________ Fido v11w Fido_v11w Fido v12e Fido_v12e Fido v12f - v12h Fido Opus v0.00 - v.103b Opus_v0.00 Opus v1.10 Opus SEAdog v4.00 - v4.10 SEAdog The default system type is Opus v0.00. Only the last System statement in a control file has any effect. If you are running Fido version 12h, the appropriate system command would be: System Fido <RETURN> System Fido System Fido - 13 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.1.2. The Baud Statement 2.3.1.2. The Baud Statement 2.3.1.2. The Baud Statement Baud <baud rate> Baud <baud rate> Baud <baud rate> This statement defines the maximum baud rate that the host FidoNet mail system will use to transfer mail. The baud rate is used to calculate the cost of forwarding a UUCP message to another FidoNet node. Only the last Baud statement in a control file will have any effect. If you have a 1200 baud modem, the appropriate Baud command would be: Baud 1200 <RETURN> Baud 1200 Baud 1200 2.3.1.3. The Node Statement 2.3.1.3. The Node Statement 2.3.1.3. The Node Statement Node [[<zone>:]<net>/]<node>[.<point>] Node [[<zone>:]<net>/]<node>[.<point>] Node [[<zone>:]<net>/]<node>[.<point>] The Node statement defines the primary net/node number of the host FidoNet mail system. Zone and Net numbers will both default to 1 if none were specified. Point numbers have no default value. If they are not specified, they are not used. Only the last Node statement in the control file has any effect. There must be at least one Node statement in the control file. Here are some examples of valid node statements: Node 1:121/1 # address is 1:121/1 <RETURN> Node 1:121/1 Node 1:121/1 Node 121/0 # address is 1:121/0 <RETURN> Node 121/0 Node 121/0 Node 1 # address is 1:1/0 <RETURN> Node 1 Node 1 Node 132/101.1 # address is 1:132/101.1 <RETURN> Node 132/101.1 Node 132/101.1 2.3.1.4. The Aka Statement 2.3.1.4. The Aka Statement 2.3.1.4. The Aka Statement Aka [[<zone>:]<net>/]<node>[.<point>] Aka [[<zone>:]<net>/]<node>[.<point>] Aka [[<zone>:]<net>/]<node>[.<point>] The Aka statement defines an alternate net/node number for the host FidoNet mail system. Zone and Net numbers default to whatever they are in the NODE statement, or 1 if none were specified. There may be any number of Aka statements in the control file. The following are some examples of valid Aka statements, the effective addresses listed after the command assume that a previous node statement specified 121/1 as the default address: Aka 1:121/1 # address is 1:121/1 <RETURN> Aka 1:121/1 Aka 1:121/1 Aka 121/0 # address is 1:121/0 <RETURN> Aka 121/0 Aka 121/0 Aka 1 # address is 1:121/1 <RETURN> Aka 1 Aka 1 Aka 132/101.1 # address is 1:132/101.1 <RETURN> Aka 132/101.1 Aka 132/101.1 - 14 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.1.5. The DomainName Statement 2.3.1.5. The DomainName Statement 2.3.1.5. The DomainName Statement DomainName <domain name> DomainName <domain name> DomainName <domain name> This statement defines the primary domain that this UFGATE UFGATE UFGATE system belongs to. Newsout and mailout use in creating reply-to addresses and signatures for outgoing mail and news. As distributed, the control file should have the command DomainName FIDONET.ORG <RETURN> DomainName FIDONET.ORG DomainName FIDONET.ORG in it. Do not change this statement unless you are absolutely sure you know what you are doing. There must be a DomainName statement in the control file. If there is none, compctl will print an error message and abort the compilation process. 2.3.1.6. The NodeName Statement 2.3.1.6. The NodeName Statement 2.3.1.6. The NodeName Statement NodeName <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] NodeName <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] NodeName <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] This statement defines a UUCP host name for the UFGATE UFGATE UFGATE system. This uucp name may not include any periods. The optional FULLNAME portion of the NodeName statement defines the full domain name of this system. If no FULLNAME is given, it defaults to the uucp name with the domain given in the DomainName statement. Any number of alias names may be given. UFGATE uses these alias names to determine if a host name in an UFGATE UFGATE address actually refers to this system. Give an alias for each name that your system is known by. Alias names are automatically generated for the uucp name and the full domain name. The following is an example of a valid NodeName statement: NodeName circle FullName circle.FIDONET.ORG \<RETURN> NodeName circle FullName circle.FIDONET.ORG \ NodeName circle FullName circle.FIDONET.ORG \ Alias circle.IFNA.ORG \<RETURN> Alias circle.IFNA.ORG \ Alias circle.IFNA.ORG \ Alias circle.UUCP <RETURN> Alias circle.UUCP Alias circle.UUCP 2.3.1.7. The Organization Statement 2.3.1.7. The Organization Statement 2.3.1.7. The Organization Statement Organization <organization name and info> Organization <organization name and info> Organization <organization name and info> This statement is used to define the name of whatever organization is running this UFGATE system. Newsout uses this UFGATE UFGATE information to generate an Organization: line for all outgoing news that was authored by someone on this system. If an outgoing news message originated somewhere else and arrived here via EchoMail, or if no organization statement appears in - 15 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 the control file, newsout will generate an Organization: line consisting of the nodelist information for the originating system. The following is an example of a valid Organization statement: Organization "First Circle BBS, Mad Town, WI" <RETURN> Organization "First Circle BBS, Mad Town, WI" Organization "First Circle BBS, Mad Town, WI" 2.3.1.8. The BangPath Statement 2.3.1.8. The BangPath Statement 2.3.1.8. The BangPath Statement BangPath <uucp path to get here> BangPath <uucp path to get here> BangPath <uucp path to get here> This statement defines a uucp bang path address to get to this host system. It is used by newsout and mailout in the generation of signature files (see below). It should include the host system's name. The argument of this statement is considered text, and thus may have characters in it that are not normally allowed in a true address. The following is an example of a valid BangPath statement: BangPath "{uunet|ucbvax}!uwvax!geowhiz!circle" <RETURN> BangPath "{uunet|ucbvax}!uwvax!geowhiz!circle" BangPath "{uunet|ucbvax}!uwvax!geowhiz!circle" 2.3.1.9. The SMailPath Statement 2.3.1.9. The SMailPath Statement 2.3.1.9. The SMailPath Statement SMailPath <bang path to smart mailer> SMailPath <bang path to smart mailer> SMailPath <bang path to smart mailer> This statement defines a uucp bang path to a uucp host that runs a smart mailer. This should be an RFC-976 class 3 mailer. Smail is a good example of this. This mailer should be capable of resolving any problems we have with unknown addresses. All mail addressed to hosts not mentioned in a UUCPHost statement will be forwarded to this system. Correct use of this statement is the only way that straight domain addresses can be used for systems which are not our direct uucp neighbors. The following is an example of a valid SMailPath statement: SMailPath geowhiz!uwvax <RETURN> SMailPath geowhiz!uwvax SMailPath geowhiz!uwvax 2.3.1.10. The UucpHost Statement 2.3.1.10. The UucpHost Statement 2.3.1.10. The UucpHost Statement UucpHost <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] UucpHost <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] UucpHost <uucp name> [FULLNAME <name>] [[ALIAS <name>]...] [SMAIL] [NEWS] [BATCH] [COMPRESS12|COMPRESS16] [SMAIL] [NEWS] [BATCH] [COMPRESS12|COMPRESS16] [SMAIL] [NEWS] [BATCH] [COMPRESS12|COMPRESS16] A UucpHost statement lists the name of a UUCP host that this system knows about. This host must be a direct UUCP neighbor of this system. There may be any number of UucpHost statements in a control file. As with the NodeName statement, no periods are permitted in the host's uucp name. If no full - 16 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 domain name is given, it defaults to the uucp name of the host plus the domain .UUCP. Any number of alias names may be given. Outgoing UUCP mail is routed through the host it is addressed to. This host may be identified in an address by its UUCP name, full domain name, or any of its alias names. If the out going host can not be identified, the message is sent to the system named in the SMailPath statement. This system should have a smart mailer, one capable of handling domains, and routing. Smail is a good example of this type of mailer. Outgoing Usenet news is sent to the NEWS host. At present there should only be one NEWS host. Note that there should be a subdirectory in the spool directory (see below) for each UUCPHost. Each subdirectory should have the same name as the uucpname of the given host. The following options have been implemented only in compctl, and as such, have no effect: SMAIL, BATCH, COMPRESS12, and COMPRESS16. The following is an example of a valid UUCPHost statement: UUCPHost geowhiz FullName geology.wisc.edu \<RETURN> UUCPHost geowhiz FullName geology.wisc.edu \ UUCPHost geowhiz FullName geology.wisc.edu \ Alias geowhiz.UUCP <RETURN> Alias geowhiz.UUCP Alias geowhiz.UUCP 2.3.1.11. The Send Statement 2.3.1.11. The Send Statement 2.3.1.11. The Send Statement Send <uucp name> <newsgroup> [<newsgroup>...] Send <uucp name> <newsgroup> [<newsgroup>...] Send <uucp name> <newsgroup> [<newsgroup>...] This statement defines which newsgroups we should forward to a uucp host. The uucp name must have been mentioned in a preceding UUCPHost statement. Note: newsin and newsout do not make use of this information yet. 2.3.2. UUSLAVE Modem Information 2.3.2. UUSLAVE Modem Information 2.3.2. UUSLAVE Modem Information The following commands define modem control strings for uuslave. Uuslave uses the information supplied with these statements to do such things as initialize, deinitialize, and dial the modem. If these control strings are used correctly, uuslave should be able to support just about any autodial modem. It should be noted that uuslave translates the '|' character into a carriage return when sending it to the modem. 2.3.2.1. The ModemInit Statement 2.3.2.1. The ModemInit Statement 2.3.2.1. The ModemInit Statement ModemInit <initialization string> ModemInit <initialization string> ModemInit <initialization string> This command defines a character string that uuslave will use to initialize your modem. Only the last ModemInit - 17 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 statement in the control file will have any effect. The following is an example of a ModemInit statement for a Hayes compatible modem: ModemInit ATS0=1| <RETURN> ModemInit ATS0=1| ModemInit ATS0=1| 2.3.2.2. The ModemEnd Statement 2.3.2.2. The ModemEnd Statement 2.3.2.2. The ModemEnd Statement ModemEnd <de-initialization string> ModemEnd <de-initialization string> ModemEnd <de-initialization string> This command defines a string which uuslave will use to de-initialize your modem after the program is done with it. Only the last ModemEnd statement in the control file will have any effect. The following is an example of a ModemEnd command for a Hayes compatible modem: ModemEnd ATS0=0| <RETURN> ModemEnd ATS0=0| ModemEnd ATS0=0| 2.3.2.3. The DialPrefix Statement 2.3.2.3. The DialPrefix Statement 2.3.2.3. The DialPrefix Statement DialPrefix <modem dial command> DialPrefix <modem dial command> DialPrefix <modem dial command> This command defines the character string uuslave will send to your modem when it wants to dial a number. Uuslave will send this string to the modem first, then the number to be dialed, and finally the string defined in the DialSuffix statement. Only the last DialPrefix statement in the control file has any effect. The following is an example of a valid DialPrefix command for a Hayes compatible modem: DialPrefix ATDT <RETURN> DialPrefix ATDT DialPrefix ATDT 2.3.2.4. The DialSuffix Statement 2.3.2.4. The DialSuffix Statement 2.3.2.4. The DialSuffix Statement DialSuffix <end of modem dial command> DialSuffix <end of modem dial command> DialSuffix <end of modem dial command> This command defines the character string uuslave will send to your modem after the prefix string and the number being dialed. Only the last DialSuffix statement in the control file will have any effect. The following is an example of a valid DialSuffix command for a Hayes compatible modem: DialSuffix | <RETURN> DialSuffix | DialSuffix | - 18 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.3. User Information 2.3.3. User Information 2.3.3. User Information The following statements define various things about users. In particular, they allow you do three useful things. First, create user name aliases, so that mail to say, postmaster, gets sent to the correct person. Second, forward a user's mail to any UUCP or FidoNet address. Last, you can create a mailing list so that mail to a specified user would get forwarded to any number of FidoNet or UUCP addresses. 2.3.3.1. The FidoAlias Statement 2.3.3.1. The FidoAlias Statement 2.3.3.1. The FidoAlias Statement FidoAlias <alias> <user> <fido address> [signature file] FidoAlias <alias> <user> <fido address> [signature file] FidoAlias <alias> <user> <fido address> [signature file] This command defines simple name aliases for mail. This statement is made up of four parts. First is the alias name. Second is the FidoNet user's name. Third is the FidoNet address of the system where the user has an account. The FidoNet address must be either an address of the standard non-UUCP type, or the word local. If the address is one of those given in the Node or Aka statements, the effect will be the same as if the word local had been used. The alias is the new name the user will be known by. All mail to the alias name on the specified FidoNet system will be sent to the named user. All mail from the user at the specified FidoNet address will be sent as though the alias were the user's actual user name. For example, the command: FidoAlias galvin "John Galvin" local FidoAlias galvin "John Galvin" local FidoAlias galvin "John Galvin" local would cause all incoming UUCP mail addressed to galvin, to be sent to John Galvin. It would also cause all outgoing mail from John Galvin to be marked as being sent from galvin. The optional signature file specification, if present, overrides the default signature file for this person (see below). The FidoAlias command can be used to make it appear, to people on the UUCP end of the connection, that the UFGATE gateway system UFGATE UFGATE is a normal Unix type UUCP system. There may be any number of FidoAlias statements in a control file. Note that if there are duplicate user name's, outgoing UUCP mail and news will be marked as sent from the last corresponding alias. For example, the below statements would cause all outgoing mail from John Galvin to be marked as from galvin. FidoAlias postmaster "John Galvin" local <RETURN> FidoAlias postmaster "John Galvin" local FidoAlias postmaster "John Galvin" local FidoAlias sysop "John Galvin" local <RETURN> FidoAlias sysop "John Galvin" local FidoAlias sysop "John Galvin" local FidoAlias galvin "John Galvin" local <RETURN> FidoAlias galvin "John Galvin" local FidoAlias galvin "John Galvin" local It should be noted that apostmaster alias like the one above is required by the RFC-821 mail standard, and strongly suggested by the UUCP project. This is to allow important - 19 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 news/mail related correspondance to be sent to your site without having to find out who is in charge of such things first. So please take the time to include a postmaster alias. 2.3.3.2. The Forward Statement 2.3.3.2. The Forward Statement 2.3.3.2. The Forward Statement Forward <user name> <address> [<address> ...] Forward <user name> <address> [<address> ...] Forward <user name> <address> [<address> ...] The forward statement is used to forward a user's mail or to create a mailing list. This statement causes any mail in the FidoNet mail directory addressed to <user name> to be forwarded to the following UUCP or FidoNet addresses. All FidoNet addresses used in this statement must be pseudo bang path, or domain type addresses. Standard FidoNet addresses are not allowed. Note that any of the addresses given to the command may be the subject of another Forward command. Thus, if you put an exact match of the user name of one Forward command as an address in another, you can include one mailing list in another. Recursive Mailing lists are handled intelligently. There may be any number of Forward statements in a control file. The following are examples of valid forward statements: Forward "John Plocher" plocher@uport.UUCP Forward "John Plocher" plocher@uport.UUCP Forward "John Plocher" plocher@uport.UUCP Forward ufgate galvin \<RETURN> Forward ufgate galvin \ Forward ufgate galvin \ pax@ankh.FIDONET.ORG \<RETURN> pax@ankh.FIDONET.ORG \ pax@ankh.FIDONET.ORG \ pozar@fidogate.FIDONET.ORG \<RETURN> pozar@fidogate.FIDONET.ORG \ pozar@fidogate.FIDONET.ORG \ "John Plocher" \<RETURN> "John Plocher" \ "John Plocher" \ David.Dodell@f0.n1.z1.FIDONET.ORG <RETURN> David.Dodell@f0.n1.z1.FIDONET.ORG David.Dodell@f0.n1.z1.FIDONET.ORG 2.3.4. The Gateway Statement 2.3.4. The Gateway Statement 2.3.4. The Gateway Statement Gateway [user] Gateway [user] Gateway [user] If the gateway command is present without an argument, it means that it is ok to forward FidoNet mail anywhere it has to anywhere anywhere go. This can be rather expensive. If an argument is present, then it is taken to be a user of the host BBS, and the cost of all outgoing FidoNet mail generated by UFGate is debited to that user's account. If there is not enough money to cover the cost of sending the mail, then it is not sent. If the gateway command is not present, mail will only be forwarded to those FidoNet nodes for which the forwarding cost is zero. Since SEAdog does not have a user file, gateway support with cost accounting is not supported unless the SEAdog user uses one of the many Public Domain or ShareWare Fido/Opus compatible sysop - 20 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 utilities to create and maintain a user file, and changes his system type to reflect the type of user file he is using. The following is an example of a valid Gateway command: Gateway UUCP <RETURN> Gateway UUCP Gateway UUCP 2.3.5. Files and Directories 2.3.5. Files and Directories 2.3.5. Files and Directories The following statements define the names of various files and directories used by UFGATE. If you don't use full path UFGATE UFGATE names when a directory or file name is needed, the full name of the file or directory will be generated by compctl using the name of the current directory. This may not be what you intended. When entering a file or directory name, use the slash character to separate path elements, i.e. /usr/bin. The backslash may be used in paths, so long as it is escaped, i.e. \\usr\\bin evaluates to \usr\bin. 2.3.5.1. The Debug Statement 2.3.5.1. The Debug Statement 2.3.5.1. The Debug Statement Debug <file> Debug <file> Debug <file> If this command is present, a detailed log is kept of the gateway's activities. This log is printed to the screen as well as to the specified file. If you use NUL as the filename you will see the debugging log on the screen but it will not be saved to disk. Use of this option will slow the processing of mail and news considerably. It will also use up a large amount of disk space, as the log grows very quickly. For these reasons, use this option only when its use has been requested by one of the authors as an aid in finding a program problem. Only the last Debug statement in the control file has any effect. The following is an example of a valid Debug Statement: Debug C:/SEADOG/DEBUG.LOG Debug C:/SEADOG/DEBUG.LOG Debug C:/SEADOG/DEBUG.LOG 2.3.5.2. The Log Statement 2.3.5.2. The Log Statement 2.3.5.2. The Log Statement Log <file> Log <file> Log <file> If this command is present, a log is kept of each program's error messages and message processing statistics. The log is printed to the screen, as well as being stored in the named file. If you use NUL as the filename the log will be printed to the screen, but not saved to disk. The same name should not be used for the Debug and Log files, unless the name - 21 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 is nul. Otherwise problems will occur. Only the last Log statement in the control file has any effect. The following is an example of a valid Log statement: Log C:/SEADOG/UFGATE.LOG Log C:/SEADOG/UFGATE.LOG Log C:/SEADOG/UFGATE.LOG 2.3.5.3. The Signature Statement 2.3.5.3. The Signature Statement 2.3.5.3. The Signature Statement Signature <file> Signature <file> Signature <file> If this command is present, the named file is appended to all mail and news destined for UUCP/Usenet. A typical use for this would be to append information on the UUCP path a reply to the message should follow. By convention, a signature should be no more than four lines long. The people who contribute time and money for the transfer of Usenet News tend to get annoyed at people who use longer signatures. MailOut and NewsOut do some limited macro processing on the specified signature file. Macros are introduced by the $ character. The escape character, the backslash, will remove the $ character's special properties. The following macros are understood: Macro Description Macro Description Macro Description _____ ___________ $p This macro expands to the bang path to get mail $p $p to the sender. Any needed zone, net, node, or point information is included as well as the sender's name. $i This macro expands to the domain address to use $i $i for a reply to the sender. This address has the domain defined in the DomainName statement. This includes the appropriate zone, net, node, and point numbers as well as the sender's name. $u This macro expands to the sender's name, with no $u $u dots. $h This macro expands to this UFGATE system's node $h UFGATE $h UFGATE number as defined in the Node statement. $$ This macro expands to the $ character. $$ $$ The following signature file: $u - via FidoNet node $h $u - via FidoNet node $h $u - via FidoNet node $h UUCP: $p UUCP: $p UUCP: $p ARPA: $i ARPA: $i ARPA: $i $$ $$ $$ \$p \$p \$p \\$p \\$p \\$p - 22 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 evaluates to this: Joe Blow - via FidoNet node 1:121/1 Joe Blow - via FidoNet node 1:121/1 Joe Blow - via FidoNet node 1:121/1 UUCP: ...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow UUCP: ...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow UUCP: ...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow ARPA: Joe.Blow@f6.n369.z1.FIDONET.ORG ARPA: Joe.Blow@f6.n369.z1.FIDONET.ORG ARPA: Joe.Blow@f6.n369.z1.FIDONET.ORG $ $ $ $p $p $p \...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow \...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow \...uwvax!geowhiz!uwspan!circle!369!6!Joe.Blow for a user named Joe Blow on 1:369/6 whose mail comes through 1:121/1, a gateway system that uses the above signature file. Only the last Signature statement in the control file has any effect. The following is an example of a valid Signature statement: Signature C:/ETC/DEFAULT.SIG Signature C:/ETC/DEFAULT.SIG Signature C:/ETC/DEFAULT.SIG 2.3.5.4. The Mail Statement 2.3.5.4. The Mail Statement 2.3.5.4. The Mail Statement Mail <dir> Mail <dir> Mail <dir> This statement defines the name of the FidoNet mail directory. All incoming UUCP mail is stored here after being processed by mailin. All outgoing UUCP mail is taken from hereby mailout. The following is an example of a valid Mail statement: Mail C:/BBS/MESSAGES/E-MAIL Mail C:/BBS/MESSAGES/E-MAIL Mail C:/BBS/MESSAGES/E-MAIL 2.3.5.5. The Files Statement 2.3.5.5. The Files Statement 2.3.5.5. The Files Statement Files <dir> Files <dir> Files <dir> This statement defines the name of the directory where files that arrive via FidoNet are stored. If a FidoNet message arrives from another system with a file attached, this is the only place mailout will look for it. Note: mailout does not Note: Note: _________________________ implement file attaches yet. The following is an example of a ______________________________ valid Files statement: Files C:/BBS/FILES/E-MAIL Files C:/BBS/FILES/E-MAIL Files C:/BBS/FILES/E-MAIL - 23 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.5.6. The Attach Statement 2.3.5.6. The Attach Statement 2.3.5.6. The Attach Statement Attach <directory> [<directory>...] Attach <directory> [<directory>...] Attach <directory> [<directory>...] This statement defines the name of a directory that contains files that may be attached to users' messages. Any user of this system with high enough privileges on the host BBS can attach a file to their message. The directories named in this statement are the only valid place an attached file may reside. Attempts by a user to attach a file from a directory not named in an attach statement will be ignored. Wildcards are not allowed in user file names. A person with SYSOP privs can attach a file from any directory, as well as being able to use wildcards. There may be any number of these commands in the control file. Note: mailout does not implement file Note: Note: __________________________________________ attaches yet. The following is an example of a valid Attach ______________ statement: Attach C:/BBS/FILES/UPLOADS Attach C:/BBS/FILES/UPLOADS Attach C:/BBS/FILES/UPLOADS 2.3.5.7. The Spool Statement 2.3.5.7. The Spool Statement 2.3.5.7. The Spool Statement Spool <dir> Spool <dir> Spool <dir> This statement defines the name of the spool directory. Under no circumstances should the name of the directory specified in this statement be the same as those specified in the Save and Orphans statements. Otherwise severe problems will occur. The spool directory contains a number of things. First, it contains two system files that UFGATE creates and UFGATE UFGATE maintains by itself. The names of these files are MSGID.SYS and NEWSHIST.SYS. You will notice that these files both have a .SYS extension. Regardless, they are not compiled control not not files. Second, this directory should contain a number of subdirectories. One for each host named in a UucpHost statement. They should have the same name as the uucpname of the corresponding host. The user should create these directories before executing any UFGATE programs other than UFGATE UFGATE compctl, dumpctl, uuslave, and expnews. Mail and news will be processed from these subdirectories. Incoming mail and news is placed in these directories by UUSLAVE. .D and .X (incoming uucp) files are deleted from this directory as they are handled. Only the last Spool statement in the control file has any effect. The following is an example of a valid Spool statement: Spool C:/USR/SPOOL/UUCP Spool C:/USR/SPOOL/UUCP Spool C:/USR/SPOOL/UUCP - 24 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.5.8. The Save Statement 2.3.5.8. The Save Statement 2.3.5.8. The Save Statement Save <dir> [MAILIN] [NEWSIN] [ALL] Save <dir> [MAILIN] [NEWSIN] [ALL] Save <dir> [MAILIN] [NEWSIN] [ALL] If this command is present, it causes all incoming Usenet News and UUCP Mail to be copied to this directory exactly as UUSLAVE received it. The MAILIN option tells mailin that it should save the incoming .X and .D files that it processes to this directory. The NEWSIN option tells newsin that it should save the incoming .X and .D files that it processes to this directory also. The ALL option is equivalent to using both the MAILIN and NEWSIN options. If no options are specified, the default is ALL. Under no circumstances should the name of the directory specified in this statement be the same as those specified in the Spool and Orphans statements. Otherwise severe problems will occur. Only the last Save statement in the control file has any effect. The following is an example of a valid Save statement: Save C:/USR/SPOOL/SAVE ALL Save C:/USR/SPOOL/SAVE ALL Save C:/USR/SPOOL/SAVE ALL 2.3.5.9. The Orphans Statement 2.3.5.9. The Orphans Statement 2.3.5.9. The Orphans Statement Orphans <dir> [MAILIN] [NEWSIN] [ALL] Orphans <dir> [MAILIN] [NEWSIN] [ALL] Orphans <dir> [MAILIN] [NEWSIN] [ALL] This statement defines the name of the directory where problem messages should be deposited for the sysop's future attention. These problem messages are generally called orphans. There are three valid options in this statement. These are MAILIN, NEWSIN, and ALL. If the NEWSIN option is present, all news for newsgroups that are not explicitly explicitly explicitly handled elsewhere with Fido, Text, or Trash statements is copied to this directory. If the MAILIN option is present, all undeliverable UUCP mail, for whatever reason, is copied to this directory. The option ALL is equivalent to using the options NEWSIN and MAILIN. If no options are given, the default is ALL. If no Orphans statement is present, then all problem news messages are discarded. Problem mail messages, however, are left in the subdirectory where they were found. Undeliverable mail will not be erased. Under no circumstances should the not not name of the directory specified in this statement be the same as those specified in the Save and Spool statements. Otherwise severe problems will occur. Only the last Orphans statement in the control file has any effect. The following is an example of a valid Orphans statement. Orphans C:/USR/SPOOL/ORPHANS Orphans C:/USR/SPOOL/ORPHANS Orphans C:/USR/SPOOL/ORPHANS - 25 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.5.10. The BBSFiles Statement 2.3.5.10. The BBSFiles Statement 2.3.5.10. The BBSFiles Statement BBSFiles <dir> BBSFiles <dir> BBSFiles <dir> This statement defines the name of the directory where Fido, Opus, or SEAdog keeps its system files. In particular, the user list (USER.BBS or CALLER.SYS) and your nodelist files (NODELIST.SYS or NODELIST.DAT, and NODELIST.IDX, or NODELIST.DOG and NETLIST.DOG) should be here. This set of programs will also search the directories specified in the PATH, SEADOG, DPATH, and BBS environment variables for these files. Only the last BBSFiles statement in the control file will have any effect. The following is an example of a valid BBSFiles statement: BBSFiles C:/BBS/SYSTEM BBSFiles C:/BBS/SYSTEM BBSFiles C:/BBS/SYSTEM 2.3.6. The Arc Statement 2.3.6. The Arc Statement 2.3.6. The Arc Statement Arc [Save] [Orphans] [Fido] [Text] [All] Arc [Save] [Orphans] [Fido] [Text] [All] Arc [Save] [Orphans] [Fido] [Text] [All] To use this statement, Vernon Buerg's ARCA program must be available somewhere on the PATH. The Arc statement allows messages in various directories to be compressed and put into .ARC files. The available options are Save, Orphans, Fido, Text, and All. The Save option indicates that all UUCP files in the directory named in the Save command should be compressed. The Orphans option indicates that all UUCP files in the directory named in the Orphans command should be compressed. The Fido option indicates that Fido messages in all of the directories named in Fido commands should be compressed. The Text option indicates that all UUCP files in all directories named in Text commands should be compressed. The All option is equivalent to using the Save, Orphans, Fido, and Text options. For example, the below options cause the indicated commands to be executed: Option Command Option Command Option Command ______ _______ Save ARCA arcname *.X *.D /D Orphans ARCA arcname *.X *.D /D Fido ARCA arcname *.MSG /D Text ARCA arcname *.D /D Only the last Arc statement in the control file has any effect. The following is an example of a valid Arc statement: Arc Save Orphans Text Arc Save Orphans Text Arc Save Orphans Text - 26 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.7. Usenet News Handling 2.3.7. Usenet News Handling 2.3.7. Usenet News Handling The following statements define how UFGATE handles Usenet UFGATE UFGATE News. Statements are provided for controlling duplicate detection, message expiring, newsgroup to message area correspondences, and unwanted newsgroups. Cross posted news articles are posted to each directory corresponding to the specified newsgroup. Hence doubles may appear across directories. They will not, however, appear in the same directory. All newsgroup names must be fully spelled out. No wildcards are supported. 2.3.7.1. The HistCycle Statement 2.3.7.1. The HistCycle Statement 2.3.7.1. The HistCycle Statement HistCycle <days> HistCycle <days> HistCycle <days> This command tells Newsin to keep a record of the message ID of each news message that it processes for the specified number of days. Newsin will not process a message with an ID that it has already seen during this period. This helps prevent Newsin from posting duplicate messages. The default length of time to keep record of a message is 1 day. Newsin uses a file named NEWSHIST.SYS in the spool directory to keep the message IDs in. Only the last HistCycle statement in the control file will have any effect. The following is an example of a valid HistCycle statement: HistCycle 1 HistCycle 1 HistCycle 1 2.3.7.2. The Expire Statement 2.3.7.2. The Expire Statement 2.3.7.2. The Expire Statement Expire <daysold> [KEEP <number>] <dir> [<dir>...] Expire <daysold> [KEEP <number>] <dir> [<dir>...] Expire <daysold> [KEEP <number>] <dir> [<dir>...] The expire command is a way of dealing with the large volume of message traffic in many Usenet newsgroups. The program Expnews examines the Fido messages in each directory named in an Expire command and determines how many days old the message is. If it is <daysold> days old or older, the message is deleted. A message created today is considered 0 days old. The KEEP option allows you to keep a certain number of messages in the directory even though the are past the expiration date. There may be any number of Expire statements in the control file. The following is an example of a valid Expire statement: Expire 5 KEEP 20 C:/BBS/NEWS/COMP/LANG/C Expire 5 KEEP 20 C:/BBS/NEWS/COMP/LANG/C Expire 5 KEEP 20 C:/BBS/NEWS/COMP/LANG/C - 27 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.3.7.3. The Text Statement 2.3.7.3. The Text Statement 2.3.7.3. The Text Statement Text <dir> <group1> [[group]...] Text <dir> <group1> [[group]...] Text <dir> <group1> [[group]...] This command causes the named Usenet newsgroups to be copied to the specified directory. The message (the incoming .D file) is merely transferred to the destination directory with the same name. The same directory may be used in any number of Text statements. Any specific newsgroup may be mentioned only in one Text statement. There may be any number of Text statements in a control file. The following is an example of a valid Text statement: Text C:/BBS/NEWS/COMP/MAIL/MAPS comp.mail.maps Text C:/BBS/NEWS/COMP/MAIL/MAPS comp.mail.maps Text C:/BBS/NEWS/COMP/MAIL/MAPS comp.mail.maps 2.3.7.4. The Fido Statement 2.3.7.4. The Fido Statement 2.3.7.4. The Fido Statement Fido <dir> <group1> [[group]...] Fido <dir> <group1> [[group]...] Fido <dir> <group1> [[group]...] This command causes the named Usenet newsgroups to be copied to the specified directory in Fido/Opus/SEAdog .MSG format. The same directory may be used in any number of Fido statements. Any specific newsgroup may be mentioned only in one Fido statement. There may be any number of Fido statements in a control file. The following is an example of a valid Fido statement: Fido C:/BBS/NEWS/COMP/LANG/C comp.lang.c Fido C:/BBS/NEWS/COMP/LANG/C comp.lang.c Fido C:/BBS/NEWS/COMP/LANG/C comp.lang.c 2.3.7.5. The Trash Statement 2.3.7.5. The Trash Statement 2.3.7.5. The Trash Statement Trash <group1> [[group]...] Trash <group1> [[group]...] Trash <group1> [[group]...] This command causes all messages addressed to the named Usenet newsgroups to be deleted out of hand if they are not cross posted to a newsgroup that we keep. This allows the user to get rid of unwanted newsgroups. There may be any number of Trash statements in a control file. The following is an example of a valid Trash statement: Trash rec.humor Trash rec.humor Trash rec.humor 2.4. The L.SYS File 2.4. The L.SYS File 2.4. The L.SYS File Uuslave uses another configuration file besides the UFGATE.CTL mentioned above. This file is named L.SYS. It is identical to the one found on Unix based machines in /usr/lib/uucp. Both the L.SYS and UFGATE.CTL files must be in the current directory when uuslave is invoked. In the L.SYS - 28 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 file, lines beginning with a '#' are assumed to be comments, everything following the '#' is ignored. Each non-comment line in this file contains all the information needed for calling and logging into a single uucp host. There should be at least one line of information in this file for each uucp host named in a UUCPHOST statement in the control file (see above). It is recommended that this file is not viewable, downloadable, or file requestable, as it contains the full login name and passwords to all uucp hosts that you communicate with. 2.4.1. Host Entry Format 2.4.1. Host Entry Format 2.4.1. Host Entry Format Each non-comment line contains all of the information needed to log in to a single host. This includes such things as a mutually supported baud rate, telephone number, etc. If a host has multiple telephone numbers, there should be an entry in the L.SYS file for each number. Each field in the entry is separated from the other by one or more spaces, do not use tabs for this purpose. Uuslave does not support continuation lines in the L.SYS file, so all of the information must appear on a single physical line not more than 299 characters long. The format for each line is as follows: <host name> <time> <device> <baud> <phone nbr> <login> <host name> <time> <device> <baud> <phone nbr> <login> <host name> <time> <device> <baud> <phone nbr> <login> 2.4.1.1. Host Name 2.4.1.1. Host Name 2.4.1.1. Host Name The first field, <host name>, is the uucp name of the <host name> <host name> remote host. This name should not contain any periods. It should also be unique within the first six characters, as only the first six characters are significant in a uucp name. 2.4.1.2. Time 2.4.1.2. Time 2.4.1.2. Time The second field, <time>, gives the days and times at <time> <time> which it is acceptable to call the remote host. Uuslave does not currently implement this feature, but the field must be present regardless. To assure compatibility with future versions, this field should contain the word "Any". 2.4.1.3. Device 2.4.1.3. Device 2.4.1.3. Device The third field, <device>, is the name of the device to <device> <device> use to call the remote host. Generally, unless you have a direct connection with this host, this should be the name of a - 29 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 serial port which has a modem hooked up to it. For MS-DOS, this must be either "com1", or "com2". Anything else in this field will cause uuslave to default to com1. 2.4.1.4. Baud Rate 2.4.1.4. Baud Rate 2.4.1.4. Baud Rate The fourth field, <baud>, is the baud rate at which to <baud> <baud> call the remote host. Both the host UFGATE system and the UFGATE UFGATE remote host must support this baud rate. Acceptable values for this field are 300, 1200, 2400, 4800, and 9600. 2.4.1.5. Phone Number 2.4.1.5. Phone Number 2.4.1.5. Phone Number The fifth field, <phone nbr>, is either the phone number <phone nbr> <phone nbr> that needs to be dialed to connect with the remote host, or the word "direct". If this field does contain the word "direct", uuslave assumes that the UFGATE host system has a direct serial UFGATE UFGATE port to serial port connection with the remote host. As such, it will refrain from sending the usual modem initialization, dialing, and de-initialization information. 2.4.1.6. Login Sequence 2.4.1.6. Login Sequence 2.4.1.6. Login Sequence The sixth field, <login>, is made up of everything on the <login> <login> line following the phone number and the separating space(s). This is the login sequence, or script, to log in to the remote host. The login sequence is a subset of that currently supported on Unix based machines. Those familiar with scripting on SEAdog should see the similarities (the line turnaround character for uuslave is a space ' ' instead of a '|'). This portion of uuslave supports its own set of escape sequences. The following is a list of these sequences and their corresponding meanings: Esc Sequence Meaning Esc Sequence Meaning Esc Sequence Meaning ____________ _______ \b send a line break. \c do not send a carriage return or newline after this reply string. \d delay a second. \n a newline \r a carriage return \s a space \t a tab \\ a backslash The login sequence is made up of an alternating sequence of a match string followed by a space and then a corresponding reply string. When the characters making up the match string have been received, uuslave will send the appropriate reply - 30 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 string. The special match string "", the null string, can be used to match anything. Note that any characters received before a match string is matched are ignored. The sequence can alternate as many times as is required to log into the remote host. The following is an example of a valid L.SYS entry: ankh any com1 1200 5551212 ame: joe Y,n] \r word: secret ankh any com1 1200 5551212 ame: joe Y,n] \r word: secret ankh any com1 1200 5551212 ame: joe Y,n] \r word: secret The example shown above would be interpreted as: wait for remote host to send 'ame:' (as in 'First Name:'). send 'joe' followed by a carriage return. wait for remote host to send 'Y,n]'. send a carriage return. wait for remote host to send 'word:' (as in 'Password:'). send 'secret' followed by a carriage return. 2.4.2. Sample L.SYS file 2.4.2. Sample L.SYS file 2.4.2. Sample L.SYS file The following is an example of an L.SYS file. Note that the entries have been put onto multiple lines to enhance readability. Such entries are not allowed in a real L.SYS file. # # L.sys table for uuslave @ankh.UUCP # # novavax is going thru a port selector novavax Any com1 2400 5551212 "" \d\r CLASS u\r GO \d\d\r in: username\r word: userpass\r novavax Any com1 2400 5551212 "" \d\r CLASS u\r GO \d\d\r in: username\r word: userpass\r # # umbio is reachable via PC Pursuit # umbio Any com1 1200 7644505 "" \d\r\r = D1 @ C\sdial305/12,PCPname WORD \dPCPpass CONNECTED ATZ OK ATDT5551212\r ogin: username\r word: uucico\r # # grail is a direct connection # grail Any com2 9600 direct "" \r ogin: username\r word: userpass: # # megasys is another OPUS system running uuslave (135/17) # megasys Any com1 2400 5551212 ame: username\r ame: \r ]? \r word: userpass\r - 31 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.5. Batch Files 2.5. Batch Files 2.5. Batch Files The final step in the actual physical installation of UFGATE is to place the necessary commands to run the component UFGATE UFGATE programs of UFGATE in the batch files that run your FidoNet UFGATE UFGATE mailer. Since this will vary quite a bit from system to system, no examples will be given here. However, to process incoming UUCP mail and Usenet news, it is generally advisable to run the following programs in the given order: uuslave mailin cub -d newsin For outgoing mail and news, the following will usually suffice: mailout newsout uuslave 2.6. Finding a UUCP Mail/Usenet News feed 2.6. Finding a UUCP Mail/Usenet News feed 2.6. Finding a UUCP Mail/Usenet News feed There are a number of places where an enterprising person may procure a mail and news feed. High up on this list of places is a local university. Many universities will supply a feed for someone if that person is a local call, or if he will foot the bill. Another place where a feed may be is acquired is from Uunet. Uunet is a user supported service dedicated to distributing uucp/internet mail and Usenet news. Currently, Uunet requires a monthly service charge in order to set up and maintain an account. They also charge for connect time. For more current information, contact: UUNET Communication Services UUNET Communication Services UUNET Communication Services P.O. Box 2685 P.O. Box 2685 P.O. Box 2685 Fairfax, VA 22031-0685 Fairfax, VA 22031-0685 Fairfax, VA 22031-0685 Phone: (703) 764-9789 Phone: (703) 764-9789 Phone: (703) 764-9789 UUCP: uunet!uunet-request UUCP: uunet!uunet-request UUCP: uunet!uunet-request When you find someone who will give you a news feed, you will need to tell them what newsgroups you wish to receive, and what form of compression you want to use, 12 bits, 16 bits, or none. 12 bits is safe, you may have problems with 16 bit compression (see the sections on Cub, Comp12, and Comp16 above). You will also need to get the information necessary to - 32 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 log into your newsfeed. This information must be placed in your L.sys file. The final step to enabling your feed is to place a UUCPHost entry for that system in your control file. 2.7. Sending in a UUCP map entry 2.7. Sending in a UUCP map entry 2.7. Sending in a UUCP map entry In order for many systems to be able to send you UUCP mail, your system must have an entry in what is known as the UUCP map. This map is roughly equivalent in purpose to the FidoNet nodelist. There is an entry in the map for most UUCP sites. In this entry is a list of the systems that they communicate with. From this data, a program named pathalias can generate the bang paths needed for one UUCP site to talk to another. Pathalias runs under the Unix operating system, and is not currently available under MS-DOS. The whole point of this discussion is to make you aware that in order for other systems to be able to reach you with a simple user@system.domain type address, or system!user address when the sending system does not have a direct connection with yours, you must have an entry in the UUCP map. UFGATE itself UFGATE UFGATE makes no use of this data. A map entry is a normal text file. It can be created by any standard ASCII text editor. This file needs to follow a very specific format, which will be outlined below. A few example map entries will also be provided. It should be noted that much of what follows was taken from a public domain document published by the UUCP Project. Portions were also obtained from a document by Lee Damon and Erik Fair. 2.7.1. Syntax 2.7.1. Syntax 2.7.1. Syntax The entire uucp map is intended to be processed by pathalias, a program that generates UUCP routes from this data. All lines beginning with a '#' character are actually comment lines to pathalias, however the UUCP Project has defined a set of these comment lines to have specific format so that a complete uucp system database could be built. The generic form of these special comment lines is: #<field id letter><tab><field data> Each host has an entry in the following format. The entry should begin with the #N line, end with a blank line after the pathalias data, and not contain any other blank lines. - 33 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 #N UUCP name of site #S manufacturer & model; operating system & version #O organization name #C contact person's name #E contact person's electronic mail address #T contact person's telephone number #P organization's address #L longitude / latitude #R remarks #U netnews neighbors #W who last edited the entry ; date edited # sitename remote1(FREQUENCY), remote2(FREQUENCY), remote3(FREQUENCY) An example of a completed entry will be given in one of the below sections. 2.7.1.1. System Name: #N 2.7.1.1. System Name: #N 2.7.1.1. System Name: #N Your system's UUCP name should go on this line. This should be the same as the uucp name you used in the NodeName statement in your UFGATE control file. One of the goals of the UUCP Project is to keep duplicate UUCP host names from appearing because there exist mailers in the world which assume that the UUCP name space contains no duplicates (and attempts UUCP path optimization on that basis), and it's just plain confusing to have two different sites with the same name. At present, the most severe restriction on UUCP names is that the name must be unique somewhere in the first six characters, because of a poor software design decision made by AT&T for the System V release of UNIX. This does not mean that your site name has to be six characters or less in length. Just unique within that length. With regard to choosing system names, HARRIS'S LAMENT: "All the good ones are taken." - 34 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.7.1.2. System Environment: #S 2.7.1.2. System Environment: #S 2.7.1.2. System Environment: #S This line should contain a quick description of your equipment. Machine type should be manufacturer and model, and after a semi-colon(;), the operating system name and version number. Some examples: IBM PC; PC-DOS 3.30 Compaq 386; MS-DOS 3.10 IBM AT Clone; MS-DOS 3.20 2.7.1.3. Organization Name: #O 2.7.1.3. Organization Name: #O 2.7.1.3. Organization Name: #O This should be the full name of your organization, club, company, etc. squeezed to fit inside 80 columns as necessary. Don't be afraid to abbreviate where the abbreviation would be clear to the entire world (say a famous institution like MIT or CERN), but beware of duplication (In USC the C could be either California or Carolina). This field should most likely contain the same organization name you specified in the Organization statement of your UFGATE.CTL file, not including addresses or phone numbers, of course. 2.7.1.4. Contact Person: #C 2.7.1.4. Contact Person: #C 2.7.1.4. Contact Person: #C This line should contain the full name (or names, separated by commas) of the person responsible for handling queries from the outside world about your machine. Normally this would be the SysOp of the host FidoNet mailer system. 2.7.1.5. Contact Person's Electronic Mail Address: #E 2.7.1.5. Contact Person's Electronic Mail Address: #E 2.7.1.5. Contact Person's Electronic Mail Address: #E This line should be just a machine name, and a user name, like ankh!postmaster. It should not be a full bang path, since ankh!postmaster ankh!postmaster the UUCP project will be able to generate a path to the given address from the data you'll be giving them. Usually the machine name will be the same as the uucpname you specified for your UFGATE system in the NodeName statement of your UFGATE.CTL UFGATE UFGATE file. There is, however, no problem with the machine name not being the same as the #N field (i.e. the contact lives on another machine at your site). Also, it's a good idea to give a generic address or alias like postmaster, so that if the contact person leaves the postmaster postmaster institution or is re-assigned to other duties, he doesn't keep getting mail about the system. In a perfect world, people would send notice to the UUCP Project, but in practice, they - 35 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 don't, so the data does get out of date. If you give a generic address you can easily change it to point at the appropriate person. Multiple electronic addresses should be separated by commas, and all of them should be specified in the manner described above. 2.7.1.6. Contact Person's Telephone Number: #T 2.7.1.6. Contact Person's Telephone Number: #T 2.7.1.6. Contact Person's Telephone Number: #T This line should contain the voice telephone number for the contact person listed in the #C line. This number should be in the international format for the representation of phone numbers, which is: +<country code> <area code> <prefix> <number> The country code for the United States of America is 1. Other country codes should be listed in your telephone book. The following is an example of a valid #T line: #T +1 415 642 1024 Please note that there should be only one space between each element of the number. The formatting done when this document was printed may have altered the apparent spacing of the given format and examples. If you must list an extension (i.e. what to ask the receptionist for, if not the name of the contact person), list it after the main phone number with an 'x' in front of it to distinguish it from the rest of the phone number. For example: #T +1 415 549 3854 x37 Multiple phone numbers should be separated by commas, and all of them should be completely specified as described above to prevent confusion. 2.7.1.7. Organization's Address: #P 2.7.1.7. Organization's Address: #P 2.7.1.7. Organization's Address: #P This field should be one line filled with whatever else anyone would need after the contact person's name, and your organization's name (given in other fields above), to mail you something in the physical mails. Generally, if there's room, it's best to spell out things like Road, Street, Avenue, and Boulevard, since this is an international network, and the abbreviations will not necessarily be obvious to someone from Finland, for example. - 36 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.7.1.8. Longitude and Latitude: #L 2.7.1.8. Longitude and Latitude: #L 2.7.1.8. Longitude and Latitude: #L This line should be in the following format: #L NN MM [SS] N|S / NNN MM [SS] E|W [city] The first number is Latitude in degrees (NN), minutes (MM), and seconds (SS), and a N or S to indicate North or South of the Equator. This is followed by a slash which acts as a separator between the latitude and the longitude. The second number is Longitude in degrees (NNN), minutes (MM), and seconds (SS), and a E or W to indicate East or West of the Prime Meridian in Greenwich, England. Seconds are optional, but it is worth noting that the more accurate you are, the more accurate maps the UUCP project can make of the network (including blow-ups of various high density areas, like New Jersey, or the San Francisco Bay Area). You can most likely find the coordinates for your city, or some historic landmark, at your local library or university. If you give the coordinates for your city (i.e. without fudging for where you are relative to that), add the word `city' at the end of the end of the specification, to indicate that. If you know where you are relative to a given coordinate for which you have longitude and latitude data, then the following fudge factors can be useful: 1 degree = 69.2 miles = 111 kilometers 1 minute = 1.15 miles = 1.9 kilometers 1 second = 101.5 feet = 31 meters The Prime Meridian is through Greenwich, England, and longitudes go no higher than 180 degrees West or East of Greenwich. Latitudes go no higher than 90 degrees North or South of the Equator. Beware that the distance between two degrees of longitude decreases as you get further away from the Equator. (Imagine all those longitudinal lines converging on the north and south poles...) These numbers are good for the Equator. If you're in Alaska or Norway, for example, they are certainly too large for you to fudge longitude accurately. 2.7.1.9. Remarks: #R 2.7.1.9. Remarks: #R 2.7.1.9. Remarks: #R This line, there may be only one, should contain a comment. As noted before, all lines beginning with a `#' character are comment lines, so if you need more than one line to tell the UUCP project something about your site, do so - 37 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 between the end of the map data (the #?\t fields) and the pathalias data. You may want to place your FidoNet node number(s) here, or some other information. 2.7.1.10. Usenet News Neighbors: #U 2.7.1.10. Usenet News Neighbors: #U 2.7.1.10. Usenet News Neighbors: #U The USENET is the network that moves netnews around, specifically, news.announce. If you send news.announce to any of your UUCP neighbors, list their names here, delimited by spaces. For example: #U ihnp4 decvax mcvax seismo Since some places have lots of USENET neighbors, continuation lines should be just another #U and more site names. For most UFGATE sites, however, there should be only one name on this UFGATE UFGATE line. It should be the same uucpname as that given in the UUCPHost statement which contains the NEWS modifier, present in your UFGATE.CTL file. 2.7.1.11. Who Last Edited the Map Entry: #W 2.7.1.11. Who Last Edited the Map Entry: #W 2.7.1.11. Who Last Edited the Map Entry: #W This field should contain an email address, a name in parentheses, followed by a semi-colon, and the date the entry was last edited. For example: #W ankh!pax (G. Paxinos); Sat Jun 22 03:35:16 EDT 1988 Please use the date format given in the example. The same rules for email address that apply in the contact's email address apply here also. (i.e. only one system name, and user name). It is intended that this field be used for automatic ageing of the map entries so that the UUCP project can do more automated checking and updating of the entire map. 2.7.1.12. Comments 2.7.1.12. Comments 2.7.1.12. Comments So long as you are careful about the above exceptions, you can put just about anything on a line beginning with a '#' and have it be completely ignored. This is useful for including various comments for which there was no room on the #R line. Some examples of this are given in the samples section below. - 38 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 2.7.1.13. PathAlias Data 2.7.1.13. PathAlias Data 2.7.1.13. PathAlias Data Any lines in the map entry that do not begin with a '#' are considered input data for the pathalias program. The line below is one of three types of lines that will appear in a standard UFGATE system map entry. UFGATE UFGATE circle .n121.z1.fidonet.org This is the real magic here. It means that anything ending with any of the comma separated titles gets routed via circle, so each FidoNet network can be represented in one "word". Each node need not be listed. If you plan to be gateway for more than one net/region tell Lee Damon (see what to do section below) what they are and he will put them in your map in the most economical manner. The next type of line defines alternate names for your system. For example: circle = circle.fidonet.org, f1.n121.z1.fidonet.org indicates that the system circle is also known as circle.fidonet.org, and f1.n121.z1.fidonet.org. Note that all AKA node numbers for your node should also be listed in this way. You do not have to use one line, a trailing comma means "look at the next line for the next entry," but entries can not be split over two or more lines. I.E. you can't say n1 on one line and .n121.z1.fidonet.org on the next.) The last type of line we will discuss details your uucp connections to other sites. Basically, every system named in a UUCPHost statement in your UFGATE.CTL file should be mentioned on this line, or on its continuation lines. For example: circle geowhiz(DIRECT), uwspan(DAILY/2) says that system circle has mail or news connections with geowhiz and uwspan. The stuff in parentheses following the system name is an indication of how often circle and the other systems connect to interchange mail and news. The DIRECT, DAILY, etc., entries represent imaginary connect costs (see below) used by pathalias to calculate lowest cost paths. The cost breakdown is: - 39 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 LOCAL 25 local area network DEDICATED 95 high speed dedicated DIRECT 200 local call DEMAND 300 normal call (long distance, anytime) HOURLY 500 hourly poll EVENING 1800 time restricted call DAILY 5000 daily poll WEEKLY 30000 irregular poll DEAD a very high number - not usable path Additionally, HIGH and LOW (used like DAILY+HIGH) are -5 and +5 respectively, for baud-rate or quality bonuses/penalties. Arithmetic expressions can be used, however, you should be aware that the results are often counter-intuitive (e.g. (DAILY*4) means every 4 days, not 4 times a day). The numbers are intended to represent frequency of connection, which seems to be far more important than baud rates for this type of traffic. There is an assumed high overhead for each hop; thus, HOURLY is far more than DAILY/24. There are a few other cost names that sometimes appear in the map; these are discouraged. Some are synonyms for the preferred names above (e.g. POLLED means DAILY), some are obsolete (e.g. the letters A through F, which are letter grades for connections.) It is not acceptable to make up new names or spellings (pathalias gets very upset when people do that...). 2.7.2. Sample Map Entry 2.7.2. Sample Map Entry 2.7.2. Sample Map Entry This section deals with how to put all the information discussed above together into a usable map entry. Below is a template of the standard map entry to use for a UFGATE site. UFGATE UFGATE For the vast majority of UFGATE sites, an entry modeled on the UFGATE UFGATE one given below will more than suffice. - 40 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 #N <uucpname>, .n<net>.z<zone>.fidonet.org #S <system make and model>; <operating system & version> #O <your organization> #C <sysop's name> #E <uucpname>!postmaster #T <phone number> #P <organization's address> #L <latitude> / <longitude> [city] #U <uucphost> #R <one line of remarks> #W <uucpname>!postmaster (sysop's name); <date> # <uucpname> .n<net>.z<zone>.fidonet.org <uucpname>= <uucpname>.fidonet.org, f<node>.n<net>.z<zone>.fidonet.org <uucpname> <uucphost>(<FREQUENCY>) To use the above template, change all occurrences of <uucpname> to reflect the uucp name given in the NodeName statement of your UFGATE.CTL file. Next, replace all occurrances <zone>, <net>, and <node> with the corresponding portions of your FidoNet address. Now fill in the rest of the form as outlined in the sections above. For an example of what a completed map entry looks like, see below: #N circle, .n121.z1.fidonet.org #S IBM PC; PC-DOS 3.30 #O The 1st Circle FidoNet BBS #C John W. Galvin #E circle!postmaster #T +1 608 555 1212 #P 5826 Raymond Road Apt. 1B, Madison, WI 53711 #L 43 04 N / 89 23 W city #U geowhiz #R This is also FidoNet nodes 1:121/0 1:121/1 #W circle!galvin (Galvin) ; Mon Aug 01 23:44:42 CDT 1988 # # Some extra comments, just to show where they go. # circle .n121.z1.fidonet.org circle= circle.fidonet.org, f1.n121.z1.fidonet.org, f0.n121.z1.fidonet.org circle uwspan(DAILY/2), geowhiz(DIRECT) 2.7.3. What to do with Your Map Entry 2.7.3. What to do with Your Map Entry 2.7.3. What to do with Your Map Entry Once you have finished constructing your map entry, mail it off to Lee Damon at one of the following addresses: - 41 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 UUCP: ...!ucbvax!decwrl!pyramid!verdix!verdix.com!nomad ARPA: nomad@castle.fidonet.org FIDO: 1:105/302 - The Castle BBS - 503-629-5841 He has said that he will use the entry you send to create the MX records for your net (for the Internet) and will then send it on to the UUCP Project for inclusion in the maps. If there is a problem with your entry, he will let you know so that it can be corrected. Please note that Lee is not now, nor ever has been, a technical support person for Late Night Software. He does not Late Night Software Late Night Software get paid for answering your questions. He has agreed, out of the kindness of his heart, to help answer questions about map entries, not UFGATE itself. If his kindness is abused he may UFGATE UFGATE refuse to answer questions at any time, or rescind his offer. So please be considerate in your use of this resource. please please 3. Reference 3. Reference 3. Reference The following sections provide reference information for the individual programs that make up UFGATE and the package as UFGATE UFGATE a whole. It would be a good idea to read them for the background, and refr to them afterwords on an as needed basis. 3.1. File Types 3.1. File Types 3.1. File Types UFGATE as a whole deals with a number of different file UFGATE UFGATE types. Each type of file has a fairly unique extension. The following is a list of file extensions you are likely to encounter during everyday use of UFGATE: UFGATE UFGATE Extension Description Extension Description Extension Description _________ ___________ .C UFGATE files with a .C extension are UFGATE UFGATE normally only seen in subdirectories of the spool directory. These are uuslave command files. They tell uuslave what files to send to a remote host. These files are generated by mailin, mailout, fidouucp, and newsout. .CTL UFGATE files with a .CTL extension are UFGATE UFGATE normally control/configuration files. .D UFGATE files with a .D extension are UFGATE UFGATE normally only seen in subdirectories of the spool directory, the save directory, the orphans directory, and any text destination - 42 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 directories. Files with this extension are either mail or news that has been received from a remote host by uuslave. .DAT UFGATE files with a .DAT extension are UFGATE UFGATE normally only seen in subdirectories of the spool directory. These files contain outgoing mail or news, and are created by mailin, mailout, fidouucp, and newsout. .SYS UFGATE files with a .SYS extension are UFGATE UFGATE either compiled control files or data files. In either case they are in a binary format, and are not easily read by people. The only exception to this is uuslave's L.sys configuration file. .X UFGATE files with this extension are called UFGATE UFGATE remote execution files. These files should only appear in subdirectories of the spool directory, the save directory, or the orphans directory. A file with this extension has been received from a remote host by uuslave and contains commands for mailin or newsin to execute. .XQT UFGATE files with this extension should UFGATE UFGATE only appear in subdirectories of the spool directory. These files are remote execution files that have been created by mailin, mailout, fidouucp, or newsout and are awaiting transfer to the remote host they will be executed by. 3.2. Nodelists 3.2. Nodelists 3.2. Nodelists Quite a few of the programs that make up UFGATE use UFGATE UFGATE information from the host FidoNet mailer's nodelist. The name of the nodelist used by UFGATE depends upon the system type UFGATE UFGATE specified in the System statement in the control file. In any case, the program will search in the directory specified in the BBSFiles statemnet of the control file, the current directory, and those directories specified in the PATH, SEADOG, DPATH, and BBS environment variables for the nodelist corresponding to the system type selected. If the nodelist and its index are not found, the program will then search for a SEAdog nodelist in the same places. This facilitates using SEAdog as a mailer front end for the host BBS. The nodelist files that correspond to specific system types are: - 43 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 System Type Nodelist Index System Type Nodelist Index System Type Nodelist Index ___________ ________ _____ Fido_v11w NODELIST.SYS NODELIST.IDX Fido_v12e NODELIST.SYS NODELIST.IDX Fido NODELIST.BBS NODELIST.IDX Opus_v0.00 NODELIST.SYS NODELIST.IDX Opus NODELIST.DAT NODELIST.IDX SEAdog NODELIST.DOG NETLIST.DOG TBBS NODELIST.DAT NODELIST.SYS Note that the TBBS system type is not yet fully supported. The default nodelist names set up for TBBS allow the use of either BinkleyTerm or SEAdog as a front end. 3.3. User Lists 3.3. User Lists 3.3. User Lists Quite a few of the programs that make up UFGATE use UFGATE UFGATE information from the host FidoNet mailer's user list. The name of the user list used by UFGATE depends upon the system type UFGATE UFGATE specified in the System statement in the control file. In any case, the program will search in the directory specified in the BBSFiles statemnet of the control file, the current directory, and those directories specified in the PATH, SEADOG, DPATH, and BBS environment variables for the user list corresponding to the system type selected. The user list files that correspond to specific system types are: System Type User List System Type User List System Type User List ___________ _________ Fido_v11w USER.BBS Fido_v12e CALLER.SYS Fido CALLER.SYS Opus_v0.00 USER.BBS Opus USER.BBS SEAdog (None) TBBS USER.BBS Note that no user list is supported for SEAdog. Also note that the TBBS system type is not yet fully supported. The default user list name set up for TBBS allow the use of a Fido or Opus compatible USER.BBS, but not TBBS's native user list. This will be changed when full support is added for TBBS. 3.4. Program Usage 3.4. Program Usage 3.4. Program Usage The following sections describe the functions of the various programs that make up UFGATE in detail. Each section UFGATE UFGATE contains a sub-section that describes the program's command line usage, and another sub-section explaining exactly what the program does. - 44 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 3.4.1. Compctl 3.4.1. Compctl 3.4.1. Compctl Compctl - a UFGATE control file compiler Compctl UFGATE Compctl UFGATE 3.4.1.1. Command Line Usage 3.4.1.1. Command Line Usage 3.4.1.1. Command Line Usage compctl [-h] [-d <file>] [-l <file>] [filename] compctl [-h] [-d <file>] [-l <file>] [filename] compctl [-h] [-d <file>] [-l <file>] [filename] The -h command line switch causes compctl to ignore all -h -h other command line arguments and print out a usage screen. No control files will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. The -l option causes a log to be kept. The log will be -l -l written to the file whose name follows the -l option. This log -l -l will consist of the name of the file being compiled and the name of the compiled control file being generated. If a filename is given on the command line, it will be filename filename compiled. Otherwise compctl will attempt to compile the default control file UFGATE.CTL. 3.4.1.2. Description 3.4.1.2. Description 3.4.1.2. Description Compctl takes a control file, by default UFGATE.CTL, and generates a compiled control file from it. The name of the generated compiled control file will be the name of the file being compiled plus the extension .SYS. Compctl will always generate a file with a .SYS extension. The compiled control file is used by most of the other programs that make up UFGATE UFGATE UFGATE for various configuration information. This allows most error checking to be done once, at compile time, as opposed to each time one of the component programs of UFGATE is invoked. This UFGATE UFGATE method should result in substantially faster startup times for programs that use a large amount of the configuration data. Compctl returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that compctl will return and their corresponding meaning: Level Description Level Description Level Description _____ ___________ 0 No syntax or other errors occurred. 1 An error occurred during compilation. - 45 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 3.4.2. Dumpctl 3.4.2. Dumpctl 3.4.2. Dumpctl Dumpctl - a UFGATE control file de-compiler Dumpctl UFGATE Dumpctl UFGATE 3.4.2.1. Command Line Usage 3.4.2.1. Command Line Usage 3.4.2.1. Command Line Usage dumpctl <file1> [<file2> ... [<fileN>]] dumpctl <file1> [<file2> ... [<fileN>]] dumpctl <file1> [<file2> ... [<fileN>]] 3.4.2.2. Description 3.4.2.2. Description 3.4.2.2. Description Dumpctl takes each compiled control file named on its command line and de-compiles it. If a named file is not a valid compiled control file, an error message will be printed, and dumpctl will move on to the next file in its list. All output is sent to the standard output device, So if you want to keep a copy of dumpctl's output, you will have to redirect it to a file. The output generated by dumpctl is suitable for input to compctl. This program is supplied mainly for debugging purposes. If you suspect that compctl may not be generating compiled control files correctly, you may use dumpctl to try and verify your hypothesis. It can also be of use it you accidentally erase your control file. In that case, all you need do is use dumpctl on the compiled control file with the output redirected to the name of your text control file. After which you may edit the control file to your tastes. Do not forget to re-compile the control file. 3.4.3. Uuslave 3.4.3. Uuslave 3.4.3. Uuslave Uuslave - an implementation of uucico for MS-DOS Uuslave Uuslave 3.4.3.1. Command Line Usage 3.4.3.1. Command Line Usage 3.4.3.1. Command Line Usage uuslave [-c] [-d<nbr>] [-t] [-w] [-e] [-l<file>] [-x<nbr>] uuslave [-c] [-d<nbr>] [-t] [-w] [-e] [-l<file>] [-x<nbr>] uuslave [-c] [-d<nbr>] [-t] [-w] [-e] [-l<file>] [-x<nbr>] [-s<name>] [-s<name>] [-s<name>] The -c, for clean up, option causes uuslave to delete -c -c outbound mail and news files after successful transfer to a remote host. This is a very common operation. This option should almost always be used. The number following the -d option defines the number of -d -d seconds uuslave will wait for a byte to be received before timing out. The time out defaults to 20 seconds if no -d -d -d option is given. - 46 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 The -t option causes uuslave to place all temporary files -t -t in the default directory. By default, uuslave will put temporary files in the \tmp directory. Use this option if you use the DOS join command to make a ramdisk be \tmp. The -w option causes uuslave to wait for an incoming call -w -w after processing all outbound files. Uuslave currently requires that the remote host log in as "uucp" and use a password of "s8000" if this option is given. The -e option causes uuslave to wait for another inbound -e -e call after one has been processed. This goes on in an endless loop until the program is terminated. The -l option allows the user to override the default log -l -l file name "LOGFILE". If this option is present, the file name following it becomes the name of the log file. The number following the -x option sets how much debugging -x -x information will be logged. This number may range from 1 to 9. A debugging level of one causes an on screen packet count and other trivia to be displayed. Levels 2 through 8 are currently undefined. A level of 9 causes a byte by byte dump of all transactions. If the -s option is present, it causes uuslave to poll the -s -s specified remote host for mail and news. If a remote system name is not specified, all systems listed in the L.SYS file will be polled. There may be more than on -s option on a -s -s command line. 3.4.3.2. Description 3.4.3.2. Description 3.4.3.2. Description When uuslave is invoked, it detects whether a caller is currently online. If so, then it goes into answer mode. Otherwise it goes into originate mode. 3.4.3.2.1. Answer Mode 3.4.3.2.1. Answer Mode 3.4.3.2.1. Answer Mode Uuslave assumes that the caller has already logged onto the host UFGATE system and starts up the uucp 'g' protocol with UFGATE UFGATE the calling system. Uuslave then processes all transfers requested by the remote host. After uuslave has completed processing the remote host's requests, it checks the host's subdirectory in the spool directory for any files with a .C extension (these files use the same format as the C.<hostname><number> files in /usr/spool/uucp on a Unix machine). If there are, the transactions in each .C file are requested of the remote host. - 47 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 After each .C file has been successfully handled it is either renamed with an extension of .A, or, if the -c option was -c -c given, the .C file is deleted along with any files it sent to the remote host. 3.4.3.2.2. Originate Mode 3.4.3.2.2. Originate Mode 3.4.3.2.2. Originate Mode If no caller is on the line or if -s options were given, -s -s uuslave checks the spool subdirectories for all hosts specified on the command line and/or listed in the L.sys file. If there are any queued requests, in the form of .C files, uuslave calls the host and attempts to handle the transactions. After each .C file has been successfully handled it is either renamed with an extension of .A, or, if the -c option was given, the .C file -c -c is deleted along with any files it sent to the remote host. After all transactions are made, uuslave then transfers control over to the called host. 3.4.3.2.3. Format of a .C File 3.4.3.2.3. Format of a .C File 3.4.3.2.3. Format of a .C File The purpose of the following discussion is merely to provide some background. The user should never have to never never generate a .C file by hand, UFGATE takes care of it for all UFGATE UFGATE outgoing mail and news. All local transactions handled by uuslave, I.E. sending a file to or receiving a file from a remote host, take the form of a line in a .C file. These files have the exact same format as their counterparts on any Unix system. Each line in the file is a transaction and has the format: <cmd> <srcnam> <dstnam> <who> <flgs> <tmpnam> <mode> <who> <cmd> <srcnam> <dstnam> <who> <flgs> <tmpnam> <mode> <who> <cmd> <srcnam> <dstnam> <who> <flgs> <tmpnam> <mode> <who> The first field, <cmd>, is the command code. This can be <cmd> <cmd> one of two things, either an 'S', or an 'R'. An 'S' means to send a file to a remote system. An 'R' means to receive a file from a remote host. The second field, <srcnam>, is the name of the file to be <srcnam> <srcnam> sent/received on the sender's system. The third field. <dstnam>, is the name the file should <dstnam> <dstnam> have on the receiver's system. The fourth field, <who>, is the login name of the user who <who> <who> initiated this request. This field should not contain any spaces. The fifth field, <flgs>, is the flags field. Currently, <flgs> <flgs> this should always be a '-'. - 48 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 The sixth field, <tmpnam>, is the name of the temporary <tmpnam> <tmpnam> file the remote system should use. The seventh field, <mode>, is the file mode to be used on <mode> <mode> the receiver's end. This is the same type of numeric permissions code as is used with the chmod command on Unix systems. Normally this is 0666, which gives read and write access to everyone. The eighth field, <who>, is the name of the user who <who> <who> initiated this request. This is the same name that appeared in field four. The following is an example of a valid transaction: S opus.log /usr/guest/pax/opuslog pax - temp 0666 pax S opus.log /usr/guest/pax/opuslog pax - temp 0666 pax S opus.log /usr/guest/pax/opuslog pax - temp 0666 pax 3.4.4. Mailin 3.4.4. Mailin 3.4.4. Mailin Mailin - import UUCP mail messages Mailin Mailin 3.4.4.1. Command Line Usage 3.4.4.1. Command Line Usage 3.4.4.1. Command Line Usage mailin [-[a][h]] [-d <file>] [-f <file>] [-l <file>] mailin [-[a][h]] [-d <file>] [-f <file>] [-l <file>] mailin [-[a][h]] [-d <file>] [-f <file>] [-l <file>] [-o <dir>] [-s <dir>] [-v <dir>] [-o <dir>] [-s <dir>] [-v <dir>] [-o <dir>] [-s <dir>] [-v <dir>] The -a option causes all inbound mail files placed in the -a -a save directory or the orphans directory to be compressed using Buerg's ARCA. Use of this option overrides whatever Arc statement appeared in the control file, and is equivalent in effect to Arc All. The -h command line switch causes mailin to ignore all -h -h other command line arguments and print out a usage screen. No inbound mail will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. This log will contain information that may aid the program's author to determine where a bug is occurring. This option is not recommended for normal use. Use of this option overrides the name of the debugging log file given in the Debug statement of the control file. The -f option allows mailin to use a control file other -f -f that UFGATE.CTL. The file name following this option is interpreted in the following ways. If the name has no extension, I.E. "ufgate", mailin searches for a control file with that name, I.E. "ufgate.ctl", in the current directory, and along those directories named in the PATH, SEADOG, DPATH, and BBS environment variables until it is found. Mailin then looks for a compiled control file, I.E. - 49 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 "ufgate.sys", in the directory where the control file was found. If the compiled control file does not exist, or if the control file is newer than the compiled control file, mailin will invoke compctl to compile the control file. Mailin will then use the compiled control file from that directory. If the name has an extension that is not .SYS, I.E. "ufgate.ctl" or "ufgate.", then mailin will invoke compctl to compile that control file. Mailin will then use the control file that compctl generated. If the name has an extension of .SYS, I.E. "ufgate.sys", then mailin will use that compiled control file, even if it is out of date with respect to its text control file. Use of this option in a batch file can be dangerous if you forget to change it at the appropriate time. The default behavior of mailin is equivalent to what would happen if it were invoked with the -f ufgate option. -f ufgate -f ufgate The -l option causes a log to be kept. This log will -l -l contain various statistics on the inbound mail that was processed, as well as any error messages that were generated. Use of this option overrides the name of the log file given in the Log statement of the control file. The -o option allows the user to override the orphans -o -o directory specified via the Orphans statement in the control file. If the -o option is given, mailin will use the directory -o -o name following the option as the orphans directory. Use of this option does not effect what type of files are moved to the not not orphans directory. It only effects where they are moved. The -s option allows the user to override the spool -s -s directory specified by the Spool statement in the control file. If the -s option is given, mailin will use the directory -s -s name following the option as the spool directory. The -v option allows the user to override the save -v -v directory specified via the Save statement in the control file. If the -v option is given, mailin will use the directory -v -v name following the option as the save directory. Use of this option does not effect what type of files are moved to the save not not directory. It only effects where they are moved. 3.4.4.2. Description 3.4.4.2. Description 3.4.4.2. Description Mailin is the uucp mail import program. It takes incoming uucp mail and sends it where it needs to go, either to FidoNet or on to another uucp host. - 50 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 To get more specific, for each uucp host named in a UUCPHOST statement of the control file, mailin looks in that host's subdirectory in the spool directory. If there are any uucp mail .X files there, mailin locates the corresponding .D file and processes it. This can result in one or more messages to uucp and/or FidoNet, depending on what FORWARD statements were present in the control file, and how many addresses were given in the .X file. After all the mail in a directory has been processed, mailin will arc all the .X and .D files in the spool and orphans directories, if that option has been enabled. When a UUCP message is traslated to FidoNet format, it is always marked private. There is only one exception to this. always always If the message is addressed to the user "All", it will be left public readable. This includes messages destined for other FidoNet systems. During this translation process, a number of the header lines from the original UUCP message will be included in the FidoNet message if they exist. These are the From, From:, To:, Date: and Cc: headers. The From header line contains a valid uucp path that can be used to reply to the originator of the message. The From: line contains another address that may or may not be a valid reply address. If the address is either a bang path address or a domain address, it may be valid. If it may may contains a hybrid address, it is definitely not valid (at least according to the applicable standards). The From header is only included in the FidoNet message if the address specified in it is different from the one specified in the From: header line. The To: header line contains the address that the originator of the message used to send it. The Date: header line contains the date and time at which the originator sent the message. The Cc: header line contains the addresses of any people to whom the message was carbon copied. It should also be noted that tabs are expanded with spaces when the message is translated from UUCP to FidoNet format. Mailin will generate a number of IFNA kludge headers in messages destined for FidoNet. An INTL header is added if the message is destined for a node in a different zone from the UFGATE system, or if the host FidoNet mailer is a Fido BBS UFGATE UFGATE version 12 or higher. A TOPT header will be generated if the destination system is a point. Finally, a FMPT header will be generated if the UFGATE system is a point (as defined in the UFGATE UFGATE Node statement of the control file). Mailin returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that mailin will return and their corresponding meaning: - 51 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Level Description Level Description Level Description _____ ___________ 0 No messages were queued for uucp transfer. 1 At least one message queued for uucp transfer. 2 An error occurred during processing. 3.4.5. Mailout 3.4.5. Mailout 3.4.5. Mailout Mailout - export mail to UUCP Mailout Mailout 3.4.5.1. Command Line Usage 3.4.5.1. Command Line Usage 3.4.5.1. Command Line Usage mailout [-h] [-d <file>] [-f <file>] [-l <file>] mailout [-h] [-d <file>] [-f <file>] [-l <file>] mailout [-h] [-d <file>] [-f <file>] [-l <file>] [-s <dir>] [-s <dir>] [-s <dir>] The -h command line switch causes mailout to ignore all -h -h other command line arguments and print out a usage screen. No inbound mail will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. This log will contain information that may aid the program's author to determine where a bug is occurring. This option is not recommended for normal use. Use of this option overrides the name of the debugging log file given in the Debug statement of the control file. The -f option allows mailout to use a control file other -f -f that UFGATE.CTL. The file name following this option is interpreted in the following ways. If the name has no extension, I.E. "ufgate", mailout searches for a control file with that name, I.E. "ufgate.ctl", in the current directory, and along those directories named in the PATH, SEADOG, DPATH, and BBS environment variables until it is found. Mailout then looks for a compiled control file, I.E. "ufgate.sys", in the directory where the control file was found. If the compiled control file does not exist, or if the control file is newer than the compiled control file, mailout will invoke compctl to compile the control file. Mailout will then use the compiled control file from that directory. If the name has an extension that is not .SYS, I.E. "ufgate.ctl" or "ufgate.", then mailout will invoke compctl to compile that control file. Mailout will then use the control file that compctl generated. If the name has an extension of .SYS, I.E. "ufgate.sys", then mailout will use that compiled control file, even if it is out of date with respect to its text control file. Use of this option in a batch file can be dangerous if you forget to change it at the appropriate time. - 52 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 The default behavior of mailout is equivalent to what would happen if it were invoked with the -f ufgate option. -f ufgate -f ufgate The -l option causes a log to be kept. This log will -l -l contain various statistics on the inbound mail that was processed, as well as any error messages that were generated. Use of this option overrides the name of the log file given in the Log statement of the control file. The -s option allows the user to override the spool -s -s directory specified by the Spool statement in the control file. If the -s option is given, mailout will use the -s -s directory name following the option as the spool directory. 3.4.5.2. Description 3.4.5.2. Description 3.4.5.2. Description When it is invoked, mailout looks through the FidoNet mail directory (see the Mail statement above) for any mail that is destined for UUCP, or is the subject of a Forward statement. A message is the subject of a Forward statement if and only if the user name in the FidoNet message header is mentioned in a Forward statement in the control file. There are two distinct ways a message not the subject of a forward statement can be destined for UUCP. The first way is if it is addressed to the user "Uucp" on a FidoNet node whose node number is mentioned in a Node or Aka statement in the control file (see above) and the first line of the actual text of the message begins with "To:" and contains a valid uucp address. There may be more than one address on a To: line, and there may be more than one To: line. Mailout stops looking for addresses on the first line of the message that does not start with "To:". The first address it encounters is considered the primary addressee, all others are carbon copied. This is the most common way for mail to be sent via UUCP. It should be noted that mailout does not check whether any of the addresses are the subject of a forward statement. But since a FidoNet message will be created for such an address, the next time mailout is invoked the message will be recognized as the subject of a forward statement and processed. The following is an example of a valid message of this type: - 53 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Message #4 (PRIVATE) (SENT) Date: Mon 4 Jul 88 12:59 From: John Galvin on 121/1 To: Uucp on 121/1 Subj: Another Test of mailout To: @geowhiz,@uwvax:heckle!galvin@puff.wisc.edu To: uwspan!root plocher@puff.UUCP To: ben@geowhiz.UUCP pax@ankh.UUCP pozar@fidogate.UUCP To: fritzson@prc.unisys.com To: plocher@uport.UUCP Yet another test message for mailout. --John The second way is if the message contains a UUCP type extended address. Addresses of this type can only be generated by a limited set of software, SEAdog for one. The address consists of a control A character, ASCII 1, followed by UUCP, a space, the uucp address, and a hard carriage return. An address specified in this way is treated exactly as if it had been on the very first To: line in a message of the type discussed above. The following is an example of this type of message: Message #3 (PRIVATE) (SENT) Date: Sat 16 Jul 88 22:47 From: John Galvin on 121/1 To: A Test on 121/1 Subj: yet another test ^AUUCP geowhiz!uwvax!uport.UUCP!plocher This is a test of extended addressing. --John It should be noted that mailout will also use the INTL and FMPT IFNA kludge headers in determining the address of the system that originated whatever message it is processing. As mailout processes its messages, it creates .C .XQT and .DAT files for each message and puts them in the appropriate directories. Each message processed by mailout is assigned an ID number. All mail generated from that message will have the same ID number. Mailout will also append a signature file to the end of all outgoing mail if that option was specified in the control file. - 54 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Mailout returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that mailout will return and their corresponding meaning: Level Description Level Description Level Description _____ ___________ 0 No messages were queued for uucp transfer. 1 At least one message queued for uucp transfer. 2 An error occurred during processing. 3.4.6. Cub 3.4.6. Cub 3.4.6. Cub Cub - compress outbound, decompress inbound Usenet News Cub Cub 3.4.6.1. Command Line Usage 3.4.6.1. Command Line Usage 3.4.6.1. Command Line Usage cub [-?] [-c|d|o] [-s<nbr>] [-x<nbr>] cub [-?] [-c|d|o] [-s<nbr>] [-x<nbr>] cub [-?] [-c|d|o] [-s<nbr>] [-x<nbr>] Use of the -? option causes cub to display a usage -? -? screen. The -c option causes cub to only compress outgoing -c -c news. The -d option causes it to only decompress inbound -d -d news. The -o option tells cub to only decompress old style -o -o inbound news. Old style inbound news does not have a "#! cunbatch" as the first line of the file. The -x option allows -x -x the user to specify what level of debugging information cub will display. The -s option tells cub to only compress outbound news if -s -s the file it is in is greater in size than the numeric argument specified with the option. By default a file must be 20,000 bytes or longer before cub will compress it. Note: To disable the compression on a host by host basis, place an empty file with the name 'compress.no' in the host's spool directory for each host that you don't want outbound news to be compressed. 3.4.6.2. Description 3.4.6.2. Description 3.4.6.2. Description Cub will handle the compression of the 'new' style batched news (I.E.: '#! cunbatch' will be prepended to the resulting compressed batch file) and the decompression of both 'old' and 'new' style inbound news files. Cub scans the host's spool directories and spawns a copy of compress to do the 'dirty' work. As such, it is now possible to use a 16-bit version of compress. This is desirable because of the fact that 16 bit compression can generate substantially smaller files than 12 bit compression. As distributed, cub comes with two compress programs. The - 55 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 first one, compress.exe, is a 12 bit version. The other, comp16.exe, is the 16 bit version. If you would like to try using the 16 bit version, rename compress.exe to comp12.exe and copy comp16.exe to compress.exe. Please note that the 16 bit version of compress uses quite a bit of memory. Depending on your configuration, and where you invoke it, you may not be able to run this version. Cub returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that cub will return and their corresponding meaning: Level Description Level Description Level Description _____ ___________ -1 An error occurred during processing 0 Nothing was done 1 Outbound news was compressed. 2 Inbound news was decompressed. 3 Both 1 and 2. 3.4.7. Newsin 3.4.7. Newsin 3.4.7. Newsin Newsin - import Usenet News Newsin Newsin 3.4.7.1. Command Line Usage 3.4.7.1. Command Line Usage 3.4.7.1. Command Line Usage newsin [-a] [-h] [-d <file>] [-f <file>] [-l <file>] newsin [-a] [-h] [-d <file>] [-f <file>] [-l <file>] newsin [-a] [-h] [-d <file>] [-f <file>] [-l <file>] [-o <dir>] [-s <dir>] [-v <dir>] [-o <dir>] [-s <dir>] [-v <dir>] [-o <dir>] [-s <dir>] [-v <dir>] The -a option causes all inbound news files placed in the -a -a save directory, orphans directory, a fido destination directory, or a text destination directory to be compressed using Buerg's ARCA. Use of this option overrides whatever Arc statement appeared in the control file, and is equivalent in effect to Arc All. The -h command line switch causes newsin to ignore all -h -h other command line arguments and print out a usage screen. No inbound mail will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. This log will contain information that may aid the program's author to determine where a bug is occurring. This option is not recommended for normal use. Use of this option overrides the name of the debugging log file given in the Debug statement of the control file. The -f option allows newsin to use a control file other -f -f that UFGATE.CTL. The file name following this option is interpreted in the following ways. - 56 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 If the name has no extension, I.E. "ufgate", newsin searches for a control file with that name, I.E. "ufgate.ctl", in the current directory, and along those directories named in the PATH, SEADOG, DPATH, and BBS environment variables until it is found. Newsin then looks for a compiled control file, I.E. "ufgate.sys", in the directory where the control file was found. If the compiled control file does not exist, or if the control file is newer than the compiled control file, newsin will invoke compctl to compile the control file. Newsin will then use the compiled control file from that directory. If the name has an extension that is not .SYS, I.E. "ufgate.ctl" or "ufgate.", then newsin will invoke compctl to compile that control file. Newsin will then use the control file that compctl generated. If the name has an extension of .SYS, I.E. "ufgate.sys", then newsin will use that compiled control file, even if it is out of date with respect to its text control file. Use of this option in a batch file can be dangerous if you forget to change it at the appropriate time. The default behavior of newsin is equivalent to what would happen if it were invoked with the -f ufgate option. -f ufgate -f ufgate The -l option causes a log to be kept. This log will -l -l contain various statistics on the inbound mail that was processed, as well as any error messages that were generated. Use of this option overrides the name of the log file given in the Log statement of the control file. The -o option allows the user to override the orphans -o -o directory specified via the Orphans statement in the control file. If the -o option is given, newsin will use the directory -o -o name following the option as the orphans directory. Use of this option does not effect what type of files are moved to the not not orphans directory. It only effects where they are moved. The -s option allows the user to override the spool -s -s directory specified by the Spool statement in the control file. If the -s option is given, newsin will use the directory -s -s name following the option as the spool directory. The -v option allows the user to override the save -v -v directory specified via the Save statement in the control file. If the -v option is given, newsin will use the directory -v -v name following the option as the save directory. Use of this option does not effect what type of files are moved to the save not not directory. It only effects where they are moved. - 57 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 3.4.7.2. Description 3.4.7.2. Description 3.4.7.2. Description Newsin is the Usenet news import program. It takes incoming Usenet news and places in directories or discards it based on the instructions that were given in the control file. Newsin also places a UFGATE IFNA kludge line in each Fido message that it generates so that Newsout will not try to send the message back to Usenet. To get more specific, for each uucp host named in a UUCPHOST statement of the control file, newsin looks in that host's subdirectory in the spool directory. If there are any news .X files there, newsin locates the corresponding .D file and processes it. Each .D file can contain one or more news messages, each of which can be posted to one or more newsgroups. Messages cross posted to more than one newsgroup will be placed in each message area/directory they are destined for. Thus a message may be duplicated across directories, but never in the same directory. Newsin keeps track of the message id of each message that it processes for a certain number of days (see the HistCycle statement above). It uses these numbers to prevent posting duplicate messages. It saves the id numbers in a file named NEWSHIST.SYS in the spool directory. Newsin takes care of all of this file's maintenance. After all the news in a directory has been processed, newsin will arc all the .X and .D files in the spool and orphans directories, if that option has been enabled. When translating Usenet messages into FidoNet format a number of the header lines from the original Usenet message will be included in the FidoNet message if they exist. These are the From:, Date:, Organization:, Message-ID:, and Newsgroups: headers. The From: header line contains a valid domain type address that can be used to the originator of the message. The Date: header line contains the date and time at which the originator sent the message. The Organization: header line contains information about the organization that runs the machine the originator posted his message from. The Message-ID: header line contains a unique identification code for the message. You may want to mention that ID code in any replies to the original message. The Newsgroups: header line contains the names of all the newsgroups that the message was posted to. It should also be noted that tabs are expanded with spaces when the message is translated from UUCP to FidoNet format. - 58 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Newsin returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that newsin will return and their corresponding meaning: Level Description Level Description Level Description _____ ___________ 0 No messages were imported. 1 At least one message was imported. 2 An error occurred during processing. 3.4.8. Newsout 3.4.8. Newsout 3.4.8. Newsout Newsout - export Usenet News Newsout Newsout 3.4.8.1. Command Line Usage 3.4.8.1. Command Line Usage 3.4.8.1. Command Line Usage newsout [-h] [-d <file>] [-f <file>] [-l <file>] newsout [-h] [-d <file>] [-f <file>] [-l <file>] newsout [-h] [-d <file>] [-f <file>] [-l <file>] [-s <dir>] [-s <dir>] [-s <dir>] The -h command line switch causes newsout to ignore all -h -h other command line arguments and print out a usage screen. No inbound mail will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. This log will contain information that may aid the program's author to determine where a bug is occurring. This option is not recommended for normal use. Use of this option overrides the name of the debugging log file given in the Debug statement of the control file. The -f option allows newsout to use a control file other -f -f that UFGATE.CTL. The file name following this option is interpreted in the following ways. If the name has no extension, I.E. "ufgate", newsout searches for a control file with that name, I.E. "ufgate.ctl", in the current directory, and along those directories named in the PATH, SEADOG, DPATH, and BBS environment variables until it is found. Newsout then looks for a compiled control file, I.E. "ufgate.sys", in the directory where the control file was found. If the compiled control file does not exist, or if the control file is newer than the compiled control file, newsout will invoke compctl to compile the control file. Newsout will then use the compiled control file from that directory. If the name has an extension that is not .SYS, I.E. "ufgate.ctl" or "ufgate.", then newsout will invoke compctl to compile that control file. Newsout will then use the control file that compctl generated. - 59 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 If the name has an extension of .SYS, I.E. "ufgate.sys", then newsout will use that compiled control file, even if it is out of date with respect to its text control file. Use of this option in a batch file can be dangerous if you forget to change it at the appropriate time. The default behavior of newsout is equivalent to what would happen if it were invoked with the -f ufgate option. -f ufgate -f ufgate The -l option causes a log to be kept. This log will -l -l contain various statistics on the inbound mail that was processed, as well as any error messages that were generated. Use of this option overrides the name of the log file given in the Log statement of the control file. The -s option allows the user to override the spool -s -s directory specified by the Spool statement in the control file. If the -s option is given, newsout will use the -s -s directory name following the option as the spool directory. 3.4.8.2. Description 3.4.8.2. Description 3.4.8.2. Description When it is invoked, newsout looks through each directory named in a Fido statement in the control file (see above) for any public news that has not been sent. Messages that have public public been sent have a UFGATE IFNA kludge line embedded in the text of the message to prevent newsout from reprocessing the message. As newsout processes its messages, it creates .C .XQT and .DAT files for each message and puts them in the appropriate directories. Each message that it processes is assigned an ID number. All Echomail control information is stripped from outgoing news. This includes SEEN-BYs, tear lines, and all IFNA kludge lines. Newsout will also append a signature file to the end of all outgoing news if that option was specified in the control file. Newsout processes the original Fido message so that it looks as if it were received via Usenet. From, Organization, Message-ID, and Newsgroups lines are inserted at the beginning of the message. It also inserts any required signature file at the end of the message, but before the EchoMail tear line if it exists. Newsout returns an errorlevel to DOS when it exits. This value may be tested and used to perform conditional actions from within a batch file. The following is a list of the values that newsout will return and their corresponding meaning: - 60 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Level Description Level Description Level Description _____ ___________ 0 No messages were queued for uucp transfer. 1 At least one message queued for uucp transfer. 2 An error occurred during processing. 3.4.9. Expnews 3.4.9. Expnews 3.4.9. Expnews Expnews - expire old Usenet News Expnews Expnews 3.4.9.1. Command Line Usage 3.4.9.1. Command Line Usage 3.4.9.1. Command Line Usage expnews [-h] [-d <file>] [-f <file>] [-l <file>] expnews [-h] [-d <file>] [-f <file>] [-l <file>] expnews [-h] [-d <file>] [-f <file>] [-l <file>] The -h command line switch causes expnews to ignore all -h -h other command line arguments and print out a usage screen. No inbound mail will be processed. The -d option causes a debugging log to be kept. This log -d -d will be written to file whose name follows the -d, as well as -d -d to the screen. This log will contain information that may aid the program's author to determine where a bug is occurring. This option is not recommended for normal use. Use of this option overrides the name of the debugging log file given in the Debug statement of the control file. The -f option allows expnews to use a control file other -f -f that UFGATE.CTL. The file name following this option is interpreted in the following ways. If the name has no extension, I.E. "ufgate", expnews searches for a control file with that name, I.E. "ufgate.ctl", in the current directory, and along those directories named in the PATH, SEADOG, DPATH, and BBS environment variables until it is found. Expnews then looks for a compiled control file, I.E. "ufgate.sys", in the directory where the control file was found. If the compiled control file does not exist, or if the control file is newer than the compiled control file, expnews will invoke compctl to compile the control file. Expnews will then use the compiled control file from that directory. If the name has an extension that is not .SYS, I.E. "ufgate.ctl" or "ufgate.", then expnews will invoke compctl to compile that control file. Expnews will then use the control file that compctl generated. If the name has an extension of .SYS, I.E. "ufgate.sys", then expnews will use that compiled control file, even if it is out of date with respect to its text control file. Use of this option in a batch file can be dangerous if you forget to change it at the appropriate time. - 61 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 The default behavior of expnews is equivalent to what would happen if it were invoked with the -f ufgate option. -f ufgate -f ufgate The -l option causes a log to be kept. This log will -l -l contain various statistics on the inbound mail that was processed, as well as any error messages that were generated. Use of this option overrides the name of the log file given in the Log statement of the control file. 3.4.9.2. Description 3.4.9.2. Description 3.4.9.2. Description Expnews expires old Fido messages. It will look through the directories that were specified in Expire statements in the control file for Fido messages. If a message is as old as the number of days specified or older, and there are more messages left in the directory than the Expire statement said to keep, the message is deleted. Expnews exits with an error level greater than zero if something catastrophic caused it to abort processing. 4. Error Messages 4. Error Messages 4. Error Messages Below are the error messages that can be generated by compctl, dumpctl, mailin, mailout, newsout, and expnews. Following each error message is a short explanation. All items in bold face are place holders for items filled in by the program in question. In general program is the name of the program program program that generated the error. All messages are in alphabetical order. dumpctl: file has been truncated. file file This error message indicates that file has been file file truncated and is no longer a valid compiled control file. Dumpctl will skip over this file to the next file and process the next one that was given on the command line. dumpctl: file is not a revision ver ufgate.sys file. file ver file ver This error message indicates that the compiled control file that dumpctl was trying to decompile is a different version than dumpctl was designed to deal with. Generally this means that a newer or older version of compctl generated the compiled control file. If you must decompile that file, you will have to procure the appropriate version of dumpctl. - 62 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 dumpctl: file sys header is truncated. file file This error message indicates that file has been file file truncated and is no longer a valid compiled control file. Dumpctl will skip over this file to the next file and process the next one that was given on the command line. dumpctl: unable to fopen file. file file This message indicates that dumpctl was unable to open the named file. This generally means that the file did not exist, or that it was locked. dumpctl: unable to fstat() file. file file This message indicates that dumpctl could not gather certain statistics about the named file. You should never see this error. program: At least one statement statement is required in file. program statement file program statement file This message is generated by compctl when one of the required control file statements was not present in file. file file In this case the required command was statement. The fix statement statement is to put a statement of the type indicated in file. file file program: Duplicate newsgroup: newsgroup. program newsgroup program newsgroup This message is generated by newsin when it encounters duplicate newsgroup names in a compiled control file. This error should never happen. If it does, erase the compiled control file you were using and re-compile a new one. program: file has been corrupted. program file program file This message indicates that the named file contains invalid data. You should never see this error. If you do, and it recurs, erase the named file. If file is a file file compiled control file, re-compile the original control file. UFGATE should generate any other files that this UFGATE UFGATE message would be given for. - 63 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 program: file is not a valid type file. program file type program file type This message indicates that the named file is of an incorrect type to be what it purports to be. This error may occur when the format of a file has changed from one release of UFGATE to another. If you see this error, and UFGATE UFGATE it recurs, erase the named file. If file is a compiled file file control file, re-compile the original control file. UFGATE should generate any other files that this message UFGATE UFGATE would be given for. program: file orphaned; from "user" to "fidoaddr". program file user fidoaddr program file user fidoaddr This message is generated by mailout when a user has attempted to use mailout to send FidoNet mail to a node that is not a local call. The name of the message is given, along with the user's name, and the address that caused the error. The FidoNet message that generated this error will have its orphan flag set, and no copies will be sent to anyone. This error will not be generated for messages which are the subject of a forward command. program: file orphaned; host is not a gateway system. program file program file This error is generated by mailout or mailin when a message to a non-local FidoNet node is encountered and there was no Gateway statement in the control file. This message is only generated by mailout when the message itself is the subject of a forward statement. If a FidoNet message generated this error it will have its orphan flag set, and no copies will be sent to anyone. If a uucp message destined to FidoNet caused this error, it will either be copied to the orphans directory, or left in the spool directory, depending on what sort of Orphans statement was given in the control file. program: file orphaned; insufficient credit. program file program file This error is generated by mailout or mailin when a message to a non-local FidoNet node is encountered and there was insufficient credit in the Gateway account to cover the cost of sending it. This message is only generated by mailout when the message itself is the subject of a forward statement. If a FidoNet message generated this error it will have its orphan flag set, and no copies will be sent to anyone. If a uucp message - 64 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 destined to FidoNet caused this error, it will either be copied to the orphans directory, or left in the spool directory, depending on what sort of Orphans statement was given in the control file. program: file orphaned; invalid uucp address: address. program file address program file address This error is generated by mailout or mailin when a message is encountered that contains a syntactically incorrect uucp address. If a FidoNet message generated this error it will have its orphan flag set, and no copies will be sent to anyone. If a uucp message caused this error, it will either be copied to the orphans directory, or left in the spool directory, depending on what sort of Orphans statement was given in the control file. program: file orphaned; no uucp addresses in message. program file program file This error message is generated by mailout when it encounters a FidoNet message addressed to "Uucp" on the UFGATE gateway system that has no destination address UFGATE UFGATE specified in the message. The FidoNet message that generated this error will have its orphan flag set, and no copies will be sent to anyone. program: file orphaned; unknown FidoNet node: fidoaddr. program file fidoaddr program file fidoaddr This error is generated by mailout or mailin when a it encounters a message to a FidoNet node that does not appear in the nodelist This message is only generated by mailout when the message itself is the subject of a forward statement. If a FidoNet message generated this error it will have its orphan flag set, and no copies will be sent to anyone. If a uucp message destined to FidoNet caused this error, it will either be copied to the orphans directory, or left in the spool directory, depending on what sort of Orphans statement was given in the control file. program: file orphaned; unknown newsgroup: newsgroup. program file newsgroup program file newsgroup This error message is generated by newsin when it encounters a news message that belongs to an unknown newsgroup. If an appropriate Orphans statement appeared in the control file, the news message will be copied to - 65 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 the orphans directory so that the sysop may add the newsgroup to his control file, and possibly reprocess the message. Otherwise it is deleted. program: file orphaned; unknown newsgroups: newsgroups. program file newsgroups program file newsgroups This error message is generated by newsin when it encounters a news message that belongs to a number of unknown newsgroups. If an appropriate Orphans statement appeared in the control file, the news message will be copied to the orphans directory so that the sysop may add the newsgroups to his control file, and possibly reprocess the message. Otherwise it is deleted. program: file orphaned; unknown uucp host: host. program file host program file host This error is generated by mailout or mailin when an attempt is made to send a message to a uucp host that was not mentioned in a UucpHost statement. This message is only generated when no SmailPath was given in the control file. If a FidoNet message generated this error it will have its orphan flag set, and no copies will be sent to anyone. If a uucp message destined to FidoNet caused this error, it will either be copied to the orphans directory, or left in the spool directory, depending on what sort of Orphans statement was given in the control file. program: file(line): Bad configuration command "statement". program file line statement program file line statement This message indicates that a statement that compctl didn't understand appeared on line number line of file. line file line file Edit the named control file and look at the indicated line. This error generally indicates a misspelled statement, a missing comment, or an incorrect continuation line. If the line was supposed to be a continuation line, check to make sure the \ on the line above is immediately immediately immediately followed by a carriage return. program: file(line): Bad statement argument "argument". program file line statement argument program file line statement argument This message indicates that the statement that statement statement appears on line line of file was given an invalid line file line file argument. The actual argument that caused the error is printed in parentheses. Check the description of the statement in the text above for clues on what might be wrong. - 66 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 program: file(line): host must appear in a prior UUCPHOST program file line host program file line host statement. This error message indicates that on line line of line line file, a Send statement occurred for the named uucp host file file who had not been named in a prior UucpHost statement. You either forgot to put a UucpHost statement in for that host, or you neglected to place it before the Send before before statement that caused this error. program: file(line): Invalid FidoNet address "address". program file line address program file line address Compctl gives this error message when it encounters a bad FidoNet address in a Node or Aka statement. The addresses given to these commands must be standard FidoNet format, I.E. zone:net/node.point. The error occurred on line line of file with the indicated erroneous address. line file line file program: file(line): Invalid number of arguments (number) to program file line number program file line number statement. statement statement This error message indicates that on line line of line line file, compctl found a statement that was being passed too file file few or many arguments. Take a look at the syntax chart for the indicated statement and correct the control file. program: file(line): invalid uucp host name "host". program file line host program file line host This error message is generated by compctl when a uucp host name given in a UucpHost or Send statement includes an invalid character, such as a period. Correct the statement on the indicated line, and try to compile the file again. program: file(line): Nonexistant directory dir. program file line dir program file line dir This message is generated by compctl when a non-existant directory is referenced. Either the directory name is spelled incorrectly, or you need to create the one indicated. Correct the situation and try to compile again. - 67 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 program: file(line): recursive part of mailing list "list" program file line list program file line list removed. This error message is generated by compctl when a mailing list set up with a forward statement includes a reference to itself at some level. This recursive part of the list is ignored and processing continues. This message is meant for user information only. program: file(line): trashing newsgroup; previously mentioned program file line newsgroup program file line newsgroup in type statement. type type This error message is generated by compctl when a newsgroup that was previously mentioned in a Fido or Text statement is included in a trash statement. This message is meant for user information only. program: invalid uucp address used for smailpath: uucpaddr. program uucpaddr program uucpaddr This error is generated by mailin and mailout when the smailpath it found in the compiled control file is a syntactically incorrect uucp address. Processing continues as if no SmailPath statement had been given in the control file. program: Line too long in file. program file program file This error message is generated when a line of input, from the file indicated, is more than 255 characters long. If this error occurs when compiling a control file, use continuation lines instead of such a long physical line. program: Nonexistant directory dir. program dir program dir This message is generated by mailin, mailout, newsin, newsout, and expnews when a non-existant directory is referenced. You need to create the directory indicated. Correct the situation and try again. program: Not enough free memory. program program This error message is generated by compctl, mailin, mailout, newsin, newsout, and expnews when available RAM has been exhausted. If this happens in newsin, you may want to delete the NEWSHIST.SYS file in the spool - 68 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 directory, if it is large. Otherwise you may have to cut down on the information stored in your control file, such as long mailing lists and the like. program: recursive part of mailing lists "list1" and "list2" program list1 list2 program list1 list2 ignored. This error message is generated by compctl when a mailing list set up with a forward statement includes a reference to another mailing list which includes a reference to the original at some level. This recursive part of the two lists is ignored and processing continues. This message is meant for user information only. program: Truncated file "file". program file program file This error message indicates that file has been file file truncated and is no longer a valid data file. Processing will normally be halted when this message occurs. If the named file is a compiled control file, try re-compiling it. Otherwise erase the file in question and try again. program: Unable to create a temporary file. program program This error is generated when program can not create a program program temporary file. This usually indicates that your disk is full and needs to be cleaned up a little. program: Unable to create a unique type archive in dir. program type dir program type dir This message indicates that program could not create program program a unique save, orphans, text, or fido archive name. You should never see this message unless you let archives pile up for quite a few years. program: Unable to execute program. program program program program This message is generated when program could not program program successfully execute the named program. There are many causes for this. The most likely is that the program is not on the current directory and not accessible via the path. Another likely reason is that there was not enough memory left to execute the program. - 69 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 program: Unable to find a nodelist. program program This error is generated when program could not locate program program a nodelist of the correct type in the current directory, or any of the directories listed in the PATH, SEADOG, DPATH, and BBS environment variables. Make sure your System statement reflects the type of nodelist you use, and that the nodelist is actually out there somewhere. program: Unable to find a user list. program program This error is generated when program could not locate program program a user list, I.E. CALLER.SYS or USER.BBS, of the correct type in the current directory, or any of the directories listed in the PATH, SEADOG, DPATH, and BBS environment variables. Make sure your System statement reflects the type of user list you use, and that the user list is actually out there somewhere. program: Unable to find file on the path. program file program file This error message is generated when program can not program program find the specified file anywhere. Make sure the named file is in a reachable spot. program: Unable to open file file. program file program file This error message is generated when the indicated program can not open a file. This generally indicates that the file does not exist, that it is locked, or that you are out of disk space. program: Unable to read from file file. program file program file This error message is generated when the indicated program can not read from a file. This generally indicates that the file has been truncated by some agency, or that it is locked. This error can also be caused by a bug in the Microsoft C v5.1 implementation of fseek(). program: Unable to write to file file. program file program file This error message is generated when the indicated program can not write to a file. This generally indicates that the file is locked, or that you are out of disk space. - 70 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 program: Unknown header format in file. program file program file This error is generated by newsin while unpacking a batch of news. The most common cause of this is a bug in the Microsoft C v5.1 implementation of fseek(). For now, just delete the file. program: unknown host in smailpath: host. program host program host This error is generated by mailin and mailout when the smailpath it found in the compiled control file the first uucp host in the address was not mentioned in a UucpHost statement. Processing continues as if no SmailPath statement had been given in the control file. 5. Bug Reports and Problems 5. Bug Reports and Problems 5. Bug Reports and Problems If you encounter a problem with one of the component programs of UFGATE, please report it to the author of that UFGATE UFGATE program. The authors' names and electronic mail addresses can be found in the section immediately below. Send a FidoNet message detailing the following items: the name of the program involved, the version number of that program, the name and version number of the FidoNet mailer you are using, what the problem itself was. File attach to that message the following items: your control file, any .D, .X, .C, .DAT, .XQT, and .MSG files involved. The more information you give us, the better we can help you. As an alternative to going direct to the author, there is a national EchoMail conference named UFGATE devoted to UFGATE UFGATE supporting this software package. Questions posted there have a good chance of being answered in a very short period of time. This conference also serves as an open forum for suggestions dealing with the package's future directions. Using this conference is a good way to find other UFGATE users UFGATE UFGATE in your area, who may be of more immediate assistance than the authors. Especially since the authors are most likely a couple thousand miles away. If you do not have a working electronic mail connection, or you just want to talk to someone, please call us at (415) 695-7727. Expect an answering machine on the other end. Leave your name, company if any, and your telephone number and we will get back to you as soon as we can. - 71 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 6. Compatible Software 6. Compatible Software 6. Compatible Software The following products have been used with UFGATE and have UFGATE UFGATE caused no apparent ill effects. This does not guarantee they will work properly for you. We include this list for your convenience and take no responsibility for its completeness or accuracy. 6.1. FidoNet Mailer Software 6.1. FidoNet Mailer Software 6.1. FidoNet Mailer Software BinkleyTerm: A Free-for-the-Asking FidoNet Compatible BinkleyTerm: A Free-for-the-Asking FidoNet Compatible BinkleyTerm: A Free-for-the-Asking FidoNet Compatible Electronic Mail Interface and Dumb Terminal Electronic Mail Interface and Dumb Terminal Electronic Mail Interface and Dumb Terminal Package v1.40 through v2.00. Package v1.40 through v2.00. Package v1.40 through v2.00. This software is distributed as ShareWare. Robert C. Hartman Spark Software, Inc. 427-3 Amherst Street CS 2032, Suite 232 Nashua, NH 03061 BBS: 1:132/101 (603) 888-8179 300,1200,2400,9600 Baud N-8-1. Vincent E. Perriello VEP Software 111 Carroll Street Naugatuck, CT 06770 BBS: 1:141/491 (203) 729-7569 300,1200,2400,9600 Baud N-8-1. Fido: The Fido Bulletin Board System v11w through Fido: The Fido Bulletin Board System v11w through Fido: The Fido Bulletin Board System v11w through v12h. v12h. v12h. This software is commercially distributed. Tom Jennings Fido Software 164 Shipley Street San Fransisco, CA 94107 (415) 764-1688 BBS: 1:125/111 (415) 764-1629 300,1200,2400 Baud N-8-1. - 72 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Opus: The Opus Computer Based Conversation System Opus: The Opus Computer Based Conversation System Opus: The Opus Computer Based Conversation System v0.00 through v1.10. v0.00 through v1.10. v0.00 through v1.10. This software is distributed as ShareWare. Wynn Wagner III 1:124/108 For Information contact: Doug Boone BBS: 1:1/113 (916) 893-9019 300,1200,2400,9600 Baud N-8-1. SEAdog: IBM-PC Based Electronic Mail System v4.00 SEAdog: IBM-PC Based Electronic Mail System v4.00 SEAdog: IBM-PC Based Electronic Mail System v4.00 through v4.10. through v4.10. through v4.10. This software is commercially distributed. Thom Henderson System Enhancement Associates, Inc. 21 New Street Wayne, NJ 07470 (201) 473-5153 6.2. EchoMail Software 6.2. EchoMail Software 6.2. EchoMail Software ConfMail: The Conference Mail System v3.31 and v4.00. ConfMail: The Conference Mail System v3.31 and v4.00. ConfMail: The Conference Mail System v3.31 and v4.00. This software is distributed as GuiltWare. Robert C. Hartman Spark Software, Inc. 427-3 Amherst Street CS 2032, Suite 232 Nashua, NH 03061 BBS: 1:132/101 (603) 888-8179 300,1200,2400,9600 Baud N-8-1. - 73 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 7. Authors 7. Authors 7. Authors John Galvin: CompCtl, DumpCtl, MailIn, MailOut, NewsIn, NewsOut, ExpNews, and this manual. UUCP: ...!uwvax!geowhiz!circle!galvin ARPA: galvin@circle.UUCP FidoNet: 1:121/0, and 1:121/1 (608) 271-0687 300,1200,2400 Baud N-8-1 Garry Paxinos: UUSlave, CUB, UsrChk, FlsUpd, MailFwrd, NewsFwrd, Mailist. UUCP: ...!gatech!uflorida!novavax!ankh!pax ARPA: pax@ankh.FIDONET.ORG FidoNet: 1:369/0, and 1:369/17 (407) 994-6753 300,1200,2400 Baud N-8-1 Tim Pozar: FidoUUCP, UUSlave. UUCP: ...!hoptoad!fidogate!pozar ARPA: pozar@fidogate.FIDONET.ORG FidoNet: 1:125/406 (415) 391-2657 300,1200,2400 Baud N-8-1 - 74 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 8. Index 8. Index 8. Index A A A Aka ....................... 14, 19, 39, 53, 67 Arc ....................... 6, 26, 49, 51, 56, 58, 69 Arca ...................... 26, 49, 56 Attach .................... 23, 24, 71 Autoexec.bat .............. 11 B B B Bang path ................. 2, 3, 4, 5, 6, 16, 20, 22, 33, 35, 51 BangPath .................. 16 Baud ...................... 13, 14, 29, 30, 40, 72, 73, 74 BBS ....................... 1, 10, 11, 16, 20, 23, 24, 26, 27, 28, 41, 42, 43, 44, 49, 51, 52, 57, 59, 61, 70, 72, 73 BBSFiles .................. 26, 43, 44 BinkleyTerm ............... 1, 44, 72 BUFFERS ................... 10 C C C Cat ....................... 62 Comment ................... 13, 29, 33, 37, 38, 41, 66 Comp12 .................... 8, 32, 56 Comp16 .................... 8, 32, 56 Compctl ................... 7, 12, 15, 17, 21, 24, 45, 46, 50, 52, 57, 59, 61, 62, 63, 66, 67, 68, 69, 74 Compiled control file ..... 7, 12, 24, 43, 45, 46, 49, 50, 52, 57, 59, 60, 61, 62, 63, 64, 68, 69, 71 Compress .................. 6, 8, 16, 17, 26, 32, 49, 55, 56 Config.sys ................ 10 Control file .............. 7, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 43, 44, 45, 46, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71 Ctl ....................... 7, 12, 28, 35, 38, 39, 41, 42, 45, 49, 50, 52, 56, 57, 59, 61 Cub ....................... 8, 9, 32, 55, 56, 74 D D D Debug ..................... 21, 45, 46, 47, 49, 52, 55, 56, 59, 61 DialPrefix ................ 18 DialSuffix ................ 18 Domain .................... 2, 3, 4, 5, 6, 15, 16, 17, 20, 22, 33, 51, 58 - 75 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 DomainName ................ 15, 22 DPATH ..................... 11, 26, 43, 44, 49, 52, 57, 59, 61, 70 Dumpctl ................... 7, 24, 46, 62, 63, 74 E E E Echomail .................. 1, 6, 7, 9, 15, 60, 71, 73 Escape character .......... 12, 13, 22 Expire .................... 27, 61, 62 Expnews ................... 9, 24, 27, 61, 62, 68, 74 F F F Fido ...................... 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 20, 22, 23, 25, 26, 27, 28, 32, 33, 35, 38, 39, 41, 42, 43, 44, 50, 51, 53, 54, 56, 58, 60, 62, 64, 65, 66, 67, 68, 69, 71, 72, 74 Fidoalias ................. 19 Fidonet ................... 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 20, 22, 23, 32, 33, 35, 38, 39, 41, 42, 43, 44, 50, 51, 53, 58, 64, 65, 66, 67, 71, 72, 74 Fidouucp .................. 42, 43, 74 FILES ..................... 10, 23, 24 Files ..................... 2, 8, 10, 11, 12, 16, 21, 23, 24, 25, 26, 28, 32, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, 57, 58, 60, 63, 64, 71 Forward ................... 1, 4, 12, 14, 16, 17, 19, 20, 51, 53, 64, 65, 68, 69 FOSSIL .................... 1 G G G Gateway ................... 1, 6, 12, 13, 19, 20, 21, 23, 39, 64, 65 Greenwich Mean Time (GMT) . 11 H H H Histcycle ................. 27, 58 Hybrid .................... 4, 51 I I I Internet .................. 2, 3, 4, 32, 42 L L L L.sys ..................... 7, 28, 29, 31, 33, 43, 47, 48 Log ....................... 9, 10, 12, 21, 22, 29, 30, 31, 33, 45, 47, 48, 49, 50, 52, 53, 56, 57, 59, 60, 61, 62 Logical line .............. 12 - 76 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 M M M Mail ...................... 1, 2, 3, 4, 7, 8, 10, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 28, 32, 33, 34, 35, 36, 39, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 68, 69, 71, 72, 73, 74 Mailin .................... 8, 19, 20, 23, 25, 32, 42, 43, 49, 50, 51, 62, 64, 65, 66, 68, 69, 71, 74 Mailing list .............. 19, 20, 68, 69 Mailout ................... 8, 15, 16, 22, 23, 24, 32, 42, 43, 52, 53, 54, 55, 62, 64, 65, 66, 68, 71, 74 Modem ..................... 1, 13, 14, 17, 18, 30 ModemEnd .................. 18 ModemInit ................. 17, 18 N N N Net ....................... 1, 3, 4, 5, 6, 14, 22, 26, 34, 36, 37, 38, 39, 40, 41, 42, 44, 67 Newsgroup ................. 6, 17, 25, 27, 28, 32, 58, 60, 63, 65, 66, 68 Newsin .................... 9, 17, 25, 27, 32, 43, 56, 57, 58, 59, 63, 65, 66, 68, 71, 74 Newsout ................... 9, 15, 16, 17, 22, 32, 42, 43, 58, 59, 60, 62, 68, 74 Node ...................... 1, 5, 6, 7, 13, 14, 15, 16, 19, 20, 22, 23, 26, 33, 34, 35, 38, 39, 41, 43, 44, 51, 53, 64, 65, 67, 70 Node ...................... 1, 5, 6, 7, 13, 14, 15, 16, 19, 20, 22, 23, 26, 33, 34, 35, 38, 39, 41, 43, 44, 51, 53, 64, 65, 67, 70 Nodename .................. 15, 16, 34, 35, 41 O O O Opus ...................... 1, 13, 20, 26, 28, 31, 44, 49, 73 Organization .............. 3, 4, 15, 16, 34, 35, 36, 41, 58, 60 Orphans ................... 10, 24, 25, 26, 42, 43, 49, 50, 51, 56, 57, 58, 64, 65, 66, 69 P P P PATH ...................... 1, 10, 11, 26, 43, 44, 49, 52, 57, 59, 61, 70 Physical line ............. 12, 13, 29, 68 Point ..................... 2, 5, 6, 14, 22, 33, 36, 51, 67 - 77 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 S S S Save ...................... 10, 21, 24, 25, 26, 42, 43, 49, 50, 56, 57, 58, 69 Seadog .................... 1, 10, 11, 13, 20, 21, 22, 26, 28, 30, 43, 44, 49, 52, 54, 57, 59, 61, 70, 73 Send ...................... 2, 3, 4, 8, 17, 18, 20, 22, 30, 31, 33, 35, 38, 42, 48, 50, 51, 58, 64, 66, 67, 71 Signature ................. 15, 16, 19, 22, 23, 54, 60 Smailpath ................. 16, 17, 66, 68, 71 Spool ..................... 10, 17, 24, 25, 27, 42, 43, 47, 48, 50, 51, 53, 55, 57, 58, 60, 64, 65, 66, 68 Sys ....................... 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 41, 43, 44, 45, 47, 48, 49, 50, 51, 52, 54, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, 72, 73 System .................... 1, 2, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 26, 30, 31, 32, 33, 34, 35, 38, 39, 41, 43, 44, 47, 48, 49, 51, 54, 64, 65, 70, 72, 73 T T T Text ...................... 7, 9, 12, 16, 25, 26, 28, 33, 42, 46, 50, 52, 53, 56, 57, 60, 61, 66, 68, 69 Trash ..................... 25, 28, 68 TZ ........................ 11 U U U Ufgate.ctl ................ 7, 12, 28, 35, 38, 39, 41, 45, 49, 50, 52, 56, 57, 59, 61 Ufgate.sys ................ 7, 50, 52, 57, 59, 60, 61, 62 Unix ...................... 1, 2, 6, 19, 28, 30, 33, 34, 47, 48, 49 Usenet .................... 1, 6, 7, 8, 9, 12, 13, 17, 22, 25, 27, 28, 32, 38, 55, 56, 58, 59, 60, 61 Uucp ...................... 1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 47, 49, 50, 51, 52, 53, 54, 55, 58, 61, 64, 65, 66, 67, 68, 71, 74 Uucp hosts ................ 3, 7, 29 - 78 - UFGATE October 20, 1988 UFGATE October 20, 1988 UFGATE October 20, 1988 Uucphost .................. 16, 17, 24, 29, 33, 38, 39, 41, 51, 58, 66, 67, 71 Uunet ..................... 4, 16, 32 Uuslave ................... 7, 8, 17, 18, 24, 25, 28, 29, 30, 31, 32, 42, 43, 46, 47, 48, 74 X X X Xqt ....................... 43, 54, 60, 71 Z Z Z Zone ...................... 5, 6, 11, 14, 22, 41, 51, 67 - 79 - LATE NIGHT SOFTWARE LATE NIGHT SOFTWARE LATE NIGHT SOFTWARE 671 28th Street San Francisco, CA 94131 (415) 695-7727 INVOICE Name: _____________________________ Date: ___/___/___ Title: _____________________________ Phone: (____)____-_____ Company: _____________________________ Address: _____________________________ _____________________________ _____________________________ ============================================================== Qty | Description | Price | Amount ============================================================== | UFGATE Release 1.00; 5.25" Disks | $35.00 | -------------------------------------------------------------- | UFGATE Release 1.00; 3.5" Disks | $35.00 | -------------------------------------------------------------- | UFGATE Release 1.00; 5.25" Disks | $195.00 | | with 1 year of free updates | | -------------------------------------------------------------- | UFGATE Release 1.00; 3.5" Disks | $195.00 | | with 1 year of free updates | | -------------------------------------------------------------- California Residents add 6.5% Sales Tax __________ TOTAL ENCLOSED __________ Send this invoice and your check or money order to: Late Night Software 671 28th Street San Francisco, CA 94131 Please allow 2 weeks for Company and Personal checks to clear.