Fido/FidoNet version 10K errata sheet T. Jennings 9 July 85 10K has very few changes over 10I. Mostly one bug¨ fixed, a fairly obscure one: Fido would allow the entry of,¨ but would not transmit, a message destined to /0. It¨ worked correctly for /0. One addition, a command line switch: /Y Disable path display By default, Fido will display the pathnames of the¨ various message and file areas, plus the DIR.BBS¨ descriptions. This supresses all path displays. The path¨ information is pretty much useless anyways. Fido/FidoNet version 10I errata Sheet T. Jennings 10 May 85 I apologize for the size of this errata sheet; time¨ constraints prevent me from creating a new manual. (The¨ usual excuse.) Most of the changes were bug fixes, and wont impact¨ anything. The biggest change has been in the FidoNet network¨ system. There is an entire section here about the changes. If you are running a private-only network, the¨ changes are no big deal. If you are running in the public¨ domain FidoNet, you should get a copy of: NODELIST.EXE Manages the nodelist for you; it will strip/add area¨ codes, dialing prefixes, adjust message costs, etc.,¨ eliminating all manual editing. ROUTEGEN.EXE Generates ROUTE files of any arbitrary complexity¨ from an english language like script. These programs can be obtained from Fido #31 in Los¨ Angeles. The quote file wont repeat itself over and over. The¨ position last used in the quote file is saved in SYSTEM.BBS¨ (its size increases to 212 bytes) and used every time Fido¨ is run. The first time it will start at the beginning of the¨ file. The Fido log file (SYSOP.LOG) has changed. The same¨ information is logged, only its appearance has changed. This¨ should make the log smaller and easier to search with¨ software. Extraneous words were removed, and the data¨ displayed in a more compact form. Each line starts with a¨ specific character. (Most do, anyways.) The characters are: + user name and time on ! errors of all sorts = download and upload info - line between entries The /I command line switch now accepts a numeric¨ argument: /I Set multi-task environment This does only two simple things: it changes the¨ names used for the log files, and affects the way messages¨ are created. The names for the logs will incorporate the task ID¨ number; ie. if you specify 9/I the log files will be: SYSOP9.LOG MAILER9.LOG You cannot use 0 as a number. The other effect of¨ setting a task ID is to force Fido to recount the messages¨ before saving a new one. This hopefully prevents duplicate¨ message numbers making a mess of things, or at least¨ minimizes it. It has the unfortunate side effect of greatly¨ slowing down saving messages. If you use /I in test mode, you will not be able to¨ see anything. Do not use /I with /T. Four new modem types: 9 Ventel MD212 with WECO option 10 GDC modem 11 DC Hayes Smartmodem 2400 12 US Robotics Courier 2400 The Hayes 2400 is a terrible modem. It will be OK¨ for an autoanswer application, but very annoying for general¨ use. FidoNet messages have an audit trail: whenever a¨ Fido passes a msg on further (ie. a host) it adds to the¨ bottom the line: "Via Fido net/node" Each Fido a given msg passes through will add its¨ own audit trail line. Alternate node ID (net/node) has been added; each¨ node potentially has two independent net and node number¨ pairs. The current one will apply like it does now; all¨ messages will be marked with the regular net/node numbers.¨ The alternate is mainly for hosts, who are a node in a¨ specific net, and node #0 as well. The normal case will be¨ where both node and net numbers are the same. In the host¨ case, the numbers will be set like: Node : nn Net : mm Alt Node: 0 Alt Net : mm This says that this system is node nn in net mm, and¨ is also node 0, the host. It can also be used as: Node : nn Net : mm Alt Node: oo Alt Net : pp So that the node is in two different nets; mm/nn and¨ pp/oo. File attach capability has been given to EXTRA¨ privilege users, instead of only SYSOPs. Be careful, it¨ still allows access to the entire system, including *.*. No longer will FidoNet call millions of times for¨ systems that dont answer. The maximum is now 20 tries per¨ node per event. 10H now allows 300, 1200 and 2400 for all¨ operations; whether your modem can or not is your business.¨ This applies to baud rate detect for users as well as¨ Fidonet incoming and outgoing calls. Due to a peculiarity in the UARTs used on all serial¨ ports, at 2400 baud whacking CR will not work to determine¨ baud rate; you must hit the space bar instead. Fido will¨ accept CR or space at all baud rates, but you must use space¨ at 2400. It is not a software problem but a hardware one. The file K)ill command now works. It will prompt for¨ a filename, accept wildcards, and will delete the names from¨ FILES.BBS. The Novation SmartCat works now. The problem was¨ that Novation radically changed the command structure, and¨ provided a manual errata sheet; I did not have the errata¨ sheet. The 300 baud only Hayes should work as well; the¨ problem was that the modem sends all results with odd or¨ even parity, and Fido did not strip it when looking for¨ result codes. For those who care, the packet names for Fidonet¨ messages and file lsts has changed. The new format is: mmmmnnnn.OUT mmmmnnnn.FLO Where: mmmm is the Net #, in Hex, zero filled, and nnnn is the Node #, in hex, also zero filled. For instance, a packet destined for Node #56 in Net¨ #78, the packet name is: 004E0038.OUT 004E0038.FLO On the same subject, a new keyword has been added to¨ the route list, beyond the changes mentioned below. This is: EXTERNAL-MAIL This causes FidoNet to not delete it's packets and¨ file lists, and mark all mail packeted as (SENT), or Killed¨ as necessary. This is specifically for the case where¨ FidoNet messages are transferred manually through some sort¨ of gateway, such as a mainframe. This entire process can now¨ be automated by: (1) Creating a schedule to handle the mail that is to be¨ shipped in an abnormal fashion. Make the schedule only one¨ minute long. (2) Make an External schedule terminate with some¨ detectable value, immediately following the special Fidonet¨ schedule. (3) In the route list for that schedule, add the keyword¨ EXTERNAL-MAIL. This complicated process causes Fidonet to create¨ the packets and file lists for the specified node(s),¨ leaving them on disk, and marking the messages as if they¨ were sent normally. The external event must be used to¨ "mail" the packets. When this external mailing is complete,¨ Fido can be returned to normal operation, either to Fido¨ mode or another FidoNet event. Please note that if you "blow it", and lose the¨ packets, the process cannot be repeated for the same¨ messages, as FidoNet will marked them as sent as if they¨ were mailed in the usual fashion. Packets should be deleted¨ when complete. MMMMNNNN.FLO is a string of pathnames; it can¨ be fed to a comm. program to transfer any attached files as¨ well. The receiving end will need to correlate the lists of¨ files with the message packets. Changed the message status display from (FORWARDED)¨ to (IN TRANSIT). Much more meaningful. Only the message is¨ changed. FidoNet message entry (picking a node number) has¨ changed, and there is a new help file; NODES.HLP. This is¨ displayed by entering ? at the prompt for a net/node number¨ at the E)nter message prompt in the FidoNet section. PREVIOUSLY UNDOCUMENTED: "New" questionaire: QNEWUSER.BBS. Answers go into¨ ANEWUSER.BBS. This is in the new-user signon loop. This is for new¨ or existing users who don't get to log on. (Either a private¨ system, or they forgot their password.) There are now two ways to handle this case; the¨ first is the current way: NOPWD.BBS is displayed, the user¨ gets to enter a message to the sysop, then is logged off. Now however, if the questionaire QNEWUSER.BBS¨ exists, the get to fill out the questionaire instead of¨ NOPWD.BBS, and then logged off immediately, instead of a¨ message to the sysop. The questionaire can be only displayed¨ text, for the case where you do not want any input from new¨ users. PREVIOUSLY UNDOCUMENTED: For all .BBS text files (bulletins, etc) two control¨ characters allow disabling and enabling users Control-C and¨ Control-K: ^B Prevent Control-C aborts ^C Allow Control-C aborts If ^B is found, the caller cannot abort the display¨ of a .BBS text file. ^C reenables it. The default is¨ enabled. EXAMPLE: ^B This cannot be canceled with Control-C ^C This and all following text can be canceled with¨ Control-C. PREVIOUSLY UNDOCUMENTED: At the prompt for entering a node number, a disk¨ file can be specified instead of a node number. (This was¨ SYSOP only in previous versions.) The disk file name must¨ not start with a digit. The disk file is assumed to contain¨ a list of node numbers, as would be entered manually. The¨ limit is 300 characters maximum. The following structures have been changed. The¨ route table has been deleted, and its functions moved into¨ nmap. Most other changes consist of using previously zero¨ fields. Starred items were filled in as zeros in previous¨ versions. /* Message header structure. The message text is just a long¨ string. */ struct _msg { char from[36]; /* who from, */ char to[36]; /* who to, */ char subj[72]; /* message subject, */ char date[20]; /* creation date, */ int times; /* number of times read, */ int dest; /* destination node, */ int orig; /* originating node */ int cost; /* actual cost of msg */ * int orig_net; /* originating net */ * int dest_net; /* destination net */ int caca[4]; /* extra space, */ unsigned reply; int attr; /* message type, below */ int up; }; /* MAIL.SYS file structure */ struct _mail { int node; /* local node number, */ float fudge; int rate; /* baud rate */ char mailpath[80]; /* path to find mail in */ char filepath[80]; /* mail file path */ int net; /* net number */ int alt_node; int alt_net; }; The net field was added, and the node (.number)¨ field has a special meaning when the net number is -1. NET NODE -1 xx NODELIST.SYS revision xx 00 Defines a HOST The first entry in NODELIST.SYS is the revision¨ record. Fido 10I checks for a correct revision marker, and¨ if it does not match, Fido recompiles NODELIST.SYS. /* Node descriptor. (NODELIST.SYS) */ struct _node { int number; /* node number, */ int net; /* net number */ int cost; /* cost per minute to call */ int rate; /* baud rate */ char sched; /* schedule tag */ char name[14]; /* node name */ char phone[40]; /* phone number */ char city[40]; /* city and state, */ }; /* Message packet header. */ #define PKTVER 2 struct _pkthdr { int orig_node; /* originating Node # */ int dest_node; /* destination node */ int year,month,day,hour,minute,second; int rate; /* baud rate */ int ver; /* packet version */ * int orig_net; /* originating net number */ * int dest_net; /* destination net number */ int extra[17]; }; .pa FidoNet network organization change T. Jennings 10 April 85 This covers the new capabilities of Fido version¨ 10I. Please do not implement net numbers yet! In order to¨ use net numbers, we have to get the entire net swapped over¨ to this new software, and issue net numbers. If you do not do so already, please make sure you¨ read FidoNews, the FidoNet newsletter. All network changes¨ are being discussed there. Get back issues if necessary.¨ This is extremely important if you are part of the public¨ domain FidoNet. FidoNews can be downloaded from Fido #375, where it¨ is published, or from most Fido systems, such as #1 or #51. 10H starts a new type of FidoNet organization. It is¨ backwards compatible, but we will be swapping over to the¨ new method as soon as possible. This new organization allows¨ organizing the net and the node list on a region by region¨ basis, instead of the monolithic centrally managed list,¨ though there will still be a central list. In previous versions, each different system was¨ identified by a single number, the node number. This works¨ just fine, and the number of nodes that can be accomodated¨ is 32,767. The new way allows a second identifier, the net¨ number. There can be 32,767 nets, each with 32,767 nodes.¨ Not likely we'll use up all the numbers! One annoyance when trying to enter a Fidonet message¨ on old Fidos is if you type "?" at the E command prompt, you¨ get 250 node listings ... not exactly what most people like¨ to see. The prompt now asks: ?=Help, #=List NODES /=List NETS Entering / will list all the local nets; you will¨ probably get no more than 20 listings, a very manageable¨ number. Once you select a net, you can then enter # to list¨ the nodes in that net; once again, a very manageable number,¨ the biggest net is SoCal, with 30 something nodes. It also allows you to enter a specific net/node¨ combination all at once, like: 55/66 Which means Net #55, Node #66. Handy if you send¨ mail to a specific node all the time. Before everyone gets a copy of 10H, the net will¨ operate as it does now. Everyone will belong in Net #1. Busy¨ areas such as SoCal and STL will eventually become their own¨ nets; they will be assigned one net number for the entire¨ region, and after that they can pick node numbers as they¨ please. STL will pass out net numbers as it now does node¨ numbers. Each local net will generate its own node list,¨ with routing tables, etc just like Fido 51 in STL does now.¨ The format will be axactly the same. STL will then merely¨ take those local nodelists, stick them all together, and¨ pass it out. Nodes that dont fall into any local net will remain¨ part of Net #1, just like it is now. If there is only one of¨ you in East Overshoe, you wont be burdened with the extra¨ work involving a local node list. NODE LIST CHANGES The node list has to be changed as well. The change¨ here is also pretty minimal. There has to be some way to¨ specify which net a node belongs to. The current scheme assumes we are in the same net.¨ (Well, we ARE, and we will remain so.) An example old¨ fashioned node list entry looks like: .... 0050 25 1200 Crystal_Caver1-512-263-5805 Austin.........TX 0051 25 1200 DECUS_Central1-314-432-4129 St_Louis.......MO 0052 25 1200 TOPCC 1-805-499-8378 Thousand_Oaks..CA 0053 25 1200 S.E._Prof_Fid1-404-928-1876 Woodstock......GA .... All of the nodes are in numeric order as well. The¨ new scheme involves two changes: (1) Placing all of a local net's nodes in the same place in the node list, (2) Specifying the local nets host at the top of the list. IMPORTANT: It is an absolute no-no to "sort" the¨ node list. This will totally wreck everything. The order of¨ the node list is now an important part of its structure. DO¨ NOT CHANGE THE ORDER OF THE NODE LIST! There were two major¨ reasons for doing this, both not needed any more: (1) to put¨ your own node at the top of the list, so Fido wouldnt be so¨ damn slow listing message. Repaired: Fido wont list the node¨ name and location if it is YOUR NODE. (2) sorting by city¨ and state to make the list manageable. The organization¨ itself takes care of this. Two keywords has been introduced into the node list;¨ the word "HOST" and "REGION", these change the meaning of¨ the node list entry it is on. Both are handled the same, but¨ HOST automatically does routing that used to be done in the¨ route lists. More on this later. A sample entry for a local net is shown below. Note¨ that all of the St. Louis nodes follow one another; they can¨ no longer be sprinkled through the node list. The special line before the normal listing for node¨ 4 defines the local nets host. The "2" is not the node¨ number, but the net number. It says that all node entries¨ that follow it belong to net #2, until another HOST line is¨ found. Note also that the host is also a regular node, 51.¨ The HOST line merely defines who is the host. This entry, as¨ you might expect after thinking about it, does affect¨ routing; this is covered below. A host is also treated as¨ "node 0", so that it is possible to send a message to "host"¨ or 51, and the message will get there. This is a special¨ case, and has a special meaning also covered below. HOST 2 25 1200 DECUS_Central1-314-432-4129 St_Louis.......MO 0004 25 1200 Bulldog 1-314-441-9297 St_Louis.......MO 0010 25 1200 MDC_RCC 1-314-234-1462 St_Louis.......MO 0016 25 1200 Mikes_Board 1-314-726-3448 St_Louis.......MO 0017 25 1200 DCA_BBS 1-314-962-0395 St_Louis.......MO 0022 25 1200 PCLUG 1-314-576-2743 St_Louis.......MO 0051 25 1200 DECUS_Central1-314-432-4129 St_Louis.......MO HOW THIS AFFECTS ROUTING The routeing works as previously documented; the¨ only real change is that Fido will do some of it¨ automaticaly now instead of having to be put into the route¨ list. HOST basically causes automatic routing to be done¨ by Fido, instead of requiring route lists as in previous¨ versions. Once we swap over to the new method, you will not¨ need to pecify the routing for hosts. When you enter a¨ message to say Fido #4, Fido will automatically route it to¨ Fido #51 for you. REGION does not do any of this automatic routing; it¨ only affects how messages are entered and listed. Mail within your own net is never affected by this¨ special routing; if you and another node are both in the¨ same net, then mail you send there will go directly, just as¨ in previous versions. (You can of course specify routing¨ still in the route list, but you have to do it on purpose.) ROUTE LISTS Route lists are the ROUTE.BBS, ROUTE.A, ROUTE.B, etc¨ files. You can still specify routing as necessary, like¨ before. The only difference is that if the nodes are not in¨ your own net, you will have to specify the net number as¨ well as the node number. This is described in detail below. Fido also understands a special "node number", the¨ word "ALL". This means "all nodes in all nets". This is¨ useful for incoming hosts, to allow routing mail from any¨ node in the world to their own local nodes. For instance: send-to 4,16,17,22,10,76 accept-from all ... allows Fido #51 to receive mail from the world¨ and send it to it's own local nodes. There is also a new keyword that Fido understands,¨ its use will become obvious later: Net N Assume Net #N as the default net for all following¨ route list statements. This is only to allow easy entry of¨ lots of net/node number combinations. This will be explained¨ further below. NET/NODE NUMBERS Previous versions accepted only node numbers on¨ route statements, such as "send-to 11,22,33,44" or "schedule¨ B 66,77,88,99", etc. These forms are still accepted, but¨ Fido assumes that the node numbers belong to your own net. To specify nodes not in your net, you must use the¨ "long form" of node/net, such as "send-to 4/11,4/22,4/33" or¨ "schedule B 100/66,100/77,100/88", etc. When you specify the same net number a lot, you can¨ use the new "NET" keyword. What it does is set the default¨ net to NN, instead of assuming your own net number. One of¨ the above lines could be done as: Net 100 schedule b 66,77,88,99 ......................................... DECOUPLED MODE Fido 10h also has a new mode to accomodate seperate¨ networks; decoupled mode. Decoupled here means that instead¨ of knowing all about all nodes in a different (from the one¨ you are in) net, it will allow mail to nodes within a¨ different net knowing only the host. Currently, when you enter a node number, Fido checks¨ it againts the list; if not found, Fido complains. This¨ requires that all nodes in all nets be in the nodelist. In the future, this may be impractical, especially¨ for "private" nets. Decoupled mode basically tells Fido to¨ not care if it can't find a specific node in a specific net. Note that this only affects different networks; Fido¨ still requires knowing all about nodes within the current¨ network. In decoupled mode, when a node number entered cannot¨ be found in the list for that net, Fido sends it to node #0,¨ the host for that net. The host must be in the nodelist. If¨ when routing a message that does not appear in the node¨ tables, it will be sent to the host as well. Decoupled mode is enabled with /C on the command¨ line. Please do not use it for normal FidoNet operation. -------------------------------------------------------- Fido Version 10C Errata Sheet T. Jennings 25 Jan 85 These are changes made in version 10c from previous¨ version 10's. Note that this may conflict with what the¨ manual says; please note the changes. MESSAGE AREAS Finally, yes finally, Fido understands the idea of¨ 'Last Message Read'. You no longer have to memorize where¨ you left off reading messages since you were last on. Fido now remembers the last message you read in the¨ LAST NINE MESSAGE AREAS, not all of them. This is because¨ that is all the extra space I could find in the user¨ records. It should be fine for most Fidos. When you enter a message area, Fido will tell you: "Highest msg is HH, last one you read was LL" This will tell you if there are any messages there¨ that you haven't read. A little known fact of previous Fidos¨ was that "*" meant HIGHEST MESSAGE; when you entered "R *"¨ it read the highest message. * now means "The one after the last one you read".¨ So, to start reading where you left off, just enter: R * And if the last message you read was 50, it will¨ start displaying messages at 51. You can enter * anytime¨ Fido asks you for a message number. SYSOPS: The renumber command (8) will correct the message¨ numbers now stored in the user list. The old program,¨ RENUM.EXE, will not handle the message numbers stored in the¨ user list; everyone will be confused. Do not use it anymore. ......................................... MODEMS Fido is a lot smarter about modems now. Since it¨ already knows what type of modem you are using (the /J¨ switch) it might as well initialize the modem the way it¨ wants, instead of forcing you to use the complicated¨ FIDOMDM.BBS. Fido will initialize the modem for you¨ automatically; AFTER THAT, it will do the initialization¨ with FIDOMDM.BBS as specified in the manual. This allows you¨ to override Fido's default initialization if yuo want; 99%¨ of all installations will not need to however. You can now¨ (and should) DELETE FIDOMDM.BBS. The IBM PC Junior has it's own modem type, and¨ Novation SmartCat will work properly, even with XMODEM. NEW MODEM TYPES These are the modem types specified with the /J¨ switch. 1 Hayes 2 DF03 3 Racal Vadic VA212 4 Novation SmartCat 5 US Robotics 7 Prentice POPCOM 8 IBM PC Junior NOTE: For PopCom and GDC modems, and all modems that¨ are a "superset" of the Hayes, any additional initialization¨ must be done in FIDOMDM.BBS. ......................................... FIDONET ROUTING: These changes afect only those Fidos acting as hosts¨ for other Fidos. If you are not a host, then ignore this, or¨ maybe read it out of curiosity. Some very substantial changes were made here. If you¨ are a host, you will have to make changes; however, the¨ changes should be a pleasant suprise instead of a pain. MULTIPLE ROUTE LISTS: Instead of just the single route list, ROUTE.BBS,¨ Fido will support one route list per schedule. It is simple: Schedule A ROUTE.A Schedule B ROUTE.B ... ... Schedule W ROUTE.W The way it works is: Fido first looks for the¨ specific route list, if it doesn't find it, it uses¨ ROUTE.BBS as before. NEW ROUTING COMMANDS The contents of the route list have been changed,¨ too. One keyword was dropped, and one more added. FORWARD-TO No longer supported SEND-TO node node node node ... Now by default, ALL NODES ARE MARKED "FORWARD-TO".¨ The ACCEPT-FROM list is the only thing that controls which¨ messages go out. It turns out that the FORWARD-TO was¨ totally redundant in every working route list examined; I¨ won't go into the details here why. Any FORWARD-TOs found¨ will be totally ignored. The big problem was that a host needs to run more¨ than one schedule, and there was only one route list. This¨ meant that there had to be conflicting or overlapping¨ ACCEPT-FROMs and FORWARD-TOs; with the new multiple route¨ lists, there are no more conflicts. Also, since when you are editing a route list, you¨ only have to think about the one schedule; you will find¨ that they are now very small, and easy to read. The new keyword, SEND-TO is like SCHEDULE: it means,¨ "In this schedule (whatever it is) send mail to these nodes"¨ followed by a list of nodes. For instance, if it is schedule¨ B, and you are to send mail to your local nodes, you would¨ say "SEND-TO node node node node ...". It is the same as¨ saying (in this example) "SCHEDULE B node node node node¨ ...". You can think of it as doing "SCHEDULE (the current¨ schedule) node node node ...". SPECIAL NODE NUMBER: A special "number" has been added, and can be used¨ anywhere that you would put a list of node numbers: ALL all nodes in the list For instance, if you route all your mail to a single¨ outgoing host, instead of putting in all possible numbers¨ (tedious, when there are 150 nodes), you can now do: ROUTE-TO xx ALL This works with SCHEDULE, SEND-TO, ACCEPT-FROM and¨ ROUTE-TO. AN EXAMPLE: You are both incoming and outgoing host for nodes¨ 101, 102, and 103. You are node 200. (This used to be the¨ worst thing possible; the way you had to to it before was¨ ACCEPT-FROM all and FORWARD-TO all; this meant it would send¨ anyones mail anywhere!). SCHEDULES: B 12:30AM - 12:59 AM local to host A 1:00 - 2:00 AM national C 2:01 - 2:30 AM host to local ROUTE.B: (empty, host is read only) ROUTE.A: ACCEPT-FROM 101 102 103 ROUTE-TO (the usual route-to's) ROUTE.C: ACCEPT-FROM ALL SEND-TO 101 102 103 Nice and simple. Make sure there is no ROUTE.BBS.¨ ROUTE.B does nothing in the host; since it's only waiting¨ for mail from the locals, it doesnt need (or want!) to send¨ to anyone. It is just gathering messages that may be sent¨ during Schedule A. ROUTE.A says it's OK to send out mail only from it's¨ local nodes, plus obviously any mail entered at the host.¨ The ROUTE-TOs are the ones out of the node list. Since only¨ the locals are listed under ACCEPT-FROM, mail from say node¨ #1 will not be sent, but marked as ORPHAN. ROUTE.C says forward mail from any node (ACCEPT-FROM¨ ...) but send only to the locals 101, 102, 103. I think I hear some groaning out there, but the¨ changes will be worth it. It means that you can now¨ implement any network of any complexity and number of levels¨ with no worries of forwarding mail you do not want to.