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; <WHOAMI.H> 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 <[email protected]>
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.