Annotation of 43BSD/contrib/pathalias/pathalias.1, revision 1.1

1.1     ! root        1: .\" Thanks to Alan Silverstein for help with the manual entry.
        !             2: .TH PATHALIAS 1 
        !             3: .SH NAME
        !             4: pathalias, makedb \- electronic address router
        !             5: .SH SYNOPSIS
        !             6: .B pathalias
        !             7: [
        !             8: .B \-ivc
        !             9: ] [
        !            10: .BI \-t \0link
        !            11: ] [
        !            12: .BI \-l \0host
        !            13: ] [
        !            14: .BI \-d \0link
        !            15: ] [
        !            16: .ig
        !            17: .\" the -g option is for pathparse.  it's not really used by pathalias.
        !            18: .BI \-g \0file
        !            19: ] [
        !            20: ..
        !            21: .I files
        !            22: ]
        !            23: .PP
        !            24: .B makedb
        !            25: [
        !            26: .B \-a
        !            27: ] [
        !            28: .BI \-o \0dbmfile
        !            29: ] [
        !            30: .I files ...
        !            31: ]
        !            32: .ad b
        !            33: .SH DESCRIPTION
        !            34: .I pathalias
        !            35: computes the shortest paths and corresponding routes from one host
        !            36: (computer system) to all other known, reachable hosts.
        !            37: .I pathalias
        !            38: reads host-to-host connectivity
        !            39: information on standard input or in the named
        !            40: .IR files ,
        !            41: and writes a list of
        !            42: host-route pairs on the standard output.
        !            43: .PP
        !            44: .I makedb
        !            45: takes
        !            46: .I pathalias
        !            47: output and creates or appends to a
        !            48: .IR dbm (3)
        !            49: database.
        !            50: .PP
        !            51: Here are the
        !            52: .I pathalias
        !            53: options:
        !            54: .TP 6
        !            55: .B \-i
        !            56: Ignore case:  map all host names to lower case.
        !            57: By default, case is significant.
        !            58: .TP
        !            59: .B \-c
        !            60: Print costs: print the path cost (see below) before each host-route pair.
        !            61: .TP
        !            62: .B \-v
        !            63: Verbose: report some statistics on the standard error output.
        !            64: .ig
        !            65: .\" the -g option is for pathparse and is not for public consumption (yet!).
        !            66: .TP
        !            67: .BI \-g \0file
        !            68: Dump the edges of the graph into the named file.
        !            69: ..
        !            70: .TP
        !            71: .BI \-l \0host
        !            72: Set local host name to
        !            73: .IR host .
        !            74: By default,
        !            75: .I pathalias
        !            76: discovers the local host name in a system-dependent way.
        !            77: .TP
        !            78: .BI \-d \0arg
        !            79: Declare a dead link, host, or network (see below).
        !            80: If
        !            81: .I arg
        !            82: is of the form ``host1!host2,'' the link from host1 to host2
        !            83: is treated as an extremely high cost (\fIi.e.\fP, \s-1DEAD\s0) link.
        !            84: If
        !            85: .I arg
        !            86: is a single host name,
        !            87: that host is treated as dead
        !            88: and is be used as an intermediate host of last resort on any path.
        !            89: If
        !            90: .I arg
        !            91: is a network name, the network requires a gateway.
        !            92: .TP
        !            93: .BR  \-t \0arg
        !            94: Trace input for link, host or network on the standard error output.
        !            95: The form of
        !            96: .I arg
        !            97: is as above.
        !            98: .PP
        !            99: Here are the
        !           100: .I makedb
        !           101: options:
        !           102: .TP 6
        !           103: .B \-a
        !           104: Append to an existing database;
        !           105: by default,
        !           106: .I makedb
        !           107: truncates the database.
        !           108: .TP
        !           109: .BI \-o \0dbmfile
        !           110: Identify the output file base name.
        !           111: .SS \fIpathalias\fP Input Format
        !           112: A line beginning with white space continues the preceding line.
        !           113: Anything following `#' on an input line is ignored.
        !           114: .PP
        !           115: A list of host-to-host connections consists of a ``from'' host in column 1,
        !           116: followed by white space,
        !           117: followed by a comma-separated list of ``to' hosts, called
        !           118: .IR links .
        !           119: A link may be preceded or followed by a network character to use
        !           120: in the route.
        !           121: Valid network characters are `!' (default), `@', `:', and `%'.
        !           122: A link (and network character, if present) may be
        !           123: followed by a ``cost'' enclosed in parentheses.
        !           124: Costs may be arbitrary
        !           125: arithmetic expressions involving numbers, parentheses, `+', `\-', `*',
        !           126: and `/'.
        !           127: The following symbolic costs are
        !           128: recognized:
        !           129: .PP
        !           130: .RS
        !           131: .nf
        !           132: .ta 14mR 17m
        !           133: \s-1LOCAL\s0   25      (local-area network connection)
        !           134: \s-1DEDICATED\s0       95      (high speed dedicated link)
        !           135: \s-1DIRECT\s0  200     (toll-free call)
        !           136: \s-1DEMAND\s0  300     (long-distance call)
        !           137: \s-1HOURLY\s0  500     (hourly poll)
        !           138: \s-1EVENING\s0 1800    (time restricted call)
        !           139: \s-1DAILY\s0   5000    (daily poll, also called \s-1POLLED\s0)
        !           140: \s-1WEEKLY\s0  30000   (irregular poll)
        !           141: .fi
        !           142: .RE
        !           143: .PP
        !           144: In addition,
        !           145: .SM DEAD
        !           146: is a very large number (effectively infinite),
        !           147: and
        !           148: .SM HIGH
        !           149: and
        !           150: .SM LOW
        !           151: are \-5 and +5 respectively,
        !           152: for baud-rate or quality bonuses/penalties.
        !           153: These symbolic costs represent an imperfect measure of bandwidth,
        !           154: monetary cost, and frequency of connections.
        !           155: For most mail traffic, it is important to minimize the number
        !           156: of intermediaries in a route,
        !           157: thus,
        !           158: .IR e.g. ,
        !           159: .SM HOURLY
        !           160: is far greater than
        !           161: .SM DAILY
        !           162: / 24.
        !           163: If no cost is given,
        !           164: a default of 4000 is used.
        !           165: .PP
        !           166: For the most part, arithmetic expressions that mix symbolic constants
        !           167: other than
        !           168: .SM HIGH
        !           169: and
        !           170: .SM LOW
        !           171: make no sense.
        !           172: .IR E.g. ,
        !           173: if a host calls a local neighbor whenever there is work,
        !           174: and additionally polls every evening,
        !           175: the cost is
        !           176: .SM DIRECT,
        !           177: .B not
        !           178: .SM DIRECT+EVENING.
        !           179: .PP
        !           180: Some examples:
        !           181: .PP
        !           182: .RS
        !           183: .nf
        !           184: .ta 10m 15m
        !           185: down   princeton!(\s-1DEDICATED\s0), tilt,
        !           186:        %thrash(\s-1LOCAL\s0)
        !           187: princeton      topaz!(\s-1DEMAND\s0+\s-1LOW\s0)
        !           188: topaz  @rutgers(\s-1LOCAL\s0)
        !           189: .fi
        !           190: .RE
        !           191: .PP
        !           192: If a link is encountered more than once,
        !           193: the least-cost occurrence dictates the cost and network character.
        !           194: Links are treated as bidirectional, to the extent that a
        !           195: .SM DEAD
        !           196: reverse link is assumed unless better information is available.
        !           197: .PP
        !           198: The set of names by which a host is known by its neighbors is
        !           199: called its
        !           200: .IR aliases .
        !           201: Aliases are declared as follows:
        !           202: .PP
        !           203: .RS
        !           204: name = alias, alias ...
        !           205: .RE
        !           206: .PP
        !           207: The name used in the route to or through aliased hosts
        !           208: is the name by which the host is known
        !           209: to its predecessor in the route.
        !           210: .PP
        !           211: Fully connected networks, such as the
        !           212: .SM ARPANET
        !           213: or a local-area network,
        !           214: are declared as follows:
        !           215: .PP
        !           216: .RS
        !           217: net = {host, host, ...}
        !           218: .RE
        !           219: .PP
        !           220: The host-list may be preceded or followed by a routing
        !           221: character, and may be followed by a cost:
        !           222: .PP
        !           223: .RS
        !           224: .nf
        !           225: princeton-ethernet = {down, up, princeton}!(\s-1LOCAL\s0)
        !           226: \s-1ARPA\s0 = @{sri-unix, mit-ai, su-score}(\s-1DEDICATED\s0)
        !           227: .fi
        !           228: .RE
        !           229: .PP
        !           230: See also the sections on
        !           231: .I gateways
        !           232: and
        !           233: .I domains
        !           234: below.
        !           235: .PP
        !           236: Connection data may be given while hiding host names
        !           237: by declaring
        !           238: .PP
        !           239: .RS
        !           240: private {host, host, ...}
        !           241: .RE
        !           242: .PP
        !           243: .I pathalias
        !           244: will not generate routes for private hosts, but may produce routes
        !           245: through them.
        !           246: The scope of a private declaration extends from the declaration to the end of
        !           247: the input file in which it appears.
        !           248: It is best to put private declarations at the beginning of the appropriate
        !           249: input file.
        !           250: .SS Output Format
        !           251: A list of host-route pairs is written to the standard output,
        !           252: where route is a string appropriate for use with
        !           253: .IR printf (3),
        !           254: .IR e.g. ,
        !           255: .PP
        !           256: .RS
        !           257: .nf
        !           258: .ta 10m 20m
        !           259: rutgers        princeton!topaz!%s@rutgers
        !           260: .fi
        !           261: .RE
        !           262: .PP
        !           263: The ``%s'' in the route string should be replaced by the
        !           264: user name at the destination host.
        !           265: (This task is normally performed by a mailer.)
        !           266: .PP
        !           267: Except for
        !           268: .I domains
        !           269: (see below),
        !           270: the name of a network is never used in
        !           271: expansions.
        !           272: Thus, in the earlier example, the path from down to
        !           273: up would be ``up!%s,'' not ``princeton-ethernet!up!%s.''
        !           274: .SS Gateways
        !           275: A network is represented by
        !           276: a pseudo-host and a set of network members.
        !           277: Links from the members to the network have the weight given in
        !           278: the input, while the cost from the network to the members is zero.
        !           279: If a network is declared dead on the command line (with the
        !           280: .B \-d
        !           281: option),
        !           282: the member-to-network links are marked dead,
        !           283: which discourages paths to members by way of the network.
        !           284: .PP
        !           285: If the input also shows a link from a host to the network,
        !           286: then that host will be preferred as a gateway.
        !           287: Gateways need not be network members.
        !           288: .PP
        !           289: .IR E.g. ,
        !           290: suppose
        !           291: .SM CSNET
        !           292: is declared dead on the command line
        !           293: and the input contains
        !           294: .PP
        !           295: .RS
        !           296: .nf
        !           297: .ta 10m 20m
        !           298: \s-1CSNET\s0 = {...}
        !           299: csnet-relay    \s-1CSNET\s0
        !           300: .fi
        !           301: .RE
        !           302: .PP
        !           303: Then routes to
        !           304: .SM CSNET
        !           305: hosts will use csnet-relay as a gateway.
        !           306: .PP
        !           307: .I pathalias
        !           308: discourages forwarding beyond dead networks.
        !           309: .SS Domains
        !           310: A host or network whose name begins with `.' is called
        !           311: a domain.
        !           312: Domains are presumed to require gateways,
        !           313: .IR i.e. ,
        !           314: they are \s-1DEAD\s0.
        !           315: The route given by a path through a domain is similar to
        !           316: that for a network, but here
        !           317: the domain name is tacked onto the end of the next host.
        !           318: Subdomains are permitted.
        !           319: .IR E.g. ,
        !           320: .PP
        !           321: .RS
        !           322: .nf
        !           323: .ta 1i
        !           324: .ta 10m 20m
        !           325: harvard        .\s-1EDU\s0
        !           326: \&.\s-1EDU\s0 = {.\s-1BERKELEY\s0}
        !           327: \&.\s-1BERKELEY\s0     ernie
        !           328: .fi
        !           329: .RE
        !           330: .PP
        !           331: yields
        !           332: .PP
        !           333: .RS
        !           334: .nf
        !           335: .ta 10m 20m
        !           336: ernie  ...!harvard!ernie.\s-1BERKELEY\s0.\s-1EDU\s0!%s
        !           337: .fi
        !           338: .RE
        !           339: .PP
        !           340: Output is given for the nearest gateway
        !           341: to a domain,
        !           342: .IR e.g. ,
        !           343: the example above gives
        !           344: .PP
        !           345: .RS
        !           346: .nf
        !           347: .ta 10m 25m
        !           348: \&.\s-1EDU\s0  ...!harvard!%s
        !           349: .fi
        !           350: .RE
        !           351: .PP
        !           352: Output is given for a subdomain if it has a different
        !           353: route than its parent domain, or if all of its ancestor domains are private.
        !           354: .SS Databases
        !           355: .I Makedb
        !           356: builds a
        !           357: .IR dbm (3)
        !           358: database from the standard input or from the named
        !           359: .IR files .
        !           360: (\fIMakedb\fP replaces the obsolete 
        !           361: .B \-b
        !           362: option of
        !           363: .IR pathalias ,
        !           364: which is no longer recognized.)
        !           365: Input is expected to be sequence of
        !           366: .SM ASCII
        !           367: records,
        !           368: each consisting of a key field and a data field separated by a single tab.
        !           369: If the tab is missing, the data field is assumed to be empty.
        !           370: .SH FILES ET AL.
        !           371: .ta \w'/usr/local/lib/palias.{dir,pag}     'u
        !           372: /usr/local/lib/palias.{dir,pag}        default dbm output
        !           373: .br
        !           374: newsgroup mod.map      likely location of some input files
        !           375: .br
        !           376: .IR getopt (3),
        !           377: available from newsgroup mod.sources (if not in the C library).
        !           378: .SH BUGS
        !           379: The order of arguments is significant.
        !           380: In particular,
        !           381: .B \-i
        !           382: and
        !           383: .B \-t
        !           384: should appear early.
        !           385: .PP
        !           386: .I pathalias
        !           387: can generate hybrid (\fIi.e.\fP ambiguous) routes, which are
        !           388: abhorrent and most certainly should not be given as examples
        !           389: in the manual entry.
        !           390: .PP
        !           391: Multiple `@'s in routes are prohibited by many mailers, so
        !           392: .I pathalias
        !           393: resorts to the ``magic %'' rule when appropriate.
        !           394: This convention is not documented anywhere, including here.
        !           395: .PP
        !           396: Domains constitute a futile attempt to defeat anarchy and otherwise
        !           397: retard progress.
        !           398: .SH AUTHORS
        !           399: Steve Bellovin (ulysses!smb)
        !           400: .br
        !           401: Peter Honeyman (princeton!honey)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.