|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 12342 (0x3036) Types: TextFile Names: »part.b«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦2fafebccf⟧ »EurOpenD3/mail/smail3.1.19.tar.Z« └─⟦bcd2bc73f⟧ └─⟦this⟧ »design/part.b«
Part 11: Utilities. This part gives an overview of the various utilities that come with smail. Each of the utilities is listed below, followed by a short description. Some utilities are actually built into the smail program and are accessed by calling the smail program under a different name; such utilities are noted. NOTE: most of the addressing examples are from namei. Namei has a connection with amdahl, glotz and walldrug. To add spice to the discussion a fourth link, to clyde in att.com, will be assumed. Section 11.1: Path tools. Smail has a number of path computation tools to allow the nieve as well as the experienced user to explore paths and to understand what the smail mailer will to with an address. Section 11.1.1: The uupath command. uupath [ -s ] domain ... (builtin) Produces on the output a pure !-route containing the hosts and domains to be traversed in sending mail destined for a given host or domain. The host or domain may be specified as an address, in that case a !-route is found to the first host in the address and the rest of the hosts in the address are appended in !-route form. The returned string will end in %s, for historical reasons. NOTE: if the flag -s is given, smart-host routing may be used, otherwise it will not be. Examples: $ uupath neptune uupath: no route found to neptune $ uupath neptune.att.com amdahl!cbosgd!neptune.att.com!%s $ uupath namei cbosgd!cbatt %s amdahl!cbosgd!cbatt!%s Section 11.1.2: The pathto command. pathto [ -sn ] addr ... (builtin) Given an address, pathto returns a pure !-route which will deliver to that address. If the -n flag is given then the address may not be a pure !-route, but will be acceptible as an address argument to the smail program. As with uupath, -s means don't do smart-host routing. Examples: $ pathto -n postmaster@uts.amdahl.com tron @amdahl:postmaster@uts.amdahl.com tron@namei.uucp $ pathto @sun.com,@seismo.css.gov:rick@uunet.uu.net amdahl!sun!seismo.css.gov!uunet.uu.net!rick $ pathto lda@clyde.att.com mit-athena unknown-hostname clyde!lda namei!mit-athena pathto: no route found to unknown-hostname Section 11.1.3: The optto command. optto [-sn] addr ... (builtin) Given an address, try to find an optimal form for that address. This is done by reparsing address for hosts or domains and computing routes until a host/domain cannot be routed to or no more exist in the address. Then print the address that represented the smallest amount of traversed domains. If -s is specified then use the smart-host router only if there is no route for the first domain. Examples: $ optto -n @berkeley.edu,@cbosgd:root@neptune @amdahl,@cbosgd:root@neptune $ optto sun!seismo!cbatt!amdahl!namei!tron tron Section 11.2: Pathalias map tools. The pathalias program reads maps the as the USENET maps as posted to the ``comp.mail.maps'' newsgroup and converts then into optimized routes to sites from the local site. These collection of tools allow one to build and querry this map database. The route tables produced by these programs are suitable to use by the pathalias router driver. See Section 6.3.1 for details. Section 11.2.1: The pathalias command. pathalias args ... By Steve Bollin, as told to Peter Honeyman. The pathalias program takes map information on input and produces pathalias routing data on output. Examples: $ echo "namei: amdahl, clyde" | pathalias namei %s amdahl amdahl!%s clyde clyde!%s Section 11.2.2: The uuwhere command. uuwhere host ... Return the map file names associated with the given hosts. Examples: $ uuwhere namei cbosgd black-n-decker /usr/spool/uumaps/u.usa.ca.2 /usr/spool/uumaps/u.usa.oh.1 uuwhere: black-n-decker not found in uuwhere database Section 11.2.3: The getmap command. getmap [ directory ] Takes on standard input a shell archive containing map data, as distributed in the USENET comp.mail.maps newsgroup. The map data is installed as files in the given directory. If no directory is specified a site-dependent default is assumed. Section 11.2.4: The mkmap command. mkmap [ -p pathfile ] [ -w wherefile ] [ directory ... file ... ] Builds the pathalias database and uuwhere database either on the given pathfile and wherefile or in site-dependent default locations. The directories will be searched for path files and the files will be taken as pathfiles and the entire mess run through pathalias, and through a where building program. Section 11.2.5: The uuwho command. uuwho host ... Display map data for the given hosts. The map data is generally the collection of maps sent over USENET containing pathalias input for all sites that send such information into the map coordinators. Example: $ uuwho namei #N namei #S Symmetric S/375; 4.2BSD UN*X #O Positron #C Ronald S. Karr #E namei!postmaster #T +1 408 746 7288 #P 3770 Flora Vista, suite 1806, Santa Clara CA 95051 #L 37 20 49 N / 121 59 26 W #U amdahl walldrug bats #W namei!tron; Fri Aug 14 23:56:53 PDT 1987 namei amdahl(HOURLY+HIGH), walldrug(HOURLY), glotz(LOCAL) NOTE: The degree of output formatting may vary. Section 11.3: Database building tools CHONGO: to be written Section 11.3.1: mkdbm mkdbm [ -fvnd ] [ -o output-name ] [ file ... ] Mkdbm takes lines as input and writes them to a set of files in the format produced by the dbm(3X) function library. The key is formed from the characters up to, but not including, a colon (``:'') or white space character. The data after the colon or white space character forms the value associated with the key. If -f is given, the key is folded to lower case before being stored in the database. If no input files are specified, the standard input is read. In addition, if a filename of - is given, the standard input is inserted at that point. The -o option sets the name for the DBM database. If not specified explicitly, the name of the database is taken from the first file argument. If no file arguments are given, or the first such argument is - then the name of the database will be dbm. The mkdbm program can be used to produce DBM files which can then be read by a smail(8) pathalias router or aliasfile director. The router or directory should be configured to use the dbm file access protocol. See smail(5) for more information on routers and directors. For some databases, mkline(1) should be used to form single line records with comments and extra white-space removed. The generated database contains a single nul byte at the end of each key and value. Also a single record containing ``@'' as a key and value is created for compatibility with the Berkeley sendmail(8) program's alias files. The ending nul bytes can be suppressed with the -n option, and the extra ``@'' record can be suppressed with the -d option. Use of -n is incompatible with the smail dbm file access method. When creating the database, temporary DBM files are built in the same directory as the eventual output files. Then, when it is completed, any DBM files currently existing under the target name are removed, mkdbm sleeps between one and two seconds, and then the temporary DBM files are moved to the target names. This database creation method is not compati- ble with the locking method used by Berkeley sendmail. If the -v flags is specified mkdbm writes statistics to the standard output after the database has been built. containing the routing information: .COM sun!%s Stargate.COM ames!cmcl2!uiucdcs!stargate!%s ames ames!%s .ATT.COM mtune!%s mtune mtune!%s Given this file, the command mkdbm -f paths will produce a dbm database in the files paths.pag and paths.dir containing the above entries, with downcased keys. For example, one entry will contain the key stargate.com with an associated value of ames!cmcl2!uiucdcs!stargate!%s. Section 11.3.2: mkhash CHONGO: to be written Section 11.3.3: mksort mksort [ -f ] [ file ... ] Mksort takes lines as input, sorts them and writes them to the standard output. The lines can be of any length, as long as the entire input can be stored in memory. With -f the sort is performed independent of case, so that the letter ``A'' compares equal to the letter ``a'' and ``a'' is always less than ``B.'' If no input files are specified, the standard input is read. In addition, if a filename of - is given, the standard input is inserted at that point. The mksort program can be used in combination with mkline(1) to produce sorted files containing arbitrarily large aliases or paths which can then be read by a smail(8) pathalias router or aliasfile director. The router or director should be configured to use the bsearch file access protocol. See smail(5) for more information on routers and directors. As an example of the use of mksort with mkline consider a file, aliases, containing the following aliasing informa- tion: Postmaster: hustead # Ted Hustead, jr. UUCP-Postmasters: tron, chongo # namei contacts yamato # kremvax contact tron: tron@namei.uucp (Ronald S. Karr) yamato: yamato@kremvax.ussr.comm (Yamato T. Yankelovich) chongo: chongo@eek.uts.amdahl.com (Landon Curt Noll) Given this file, the command mkline aliases | mksort -f will yield: chongo:chongo@eek.uts.amdahl.com Postmaster:hustead tron:tron@namei.uucp UUCP-Postmasters:tron,chongo yamato yamato:yamato@kremvax.ussr.comm Section 11.3.4: mkline mkline [ -l ] [ file ... ] Mkline takes alias files, path files or mailing list files as input and produces output records containing one complete entry per line with all comments and whitespace replaced by zero or one spaces. One space is used if the concatenation of two tokens would otherwise cause ambiguity. For mailing lists, the -l flag should be specified and the output will be a list of addresses. Otherwise, the input is assumed to be alias files or path files and the output is single line entries, with the key always separated from the data by a single colon character (``:''). If no input files are specified, the standard input is read. In addition, if a filename of - is given, the standard input is inserted at that point. Postmaster: hustead # Ted Hustead, jr. UUCP-Postmasters: tron, chongo # namei contacts yamato # kremvax contact tron: tron@namei.uucp (Ronald S. Karr) yamato: yamato@kremvax.ussr.comm (Yamato T. Yankelovich) chongo: chongo@eek.uts.amdahl.com (Landon Curt Noll) then the command mkline aliases will produce: Postmaster:hustead UUCP-Postmasters:tron,chongo yamato tron:tron@namei.uucp yamato:yamato@kremvax.ussr.comm chongo:chongo@eek.uts.amdahl.com As an example of using mkline to compress mailing lists, consider the mailing list: tron@namei.uucp,tron@uts.amdahl.com # Ronald S. Karr yamato@kremvax.ussr.comm # Yamato T. Yankelovich chongo@eek.uts.amdahl.com # Landon Curt Noll Wilt . (the Stilt) Chamberlain@NBA.US # RFC822 doc example The command mkline -l applied to this list will produce: tron@namei.uucp tron@uts.amdahl.com yamato@kremvax.ussr.comm chongo@eek.uts.amdahl.com Wilt.Chamberlain@NBA.US Section 11.3.5: mkblob TRON: to be updated and expanded? mkblob -f [ startup ] [ config ] Given a config file, generate a startup file and place it under the given startup file name or under in the default place for the startup file. If no config file is given, then look for the config file in the default place. Section 11.4: Mailing list tools. CHONGO: add section about tools that add, modify, remove names from mailing lists \f