Aunc.3341 net.general,net.unix-wizards utzoo!decvax!duke!unc!usenet Fri Apr 23 12:20:45 1982 automatic routing of uucp mail I've finally come to the conclusion that I'm not going to do any more work on my uucp routing program; accordingly, I will broadcast it on net.sources within 2 weeks. A major component of this is the database; I have a fairly large one now, but could use more data. Please! Send me your path data, so I can distribute it. Briefly, what I want is a list of the systems you will forward mail to with reasonable promptness. If you don't want to take the time to figure out my syntax, just send me a list of names, remembering that the simpler the list is, the easier it will be for me to edit into the right format. (That is, don't include comments in the body of the list.) Some indication of frequency of connection is useful as well. Also, list *only* the sites to which you will forward mail; this is to be a public database that I'm distributing. It's easy to include your own private connection data locally. Connection data should be sent to unc!usenet; questions should be sent to me (unc!smb) directly. --Steve Bellovin Dept. of Computer Science UNC, Chapel Hill ------------- Below is a description of the input format written by Brad Templeton at Waterloo: ------------- List each site to which you have a uucp connection that you wish to make public. To list a site, give its UUCP name, followed by a value describing how useful the connection is in parentheses. Your cost can be given as a standard arithmetic expression. The lower the number, the better the line is. The following 'manifests' are known to the program with the following values: (If you don't give an expression, 3000 is default) LOCAL = 10 ARPA = 31 DED = 95 DEDICATED = 95 DIRECT = 200 DEMAND = 300 DIAL = 300 DIALED = 300 HOURLY = 500 EVENING = 1800 /* Like DEMAND, but only at night */ POLLED = 5000 DAILY = 5000 WEEKLY = 30000 DEAD = INF/2 HIGH = -5 /* baud rate bonus */ LOW = 5 /* baud rate penalty */ Delimit your entries with commas. Type as many lines as you like, (naturally, don't put a comma after the last entry) and enter a null line when you are done. Here is an example: decvax(2*HOURLY), watcgl(DIRECT), watarts(DEMAND), hcr(POLLED), cbosg(WEEKLY) blart ------------- Below is the documentation I have on the package: ------------- Parameters: -a list all duplicate entries, not just those in the same file -dsite mark the site dead, and do not use any links to or from it -dsiteA!siteB mark the link from 'siteA' to 'siteB' dead -lsite Give the view of the world from 'site' 0 or more map files (if 0, the standard input is used) Output: a list of unreachable sites, and a set of 3-tuples: cost name path A %s in the output string is where the userid should be inserted. Output is generated in dumpmap.c; change that routine to do something like generate a dbm database. Or #define DBM and the code will magically appear.... Input: A site in column 1, followed by white space, followed by a comma-separated list of links. A link-name may be preceeded or followed by a network character to use in the path name, such as ':' for the Berknet or @ for the ARPAnet. Any character may be used if it's enclosed in single quotes; the program will recognize '!', '@', ':', '.', '^', and '%' by itself. The link-name (and network character, if present) may be followed by a "cost" in parentheses. Costs may be arbitrary arithmetic experssions involving numbers, parentheses, '+', '-' (and what hackwork was needed to allow '-' as a sitename character...), '*', and '/'. Several symbolic numbers are defined, such as LOCAL for a high-speed local network, DEDICATED for lines used only for mail and news, POLLED for a system that is called (approximately) daily, etc.; see lex.l for the list. The numbers are intended to represent frequency of connection, which seems to be far more important than baud rates for this type of traffic. Note that there is an assumed high overhead for each hop; thus, HOURLY is far less than 24*DAILY -- I spent a fair amount of time playing with the values to make the output appear right for systems I know about. Add in HIGH (LOW) for baud-rate or quality bonuses (penalties). Links are not bidirectional unless coded both ways. Aliases may be indicated by including lines of the form name = alias [ , alias...] The primary name is used in all expansions. Secondary names may not be referenced until after the alias declaration; following that, they are treated identically to the primary name. Fully connected networks, such as the ARPAnet or the BerkNet, are indicated by a line like net = {host, host, ...} The host-list may be preceeded or followed by a routing character, and the entire thing may be followed by a cost: ARPA = @{sri-unix, mit-ai}(ARPA+5) BerkNet = {c70, ucbvax, Cory}:(DEDICATED) The network name is treated as a host that has bidirectional links to each member host. The cost from a member to the net pseudo-host is 0; the cost specified is used for the downlink to each member. The name of a network is never used in expansions; thus, in the above example, sri-unix's path to mit-ai would be '%s@mit-ai', not '%s@ARPA@mit-ai'. Clever things (or maybe kludges, depending on your perspective) can be done with multiple nets and gateways; see the BerkNet/ARPAnet interface in path.use. If different members of a network have differing connection costs to the net (say, different kinds of IMPs), fake subnets can be built and linked; see path.vdh. The network code often works in surprising ways (it was a last-minute add-on); it is very necessary to test a definition from all points of view. Lines beginning with # are ignored. A line may be continued by starting the next line with white space. Compile-time: If you have a program on your local system that will return the system name, change the definition of LNAME in the Makefile. If you don't have such a program, delete the definition; will be included instead. Usage: Typically, pathalias [tempfiles] localstuff distributed The localstuff (i.e., 'path.local') is used to provide a complete map of the local area, plus any special connections you are authorized to use for mail. The second file is the map that will be broadcast regularly over USENET. Temporary files may be inserted to reflect transient conditions, such as a line being down. ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.