Relay-Version: version B 2.10.3 beta 11/15/85; site seismo.CSS.GOV Posting-Version: version B 2.10.2 9/3/84; site panda.UUCP Path: seismo!harvard!talcott!panda!sources-request From: sources-request@panda.UUCP Newsgroups: mod.sources Subject: uumail release 2 Message-ID: <1225@panda.UUCP> Date: 24 Dec 85 14:36:14 GMT Sender: jpn@panda.UUCP Reply-To: sob@neuro1.UUCP (Stan Barber) Organization: Neurorology, Baylor College of Medicine, Houston, Tx Lines: 2456 Approved: jpn@panda.UUCP Mod.sources: Volume 3, Issue 68 Submitted by: Stan Barber This version of uumail contains all the fixes reported since the last release. Thanks to those that reported problems and especially those that sent along fixes or improvements. This version also contains some improvements that I saw in the GATech Sendmail Configuration version of uumail to help uumail "know" when the database is being rebuilt. Please be sure to read the README >ESPECIALLY IF YOU RUN A DBM-formated database< .... The next version of uumail will contain some more options to allow header munging and path optimization (I hope). If you already have some ideas or code that you'd like to donate to the cause, send it along. Have a good holiday, or if this comes out in 1986, Have a good year. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # README # makefile # domains # palias # address.1 # address.c # gethostnam.c # getpath.c # opath.3 # opath.c # rmail.c # uuconf.h # uumail.1 # uumail.c # uupath.1 # uupath.c # This archive created: Tue Dec 24 09:31:18 1985 export PATH; PATH=/bin:$PATH echo shar: extracting "'README'" '(4023 characters)' if test -f 'README' then echo shar: will not over-write existing file "'README'" else cat << \SHAR_EOF > 'README' This is an updated version of uumail (and uupath) that can access a pathalias-generated database to facilitate routine mail. These program can cope with DBM and standard line-oriented forms of pathalias-generated databases. This version of uumail can be used as uupath by linking uumail to uupath. Also, this version can handle domain addresses (user@host.domain). You can put as many addresses on a line as you like. This version fixes a few bugs in the previous release. Some additional functionality and robustness are added as well. The bugs included lack of initilization of some variables in address.c, inconsistant calling of getpath in uumail, address and opath, and failure to handle % in addresses correctly. Additional features include the ability of getpath to detect when the database is being updated and wait or abort as necessary, the ability to retry accessing the database when it will not open (as might be the case when updating it), the ability (if the database is sorted) to search a plain-text database much faster. * IF YOU ARE USING A DBM DATABASE, READ THIS! * If the special sentinel value of @@@ is not present in the * database, then getpath will assumed that the database is being * rebuilt and will block for TIMEOUT (default = 180) seconds. * If, after 5 such blocks, the sentinel is not present, * the error code EX_TEMPFAIL is returned. * The same is true if the dbm files cannot be initialized. * Please be sure to add the sentinal to the DBM database when * it is created. * There are some compile flags to be aware of when making uumail. Here is a list of them. DEBUG compiles in the debugging code. OPATH causes the opath subroutine to be used to resolve addresses. If you do not use this flag, you cannot use the user@host.domain style addresses with uumail. DBM causes uumail to use the DBM format patalias database. If you do not have the dbm libraries, do not use this flag. SYSIII will make adjustments for system that are derived from UNIX System III or System V. NOGRADE should be used if your uux does not understand the -g flag. NORETURN should be used if your uux does not understand the -a flag. LOG will enable logging of uumail traffic. UGLYUUCP causes the From_ line produced by uumail to contain the "remote from hostname" string. GETHOSTNAME will cause the system call gethostname to be used. If you are a BSD site, define this. SYSTEMNAME will cause the systemname to be derived from the file /usr/lib/uucp/SYSTEMNAME. This should be defined if your machine is a Sperry 5000. SORTED will cause the non-DBM database to be searched fasted, BUT it assumes that this database is SORTED. If you do not sort your database, do not define this. If you want to install this system, use "make install". If you want to have it do all the work for incoming mail, type "make mailer". You probably do not want to "make mailer" if you run sendmail. Here is the mailer segment of a sendmail configuration file that you can use to define the uumail program as a mailer. ------------------------------------------------------------------- ############################################################ #### This is a special mailer that takes advantage of ### #### usemap database for addresses to UUCP sites ### ############################################################ Muumail, P=/usr/lib/uucp/uumail,F=sDFhuUM,S=13,R=23,M=1000000, A=uumail -h -gC -f$g $h!$u -------------------------------------------------------------- Please be sure that the S= and R= rules are correct for your system. They should match the uucp mailer rules exactly. A manual page for address, opath, uumail and uupath are included. Please forward comments and bug fixes to me at sob@rice.edu or ihnp4!shell!neuro1!sob or texsun!drilltech!sob Stan Barber Baylor College of Medicine Houston, Texas P.S. My thanks to all those who reported bugs from the previous release. Please continue to send them in, and I will try to keep fixing them. SHAR_EOF if test 4023 -ne "`wc -c < 'README'`" then echo shar: error transmitting "'README'" '(should have been 4023 characters)' fi fi echo shar: extracting "'makefile'" '(3265 characters)' if test -f 'makefile' then echo shar: will not over-write existing file "'makefile'" else cat << \SHAR_EOF > 'makefile' #################################################################### # makefile for uumail & uupath # program to integrate with pathalias created uucpmap databases # programs originally developed by Jeff Donnelly # updated to use pathalias database by Stan Barber # $Header: makefile,v 1.4 85/12/10 20:40:45 sob Exp $ # # the following defines should be configured for you site # add -DDBM to CCFLAGS if your pathalias database used the # dbm(3) routines # if you are a ATT system III or system V site # or a masscomp add the -DSYSIII flags # If you want to use the opath subroutine to deal with # domain names add the -DOPATH flag to the CFLAGS line # you may want to modify the LIBS line to correspond to # libraries that you may need at you site # see conf.h for other changes that may need be made # If you DO NOT use a DBM formatted database and would like to # get the best possible speed from uumail, add the -DSORTED # flag and be sure to sort your database # IMPORTANT INFORMATION ABOUT UUCP # If your uucp does not understand the -g (grade) flag # add the -DNOGRADE flag to CFLAGS. # If your uucp does not know about the -a (returnto) flag # add the -DNORETURN flag to CFLAGS # $Log: makefile,v $ # Revision 1.4 85/12/10 20:40:45 sob # Added install, mailer and all make options. Also defined BINDIR, UUCPDIR # and other useful things # # Revision 1.3 85/08/03 00:38:33 UUCP # Added support for shar and RCS. # Changed name of gethostname to gethostnam to allow RCS to work right. # Stan Barber # # Revision 1.2 85/07/11 19:28:52 sob # updated with gethostname.c # # Revision 1.1 85/07/11 19:23:22 sob # Initial revision # ############################################################### .SUFFIXES: .c,v .h,v CFLAGS= -O -DSYSIII -DDEBUG -DOPATH -DUGLYUUCP -DLOG -DSORTED LIBS= BINDIR=/usr/lbin UUCPDIR=/usr/lib/uucp LIBDIR=/usr/lib .c,v.c: co -q $*.c .h,v.h: co -q $*.h all: uumail rmail address uumail: getpath.o uumail.o gethostnam.o opath.o cc $(CFLAGS) getpath.o uumail.o gethostnam.o opath.o -o uumail $(LIBS) address:address.o opath.o getpath.o cc $(CFLAGS) address.o opath.o getpath.o -o address $(LIBS) getpath.o: getpath.c uuconf.h uupath.o: uupath.c uuconf.h uumail.o: uumail.c uuconf.h gethostnam.o:gethostnam.c address.o:address.c opath.o:opath.c rmail: rmail.c gethostnam.o cc $(CFLAGS) rmail.c gethostnam.o -o rmail $(LIBS) install: uumail address domains palias cp address $(BINDIR) cp uumail domains palias $(UUCPDIR) @echo "To install rmail in place of the current rmail, type" @echo "make mailer" ln $(UUCPDIR)/uumail $(BINDIR)/uupath mailer: rmail make install rm -rf /bin/rmail cp rmail /bin/rmail lint: lint $(CFLAGS) getpath.c uumail.c gethostnam.c opath.c clean: rm -f *.o *.CKP *.BAK *.bak doc: uumail.1 uupath.1 address.1 opath.3 nroff -man uumail.1 >uumail.cat; nroff -man uupath.1 >uupath.cat; nroff -man address.1 >address.cat; nroff -man opath.3 >opath.cat shar: domains palias rmail.c opath.c address.c uumail.c uuconf.h gethostnam.c uupath.c getpath.c README makefile uumail.1 uupath.1 opath.3 address.1 shar README domains palias rmail.c opath.c address.c uumail.c uuconf.h gethostnam.c uupath.c getpath.c makefile uumail.1 uupath.1 opath.3 address.1> shar.out SHAR_EOF if test 3265 -ne "`wc -c < 'makefile'`" then echo shar: error transmitting "'makefile'" '(should have been 3265 characters)' fi fi echo shar: extracting "'domains'" '(1093 characters)' if test -f 'domains' then echo shar: will not over-write existing file "'domains'" else cat << \SHAR_EOF > 'domains' # # Domain Table # # Format: ,,,