From mea@mea.cc.utu.fi  Tue Apr  4 18:47:13 1995
Received: from mea.utu.fi ([130.232.1.11]) by nic.funet.fi with ESMTP id <3107-3>; Tue, 4 Apr 1995 18:47:12 +0300
Received: by mea.utu.fi id <299-4>; Tue, 4 Apr 1995 18:46:52 +0200
Received: from hooch.CC.Lehigh.EDU ([128.180.3.11]) by mea.utu.fi with ESMTP id <109-2>; Fri, 24 Mar 1995 18:51:07 +0200
Received: by hooch.CC.Lehigh.EDU id <14522-3>; Fri, 24 Mar 1995 11:47:21 EST
Subject: Zmailer 2.99.13 diffs for AIX3.2.5
From:	Jim Eshleman <lujce@hooch.CC.Lehigh.EDU>
To:	mea@mea.utu.fi (Matti Aarnio)
Date:	Fri, 24 Mar 1995 11:47:09 -0500 (EST)
X-Mailer: ELM [version 2.4 PL24]
Content-Type: text
Content-Length: 22219     
Message-Id: <95Mar24.114721est.14522-3+19@hooch.CC.Lehigh.EDU>
Sender: "Matti E. Aarnio [OH1MQK]" <mea@mea.utu.fi>
Fake-Sender: mea@mea.utu.fi
Status: O

Matti,

  Looks like libc/aixsupport.c isn't yet used...  I tried changing the
setreuid() calls to call aixsetreuid() but wasn't successful.  I went
back and fitted Guy Middleton's AIX patches to 2.99.13.  Here's the
diffs for everything I've patched to get up and running on AIX.  So
far so good, but the machine I run zmailer on does very heavy outgoing
volume and light incoming volume, and most of the incoming stuff is to
pipes, not user mailboxes.  The machine runs ListProc with 30+ lists and
around ten thousand total subscribers.  Only a handful of user accounts.

  Here's my diffs:

------------------------------------------------------------------------------
*** ./compat/sendmail/sendmail.c.orig	Thu Feb  2 13:58:49 1995
--- ./compat/sendmail/sendmail.c	Fri Mar 17 12:26:08 1995
***************
*** 68,74 ****
  	char	*configfile, *pooption, *path, *mailpriority;
  	FILE	*vfp;
  	struct passwd *pwd;
! 	char	*LC_CTYPE;
  	char	buf[8192];
  	char   *buf2 = NULL;
  
--- 68,74 ----
  	char	*configfile, *pooption, *path, *mailpriority;
  	FILE	*vfp;
  	struct passwd *pwd;
! /*	char	*LC_CTYPE; */
  	char	buf[8192];
  	char   *buf2 = NULL;
  
***************
*** 82,88 ****
  	if (mailpriority) mail_priority = atoi(mailpriority);
  
  	/* Pick up the sender's idea about C-chartype.. */
! 	LC_CTYPE = getenv("LC_CTYPE");
  
  	printq = strcmp(progname, MAILQ) == 0;
  	aliases = strcmp(progname, NEWALIASES) == 0;
--- 82,88 ----
  	if (mailpriority) mail_priority = atoi(mailpriority);
  
  	/* Pick up the sender's idea about C-chartype.. */
! /*	LC_CTYPE = getenv("LC_CTYPE"); */
  
  	printq = strcmp(progname, MAILQ) == 0;
  	aliases = strcmp(progname, NEWALIASES) == 0;
***************
*** 96,102 ****
  	configfile = pooption = NULL;
  	if (printq || aliases)
  		goto otherprog;
! 	while ((c = getopt(argc, argv,"EJb:e:r:f:h:F:C:d:Oo:P:imnqstvV")) != EOF) {
  		switch (c) {
  		case 'J': break; /* Sony NEWS OS  JIS-conversion option,
  				    ignore */
--- 96,102 ----
  	configfile = pooption = NULL;
  	if (printq || aliases)
  		goto otherprog;
! 	while ((c = getopt(argc, argv,"EJb:e:r:f:h:F:C:d:Oo:P:imnqstvVx")) != EOF) {
  		switch (c) {
  		case 'J': break; /* Sony NEWS OS  JIS-conversion option,
  				    ignore */
***************
*** 203,208 ****
--- 203,210 ----
  			prversion("sendmail");
  			exit(0);
  			break;
+ 		case 'x':
+ 		        break; /* ignore -x from AIX mail command */
  		default:
  			++errflg;
  			break;
*** ./hostenv/AIX3.2.orig	Fri Dec 23 19:07:08 1994
--- ./hostenv/AIX3.2	Fri Mar 17 11:49:30 1995
***************
*** 116,118 ****
--- 116,121 ----
  #SETVBUF=
  
  #file system stuff, how to get block size, on sgi want a #include <sys/fs/s5macros.h>
+ 
+ DOTLOCK=
+ GETDTABLESIZE=
*** ./lib/nobody.c.orig	Fri Dec 23 23:56:33 1994
--- ./lib/nobody.c	Tue Mar 21 15:36:49 1995
***************
*** 12,17 ****
--- 12,26 ----
  #include <sys/param.h>
  #endif
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #ifdef        USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #else /* !USE_SETREUID */
+ #define       setuid(y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ #endif
+ 
  /*
   * Routine to initialize the 'nobody' variable to contain a nonprivileged uid.
   *
*** ./lib/trusted.c.orig	Tue Jul  5 06:31:23 1994
--- ./lib/trusted.c	Tue Mar 21 15:45:39 1995
***************
*** 15,20 ****
--- 15,29 ----
  #include <ctype.h>
  #include <pwd.h>
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #ifdef        USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #else /* !USE_SETREUID */
+ #define       setuid(y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ #endif
+ 
  #define	DEFTRUSTEDUSER	"daemon"	/* default trusted user if no other */
  
  static int trusteduid = -1;	/* set to trusted uid if we find it */
*** ./lib/rfc822date.c.orig	Thu Feb  2 13:58:51 1995
--- ./lib/rfc822date.c	Fri Mar 17 11:39:48 1995
***************
*** 30,42 ****
  	sign = offset >= 0;
  	if (!sign)
  	  offset = -offset;
! 	sprintf(zone, "%c%02d%02d",
  		sign ? '-' : '+', offset / 60, offset % 60);
! 	cp = zone;
! 	if (prettyname)
! 	  sprintf(cp+5," (%s)",ts->tm_zone);
  
- 
  #else	/* !USE_BSDTIMEZONE */
  #ifdef	USE_SYSVTIMEZONE
  	/* daylight, timezone, altzone, declared in <time.h> */
--- 30,50 ----
  	sign = offset >= 0;
  	if (!sign)
  	  offset = -offset;
! #ifdef  NO_TM_ZONE
!         if (prettyname)
!               cp = timezone(tz.tz_minuteswest,ts->tm_isdst);
! #else   /* !NO_TM_ZONE */
!         if (prettyname)
!                 cp = ts->tm_zone;
! #endif        /* !NO_TM_ZONE */
!         else {
! 	  sprintf(zone, "%c%02d%02d",
  		sign ? '-' : '+', offset / 60, offset % 60);
! 	  cp = zone;
! 	  if (prettyname)
! 	    sprintf(cp+5," (%s)",ts->tm_zone);
! 	}
  
  #else	/* !USE_BSDTIMEZONE */
  #ifdef	USE_SYSVTIMEZONE
  	/* daylight, timezone, altzone, declared in <time.h> */
***************
*** 58,64 ****
  	  strcat(zone+5, tzname[0 != daylight]);
  
  #else	/* !USE_SYSVTIMEZONE */
! #if 0
  	cp = tzname[ts->tm_isdst];	/* this doesn't always work */
  #else
  	offset = ts->tm_gmtoff;
--- 66,72 ----
  	  strcat(zone+5, tzname[0 != daylight]);
  
  #else	/* !USE_SYSVTIMEZONE */
! #ifdef  NO_TM_ZONE
  	cp = tzname[ts->tm_isdst];	/* this doesn't always work */
  #else
  	offset = ts->tm_gmtoff;
*** ./libmalloc/externs.h.orig	Thu Feb  2 13:58:53 1995
--- ./libmalloc/externs.h	Fri Mar 17 12:03:35 1995
***************
*** 10,16 ****
  # include <stdio.h>
  # include <string.h>
  # include <unistd.h>
! # include <sys/fcntl.h>
  
  #else /* ! STDHEADERS */
  
--- 10,16 ----
  # include <stdio.h>
  # include <string.h>
  # include <unistd.h>
! # include <fcntl.h>
  
  #else /* ! STDHEADERS */
  
*** ./router/rfc822.c.orig	Thu Feb  9 13:24:06 1995
--- ./router/rfc822.c	Tue Mar 21 15:48:31 1995
***************
*** 43,48 ****
--- 43,57 ----
  
  #endif	/* USE_LOCKF */
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #ifdef        USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #else /* !USE_SETREUID */
+ #define       setuid(y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ #endif
+ 
  extern int hdr_status();
  extern int efstat();
  extern int elink();
*** ./router/functions.c.orig	Thu Feb  2 13:58:56 1995
--- ./router/functions.c	Tue Mar 21 15:46:52 1995
***************
*** 24,29 ****
--- 24,37 ----
  
  #include "prototypes.h"
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #ifdef        USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #else /* !USE_SETREUID */
+ #define       setuid(y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ #endif
  
  #ifndef	_IOFBF
  #define	_IOFBF	0
*** ./scheduler/scheduler.c.orig	Thu Feb  9 06:13:53 1995
--- ./scheduler/scheduler.c	Tue Mar 21 15:49:43 1995
***************
*** 21,26 ****
--- 21,35 ----
  #include NDIR_H
  #include "zmsignal.h"
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #ifdef        USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #else /* !USE_SETREUID */
+ #define       setuid(y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ #endif
+ 
  #ifndef	MAXNAMLEN /* POSIX.1 ... */
  #define MAXNAMLEN NAME_MAX
  #endif
*** ./smtpserver/fdstatfs.c.orig	Mon Jan  2 03:10:44 1995
--- ./smtpserver/fdstatfs.c	Fri Mar 17 12:14:10 1995
***************
*** 16,22 ****
  # define FSTATFS fstatvfs /* Existence of this means (usually) SYSV code */
  # define STATFSTYPE struct statvfs
  #else	/* !USE_STATVFS */
! #ifdef	SYSV
  # include <sys/statfs.h>
  # define FSTATFS fstatfs /* Existence of this means (usually) SYSV code */
  # define STATFSTYPE struct statfs
--- 16,22 ----
  # define FSTATFS fstatvfs /* Existence of this means (usually) SYSV code */
  # define STATFSTYPE struct statvfs
  #else	/* !USE_STATVFS */
! #if defined(SYSV) || defined(RISC6000)
  # include <sys/statfs.h>
  # define FSTATFS fstatfs /* Existence of this means (usually) SYSV code */
  # define STATFSTYPE struct statfs
***************
*** 60,66 ****
  	  availspace = statbuf.f_bavail * statbuf.f_bsize;
  	}
  #else
! #if defined(ULTRIX)
  	if ((rc = FSTATFS(fd, &statbuf)) == 0) {
  	  availspace = statbuf.f_bavail * statbuf.f_bsize;
  	}
--- 60,66 ----
  	  availspace = statbuf.f_bavail * statbuf.f_bsize;
  	}
  #else
! #if defined(ULTRIX) || defined(RISC6000)
  	if ((rc = FSTATFS(fd, &statbuf)) == 0) {
  	  availspace = statbuf.f_bavail * statbuf.f_bsize;
  	}
*** ./ssl/ssl.c.orig	Tue May  3 06:27:06 1994
--- ./ssl/ssl.c	Fri Mar 17 11:28:52 1995
***************
*** 80,86 ****
  #ifndef __STDC__
  extern char *malloc();
  extern FILE *fopen();
! extern char *sprintf();
  extern char *strcpy();
  extern int atoi();
  extern int fprintf();
--- 80,86 ----
  #ifndef __STDC__
  extern char *malloc();
  extern FILE *fopen();
! /* extern char *sprintf(); */
  extern char *strcpy();
  extern int atoi();
  extern int fprintf();
*** ./transports/hold/hold.c.orig	Thu Jan  5 08:22:00 1995
--- ./transports/hold/hold.c	Tue Mar 21 15:51:35 1995
***************
*** 84,89 ****
--- 84,95 ----
  #include "mail.h"
  #include "splay.h"
  
+ #ifdef        USE_SETUIDX
+ #include <sys/id.h>
+ #define       USE_SETREUID
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif
+ 
  #ifdef	USE_UNIONWAIT
  #include <sys/wait.h>
  #endif	/* USE_UNIONWAIT */
*** ./transports/mailbox/mailbox.c.orig	Wed Feb  8 01:14:41 1995
--- ./transports/mailbox/mailbox.c	Tue Mar 21 15:53:50 1995
***************
*** 79,84 ****
--- 79,90 ----
  #endif	/* !USE_SETEUID */
  #endif	/* !USE_SETREUID */
  
+ #ifdef        USE_SETUIDX
+ #undef        setreuid
+ #include <sys/id.h>
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif        /* !USE_SETUIDX */
+ 
  #ifdef  USE_TIMEVAL
  #include <sys/time.h>
  #else   /* !USE_TIMEVAL */
***************
*** 991,997 ****
  	char *fromuser;
  	int lastch;
  
! 	if ((fp = fdopen(fdmail, "a+")) == NULL) {
  	  notaryreport(NULL,NULL,NULL);
  	  DIAGNOSTIC(rp, EX_TEMPFAIL, "cannot fdopen(%d)", fdmail);
  	  return NULL;
--- 997,1003 ----
  	char *fromuser;
  	int lastch;
  
! 	if ((fp = fdopen(fdmail, "a")) == NULL) {
  	  notaryreport(NULL,NULL,NULL);
  	  DIAGNOSTIC(rp, EX_TEMPFAIL, "cannot fdopen(%d)", fdmail);
  	  return NULL;
*** ./transports/smtp/smtp.c.orig	Wed Feb  8 15:47:59 1995
--- ./transports/smtp/smtp.c	Tue Mar 21 15:57:43 1995
***************
*** 57,62 ****
--- 57,68 ----
  #endif	/* !USE_SETEUID */
  #endif	/* !USE_SETREUID */
  
+ #ifdef        USE_SETUIDX
+ #undef        setreuid
+ #include <sys/id.h>
+ #define       setreuid(x,y)   setuidx(ID_REAL|ID_EFFECTIVE, y)
+ #endif        /* !USE_SETUIDX */
+ 
  #if	defined(TRY_AGAIN) && defined(USE_RESOLV)
  #define	BIND		/* Want BIND (named) nameserver support enabled */
  #endif	/* TRY_AGAIN */
*** ./Config.orig	Tue Feb  7 06:08:50 1995
--- ./Config	Fri Mar 17 10:09:33 1995
***************
*** 5,11 ****
  # host-dependent information needed by ZMailer programs.  This file is
  # created from the Config file in the distribution (the file you are reading
  # right now), and contains variable assignments in an sh-compatible format.
! ZCONFIG=	/etc/zmailer.conf
  
  # HOSTENV selects one of the files in the hostenv directory, perhaps one
  # you have just created, that describes the system you are trying to compile
--- 5,11 ----
  # host-dependent information needed by ZMailer programs.  This file is
  # created from the Config file in the distribution (the file you are reading
  # right now), and contains variable assignments in an sh-compatible format.
! ZCONFIG=	/local/zmailer-2.99.13/etc/zmailer.conf
  
  # HOSTENV selects one of the files in the hostenv directory, perhaps one
  # you have just created, that describes the system you are trying to compile
***************
*** 13,19 ****
  # include/libsupport.h and some sed commands in Config.sed to munge makefiles
  # appropriately.  Valid values for HOSTENV is any unqualified filename in
  # the hostenv directory (SunOS4.0, BSD4.3, IRIX3.3, Ultrix3.1, SystemVr3.2,...).
! HOSTENV=	SunOS5.3
  
  # DEFS is where you put global preprocessor definitions that aren't handled
  # by the HOSTENV based configuration procedure.  Hopefully this will be empty,
--- 13,19 ----
  # include/libsupport.h and some sed commands in Config.sed to munge makefiles
  # appropriately.  Valid values for HOSTENV is any unqualified filename in
  # the hostenv directory (SunOS4.0, BSD4.3, IRIX3.3, Ultrix3.1, SystemVr3.2,...).
! HOSTENV=	AIX3.2
  
  # DEFS is where you put global preprocessor definitions that aren't handled
  # by the HOSTENV based configuration procedure.  Hopefully this will be empty,
***************
*** 29,35 ****
  # thus nonexistent on  hostenv/ -file.  Remember to add possibly needed
  # libraries for including the actual alloca() routine -- "-lPW" on some SVR3s
  # into appropriate library lists..
! DEFS=	-DSTDC_HEADERS -DHAVE_STRING_H -DHAVE_ALLOCA_H #-DXMEM -DMALLOC_TRACE
  
  # MAILBOXDEFS has defines related to 'mailbox' and 'lock':
  # -DBIFF         - tell biff about mail
--- 29,35 ----
  # thus nonexistent on  hostenv/ -file.  Remember to add possibly needed
  # libraries for including the actual alloca() routine -- "-lPW" on some SVR3s
  # into appropriate library lists..
! DEFS=
  
  # MAILBOXDEFS has defines related to 'mailbox' and 'lock':
  # -DBIFF         - tell biff about mail
***************
*** 37,43 ****
  # -DRBIFF_ALWAYS - tell even if user has no  "~/.rbiff" file
  # -DUSE_NFSMBOX  - do remote locking of mail spool files mounted via NFS
  #	see  support/{nfslock,rlockd} for more about this
! MAILBOXDEFS=	-DBIFF -DRBIFF -DRBIFF_ALWAYS # -DUSE_NFSMBOX
  
  # SHELL is usually /bin/sh, but some systems may require a different
  # pathname to get a working shell.  On Ultrix or other systems with a very
--- 37,43 ----
  # -DRBIFF_ALWAYS - tell even if user has no  "~/.rbiff" file
  # -DUSE_NFSMBOX  - do remote locking of mail spool files mounted via NFS
  #	see  support/{nfslock,rlockd} for more about this
! MAILBOXDEFS=
  
  # SHELL is usually /bin/sh, but some systems may require a different
  # pathname to get a working shell.  On Ultrix or other systems with a very
***************
*** 51,72 ****
  # SENDMAILLIB  is the location where the (classically) /usr/lib/sendmail
  # is located at.  On some newer machines it is to be placed on different
  # places, like  /usr/sbin/sendmail, or (why on earth!) /usr/bin/sendmail ??
! SENDMAILLIB=	/usr/lib
  
  # CC gives the command (and associated arguments) used to invoke the C
  # compiler on your system.  Usually this would be the standard C compiler,
  # so you won't need to define this -- leave it commented out.  However,
  # a sample use is:
! CC=		gcc #-traditional
  
  
  # COPTS are the pervasive options to be given with all C compilations.
  # The -g option is advised unless you have supreme confidence in your compiler.
! COPTS=		-g -O
  
  # CPPDEP is a command used by "mkdep" and "mklibdep" for finding out
  # the includes -- gcc -MM yields only the NON-SYSTEM includes
! CPPDEP= gcc -MM
  
  # RANLIB is included to cater to machines that don't need it at all, because
  # their ar(1) program has been smitten by featuritis.  Usually ranlib or true.
--- 51,72 ----
  # SENDMAILLIB  is the location where the (classically) /usr/lib/sendmail
  # is located at.  On some newer machines it is to be placed on different
  # places, like  /usr/sbin/sendmail, or (why on earth!) /usr/bin/sendmail ??
! SENDMAILLIB=	/local/zmailer-2.99.13/compat
  
  # CC gives the command (and associated arguments) used to invoke the C
  # compiler on your system.  Usually this would be the standard C compiler,
  # so you won't need to define this -- leave it commented out.  However,
  # a sample use is:
! CC=		bsdcc
  
  
  # COPTS are the pervasive options to be given with all C compilations.
  # The -g option is advised unless you have supreme confidence in your compiler.
! COPTS=		-O -D_NO_PROTO -DRISC6000
  
  # CPPDEP is a command used by "mkdep" and "mklibdep" for finding out
  # the includes -- gcc -MM yields only the NON-SYSTEM includes
! CPPDEP=		bsdcc -M
  
  # RANLIB is included to cater to machines that don't need it at all, because
  # their ar(1) program has been smitten by featuritis.  Usually ranlib or true.
*** ./SiteConfig.orig	Tue Feb  7 06:09:37 1995
--- ./SiteConfig	Fri Mar 17 10:13:47 1995
***************
*** 6,31 ****
  
  # MAILBIN is the directory hierarchy containing all ZMailer binaries.
  # Usually /usr/lib/mail/bin or /local/lib/mail.
! MAILBIN=	/usr/local/mail/bin
  
  # MAILSHARE is the directory hierarchy containing site-wide configuration
  # files and databases.  Usually /usr/lib/mail or /local/share/mail.
! MAILSHARE=	/usr/local/mail
  
  # MAILVAR is the directory that will contain machine-specific configuration
  # files and databases.  Usually /usr/lib/mail or /var/db/mail or
  # /local/share/mail.
! MAILVAR=	/usr/local/mail
  
  # MAILBOX is the directory containing all the user mailboxes.  This is
  # defaulted inside the mailbox.c program (currently /var/mail) and may
  # be overridden here.  Usually /usr/spool/mail or /var/mail.
! MAILBOX=	/var/mail
  
  # POSTOFFICE is the directory hierarchy used to manipulate message files,
  # where runtime activity takes places.  Usually /usr/spool/postoffice or
  # /var/spool/postoffice.
! POSTOFFICE=	/var/spool/postoffice
  
  # Multiple LOWER priorities on message routing can be defined by creating
  # $POSTOFFICE/<component-of-$ROUTERDIRS> -directories.
--- 6,31 ----
  
  # MAILBIN is the directory hierarchy containing all ZMailer binaries.
  # Usually /usr/lib/mail/bin or /local/lib/mail.
! MAILBIN=	/local/zmailer-2.99.13/bin
  
  # MAILSHARE is the directory hierarchy containing site-wide configuration
  # files and databases.  Usually /usr/lib/mail or /local/share/mail.
! MAILSHARE=	/local/zmailer-2.99.13/share
  
  # MAILVAR is the directory that will contain machine-specific configuration
  # files and databases.  Usually /usr/lib/mail or /var/db/mail or
  # /local/share/mail.
! MAILVAR=	/local/zmailer-2.99.13/var
  
  # MAILBOX is the directory containing all the user mailboxes.  This is
  # defaulted inside the mailbox.c program (currently /var/mail) and may
  # be overridden here.  Usually /usr/spool/mail or /var/mail.
! MAILBOX=	/var/spool/mail
  
  # POSTOFFICE is the directory hierarchy used to manipulate message files,
  # where runtime activity takes places.  Usually /usr/spool/postoffice or
  # /var/spool/postoffice.
! POSTOFFICE=	/local/zmailer-2.99.13/postoffice
  
  # Multiple LOWER priorities on message routing can be defined by creating
  # $POSTOFFICE/<component-of-$ROUTERDIRS> -directories.
***************
*** 32,54 ****
  # Routers process first   $POSTOFFICE/router/ -directory, and once it is
  # empty, files from subsequent dirs.   See  mail(3)  mail_priority
  # These can be only under the $POSTOFFICE, and they must exist!
! ROUTERDIRS=router1:router2:router3:router4
  
  # LOGDIR is the directory where log files will appear.  Usually /usr/spool/log
  # or /var/log.
! LOGDIR=		/var/log/mail
  
  # MANDIR is the top of the manual directory hierarchy where manual pages
  # for the ZMailer programs are installed.  Usually /usr/man or /local/man.
! MANDIR=		/usr/local/man
  
  # LIBRARYDIR is the place for storing  libzmailer.a, which can be used to
  # create programs which use Zmailer's  zmailer(3) (aka: mail(3)) -library.
! LIBRARYDIR=	/usr/local/lib
  
  # INCLUDEDIR is the place for storing   zmailer.h -- a copy of include/mail.h
  # and it is used in conjunction with the  libzmailer.a ..
! INCLUDEDIR=	/usr/local/include
  
  # MAILSERVER is the hostname of the remote machine where the postoffice is
  # located.  This value is only needed in an environment with distributed file
--- 32,54 ----
  # Routers process first   $POSTOFFICE/router/ -directory, and once it is
  # empty, files from subsequent dirs.   See  mail(3)  mail_priority
  # These can be only under the $POSTOFFICE, and they must exist!
! ROUTERDIRS=
  
  # LOGDIR is the directory where log files will appear.  Usually /usr/spool/log
  # or /var/log.
! LOGDIR=		/var/tmp
  
  # MANDIR is the top of the manual directory hierarchy where manual pages
  # for the ZMailer programs are installed.  Usually /usr/man or /local/man.
! MANDIR=		/local/zmailer-2.99.13/man
  
  # LIBRARYDIR is the place for storing  libzmailer.a, which can be used to
  # create programs which use Zmailer's  zmailer(3) (aka: mail(3)) -library.
! LIBRARYDIR=	/local/zmailer-2.99.13/lib
  
  # INCLUDEDIR is the place for storing   zmailer.h -- a copy of include/mail.h
  # and it is used in conjunction with the  libzmailer.a ..
! INCLUDEDIR=	/local/zmailer-2.99.13/include
  
  # MAILSERVER is the hostname of the remote machine where the postoffice is
  # located.  This value is only needed in an environment with distributed file
***************
*** 62,68 ****
  # from the zmailer shell script.  The intent is that if you want non-default
  # address verification options they can be specified here.  The default
  # value is "-asve".
! SMTPOPTIONS=	-asve -l /var/log/mail/smtpserver
  
  # Here you can put any ZM ``environment'' variables you want to place in
  # the system-wide configuration file (/etc/zmailer.conf).  Typically this
--- 62,68 ----
  # from the zmailer shell script.  The intent is that if you want non-default
  # address verification options they can be specified here.  The default
  # value is "-asve".
! SMTPOPTIONS=	-sve -l /var/log/mail/smtpserver
  
  # Here you can put any ZM ``environment'' variables you want to place in
  # the system-wide configuration file (/etc/zmailer.conf).  Typically this
***************
*** 106,110 ****
  
  # Builtin USENET channel uses  NNTPSERVER variable (depending upon your
  # inews ..) to send the artickle to..
! NNTPSERVER=news.utu.fi
  INEWSBIN=/usr/local/bin/inews
--- 106,110 ----
  
  # Builtin USENET channel uses  NNTPSERVER variable (depending upon your
  # inews ..) to send the artickle to..
! NNTPSERVER=netnews.cc.lehigh.edu
  INEWSBIN=/usr/local/bin/inews


