[csw-devel] SF.net SVN: gar:[5776] csw/mgar/pkg/sendmail/branches/benny

bensons at users.sourceforge.net bensons at users.sourceforge.net
Fri Jul 31 17:12:20 CEST 2009


Revision: 5776
          http://gar.svn.sourceforge.net/gar/?rev=5776&view=rev
Author:   bensons
Date:     2009-07-31 15:12:19 +0000 (Fri, 31 Jul 2009)

Log Message:
-----------
sendmail: commit for my branch

Modified Paths:
--------------
    csw/mgar/pkg/sendmail/branches/benny/Makefile
    csw/mgar/pkg/sendmail/branches/benny/checksums
    csw/mgar/pkg/sendmail/branches/benny/files/cswsendmail
    csw/mgar/pkg/sendmail/branches/benny/files/site.config.m4

Added Paths:
-----------
    csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.checkinstall
    csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preinstall
    csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preremove
    csw/mgar/pkg/sendmail/branches/benny/files/README.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-deactivate.sh
    csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-reactivate.sh
    csw/mgar/pkg/sendmail/branches/benny/files/aliases.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/helpfile.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/i.sol10
    csw/mgar/pkg/sendmail/branches/benny/files/i.sol8
    csw/mgar/pkg/sendmail/branches/benny/files/i.sol9
    csw/mgar/pkg/sendmail/branches/benny/files/local-host-names.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/sendmail.cf.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/sendmail.schema
    csw/mgar/pkg/sendmail/branches/benny/files/sm-client.st.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/statistics.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/submit.cf.CSW
    csw/mgar/pkg/sendmail/branches/benny/files/trusted-users.CSW

Modified: csw/mgar/pkg/sendmail/branches/benny/Makefile
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/Makefile	2009-07-31 14:56:30 UTC (rev 5775)
+++ csw/mgar/pkg/sendmail/branches/benny/Makefile	2009-07-31 15:12:19 UTC (rev 5776)
@@ -9,6 +9,12 @@
 
 MASTER_SITES = ftp://ftp.sendmail.org/pub/sendmail/
 DISTFILES  = $(GARNAME).$(GARVERSION).tar.gz
+DISTFILES += cswsendmail site.config.m4
+DISTFILES += i.sol8 i.sol9 i.sol10
+DISTFILES += CSWsendmail.checkinstall CSWsendmail.preinstall CSWsendmail.preremove
+DISTFILES += README.CSW sendmail.schema
+DISTFILES += Sun-sendmail-deactivate.sh Sun-sendmail-reactivate.sh
+DISTFILES += $(foreach FILE,$(shell cd $(FILEDIR) && ls *.CSW),$(FILE))
 
 # We define upstream file regex so we can be notifed of new upstream software release
 UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
@@ -19,10 +25,20 @@
 
 # we require
 REQUIRED_PKGS = CSWbdb CSWoldaprt CSWosslrt CSWsasl CSWtcpwrap
+INITSMF = /etc/opt/csw/init.d/cswsendmail
+PROTOTYPE_FILTER = awk '$$$$3 ~/sol8\./ { $$$$2 = "sol8" } \
+                        $$$$3 ~/sol9\./ { $$$$2 = "sol9" } \
+                        $$$$3 ~/sol10\./ { $$$$2 = "sol10" } \
+			$$$$3 ~/sendmail$$$$/ { $$$$4 = "2755" } \
+                       { print }'
 
+
 # patch away GNUism
 PATCHFILES = patch-CC-M.m4
 
+# include license
+LICENSE = LICENSE
+
 CONFIGURE_SCRIPTS = custom
 BUILD_SCRIPTS     = custom
 TEST_SCRIPTS      = custom
@@ -35,9 +51,11 @@
 PRESERVECONF += $(sysconfdir)/mail/trusted-users.CSW
 PRESERVECONF += $(sysconfdir)/mail/statistics.CSW
 
+
 include gar/category.mk
 
-OBJDIR    = $(WORKDIR)/$(DISTNAME)/obj.SunOS.`uname -r`.`uname -i`
+PLATFORM  = $(shell if [ `uname -i` = "i86pc" ] ; then echo i86pc ; else echo sun4 ; fi )
+OBJDIR    = $(WORKDIR)/$(DISTNAME)/obj.SunOS.$(GAROSREL).$(PLATFORM)
 LIBFILES  = sendmail/sendmail mail.local/mail.local smrsh/smrsh rmail/rmail
 BINFILES  = vacation/vacation
 SBINFILES = makemap/makemap editmap/editmap praliases/praliases \
@@ -49,58 +67,77 @@
             rmail/rmail.8 editmap/editmap.8
 
 configure-custom:
+	@( gsed 's,%CFLAGS%,$(CFLAGS),;s,%OCSWCC%,$(CC),' \
+		$(DOWNLOADDIR)/site.config.m4 > \
+		$(WORKSRC)/devtools/Site/site.config.m4 )
+	@( gsed 's,/etc/mail/\(sendmail.cf\),$(sysconfdir)/mail/\1,' \
+		$(WORKSRC)/include/sm/conf.h )
+	@( gsed 's,/etc/mail/\(sendmail.pid\),/var/opt/csw/run/\1,' \
+		$(WORKSRC)/include/sm/conf.h )
 	@$(MAKECOOKIE)
 
 build-custom:
-	sed 's,%CFLAGS%,$(CFLAGS),;s,%OCSWCC%,$(CC),' $(FILEDIR)/site.config.m4 > \
-		$(WORKDIR)/$(DISTNAME)/devtools/Site/site.config.m4
-	cd $(WORKDIR)/$(DISTNAME) && ./Build
+	cd $(WORKSRC) && ./Build
 	@$(MAKECOOKIE)
 
 test-custom:
 	@$(MAKECOOKIE)
 
 install-custom:
-	@# install the binaries
-	ginstall -d -m 755 $(DESTDIR)$(libdir)
+	@# install dirs
+	ginstall -d $(DESTDIR)$(libdir)
+	ginstall -d $(DESTDIR)$(bindir)
+	ginstall -d $(DESTDIR)$(sbindir)
+	ginstall -d $(DESTDIR)$(mandir)/man1
+	ginstall -d $(DESTDIR)$(mandir)/man5
+	ginstall -d $(DESTDIR)$(mandir)/man8
+	ginstall -d $(DESTDIR)/var/opt/csw/spool/clientmqueue
+	ginstall -d $(DESTDIR)$(sharedstatedir)/mail
+	ginstall -d $(DESTDIR)/etc/opt/csw/init.d
+	ginstall -d $(DESTDIR)$(sysconfdir)/mail
+	ginstall -d $(DESTDIR)/var/opt/csw/run
+
+	@# install the libraries
 	( for file in $(LIBFILES) ; do \
 		ginstall -m 755 $(OBJDIR)/$$file $(DESTDIR)$(libdir) ; \
 		done )
-	ginstall -d -m 755 $(DESTDIR)$(bindir)
+
+	@# install the binaries
 	ginstall -m 755 $(OBJDIR)/$(BINFILES) $(DESTDIR)$(bindir)
-	ginstall -d -m 755 $(DESTDIR)$(sbindir)
-	ginstall -d -m 755 $(DESTDIR)$(mandir)
+	ln -fs $(libdir)/sendmail $(DESTDIR)$(bindir)/newaliases
 	( for file in $(SBINFILES) ; do \
 		ginstall -m 755 $(OBJDIR)/$$file $(DESTDIR)$(sbindir) ; \
 		done )
+
 	@# install manpages
 	( for file in $(MANFILES1) ; do \
-		ginstall -d -m 755 $(DESTDIR)$(mandir)/1 ; \
-		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/1 ; \
+		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man1 ; \
 		done )
 	( for file in $(MANFILES5) ; do \
-		ginstall -d -m 755 $(DESTDIR)$(mandir)/5 ; \
-		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/5 ; \
+		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man5 ; \
 		done )
 	( for file in $(MANFILES8) ; do \
-		ginstall -d -m 755 $(DESTDIR)$(mandir)/8 ; \
-		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/8 ; \
+		ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man8 ; \
 		done )
+
 	@# install m4/cf macros
-	ginstall -d -m 755 $(DESTDIR)$(sharedstatedir)/mail
-	find $(WORKDIR)/$(DISTNAME)/cf -type f -exec chmod 644 {} +
-	cp -r $(WORKDIR)/$(DISTNAME)/cf $(DESTDIR)$(sharedstatedir)/mail
+	find $(WORKSRC)/cf -type f -exec chmod 644 {} +
+	gsed -i '' 's,MAILDIR=/etc/mail,MAILDIR=$(sysconfdir)/mail,' \
+		$(WORKSRC)/cf/cf/Makefile
+	cp -r $(WORKSRC)/cf $(DESTDIR)$(sharedstatedir)/mail
+	cp $(DOWNLOADDIR)/README.CSW $(DESTDIR)$(sharedstatedir)/mail
+	cp $(DOWNLOADDIR)/sendmail.schema $(DESTDIR)$(sharedstatedir)/mail
+	cp $(DOWNLOADDIR)/Sun-sendmail-deactivate.sh $(DESTDIR)$(sharedstatedir)/mail
+	cp $(DOWNLOADDIR)/Sun-sendmail-reactivate.sh $(DESTDIR)$(sharedstatedir)/mail
+
 	@# install startup script
-	ginstall -d -m 0755 $(DESTDIR)/etc/opt/csw/init.d
-	cp -p $(FILEDIR)/cswsendmail $(DESTDIR)/etc/opt/csw/init.d
+	chmod +x $(DOWNLOADDIR)/cswsendmail && \
+		cp -p $(DOWNLOADDIR)/cswsendmail $(DESTDIR)/etc/opt/csw/init.d
+
 	@# install configurations, XXX missing submit.cf/sendmail.cf
-	ginstall -d -m 0755 $(DESTDIR)$(etcdir)/mail
-	ginstall -m 644 $(WORKDIR)/$(DISTNAME)/sendmail/aliases \
-		$(DESTDIR)$(etcdir)/mail/aliases.CSW
-	ginstall -m 644 $(OBJDIR)/sendmail/statistics \
-		$(DESTDIR)$(etcdir)/mail/statistics.CSW
-	ginstall -m 644 $(OBJDIR)/sendmail/helpfile \
-		$(DESTDIR)$(etcdir)/mail/helpfile.CSW
-	touch $(DESTDIR)$(etcdir)/mail/trusted-users.CSW \
-		$(DESTDIR)$(etcdir)/mail/local-host-names.CSW
+	( for file in `cd $(DOWNLOADDIR) && ls *.CSW`; do \
+		ginstall -m 644  $(DOWNLOADDIR)/$$file \
+		$(DESTDIR)$(sysconfdir)/mail/$$file; \
+		done )
+
 	@$(MAKECOOKIE)

Modified: csw/mgar/pkg/sendmail/branches/benny/checksums
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/checksums	2009-07-31 14:56:30 UTC (rev 5775)
+++ csw/mgar/pkg/sendmail/branches/benny/checksums	2009-07-31 15:12:19 UTC (rev 5776)
@@ -1,2 +1,22 @@
+f581c67e3834d6a520d8faf9dfb8c7eb  download/CSWsendmail.checkinstall
+4c53e32ed6b4ac66c35d5079ebcb548d  download/CSWsendmail.preinstall
+644a174b1a1e74ef8655ea0002aff8f7  download/CSWsendmail.preremove
+6c030e7a797209ddfa4f6dbc531d753c  download/README.CSW
+e89e68f3e0ae84d665c4ab898a8f3325  download/Sun-sendmail-deactivate.sh
+1c3a63f98171aa28a2714995ee938a2c  download/Sun-sendmail-reactivate.sh
+2bfc78e0f774b7168e29628b6a18570a  download/aliases.CSW
+3afb5845e04500e1d2ae6ac5af9c7fe3  download/cswsendmail
+c816378b3028cbab410f72168b571775  download/helpfile.CSW
+27994344f69c7c92382d57264c7debf8  download/i.sol10
+24ffe87e0881ffa3e0495eeede9a0602  download/i.sol8
+b3510dc2ae95e585bc922cab8c89b8f0  download/i.sol9
+d41d8cd98f00b204e9800998ecf8427e  download/local-host-names.CSW
 95c787a371c63caebc5d76faddba08e4  download/patch-CC-M.m4
 a5ee5d26e1f546a2da5fb9a513bd6bce  download/sendmail.8.14.3.tar.gz
+3c970e5b4e9831a8774906ed36e11f52  download/sendmail.cf.CSW
+48851e45dca2a65a77f64f738bbf8d20  download/sendmail.schema
+f5b7fcd3d576de0615ea1101ef3401c6  download/site.config.m4
+d41d8cd98f00b204e9800998ecf8427e  download/sm-client.st.CSW
+d41d8cd98f00b204e9800998ecf8427e  download/statistics.CSW
+b64521d2a1365dc3f5f93b332e026054  download/submit.cf.CSW
+d41d8cd98f00b204e9800998ecf8427e  download/trusted-users.CSW

Added: csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.checkinstall
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.checkinstall	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.checkinstall	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,21 @@
+# checkinstall for CSWsendmail
+# 2007-12-09 installation no longer moves files in Sun's sendmail package.
+#
+trap `exit 3` 15
+
+# Assign Solaris release class to install release specific files
+if [ `uname -r` = 5.8 ]; then
+	CLASSES='none sol8 cswinitsmf'
+elif [ `uname -r` = 5.9 ]; then
+	CLASSES='none sol9 cswinitsmf'
+elif [ `uname -r` = 5.10 ]; then
+    CLASSES='none sol10 cswinitsmf'
+fi
+
+# Make env variables available to other packaging scripts
+
+cat >$1 <<!
+CLASSES='$CLASSES'
+!
+
+exit 0

Added: csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preinstall
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preinstall	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preinstall	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,61 @@
+# This script exists for the sole purpose of making sure
+# the required user accounts exist.
+# specifically, "user smmsp, group smmsp, group mail"
+
+# If installing on a filesystem that is not running the OS, exit this script.
+if [ ! x"$PKG_INSTALL_ROOT" = x"" -a ! x"$PKG_INSTALL_ROOT" = x"/" ] ; then exit 0 ; fi
+
+if [ x"$PKG_INSTALL_ROOT" = x"" ] ; then
+    PKG_INSTALL_ROOT="/"
+fi
+
+MYHOME=/
+
+#First check target machines password file, THEN check
+#NIS/NIS+/whatever
+
+/usr/bin/grep '^smmsp:' /etc/passwd >/dev/null
+if [ $? -ne 0 ] ; then
+        /usr/bin/getent passwd smmsp >/dev/null
+        if [ $? -ne 0 ] ; then
+                NEEDUSER=1
+        fi
+fi
+
+/usr/bin/grep '^smmsp:' /etc/group >/dev/null
+if [ $? -ne 0 ] ; then
+        /usr/bin/getent group smmsp >/dev/null
+        if [ $? -ne 0 ] ; then
+                NEEDGROUP=1
+        fi
+fi
+
+/usr/bin/grep '^mail:' /etc/group >/dev/null
+if [ $? -ne 0 ] ; then
+        /usr/bin/getent group mail >/dev/null
+        if [ $? -ne 0 ] ; then
+                NEEDMAILGROUP=1
+        fi
+fi
+
+if [ "$NEEDGROUP" = 1 ] ; then
+        echo adding smmsp group
+        chroot $PKG_INSTALL_ROOT /usr/sbin/groupadd smmsp
+else
+        echo smmsp group detected
+fi
+
+if [ "$NEEDUSER" = 1 ] ; then
+        echo adding smmsp user
+        chroot $PKG_INSTALL_ROOT /usr/sbin/useradd -g smmsp smmsp
+        chroot $PKG_INSTALL_ROOT /usr/sbin/usermod -c "SendMail Message Submission Program" -d $MYHOME smmsp
+else
+        echo smmsp user detected
+fi
+
+if [ "$NEEDMAILGROUP" = 1 ] ; then
+        echo adding mail group
+        chroot $PKG_INSTALL_ROOT /usr/sbin/groupadd mail
+else
+        echo mail group detected
+fi

Added: csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preremove
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preremove	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/CSWsendmail.preremove	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,55 @@
+# preremove - CSWsendmail
+# 2004-02-28. Correct error on rename mailq
+# 2005-12-14  Fix problem with stopping sendmail
+# 2007-02-25  Add support for Solaris 10+ zone enabled hosts.
+#             Replacing Sun's sendmail is no longer done.
+
+# Stop sendmail if it is running
+smf=no
+if [ -f /usr/sbin/svccfg -a -f /usr/sbin/svcadm ] ; then smf=yes ; fi
+
+VER=`uname -r`
+if [ x"$VER" = x5.8 -o x"$VER" = x5.9 ] ; then
+    SERVER_PID=`pgrep -x -u 0 sendmail`
+else
+    if [ -x /usr/bin/zonename ] ; then
+        ZONE=`/usr/bin/zonename`
+        SERVER_PID=`pgrep -x -u 0 -z "$ZONE" sendmail`
+    else
+        SERVER_PID=`pgrep -x -u 0 sendmail`
+    fi
+fi
+
+if [ $SERVER_PID ]; then
+    echo "## Stopping sendmail"
+    if [ $smf = yes ]
+	then
+        # Disable service
+	/usr/sbin/svcadm disable -s svc:network/smtp:cswsendmail >/dev/null 2>&1
+    else
+	/etc/init.d/cswsendmail stop >/dev/null 2>&1
+    fi
+    while [ $SERVER_PID ]
+      do
+      sleep 1
+      # See if server pid still exists.
+      VER=`uname -r`
+      if [ x"$VER" = x5.8 -o x"$VER" = x5.9 ] ; then
+	  SERVER_PID=`pgrep -x -u 0 sendmail`
+      else
+	  if [ -x /usr/bin/zonename ] ; then
+	      ZONE=`/usr/bin/zonename`
+	      SERVER_PID=`pgrep -x -u 0 -z "$ZONE" sendmail`
+	  else
+	      SERVER_PID=`pgrep -x -u 0 sendmail`
+	  fi
+      fi
+    done
+fi
+
+if [ $smf = yes ] ; then
+    # Unregister with SMF
+    /usr/sbin/svccfg delete svc:network/smtp:cswsendmail >/dev/null 2>&1
+fi
+ 
+exit 0
\ No newline at end of file

Added: csw/mgar/pkg/sendmail/branches/benny/files/README.CSW
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/README.CSW	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/README.CSW	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,64 @@
+2009-07-31
+Initial GAR version of sendmail.
+
+2007-12-09
+Previous package versions replaced some of Sun's sendmail files with symlinks
+to the correponding CSWsendmail file.  This does not work properly in a zone
+enabled environment.  Therefore, this code is removed from the package
+install and package remove scripts.  The code to create the symlinks is now
+in /opt/csw/share/mail/.  To inactivate Sun's sendmail run
+Sun-sendmail-deactivate.sh.
+
+You should run the new inactivate script on the first package installation.
+
+If want to completely remove CSWsendmail, run the Sun-sendmail-activate.sh
+script to return the system to Sun's setup.
+
+PLEASE note that Sun's sendmail patches routinely replace symlink(s) to the
+CSW file(s).  You will need to fix this when it happens.
+
+2007-02-25
+This update includes the errata list dated 2007-02-06.
+
+This update fixes installation scripts to work on a Solaris 10 or later
+zone enabled host.  If you have issues or problems with the installation,
+please send me a email from the CSWsendmail package page on the web.  My
+email address is also listed with the package parameters from `pkgparam -v
+CSWsendmail`.
+
+2007-02-03
+This update adds support for csw.conf.
+
+CSW Sendmail Packaging - Alex Moore and Thomas Glanzmann
+
+This CSW package contains the features of Sun's Solaris 9 sendmail
+package plus MILTER, STARTTLS and SASL.  Like Sun's Solaris 9
+sendmail package, this CSW package includes support for Sun's
+directory server as a naming service which is known as 
+SUN_SIMPLIFIED_LDAP.  This support is provided for both Solaris 8
+and Solaris 9.
+
+Installation procedures provide the option to leave the Sun
+sendmail files as is or replace these files with symlinks to
+the CSW sendmail files.  The default is to leave the existing 
+sendmail installation as is, but it is recommended that the replace
+option be used.  The replace option will stop Sun's sendmail from
+starting on reboot and allow other programs that call the sendmail
+programs to work properly.
+
+The configuration directory in Sun's sendmail is /usr/lib/mail/cf.
+In this package, the configuration directory is 
+/opt/csw/share/mail.
+
+The sample configuration files are copied when they do not exist.
+The package follows Solaris procedures of using subsidiary.cf as
+the sendmail.cf file by default.  See the Solaris Resource
+Management Guide for the definitions of subsidiary and mailhost.
+
+Make changes to the .mc files and run make to create the .cf files.
+If you use main.cf, for non-subsidiary sendmail installations,
+copy it to /opt/csw/etc/mail/sendmail.cf.  Otherwise, copy
+subsidiary.cf to /opt/csw/etc/mail/sendmail.cf.   Submit.cf is
+copied to /opt/csw/etc/mail/ without changing the name.  Both
+files, sendmail.cf and submit.cf are required in /opt/csw/etc/mail/
+for sendmail to run.

Added: csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-deactivate.sh
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-deactivate.sh	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-deactivate.sh	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,106 @@
+#!/bin/sh
+# 2007-12-09 Initial version created from old CSWsendmail Postinstall script
+#
+
+# Make backup of Sun sendmail files
+# /usr/sbin/newaliases or /usr/bin/newaliases
+    if /bin/test ! -L /usr/sbin/newaliases.OFF && /bin/test -L /usr/sbin/newaliases ; then
+        echo "Moving /usr/sbin/newaliases to newaliases.OFF"
+        mv /usr/sbin/newaliases /usr/sbin/newaliases.OFF
+    fi
+    if /bin/test ! -L /usr/bin/newaliases.OFF && /bin/test -L /usr/bin/newaliases ; then
+        echo "Moving /usr/bin/newaliases to newaliases.OFF"
+        mv /usr/bin/newaliases /usr/bin/newaliases.OFF
+    fi
+# /usr/bin/mailq. In Solaris 8, mailq is a file.  In Solaris 9,
+#    mailq is a symlink.  In CSW sendmail, mailq is symlink.
+    if /bin/test ! -f /usr/bin/mailq.OFF && /bin/test -f /usr/bin/mailq ; then
+        echo "Moving /usr/bin/mailq to mailq.OFF"
+        mv /usr/bin/mailq /usr/bin/mailq.OFF
+    fi
+    if /bin/test ! -L /usr/bin/mailq.OFF && /bin/test -L /usr/bin/mailq ; then
+        echo "Moving /usr/bin/mailq to mailq.OFF"
+        mv /usr/bin/mailq /usr/bin/mailq.OFF
+    fi
+# /usr/bin/vacation
+    if /bin/test ! -f /usr/bin/vacation.OFF && /bin/test -f /usr/bin/vacation ; then
+        echo "Moving /usr/bin/vacation to vacation.OFF"
+        mv /usr/bin/vacation /usr/bin/vacation.OFF
+    fi
+# /usr/bin/mailstats
+    if /bin/test ! -f /usr/bin/mailstats.OFF && /bin/test -f /usr/bin/mailstats ; then
+        echo "Moving /usr/bin/mailstats to mailstats.OFF"
+        mv /usr/bin/mailstats /usr/bin/mailstats.OFF
+    fi
+# /usr/sbin/makemap
+    if /bin/test ! -f /usr/sbin/makemap.OFF && /bin/test -f /usr/sbin/makemap ; then
+        echo "Moving /usr/sbin/makemap to makemap.OFF"
+        mv /usr/sbin/makemap /usr/sbin/makemap.OFF
+    fi
+# /usr/bin/praliases
+    if /bin/test ! -f /usr/bin/praliases.OFF && /bin/test -f /usr/bin/praliases ; then
+        echo "Moving /usr/bin/praliases to praliases.OFF"
+        mv /usr/bin/praliases /usr/bin/praliases.OFF
+    fi
+# /usr/lib/smrsh
+    if /bin/test ! -f /usr/lib/smrsh.OFF && /bin/test -f /usr/lib/smrsh ; then
+        echo "Moving /usr/lib/smrsh to smrsh.OFF"
+        mv /usr/lib/smrsh /usr/lib/smrsh.OFF
+    fi
+# /usr/lib/mail.local
+    if /bin/test ! -f /usr/lib/mail.local.OFF && /bin/test -f /usr/lib/mail.local ; then
+        echo "Moving /usr/lib/mail.local to mail.local.OFF"
+        mv /usr/lib/mail.local /usr/lib/mail.local.OFF
+    fi
+# /etc/mail/sendmail.cf
+    if /bin/test ! -f /etc/mail/sendmail.cf.OFF && /bin/test -f /etc/mail/sendmail.cf ; then
+        echo "Moving /etc/mail/sendmail.cf to sendmail.cf.OFF"
+        mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.OFF
+    fi
+# /usr/lib/sendmail
+    if /bin/test ! -f /usr/lib/sendmail.OFF && /bin/test -f /usr/lib/sendmail ; then
+        echo "Moving /usr/lib/sendmail to sendmail.OFF"
+        mv /usr/lib/sendmail /usr/lib/sendmail.OFF
+    fi
+#
+    echo "Making symbolic links in /usr for CSWsendmail files."
+    if /bin/test -L /usr/bin/newaliases.OFF ; then
+        echo "Making symlink /usr/bin/newaliases"
+        ln -s /opt/csw/lib/sendmail /usr/bin/newaliases
+    fi
+    if /bin/test -L /usr/sbin/newaliases.OFF ; then
+        echo "Making symlink /usr/sbin/newaliases"
+        ln -s /opt/csw/lib/sendmail /usr/sbin/newaliases
+    fi
+    if /bin/test ! -L /usr/bin/mailq ; then
+        echo "Making symlink /usr/bin/mailq"
+        ln -s /opt/csw/lib/sendmail /usr/bin/mailq
+    fi
+    if /bin/test ! -L /usr/bin/vacation ; then
+        echo "Making symlink /usr/bin/vacation"
+        ln -s /opt/csw/bin/vacation /usr/bin/vacation
+    fi
+    if /bin/test ! -L /usr/bin/mailstats ; then
+        echo "Making symlink /usr/bin/mailstats"
+        ln -s /opt/csw/sbin/mailstats /usr/bin/mailstats
+    fi
+    if /bin/test ! -L /usr/sbin/makemap ; then
+        echo "Making symlink /usr/sbin/makemap"
+        ln -s /opt/csw/sbin/makemap /usr/sbin/makemap
+    fi
+    if /bin/test ! -L /usr/bin/praliases ; then
+        echo "Making symlink /usr/bin/praliases"
+        ln -s /opt/csw/sbin/praliases /usr/bin/praliases
+    fi
+    if /bin/test ! -L /usr/lib/smrsh ; then
+        echo "Making symlink /usr/lib/smrsh"
+        ln -s /opt/csw/lib/smrsh /usr/lib/smrsh
+    fi
+    if /bin/test ! -L /usr/lib/mail.local ; then
+        echo "Making symlink /usr/lib/mail.local"
+        ln -s /opt/csw/lib/mail.local /usr/lib/mail.local
+    fi
+    if /bin/test ! -L /usr/lib/sendmail ; then
+        echo "Making symlink /usr/lib/sendmail"
+        ln -s /opt/csw/lib/sendmail /usr/lib/sendmail
+    fi

Added: csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-reactivate.sh
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-reactivate.sh	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/Sun-sendmail-reactivate.sh	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,75 @@
+#!/bin/sh
+# 2007-12-09  Initial version created from the old CSWsendmail preremove script
+#
+# Remove the symlinks for using CSWsendmail and return filesystem to
+# using Sun's sendmail.
+
+# Remove the symlinks to CSW files
+    echo "Removing the symlinks to CSW files."
+# /usr/bin/newaliases or /usr/sbin/newaliases
+    if /bin/test -L /usr/bin/newaliases ; then rm -f /usr/bin/newaliases ; fi
+    if /bin/test -L /usr/sbin/newaliases ; then rm -f /usr/sbin/newaliases ; fi
+# /usr/bin/mailq.  mailq is either a symlink or a file, depending
+#   on the version of Solaris
+    if /bin/test -L /usr/bin/mailq ; then rm -f /usr/bin/mailq ; fi
+# /usr/bin/vacation
+    if /bin/test -L /usr/bin/vacation  ; then rm -f /usr/bin/vacation ; fi
+# /usr/bin/mailstats
+    if /bin/test -L /usr/bin/mailstats ; then rm -f /usr/bin/mailstats ; fi
+# /usr/sbin/makemap
+    if /bin/test -L /usr/sbin/makemap ; then rm -f /usr/sbin/makemap ; fi
+# /usr/bin/praliases
+    if /bin/test -L /usr/bin/praliases ; then rm -f /usr/bin/praliases ; fi
+# /usr/lib/smrsh
+    if /bin/test -L /usr/lib/smrsh ; then rm -f /usr/lib/smrsh ; fi
+# /usr/lib/mail.local
+    if /bin/test -L /usr/lib/mail.local ; then rm -f /usr/lib/mail.local ; fi
+# /usr/lib/sendmail
+    if /bin/test -L /usr/lib/sendmail ; then rm -f /usr/lib/sendmail ; fi
+#
+    echo "Symlinks to CSW files removed."
+#
+# Return to Sun files
+# /usr/bin/newaliases or /usr/sbin/newaliases
+    if /bin/test -L /usr/bin/newaliases.OFF ; then 
+        mv -f /usr/bin/newaliases.OFF /usr/bin/newaliases
+    fi
+    if /bin/test -L /usr/sbin/newaliases.OFF ; then 
+        mv -f /usr/sbin/newaliases.OFF /usr/sbin/newaliases
+    fi
+    if /bin/test -L /usr/bin/mailq.OFF || /bin/test -f /usr/bin/mailq.OFF ; then
+        mv -f /usr/bin/mailq.OFF /usr/bin/mailq
+    fi
+# /usr/bin/vacation
+    if /bin/test -f /usr/bin/vacation.OFF ; then
+        mv -f /usr/bin/vacation.OFF /usr/bin/vacation
+    fi
+# /usr/bin/mailstats
+    if /bin/test -f /usr/bin/mailstats.OFF ; then
+        mv -f /usr/bin/mailstats.OFF /usr/bin/mailstats
+    fi
+# /usr/sbin/makemap
+    if /bin/test -f /usr/sbin/makemap.OFF ; then
+        mv -f /usr/sbin/makemap.OFF /usr/sbin/makemap
+    fi
+# /usr/bin/praliases
+    if /bin/test -f /usr/bin/praliases.OFF ; then
+        mv -f /usr/bin/praliases.OFF /usr/bin/praliases
+    fi
+# /usr/lib/smrsh
+    if /bin/test -f /usr/lib/smrsh.OFF ; then
+        mv -f /usr/lib/smrsh.OFF /usr/lib/smrsh
+    fi
+# /usr/lib/mail.local
+    if /bin/test -f /usr/lib/mail.local.OFF ; then
+        mv -f /usr/lib/mail.local.OFF /usr/lib/mail.local
+    fi
+# /usr/lib/sendmail
+    if /bin/test -f /usr/lib/sendmail.OFF ; then
+        mv -f /usr/lib/sendmail.OFF /usr/lib/sendmail
+    fi
+# /etc/mail/sendmail.cf
+    if /bin/test -f /etc/mail/sendmail.cf.OFF ; then
+        mv -f /etc/mail/sendmail.cf.OFF /etc/mail/sendmail.cf
+    fi
+    echo "Sun sendmail files restored."

Added: csw/mgar/pkg/sendmail/branches/benny/files/aliases.CSW
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/aliases.CSW	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/aliases.CSW	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,65 @@
+#
+#	$Id: aliases,v 8.5 2002/06/05 22:54:26 gshapiro Exp $
+#	@(#)aliases	8.2 (Berkeley) 3/5/94
+#
+#  Aliases in this file will NOT be expanded in the header from
+#  Mail, but WILL be visible over networks.
+#
+#	>>>>>>>>>>	The program "newaliases" must be run after
+#	>> NOTE >>	this file is updated for any changes to
+#	>>>>>>>>>>	show through to sendmail.
+#
+#
+# See also RFC 2142, `MAILBOX NAMES FOR COMMON SERVICES, ROLES 
+# AND FUNCTIONS', May 1997
+
+# Pretty much everything else in this file points to "root", so 
+# you should forward root's email to the system administrator.
+# Delivering mail to root's mailbox or reading mail as root is
+# inadvisable.
+
+# Uncomment and *CHANGE* this!
+# root:		insert-human-being-here
+
+# Basic system aliases -- these MUST be present
+MAILER-DAEMON:	postmaster
+postmaster:	root
+
+# General redirections for pseudo accounts
+bin:		root
+daemon:		root
+games:		root
+mailnull:	postmaster
+smmsp:		postmaster
+ingres:		root
+nobody:		root
+system:		root
+toor:		root
+
+# Well-known aliases
+manager:	root
+dumper:		root
+operator:	root
+
+# RFC 2142: BUSINESS-RELATED MAILBOX NAMES
+# info:		root
+# marketing:	root
+# sales:	root
+# support:	root
+
+# RFC 2142: NETWORK OPERATIONS MAILBOX NAMES
+abuse:		root
+noc:		root
+security:	root
+
+# RFC 2142: SUPPORT MAILBOX NAMES FOR SPECIFIC INTERNET SERVICES
+hostmaster:	root
+usenet:		root
+news:		usenet
+webmaster:	root
+www:		webmaster
+uucp:		root
+ftp:		root
+
+# Trap decode to catch security attacks
+decode:		root

Modified: csw/mgar/pkg/sendmail/branches/benny/files/cswsendmail
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/cswsendmail	2009-07-31 14:56:30 UTC (rev 5775)
+++ csw/mgar/pkg/sendmail/branches/benny/files/cswsendmail	2009-07-31 15:12:19 UTC (rev 5776)
@@ -8,7 +8,7 @@
 
 ERRMSG1='WARNING: /var/mail is NFS-mounted without setting actimeo=0,'
 ERRMSG2='this can cause mailbox locking and access problems.'
-SERVER_PID_FILE="/var/run/sendmail.pid"
+SERVER_PID_FILE="/var/opt/csw/run/sendmail.pid"
 CLIENT_PID_FILE="/opt/csw/var/spool/clientmqueue/sm-client.pid"
 DEFAULT_FILE="/opt/csw/etc/default/sendmail"
 ALIASES_FILE="/opt/csw/etc/mail/aliases"
@@ -36,7 +36,7 @@
 'start')
 	if [ -f $CSW_DIR/lib/sendmail -a -f $CSW_DIR/etc/mail/sendmail.cf ]; then
 		if [ ! -d $CSW_DIR/var/spool/mqueue ]; then
-			/usr/bin/mkdir -m 0750 $CSW_DIR/var/spool/mqueue
+			/usr/bin/mkdir -pm 0750 $CSW_DIR/var/spool/mqueue
 			/usr/bin/chown root:bin $CSW_DIR/var/spool/mqueue
 		fi
 		if [ ! -f $ALIASES_FILE.db ] && [ ! -f $ALIASES_FILE.dir ] \

Added: csw/mgar/pkg/sendmail/branches/benny/files/helpfile.CSW
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/helpfile.CSW	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/helpfile.CSW	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,137 @@
+#vers	2
+cpyr
+cpyr	Copyright (c) 1998-2000, 2002, 2004-2007 Sendmail, Inc. and its suppliers.
+cpyr	    All rights reserved.
+cpyr	Copyright (c) 1983, 1995-1997 Eric P. Allman.  All rights reserved.
+cpyr	Copyright (c) 1988, 1993
+cpyr	    The Regents of the University of California.  All rights reserved.
+cpyr
+cpyr
+cpyr	By using this file, you agree to the terms and conditions set
+cpyr	forth in the LICENSE file which can be found at the top level of
+cpyr	the sendmail distribution.
+cpyr
+cpyr	$$Id: helpfile,v 8.48 2007/02/01 18:29:44 ca Exp $$
+cpyr
+smtp	This is sendmail version $v
+smtp	Topics:
+smtp		HELO	EHLO	MAIL	RCPT	DATA
+smtp		RSET	NOOP	QUIT	HELP	VRFY
+smtp		EXPN	VERB	ETRN	DSN	AUTH
+smtp		STARTTLS
+smtp	For more info use "HELP <topic>".
+smtp	To report bugs in the implementation see
+smtp		http://www.sendmail.org/email-addresses.html
+smtp	For local information send email to Postmaster at your site.
+help	HELP [ <topic> ]
+help		The HELP command gives help info.
+helo	HELO <hostname>
+helo		Introduce yourself.
+ehlo	EHLO <hostname>
+ehlo		Introduce yourself, and request extended SMTP mode.
+ehlo	Possible replies include:
+ehlo		SEND		Send as mail			[RFC821]
+ehlo		SOML		Send as mail or terminal	[RFC821]
+ehlo		SAML		Send as mail and terminal	[RFC821]
+ehlo		EXPN		Expand the mailing list		[RFC821]
+ehlo		HELP		Supply helpful information	[RFC821]
+ehlo		TURN		Turn the operation around	[RFC821]
+ehlo		8BITMIME	Use 8-bit data			[RFC1652]
+ehlo		SIZE		Message size declaration	[RFC1870]
+ehlo		VERB		Verbose				[Allman]
+ehlo		CHUNKING	Chunking			[RFC1830]
+ehlo		BINARYMIME	Binary MIME			[RFC1830]
+ehlo		PIPELINING	Command Pipelining		[RFC1854]
+ehlo		DSN		Delivery Status Notification	[RFC1891]
+ehlo		ETRN		Remote Message Queue Starting	[RFC1985]
+ehlo		STARTTLS	Secure SMTP			[RFC2487]
+ehlo		AUTH		Authentication			[RFC2554]
+ehlo		ENHANCEDSTATUSCODES	Enhanced status codes	[RFC2034]
+ehlo		DELIVERBY	Deliver By			[RFC2852]
+mail	MAIL From:<sender> [ <parameters> ]
+mail		Specifies the sender.  Parameters are ESMTP extensions.
+mail		See "HELP DSN" for details.
+rcpt	RCPT To:<recipient> [ <parameters> ]
+rcpt		Specifies the recipient.  Can be used any number of times.
+rcpt		Parameters are ESMTP extensions.  See "HELP DSN" for details.
+data	DATA
+data		Following text is collected as the message.
+data		End with a single dot.
+rset	RSET
+rset		Resets the system.
+quit	QUIT
+quit		Exit sendmail (SMTP).
+auth	AUTH mechanism [initial-response]
+auth		Start authentication.
+starttls	STARTTLS
+starttls		Start TLS negotiation.
+verb	VERB
+verb		Go into verbose mode.  This sends 0xy responses that are
+verb		not RFC821 standard (but should be)  They are recognized
+verb		by humans and other sendmail implementations.
+vrfy	VRFY <recipient>
+vrfy		Verify an address.  If you want to see what it aliases
+vrfy		to, use EXPN instead.
+expn	EXPN <recipient>
+expn		Expand an address.  If the address indicates a mailing
+expn		list, return the contents of that list.
+noop	NOOP
+noop		Do nothing.
+send	SEND FROM:<sender>
+send		replaces the MAIL command, and can be used to send
+send		directly to a users terminal.  Not supported in this
+send		implementation.
+soml	SOML FROM:<sender>
+soml		Send or mail.  If the user is logged in, send directly,
+soml		otherwise mail.  Not supported in this implementation.
+saml	SAML FROM:<sender>
+saml		Send and mail.  Send directly to the user's terminal,
+saml		and also mail a letter.  Not supported in this
+saml		implementation.
+turn	TURN
+turn		Reverses the direction of the connection.  Not currently
+turn		implemented.
+etrn	ETRN [ <hostname> | @<domain> | \#<queuename> ]
+etrn		Run the queue for the specified <hostname>, or
+etrn		all hosts within a given <domain>, or a specially-named
+etrn		<queuename> (implementation-specific).
+dsn	MAIL From:<sender> [ RET={ FULL | HDRS} ] [ ENVID=<envid> ]
+dsn	RCPT To:<recipient> [ NOTIFY={NEVER,SUCCESS,FAILURE,DELAY} ]
+dsn			     [ ORCPT=<recipient> ]
+dsn		SMTP Delivery Status Notifications.
+dsn	Descriptions:
+dsn		RET	Return either the full message or only headers.
+dsn		ENVID	Sender's "envelope identifier" for tracking.
+dsn		NOTIFY	When to send a DSN. Multiple options are OK, comma-
+dsn			delimited. NEVER must appear by itself.
+dsn		ORCPT	Original recipient.
+-bt	Help for test mode:
+-bt	?		 :this help message.
+-bt	.Dmvalue	 :define macro `m' to `value'.
+-bt	.Ccvalue	 :add `value' to class `c'.
+-bt	=Sruleset	 :dump the contents of the indicated ruleset.
+-bt	=M		 :display the known mailers.
+-bt	-ddebug-spec	 :equivalent to the command-line -d debug flag.
+-bt	$$m		 :print the value of macro $$m.
+-bt	$$=c		 :print the contents of class $$=c.
+-bt	/mx host	 :returns the MX records for `host'.
+-bt	/parse address	 :parse address, returning the value of crackaddr, and
+-bt			  the parsed address.
+-bt	/try mailer addr :rewrite address into the form it will have when
+-bt			  presented to the indicated mailer.
+-bt	/tryflags flags	 :set flags used by parsing.  The flags can be `H' for
+-bt			  Header or `E' for Envelope, and `S' for Sender or `R'
+-bt			  for Recipient.  These can be combined, `HR' sets
+-bt			  flags for header recipients.
+-bt	/canon hostname	 :try to canonify hostname.
+-bt	/map mapname key :look up `key' in the indicated `mapname'.
+-bt	/quit		 :quit address test mode.
+-bt	rules addr	 :run the indicated address through the named rules.
+-bt			  Rules can be a comma separated list of rules.
+control	Help for smcontrol:
+control	help		This message.
+control	restart		Restart sendmail.
+control	shutdown	Shutdown sendmail.
+control	status		Show sendmail status.
+control	mstat		Show sendmail status (machine readable format).
+control	memdump		Dump allocated memory list (for debugging only).

Added: csw/mgar/pkg/sendmail/branches/benny/files/i.sol10
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/i.sol10	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/i.sol10	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,23 @@
+# PKGINST parameter provided by installation services
+# Move the Solaris 9 version specific files to the base directory.
+# The files specific to Solaris release are:
+# bin/vacation
+# sbin/editmap
+# sbin/mailstats
+# sbin/makemap
+# sbin/praliases
+# lib/mail.local
+# lib/sendmail
+# lib/smrsh
+#
+echo "Installing class <sol10>."
+while read src dest
+do
+	# Keep pkgadd happy by copying the file as defined
+	/usr/bin/cp $src $dest || exit 2
+	# Copy the version specific file to the original name
+	dest2="`echo $dest | sed 's/sol10.//g'`" || exit 2
+	echo $dest2
+	/usr/bin/cp $src $dest2 || exit 2
+done
+exit 0

Added: csw/mgar/pkg/sendmail/branches/benny/files/i.sol8
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/i.sol8	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/i.sol8	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,23 @@
+# PKGINST parameter provided by installation services
+# Move the Solaris 9 version specific files to the base directory.
+# The files specific to Solaris release are:
+# bin/vacation
+# sbin/editmap
+# sbin/mailstats
+# sbin/makemap
+# sbin/praliases
+# lib/mail.local
+# lib/sendmail
+# lib/smrsh
+#
+echo "Installing class <sol8>."
+while read src dest
+do
+	# Keep pkgadd happy by copying the file as defined
+	/usr/bin/cp $src $dest || exit 2
+	# Copy the version specific file to the original name
+	dest2="`echo $dest | sed 's/sol8.//g'`" || exit 2
+	echo $dest2
+	/usr/bin/cp $src $dest2 || exit 2
+done
+exit 0

Added: csw/mgar/pkg/sendmail/branches/benny/files/i.sol9
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/i.sol9	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/i.sol9	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,23 @@
+# PKGINST parameter provided by installation services
+# Move the Solaris 9 version specific files to the base directory.
+# The files specific to Solaris release are:
+# bin/vacation
+# sbin/editmap
+# sbin/mailstats
+# sbin/makemap
+# sbin/praliases
+# lib/mail.local
+# lib/sendmail
+# lib/smrsh
+#
+echo "Installing class <sol9>."
+while read src dest
+do
+	# Keep pkgadd happy by copying the file as defined
+	/usr/bin/cp $src $dest || exit 2
+	# Copy the version specific file to the original name
+	dest2="`echo $dest | sed 's/sol9.//g'`" || exit 2
+	echo $dest2
+	/usr/bin/cp $src $dest2 || exit 2
+done
+exit 0

Added: csw/mgar/pkg/sendmail/branches/benny/files/sendmail.cf.CSW
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/sendmail.cf.CSW	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/sendmail.cf.CSW	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,1467 @@
+#
+# Copyright (c) 1998-2004 Sendmail, Inc. and its suppliers.
+#	All rights reserved.
+# Copyright (c) 1983, 1995 Eric P. Allman.  All rights reserved.
+# Copyright (c) 1988, 1993
+#	The Regents of the University of California.  All rights reserved.
+#
+# By using this file, you agree to the terms and conditions set
+# forth in the LICENSE file which can be found at the top level of
+# the sendmail distribution.
+#
+#
+
+######################################################################
+######################################################################
+#####
+#####		SENDMAIL CONFIGURATION FILE
+#####
+##### built by dt73646 at rc-osg-revo on Thu Jul 30 16:59:32 CDT 2009
+##### in /dst/home/dt73646/opencsw/mgar/pkg/sendmail/trunk/work/build-isa-sparcv8/sendmail-8.14.3/cf/cf
+##### using ../ as configuration include directory
+#####
+######################################################################
+#####
+#####	DO NOT EDIT THIS FILE!  Only edit the source .mc file.
+#####
+######################################################################
+######################################################################
+
+#####  $Id: cfhead.m4,v 8.116 2004/01/28 22:02:22 ca Exp $  #####
+#####  $Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp $  #####
+#####  $Id: generic-solaris.mc,v 8.13 2001/06/27 21:46:30 gshapiro Exp $  #####
+
+#####  $Id: solaris2.m4,v 8.22 1999/09/24 21:43:53 ca Exp $  #####
+
+#####  $Id: generic.m4,v 8.15 1999/04/04 00:51:09 ca Exp $  #####
+
+#####  $Id: redirect.m4,v 8.15 1999/08/06 01:47:36 gshapiro Exp $  #####
+
+#####  $Id: use_cw_file.m4,v 8.11 2001/08/26 20:58:57 gshapiro Exp $  #####
+
+
+
+#####  $Id: proto.m4,v 8.734 2008/01/24 23:42:01 ca Exp $  #####
+
+# level 10 config file format
+V10/Berkeley
+
+# override file safeties - setting this option compromises system security,
+# addressing the actual file configuration problem is preferred
+# need to set this before any file actions are encountered in the cf file
+#O DontBlameSendmail=safe
+
+# default LDAP map specification
+# need to set this now before any LDAP maps are defined
+#O LDAPDefaultSpec=-h localhost
+
+##################
+#   local info   #
+##################
+
+# my LDAP cluster
+# need to set this before any LDAP lookups are done (including classes)
+#D{sendmailMTACluster}$m
+
+Cwlocalhost
+# file containing names of hosts for which we receive email
+Fw/etc/mail/local-host-names
+
+# my official domain name
+# ... define this only if sendmail cannot automatically determine your domain
+#Dj$w.Foo.COM
+
+# host/domain names ending with a token in class P are canonical
+CP.
+
+# "Smart" relay host (may be null)
+DS
+
+
+# operators that cannot be in local usernames (i.e., network indicators)
+CO @ % !
+
+# a class with just dot (for identifying canonical names)
+C..
+
+# a class with just a left bracket (for identifying domain literals)
+C[[
+
+
+# Resolve map (to check if a host exists in check_mail)
+Kresolve host -a<OKR> -T<TEMP>
+C{ResOk}OKR
+
+
+# Hosts for which relaying is permitted ($=R)
+FR-o /etc/mail/relay-domains
+
+# arithmetic map
+Karith arith
+
+
+
+
+
+# dequoting map
+Kdequote dequote
+
+# class E: names that should be exposed as from this host, even if we masquerade
+# class L: names that should be delivered locally, even if we have a relay
+# class M: domains that should be converted to $M
+# class N: domains that should not be converted to $M
+#CL root
+C{E}root
+
+
+
+# my name for error messages
+DnMAILER-DAEMON
+
+
+CPREDIRECT
+
+# Configuration version number
+DZ8.14.3
+
+
+###############
+#   Options   #
+###############
+
+# strip message body to 7 bits on input?
+O SevenBitInput=False
+
+# 8-bit data handling
+#O EightBitMode=pass8
+
+# wait for alias file rebuild (default units: minutes)
+O AliasWait=10
+
+# location of alias file
+O AliasFile=/etc/mail/aliases
+
+# minimum number of free blocks on filesystem
+O MinFreeBlocks=100
+
+# maximum message size
+#O MaxMessageSize=0
+
+# substitution for space (blank) characters
+O BlankSub=.
+
+# avoid connecting to "expensive" mailers on initial submission?
+O HoldExpensive=False
+
+# checkpoint queue runs after every N successful deliveries
+#O CheckpointInterval=10
+
+# default delivery mode
+O DeliveryMode=background
+
+# error message header/file
+#O ErrorHeader=/etc/mail/error-header
+
+# error mode
+#O ErrorMode=print
+
+# save Unix-style "From_" lines at top of header?
+#O SaveFromLine=False
+
+# queue file mode (qf files)
+#O QueueFileMode=0600
+
+# temporary file mode
+O TempFileMode=0600
+
+# match recipients against GECOS field?
+#O MatchGECOS=False
+
+# maximum hop count
+#O MaxHopCount=25
+
+# location of help file
+O HelpFile=/etc/mail/helpfile
+
+# ignore dots as terminators in incoming messages?
+#O IgnoreDots=False
+
+# name resolver options
+#O ResolverOptions=+AAONLY
+
+# deliver MIME-encapsulated error messages?
+O SendMimeErrors=True
+
+# Forward file search path
+O ForwardPath=$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward
+
+# open connection cache size
+O ConnectionCacheSize=2
+
+# open connection cache timeout
+O ConnectionCacheTimeout=5m
+
+# persistent host status directory
+#O HostStatusDirectory=.hoststat
+
+# single thread deliveries (requires HostStatusDirectory)?
+#O SingleThreadDelivery=False
+
+# use Errors-To: header?
+O UseErrorsTo=False
+
+# log level
+O LogLevel=9
+
+# send to me too, even in an alias expansion?
+#O MeToo=True
+
+# verify RHS in newaliases?
+O CheckAliases=False
+
+# default messages to old style headers if no special punctuation?
+O OldStyleHeaders=True
+
+# SMTP daemon options
+O DaemonPortOptions=Name=MTA
+O DaemonPortOptions=Port=587, Name=MSA, M=E
+
+# SMTP client options
+#O ClientPortOptions=Family=inet, Address=0.0.0.0
+
+# Modifiers to define {daemon_flags} for direct submissions
+#O DirectSubmissionModifiers
+
+# Use as mail submission program? See sendmail/SECURITY
+#O UseMSP
+
+# privacy flags
+O PrivacyOptions=authwarnings
+
+# who (if anyone) should get extra copies of error messages
+#O PostmasterCopy=Postmaster
+
+# slope of queue-only function
+#O QueueFactor=600000
+
+# limit on number of concurrent queue runners
+#O MaxQueueChildren
+
+# maximum number of queue-runners per queue-grouping with multiple queues
+#O MaxRunnersPerQueue=1
+
+# priority of queue runners (nice(3))
+#O NiceQueueRun
+
+# shall we sort the queue by hostname first?
+#O QueueSortOrder=priority
+
+# minimum time in queue before retry
+#O MinQueueAge=30m
+
+# how many jobs can you process in the queue?
+#O MaxQueueRunSize=0
+
+# perform initial split of envelope without checking MX records
+#O FastSplit=1
+
+# queue directory
+O QueueDirectory=/var/spool/mqueue
+
+# key for shared memory; 0 to turn off, -1 to auto-select
+#O SharedMemoryKey=0
+
+# file to store auto-selected key for shared memory (SharedMemoryKey = -1)
+#O SharedMemoryKeyFile
+
+# timeouts (many of these)
+#O Timeout.initial=5m
+#O Timeout.connect=5m
+#O Timeout.aconnect=0s
+#O Timeout.iconnect=5m
+#O Timeout.helo=5m
+#O Timeout.mail=10m
+#O Timeout.rcpt=1h
+#O Timeout.datainit=5m
+#O Timeout.datablock=1h
+#O Timeout.datafinal=1h
+#O Timeout.rset=5m
+#O Timeout.quit=2m
+#O Timeout.misc=2m
+#O Timeout.command=1h
+#O Timeout.ident=5s
+#O Timeout.fileopen=60s
+#O Timeout.control=2m
+O Timeout.queuereturn=5d
+#O Timeout.queuereturn.normal=5d
+#O Timeout.queuereturn.urgent=2d
+#O Timeout.queuereturn.non-urgent=7d
+#O Timeout.queuereturn.dsn=5d
+O Timeout.queuewarn=4h
+#O Timeout.queuewarn.normal=4h
+#O Timeout.queuewarn.urgent=1h
+#O Timeout.queuewarn.non-urgent=12h
+#O Timeout.queuewarn.dsn=4h
+#O Timeout.hoststatus=30m
+#O Timeout.resolver.retrans=5s
+#O Timeout.resolver.retrans.first=5s
+#O Timeout.resolver.retrans.normal=5s
+#O Timeout.resolver.retry=4
+#O Timeout.resolver.retry.first=4
+#O Timeout.resolver.retry.normal=4
+#O Timeout.lhlo=2m
+#O Timeout.auth=10m
+#O Timeout.starttls=1h
+
+# time for DeliverBy; extension disabled if less than 0
+#O DeliverByMin=0
+
+# should we not prune routes in route-addr syntax addresses?
+#O DontPruneRoutes=False
+
+# queue up everything before forking?
+O SuperSafe=True
+
+# status file
+#O StatusFile
+
+# time zone handling:
+#  if undefined, use system default
+#  if defined but null, use TZ envariable passed in
+#  if defined and non-null, use that info
+#O TimeZoneSpec=
+
+# default UID (can be username or userid:groupid)
+#O DefaultUser=mailnull
+
+# list of locations of user database file (null means no lookup)
+#O UserDatabaseSpec=/etc/mail/userdb
+
+# fallback MX host
+#O FallbackMXhost=fall.back.host.net
+
+# fallback smart host
+#O FallbackSmartHost=fall.back.host.net
+
+# if we are the best MX host for a site, try it directly instead of config err
+#O TryNullMXList=False
+
+# load average at which we just queue messages
+#O QueueLA=8
+
+# load average at which we refuse connections
+#O RefuseLA=12
+
+# log interval when refusing connections for this long
+#O RejectLogInterval=3h
+
+# load average at which we delay connections; 0 means no limit
+#O DelayLA=0
+
+# maximum number of children we allow at one time
+#O MaxDaemonChildren=0
+
+# maximum number of new connections per second
+#O ConnectionRateThrottle=0
+
+# Width of the window 
+#O ConnectionRateWindowSize=60s
+
+# work recipient factor
+#O RecipientFactor=30000
+
+# deliver each queued job in a separate process?
+#O ForkEachJob=False
+
+# work class factor
+#O ClassFactor=1800
+
+# work time factor
+#O RetryFactor=90000
+
+# default character set
+#O DefaultCharSet=unknown-8bit
+
+# service switch file (name hardwired on Solaris, Ultrix, OSF/1, others)
+#O ServiceSwitchFile=/etc/mail/service.switch
+
+# hosts file (normally /etc/hosts)
+#O HostsFile=/etc/hosts
+
+# dialup line delay on connection failure
+#O DialDelay=0s
+
+# action to take if there are no recipients in the message
+#O NoRecipientAction=none
+
+# chrooted environment for writing to files
+#O SafeFileEnvironment
+
+# are colons OK in addresses?
+#O ColonOkInAddr=True
+
+# shall I avoid expanding CNAMEs (violates protocols)?
+#O DontExpandCnames=False
+
+# SMTP initial login message (old $e macro)
+O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
+
+# UNIX initial From header format (old $l macro)
+O UnixFromLine=From $g $d
+
+# From: lines that have embedded newlines are unwrapped onto one line
+#O SingleLineFromHeader=False
+
+# Allow HELO SMTP command that does not include a host name
+#O AllowBogusHELO=False
+
+# Characters to be quoted in a full name phrase (@,;:\()[] are automatic)
+#O MustQuoteChars=.
+
+# delimiter (operator) characters (old $o macro)
+O OperatorChars=.:%@!^/[]+
+
+# shall I avoid calling initgroups(3) because of high NIS costs?
+#O DontInitGroups=False
+
+# are group-writable :include: and .forward files (un)trustworthy?
+# True (the default) means they are not trustworthy.
+#O UnsafeGroupWrites=True
+
+
+# where do errors that occur when sending errors get sent?
+#O DoubleBounceAddress=postmaster
+
+# issue temporary errors (4xy) instead of permanent errors (5xy)?
+#O SoftBounce=False
+
+# where to save bounces if all else fails
+#O DeadLetterDrop=/var/tmp/dead.letter
+
+# what user id do we assume for the majority of the processing?
+#O RunAsUser=sendmail
+
+# maximum number of recipients per SMTP envelope
+#O MaxRecipientsPerMessage=0
+
+# limit the rate recipients per SMTP envelope are accepted
+# once the threshold number of recipients have been rejected
+#O BadRcptThrottle=0
+
+# shall we get local names from our installed interfaces?
+#O DontProbeInterfaces=False
+
+# Return-Receipt-To: header implies DSN request
+#O RrtImpliesDsn=False
+
+# override connection address (for testing)
+#O ConnectOnlyTo=0.0.0.0
+
+# Trusted user for file ownership and starting the daemon
+#O TrustedUser=root
+
+# Control socket for daemon management
+#O ControlSocketName=/var/spool/mqueue/.control
+
+# Maximum MIME header length to protect MUAs
+#O MaxMimeHeaderLength=0/0
+
+# Maximum length of the sum of all headers
+O MaxHeadersLength=32768
+
+# Maximum depth of alias recursion
+#O MaxAliasRecursion=10
+
+# location of pid file
+#O PidFile=/var/run/sendmail.pid
+
+# Prefix string for the process title shown on 'ps' listings
+#O ProcessTitlePrefix=prefix
+
+# Data file (df) memory-buffer file maximum size
+#O DataFileBufferSize=4096
+
+# Transcript file (xf) memory-buffer file maximum size
+#O XscriptFileBufferSize=4096
+
+# lookup type to find information about local mailboxes
+#O MailboxDatabase=pw
+
+# override compile time flag REQUIRES_DIR_FSYNC
+#O RequiresDirfsync=true
+
+# list of authentication mechanisms
+#O AuthMechanisms=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
+
+# Authentication realm
+#O AuthRealm
+
+# default authentication information for outgoing connections
+#O DefaultAuthInfo=/etc/mail/default-auth-info
+
+# SMTP AUTH flags
+#O AuthOptions
+
+# SMTP AUTH maximum encryption strength
+#O AuthMaxBits
+
+# SMTP STARTTLS server options
+#O TLSSrvOptions
+
+# Input mail filters
+#O InputMailFilters
+
+
+# CA directory
+#O CACertPath
+# CA file
+#O CACertFile
+# Server Cert
+#O ServerCertFile
+# Server private key
+#O ServerKeyFile
+# Client Cert
+#O ClientCertFile
+# Client private key
+#O ClientKeyFile
+# File containing certificate revocation lists 
+#O CRLFile
+# DHParameters (only required if DSA/DH is used)
+#O DHParameters
+# Random data source (required for systems without /dev/urandom under OpenSSL)
+#O RandFile
+
+# Maximum number of "useless" commands before slowing down
+#O MaxNOOPCommands=20
+
+# Name to use for EHLO (defaults to $j)
+#O HeloName
+
+############################
+# QUEUE GROUP DEFINITIONS  #
+############################
+
+
+###########################
+#   Message precedences   #
+###########################
+
+Pfirst-class=0
+Pspecial-delivery=100
+Plist=-30
+Pbulk=-60
+Pjunk=-100
+
+#####################
+#   Trusted users   #
+#####################
+
+# this is equivalent to setting class "t"
+#Ft/etc/mail/trusted-users
+Troot
+Tdaemon
+Tuucp
+
+#########################
+#   Format of headers   #
+#########################
+
+H?P?Return-Path: <$g>
+HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
+	$.$?{auth_type}(authenticated$?{auth_ssf} bits=${auth_ssf}$.)
+	$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}
+	(version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u
+	for $u; $|;
+	$.$b
+H?D?Resent-Date: $a
+H?D?Date: $a
+H?F?Resent-From: $?x$x <$g>$|$g$.
+H?F?From: $?x$x <$g>$|$g$.
+H?x?Full-Name: $x
+# HPosted-Date: $a
+# H?l?Received-Date: $b
+H?M?Resent-Message-Id: <$t.$i@$j>
+H?M?Message-Id: <$t.$i@$j>
+
+#
+######################################################################
+######################################################################
+#####
+#####			REWRITING RULES
+#####
+######################################################################
+######################################################################
+
+############################################
+###  Ruleset 3 -- Name Canonicalization  ###
+############################################
+Scanonify=3
+
+# handle null input (translate to <@> special case)
+R$@			$@ <@>
+
+# strip group: syntax (not inside angle brackets!) and trailing semicolon
+R$*			$: $1 <@>			mark addresses
+R$* < $* > $* <@>	$: $1 < $2 > $3			unmark <addr>
+R@ $* <@>		$: @ $1				unmark @host:...
+R$* [ IPv6 : $+ ] <@>	$: $1 [ IPv6 : $2 ]		unmark IPv6 addr
+R$* :: $* <@>		$: $1 :: $2			unmark node::addr
+R:include: $* <@>	$: :include: $1			unmark :include:...
+R$* : $* [ $* ]		$: $1 : $2 [ $3 ] <@>		remark if leading colon
+R$* : $* <@>		$: $2				strip colon if marked
+R$* <@>			$: $1				unmark
+R$* ;			   $1				strip trailing semi
+R$* < $+ :; > $*	$@ $2 :; <@>			catch <list:;>
+R$* < $* ; >		   $1 < $2 >			bogus bracketed semi
+
+# null input now results from list:; syntax
+R$@			$@ :; <@>
+
+# strip angle brackets -- note RFC733 heuristic to get innermost item
+R$*			$: < $1 >			housekeeping <>
+R$+ < $* >		   < $2 >			strip excess on left
+R< $* > $+		   < $1 >			strip excess on right
+R<>			$@ < @ >			MAIL FROM:<> case
+R< $+ >			$: $1				remove housekeeping <>
+
+# strip route address <@a, at b, at c:user at d> -> <user at d>
+R@ $+ , $+		$2
+R@ [ $* ] : $+		$2
+R@ $+ : $+		$2
+
+# find focus for list syntax
+R $+ : $* ; @ $+	$@ $>Canonify2 $1 : $2 ; < @ $3 >	list syntax
+R $+ : $* ;		$@ $1 : $2;			list syntax
+
+# find focus for @ syntax addresses
+R$+ @ $+		$: $1 < @ $2 >			focus on domain
+R$+ < $+ @ $+ >		$1 $2 < @ $3 >			move gaze right
+R$+ < @ $+ >		$@ $>Canonify2 $1 < @ $2 >	already canonical
+
+
+# convert old-style addresses to a domain-based address
+R$- ! $+		$@ $>Canonify2 $2 < @ $1 .UUCP >	resolve uucp names
+R$+ . $- ! $+		$@ $>Canonify2 $3 < @ $1 . $2 >		domain uucps
+R$+ ! $+		$@ $>Canonify2 $2 < @ $1 .UUCP >	uucp subdomains
+
+# if we have % signs, take the rightmost one
+R$* % $*		$1 @ $2				First make them all @s.
+R$* @ $* @ $*		$1 % $2 @ $3			Undo all but the last.
+R$* @ $*		$@ $>Canonify2 $1 < @ $2 >	Insert < > and finish
+
+# else we must be a local name
+R$*			$@ $>Canonify2 $1
+
+
+################################################
+###  Ruleset 96 -- bottom half of ruleset 3  ###
+################################################
+
+SCanonify2=96
+
+# handle special cases for local names
+R$* < @ localhost > $*		$: $1 < @ $j . > $2		no domain at all
+R$* < @ localhost . $m > $*	$: $1 < @ $j . > $2		local domain
+R$* < @ localhost . UUCP > $*	$: $1 < @ $j . > $2		.UUCP domain
+
+# check for IPv4/IPv6 domain literal
+R$* < @ [ $+ ] > $*		$: $1 < @@ [ $2 ] > $3		mark [addr]
+R$* < @@ $=w > $*		$: $1 < @ $j . > $3		self-literal
+R$* < @@ $+ > $*		$@ $1 < @ $2 > $3		canon IP addr
+
+
+
+
+
+# if really UUCP, handle it immediately
+
+# try UUCP traffic as a local address
+R$* < @ $+ . UUCP > $*		$: $1 < @ $[ $2 $] . UUCP . > $3
+R$* < @ $+ . . UUCP . > $*	$@ $1 < @ $2 . > $3
+
+# hostnames ending in class P are always canonical
+R$* < @ $* $=P > $*		$: $1 < @ $2 $3 . > $4
+R$* < @ $* $~P > $*		$: $&{daemon_flags} $| $1 < @ $2 $3 > $4
+R$* CC $* $| $* < @ $+.$+ > $*	$: $3 < @ $4.$5 . > $6
+R$* CC $* $| $*			$: $3
+# pass to name server to make hostname canonical
+R$* $| $* < @ $* > $*		$: $2 < @ $[ $3 $] > $4
+R$* $| $*			$: $2
+
+# local host aliases and pseudo-domains are always canonical
+R$* < @ $=w > $*		$: $1 < @ $2 . > $3
+R$* < @ $=M > $*		$: $1 < @ $2 . > $3
+R$* < @ $* . . > $*		$1 < @ $2 . > $3
+
+
+##################################################
+###  Ruleset 4 -- Final Output Post-rewriting  ###
+##################################################
+Sfinal=4
+
+R$+ :; <@>		$@ $1 :				handle <list:;>
+R$* <@>			$@				handle <> and list:;
+
+# strip trailing dot off possibly canonical name
+R$* < @ $+ . > $*	$1 < @ $2 > $3
+
+# eliminate internal code
+R$* < @ *LOCAL* > $*	$1 < @ $j > $2
+
+# externalize local domain info
+R$* < $+ > $*		$1 $2 $3			defocus
+R@ $+ : @ $+ : $+	@ $1 , @ $2 : $3		<route-addr> canonical
+R@ $*			$@ @ $1				... and exit
+
+# UUCP must always be presented in old form
+R$+ @ $- . UUCP		$2!$1				u at h.UUCP => h!u
+
+# delete duplicate local names
+R$+ % $=w @ $=w		$1 @ $2				u%host at host => u at host
+
+
+
+##############################################################
+###   Ruleset 97 -- recanonicalize and call ruleset zero   ###
+###		   (used for recursive calls)		   ###
+##############################################################
+
+SRecurse=97
+R$*			$: $>canonify $1
+R$*			$@ $>parse $1
+
+
+######################################
+###   Ruleset 0 -- Parse Address   ###
+######################################
+
+Sparse=0
+
+R$*			$: $>Parse0 $1		initial parsing
+R<@>			$#local $: <@>		special case error msgs
+R$*			$: $>ParseLocal $1	handle local hacks
+R$*			$: $>Parse1 $1		final parsing
+
+#
+#  Parse0 -- do initial syntax checking and eliminate local addresses.
+#	This should either return with the (possibly modified) input
+#	or return with a #error mailer.  It should not return with a
+#	#mailer other than the #error mailer.
+#
+
+SParse0
+R<@>			$@ <@>			special case error msgs
+R$* : $* ; <@>		$#error $@ 5.1.3 $: "553 List:; syntax illegal for recipient addresses"
+R@ <@ $* >		< @ $1 >		catch "@@host" bogosity
+R<@ $+>			$#error $@ 5.1.3 $: "553 User address required"
+R$+ <@>			$#error $@ 5.1.3 $: "553 Hostname required"
+R$*			$: <> $1
+R<> $* < @ [ $* ] : $+ > $*	$1 < @ [ $2 ] : $3 > $4
+R<> $* < @ [ $* ] , $+ > $*	$1 < @ [ $2 ] , $3 > $4
+R<> $* < @ [ $* ] $+ > $*	$#error $@ 5.1.2 $: "553 Invalid address"
+R<> $* < @ [ $+ ] > $*		$1 < @ [ $2 ] > $3
+R<> $* <$* : $* > $*	$#error $@ 5.1.3 $: "553 Colon illegal in host name part"
+R<> $*			$1
+R$* < @ . $* > $*	$#error $@ 5.1.2 $: "553 Invalid host name"
+R$* < @ $* .. $* > $*	$#error $@ 5.1.2 $: "553 Invalid host name"
+R$* < @ $* @ > $*	$#error $@ 5.1.2 $: "553 Invalid route address"
+R$* @ $* < @ $* > $*	$#error $@ 5.1.3 $: "553 Invalid route address"
+R$* , $~O $*		$#error $@ 5.1.3 $: "553 Invalid route address"
+
+
+# now delete the local info -- note $=O to find characters that cause forwarding
+R$* < @ > $*		$@ $>Parse0 $>canonify $1	user@ => user
+R< @ $=w . > : $*	$@ $>Parse0 $>canonify $2	@here:... -> ...
+R$- < @ $=w . >		$: $(dequote $1 $) < @ $2 . >	dequote "foo"@here
+R< @ $+ >		$#error $@ 5.1.3 $: "553 User address required"
+R$* $=O $* < @ $=w . >	$@ $>Parse0 $>canonify $1 $2 $3	... at here -> ...
+R$- 			$: $(dequote $1 $) < @ *LOCAL* >	dequote "foo"
+R< @ *LOCAL* >		$#error $@ 5.1.3 $: "553 User address required"
+R$* $=O $* < @ *LOCAL* >
+			$@ $>Parse0 $>canonify $1 $2 $3	...@*LOCAL* -> ...
+R$* < @ *LOCAL* >	$: $1
+
+#
+#  Parse1 -- the bottom half of ruleset 0.
+#
+
+SParse1
+
+# handle numeric address spec
+R$* < @ [ $+ ] > $*	$: $>ParseLocal $1 < @ [ $2 ] > $3	numeric internet spec
+R$* < @ [ $+ ] > $*	$: $1 < @ [ $2 ] : $S > $3	Add smart host to path
+R$* < @ [ $+ ] : > $*		$#esmtp $@ [$2] $: $1 < @ [$2] > $3	no smarthost: send
+R$* < @ [ $+ ] : $- : $*> $*	$#$3 $@ $4 $: $1 < @ [$2] > $5	smarthost with mailer
+R$* < @ [ $+ ] : $+ > $*	$#esmtp $@ $3 $: $1 < @ [$2] > $4	smarthost without mailer
+
+
+# short circuit local delivery so forwarded email works
+
+
+R$=L < @ $=w . >	$#local $: @ $1			special local names
+R$+ < @ $=w . >		$#local $: $1			regular local name
+
+
+# resolve remotely connected UUCP links (if any)
+
+# resolve fake top level domains by forwarding to other hosts
+
+
+
+# pass names that still have a host to a smarthost (if defined)
+R$* < @ $* > $*		$: $>MailerToTriple < $S > $1 < @ $2 > $3	glue on smarthost name
+
+# deal with other remote names
+R$* < @$* > $*		$#esmtp $@ $2 $: $1 < @ $2 > $3	user at host.domain
+
+# handle locally delivered names
+R$=L			$#local $: @ $1		special local names
+R$+			$#local $: $1			regular local names
+
+###########################################################################
+###   Ruleset 5 -- special rewriting after aliases have been expanded   ###
+###########################################################################
+
+SLocal_localaddr
+Slocaladdr=5
+R$+			$: $1 $| $>"Local_localaddr" $1
+R$+ $| $#ok		$@ $1			no change
+R$+ $| $#$*		$#$2
+R$+ $| $*		$: $1
+
+
+
+
+# deal with plussed users so aliases work nicely
+R$+ + *			$#local $@ $&h $: $1
+R$+ + $*		$#local $@ + $2 $: $1 + *
+
+# prepend an empty "forward host" on the front
+R$+			$: <> $1
+
+
+
+R< > $+			$: < > < $1 <> $&h >		nope, restore +detail
+
+R< > < $+ <> + $* >	$: < > < $1 + $2 >		check whether +detail
+R< > < $+ <> $* >	$: < > < $1 >			else discard
+R< > < $+ + $* > $*	   < > < $1 > + $2 $3		find the user part
+R< > < $+ > + $*	$#local $@ $2 $: @ $1		strip the extra +
+R< > < $+ >		$@ $1				no +detail
+R$+			$: $1 <> $&h			add +detail back in
+
+R$+ <> + $*		$: $1 + $2			check whether +detail
+R$+ <> $*		$: $1				else discard
+R< local : $* > $*	$: $>MailerToTriple < local : $1 > $2	no host extension
+R< error : $* > $*	$: $>MailerToTriple < error : $1 > $2	no host extension
+
+R< $~[ : $+ > $+	$: $>MailerToTriple < $1 : $2 > $3 < @ $2 >
+
+R< $+ > $+		$@ $>MailerToTriple < $1 > $2 < @ $1 >
+
+
+###################################################################
+###  Ruleset 95 -- canonify mailer:[user@]host syntax to triple	###
+###################################################################
+
+SMailerToTriple=95
+R< > $*				$@ $1			strip off null relay
+R< error : $-.$-.$- : $+ > $* 	$#error $@ $1.$2.$3 $: $4
+R< error : $- : $+ > $*		$#error $@ $(dequote $1 $) $: $2
+R< error : $+ > $*		$#error $: $1
+R< local : $* > $*		$>CanonLocal < $1 > $2
+R< $~[ : $+ @ $+ > $*<$*>$*	$# $1 $@ $3 $: $2<@$3>	use literal user
+R< $~[ : $+ > $*		$# $1 $@ $2 $: $3	try qualified mailer
+R< $=w > $*			$@ $2			delete local host
+R< $+ > $*			$#relay $@ $1 $: $2	use unqualified mailer
+
+###################################################################
+###  Ruleset CanonLocal -- canonify local: syntax		###
+###################################################################
+
+SCanonLocal
+# strip local host from routed addresses
+R< $* > < @ $+ > : $+		$@ $>Recurse $3
+R< $* > $+ $=O $+ < @ $+ >	$@ $>Recurse $2 $3 $4
+
+# strip trailing dot from any host name that may appear
+R< $* > $* < @ $* . >		$: < $1 > $2 < @ $3 >
+
+# handle local: syntax -- use old user, either with or without host
+R< > $* < @ $* > $*		$#local $@ $1@$2 $: $1
+R< > $+				$#local $@ $1    $: $1
+
+# handle local:user at host syntax -- ignore host part
+R< $+ @ $+ > $* < @ $* >	$: < $1 > $3 < @ $4 >
+
+# handle local:user syntax
+R< $+ > $* <@ $* > $*		$#local $@ $2@$3 $: $1
+R< $+ > $* 			$#local $@ $2    $: $1
+
+###################################################################
+###  Ruleset 93 -- convert header names to masqueraded form	###
+###################################################################
+
+SMasqHdr=93
+
+
+# do not masquerade anything in class N
+R$* < @ $* $=N . >	$@ $1 < @ $2 $3 . >
+
+R$* < @ *LOCAL* >	$@ $1 < @ $j . >
+
+###################################################################
+###  Ruleset 94 -- convert envelope names to masqueraded form	###
+###################################################################
+
+SMasqEnv=94
+R$* < @ *LOCAL* > $*	$: $1 < @ $j . > $2
+
+###################################################################
+###  Ruleset 98 -- local part of ruleset zero (can be null)	###
+###################################################################
+
+SParseLocal=98
+
+# addresses sent to foo at host.REDIRECT will give a 551 error code
+R$* < @ $+ .REDIRECT. >		$: $1 < @ $2 . REDIRECT . > < ${opMode} >
+R$* < @ $+ .REDIRECT. > <i>	$: $1 < @ $2 . REDIRECT. >
+R$* < @ $+ .REDIRECT. > < $- >	$#error $@ 5.1.1 $: "551 User has moved; please try " <$1@$2>
+
+
+
+
+
+######################################################################
+###  CanonAddr --	Convert an address into a standard form for
+###			relay checking.  Route address syntax is
+###			crudely converted into a %-hack address.
+###
+###	Parameters:
+###		$1 -- full recipient address
+###
+###	Returns:
+###		parsed address, not in source route form
+######################################################################
+
+SCanonAddr
+R$*			$: $>Parse0 $>canonify $1	make domain canonical
+
+
+######################################################################
+###  ParseRecipient --	Strip off hosts in $=R as well as possibly
+###			$* $=m or the access database.
+###			Check user portion for host separators.
+###
+###	Parameters:
+###		$1 -- full recipient address
+###
+###	Returns:
+###		parsed, non-local-relaying address
+######################################################################
+
+SParseRecipient
+R$*				$: <?> $>CanonAddr $1
+R<?> $* < @ $* . >		<?> $1 < @ $2 >			strip trailing dots
+R<?> $- < @ $* >		$: <?> $(dequote $1 $) < @ $2 >	dequote local part
+
+# if no $=O character, no host in the user portion, we are done
+R<?> $* $=O $* < @ $* >		$: <NO> $1 $2 $3 < @ $4>
+R<?> $*				$@ $1
+
+
+R<NO> $* < @ $* $=R >		$: <RELAY> $1 < @ $2 $3 >
+
+
+
+R<RELAY> $* < @ $* >		$@ $>ParseRecipient $1
+R<$+> $*			$@ $2
+
+
+######################################################################
+###  check_relay -- check hostname/address on SMTP startup
+######################################################################
+
+
+
+SLocal_check_relay
+Scheck_relay
+R$*			$: $1 $| $>"Local_check_relay" $1
+R$* $| $* $| $#$*	$#$3
+R$* $| $* $| $*		$@ $>"Basic_check_relay" $1 $| $2
+
+SBasic_check_relay
+# check for deferred delivery mode
+R$*			$: < $&{deliveryMode} > $1
+R< d > $*		$@ deferred
+R< $* > $*		$: $2
+
+
+
+
+######################################################################
+###  check_mail -- check SMTP `MAIL FROM:' command argument
+######################################################################
+
+SLocal_check_mail
+Scheck_mail
+R$*			$: $1 $| $>"Local_check_mail" $1
+R$* $| $#$*		$#$2
+R$* $| $*		$@ $>"Basic_check_mail" $1
+
+SBasic_check_mail
+# check for deferred delivery mode
+R$*			$: < $&{deliveryMode} > $1
+R< d > $*		$@ deferred
+R< $* > $*		$: $2
+
+# authenticated?
+R$*			$: $1 $| $>"tls_client" $&{verify} $| MAIL
+R$* $| $#$+		$#$2
+R$* $| $*		$: $1
+
+R<>			$@ <OK>			we MUST accept <> (RFC 1123)
+R$+			$: <?> $1
+R<?><$+>		$: <@> <$1>
+R<?>$+			$: <@> <$1>
+R$*			$: $&{daemon_flags} $| $1
+R$* f $* $| <@> < $* @ $- >	$: < ? $&{client_name} > < $3 @ $4 >
+R$* u $* $| <@> < $* >	$: <?> < $3 >
+R$* $| $*		$: $2
+# handle case of @localhost on address
+R<@> < $* @ localhost >	$: < ? $&{client_name} > < $1 @ localhost >
+R<@> < $* @ [127.0.0.1] >
+			$: < ? $&{client_name} > < $1 @ [127.0.0.1] >
+R<@> < $* @ localhost.$m >
+			$: < ? $&{client_name} > < $1 @ localhost.$m >
+R<@> < $* @ localhost.UUCP >
+			$: < ? $&{client_name} > < $1 @ localhost.UUCP >
+R<@> $*			$: $1			no localhost as domain
+R<? $=w> $*		$: $2			local client: ok
+R<? $+> <$+>		$#error $@ 5.5.4 $: "553 Real domain name required for sender address"
+R<?> $*			$: $1
+R$*			$: <?> $>CanonAddr $1		canonify sender address and mark it
+R<?> $* < @ $+ . >	<?> $1 < @ $2 >			strip trailing dots
+# handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc)
+R<?> $* < @ $* $=P >	$: <OKR> $1 < @ $2 $3 >
+R<?> $* < @ $j >	$: <OKR> $1 < @ $j >
+R<?> $* < @ $+ >	$: <? $(resolve $2 $: $2 <PERM> $) > $1 < @ $2 >
+R<? $* <$->> $* < @ $+ >
+			$: <$2> $3 < @ $4 >
+
+
+# handle case of no @domain on address
+R<?> $*			$: $&{daemon_flags} $| <?> $1
+R$* u $* $| <?> $*	$: <OKR> $3
+R$* $| $*		$: $2
+R<?> $*			$: < ? $&{client_addr} > $1
+R<?> $*			$@ <OKR>			...local unqualed ok
+R<? $+> $*		$#error $@ 5.5.4 $: "553 Domain name required for sender address " $&f
+							...remote is not
+# check results
+R<?> $*			$: @ $1		mark address: nothing known about it
+R<$={ResOk}> $*		$: @ $2		domain ok
+R<TEMP> $*		$#error $@ 4.1.8 $: "451 Domain of sender address " $&f " does not resolve"
+R<PERM> $*		$#error $@ 5.1.8 $: "553 Domain of sender address " $&f " does not exist"
+
+
+
+######################################################################
+###  check_rcpt -- check SMTP `RCPT TO:' command argument
+######################################################################
+
+SLocal_check_rcpt
+Scheck_rcpt
+R$*			$: $1 $| $>"Local_check_rcpt" $1
+R$* $| $#$*		$#$2
+R$* $| $*		$@ $>"Basic_check_rcpt" $1
+
+SBasic_check_rcpt
+# empty address?
+R<>			$#error $@ nouser $: "553 User address required"
+R$@			$#error $@ nouser $: "553 User address required"
+# check for deferred delivery mode
+R$*			$: < $&{deliveryMode} > $1
+R< d > $*		$@ deferred
+R< $* > $*		$: $2
+
+
+######################################################################
+R$*			$: $1 $| @ $>"Rcpt_ok" $1
+R$* $| @ $#TEMP $+	$: $1 $| T $2
+R$* $| @ $#$*		$#$2
+R$* $| @ RELAY		$@ RELAY
+R$* $| @ $*		$: O $| $>"Relay_ok" $1
+R$* $| T $+		$: T $2 $| $>"Relay_ok" $1
+R$* $| $#TEMP $+	$#error $2
+R$* $| $#$*		$#$2
+R$* $| RELAY		$@ RELAY
+R T $+ $| $*		$#error $1
+# anything else is bogus
+R$*			$#error $@ 5.7.1 $: "550 Relaying denied"
+
+
+######################################################################
+### Rcpt_ok: is the recipient ok?
+######################################################################
+SRcpt_ok
+R$*			$: $>ParseRecipient $1		strip relayable hosts
+
+
+
+
+# authenticated via TLS?
+R$*			$: $1 $| $>RelayTLS	client authenticated?
+R$* $| $# $+		$# $2			error/ok?
+R$* $| $*		$: $1			no
+
+R$*			$: $1 $| $>"Local_Relay_Auth" $&{auth_type}
+R$* $| $# $*		$# $2
+R$* $| NO		$: $1
+R$* $| $*		$: $1 $| $&{auth_type}
+R$* $|			$: $1
+R$* $| $={TrustAuthMech}	$# RELAY
+R$* $| $*		$: $1
+# anything terminating locally is ok
+R$+ < @ $=w >		$@ RELAY
+R$+ < @ $* $=R >	$@ RELAY
+
+
+
+
+# check for local user (i.e. unqualified address)
+R$*			$: <?> $1
+R<?> $* < @ $+ >	$: <REMOTE> $1 < @ $2 >
+# local user is ok
+R<?> $+			$@ RELAY
+R<$+> $*		$: $2
+
+######################################################################
+### Relay_ok: is the relay/sender ok?
+######################################################################
+SRelay_ok
+# anything originating locally is ok
+# check IP address
+R$*			$: $&{client_addr}
+R$@			$@ RELAY		originated locally
+R0			$@ RELAY		originated locally
+R127.0.0.1		$@ RELAY		originated locally
+RIPv6:::1		$@ RELAY		originated locally
+R$=R $*			$@ RELAY		relayable IP address
+R$*			$: [ $1 ]		put brackets around it...
+R$=w			$@ RELAY		... and see if it is local
+
+
+# check client name: first: did it resolve?
+R$*			$: < $&{client_resolve} >
+R<TEMP>			$#TEMP $@ 4.4.0 $: "450 Relaying temporarily denied. Cannot resolve PTR record for " $&{client_addr}
+R<FORGED>		$#error $@ 5.7.1 $: "550 Relaying denied. IP name possibly forged " $&{client_name}
+R<FAIL>			$#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed " $&{client_name}
+R$*			$: <@> $&{client_name}
+# pass to name server to make hostname canonical
+R<@> $* $=P 		$:<?>  $1 $2
+R<@> $+			$:<?>  $[ $1 $]
+R$* .			$1			strip trailing dots
+R<?> $=w		$@ RELAY
+R<?> $* $=R			$@ RELAY
+
+
+
+
+
+######################################################################
+###  trust_auth: is user trusted to authenticate as someone else?
+###
+###	Parameters:
+###		$1: AUTH= parameter from MAIL command
+######################################################################
+
+SLocal_trust_auth
+Strust_auth
+R$*			$: $&{auth_type} $| $1
+# required by RFC 2554 section 4.
+R$@ $| $*		$#error $@ 5.7.1 $: "550 not authenticated"
+R$* $| $&{auth_authen}		$@ identical
+R$* $| <$&{auth_authen}>	$@ identical
+R$* $| $*		$: $1 $| $>"Local_trust_auth" $2
+R$* $| $#$*		$#$2
+R$*			$#error $@ 5.7.1 $: "550 " $&{auth_authen} " not allowed to act as " $&{auth_author}
+
+######################################################################
+###  Relay_Auth: allow relaying based on authentication?
+###
+###	Parameters:
+###		$1: ${auth_type}
+######################################################################
+SLocal_Relay_Auth
+
+######################################################################
+###  srv_features: which features to offer to a client?
+###	(done in server)
+######################################################################
+Ssrv_features
+
+
+######################################################################
+###  try_tls: try to use STARTTLS?
+###	(done in client)
+######################################################################
+Stry_tls
+
+
+######################################################################
+###  tls_rcpt: is connection with server "good" enough?
+###	(done in client, per recipient)
+###
+###	Parameters:
+###		$1: recipient
+######################################################################
+Stls_rcpt
+
+
+######################################################################
+###  tls_client: is connection with client "good" enough?
+###	(done in server)
+###
+###	Parameters:
+###		${verify} $| (MAIL|STARTTLS)
+######################################################################
+Stls_client
+R$* $| $*	$@ $>"TLS_connection" $1
+
+######################################################################
+###  tls_server: is connection with server "good" enough?
+###	(done in client)
+###
+###	Parameter:
+###		${verify}
+######################################################################
+Stls_server
+R$*		$@ $>"TLS_connection" $1
+
+######################################################################
+###  TLS_connection: is TLS connection "good" enough?
+###
+###	Parameters:
+###		${verify}
+###		Requirement: RHS from access map, may be ? for none.
+######################################################################
+STLS_connection
+RSOFTWARE	$#error $@ 4.7.0 $: "403 TLS handshake."
+
+
+######################################################################
+###  RelayTLS: allow relaying based on TLS authentication
+###
+###	Parameters:
+###		none
+######################################################################
+SRelayTLS
+# authenticated?
+
+######################################################################
+###  authinfo: lookup authinfo in the access map
+###
+###	Parameters:
+###		$1: {server_name}
+###		$2: {server_addr}
+######################################################################
+Sauthinfo
+
+
+
+
+
+#
+######################################################################
+######################################################################
+#####
+#####			MAIL FILTER DEFINITIONS
+#####
+######################################################################
+######################################################################
+
+#
+######################################################################
+######################################################################
+#####
+#####			MAILER DEFINITIONS
+#####
+######################################################################
+######################################################################
+
+
+##################################################
+###   Local and Program Mailer specification   ###
+##################################################
+
+#####  $Id: local.m4,v 8.59 2004/11/23 00:37:25 ca Exp $  #####
+
+#
+#  Envelope sender rewriting
+#
+SEnvFromL
+R<@>			$n			errors to mailer-daemon
+R@ <@ $*>		$n			temporarily bypass Sun bogosity
+R$+			$: $>AddDomain $1	add local domain if needed
+R$*			$: $>MasqEnv $1		do masquerading
+
+#
+#  Envelope recipient rewriting
+#
+SEnvToL
+R$+ < @ $* >		$: $1			strip host part
+R$+ + $*		$: < $&{addr_type} > $1 + $2	mark with addr type
+R<e s> $+ + $*		$: $1			remove +detail for sender
+R< $* > $+		$: $2			else remove mark
+
+#
+#  Header sender rewriting
+#
+SHdrFromL
+R<@>			$n			errors to mailer-daemon
+R@ <@ $*>		$n			temporarily bypass Sun bogosity
+R$+			$: $>AddDomain $1	add local domain if needed
+R$*			$: $>MasqHdr $1		do masquerading
+
+#
+#  Header recipient rewriting
+#
+SHdrToL
+R$+			$: $>AddDomain $1	add local domain if needed
+R$* < @ *LOCAL* > $*	$: $1 < @ $j . > $2
+
+#
+#  Common code to add local domain name (only if always-add-domain)
+#
+SAddDomain
+
+Mlocal,		P=/usr/lib/mail.local, F=lsDFMAw5:/|@qfSmn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
+		T=DNS/RFC822/X-Unix,
+		A=mail.local -d $u
+Mprog,		P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
+		T=X-Unix/X-Unix/X-Unix,
+		A=sh -c $u
+
+#####################################
+###   SMTP Mailer specification   ###
+#####################################
+
+#####  $Id: smtp.m4,v 8.65 2006/07/12 21:08:10 ca Exp $  #####
+
+#
+#  common sender and masquerading recipient rewriting
+#
+SMasqSMTP
+R$* < @ $* > $*		$@ $1 < @ $2 > $3		already fully qualified
+R$+			$@ $1 < @ *LOCAL* >		add local qualification
+
+#
+#  convert pseudo-domain addresses to real domain addresses
+#
+SPseudoToReal
+
+# pass <route-addr>s through
+R< @ $+ > $*		$@ < @ $1 > $2			resolve <route-addr>
+
+# output fake domains as user%fake at relay
+
+# do UUCP heuristics; note that these are shared with UUCP mailers
+R$+ < @ $+ .UUCP. >	$: < $2 ! > $1			convert to UUCP form
+R$+ < @ $* > $*		$@ $1 < @ $2 > $3		not UUCP form
+
+# leave these in .UUCP form to avoid further tampering
+R< $&h ! > $- ! $+	$@ $2 < @ $1 .UUCP. >
+R< $&h ! > $-.$+ ! $+	$@ $3 < @ $1.$2 >
+R< $&h ! > $+		$@ $1 < @ $&h .UUCP. >
+R< $+ ! > $+		$: $1 ! $2 < @ $Y >		use UUCP_RELAY
+R$+ < @ $~[ $* : $+ >	$@ $1 < @ $4 >			strip mailer: part
+R$+ < @ >		$: $1 < @ *LOCAL* >		if no UUCP_RELAY
+
+
+#
+#  envelope sender rewriting
+#
+SEnvFromSMTP
+R$+			$: $>PseudoToReal $1		sender/recipient common
+R$* :; <@>		$@				list:; special case
+R$*			$: $>MasqSMTP $1		qualify unqual'ed names
+R$+			$: $>MasqEnv $1			do masquerading
+
+
+#
+#  envelope recipient rewriting --
+#  also header recipient if not masquerading recipients
+#
+SEnvToSMTP
+R$+			$: $>PseudoToReal $1		sender/recipient common
+R$+			$: $>MasqSMTP $1		qualify unqual'ed names
+R$* < @ *LOCAL* > $*	$: $1 < @ $j . > $2
+
+#
+#  header sender and masquerading header recipient rewriting
+#
+SHdrFromSMTP
+R$+			$: $>PseudoToReal $1		sender/recipient common
+R:; <@>			$@				list:; special case
+
+# do special header rewriting
+R$* <@> $*		$@ $1 <@> $2			pass null host through
+R< @ $* > $*		$@ < @ $1 > $2			pass route-addr through
+R$*			$: $>MasqSMTP $1		qualify unqual'ed names
+R$+			$: $>MasqHdr $1			do masquerading
+
+
+#
+#  relay mailer header masquerading recipient rewriting
+#
+SMasqRelay
+R$+			$: $>MasqSMTP $1
+R$+			$: $>MasqHdr $1
+
+Msmtp,		P=[IPC], F=mDFMuX, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
+		T=DNS/RFC822/SMTP,
+		A=TCP $h
+Mesmtp,		P=[IPC], F=mDFMuXa, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
+		T=DNS/RFC822/SMTP,
+		A=TCP $h
+Msmtp8,		P=[IPC], F=mDFMuX8, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
+		T=DNS/RFC822/SMTP,
+		A=TCP $h
+Mdsmtp,		P=[IPC], F=mDFMuXa%, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n, L=990,
+		T=DNS/RFC822/SMTP,
+		A=TCP $h
+Mrelay,		P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP, E=\r\n, L=2040,
+		T=DNS/RFC822/SMTP,
+		A=TCP $h
+
+### sendmail.mc ###
+# divert(-1)
+# #
+# # Copyright (c) 1998, 1999, 2001 Sendmail, Inc. and its suppliers.
+# #	All rights reserved.
+# # Copyright (c) 1983 Eric P. Allman.  All rights reserved.
+# # Copyright (c) 1988, 1993
+# #	The Regents of the University of California.  All rights reserved.
+# #
+# # By using this file, you agree to the terms and conditions set
+# # forth in the LICENSE file which can be found at the top level of
+# # the sendmail distribution.
+# #
+# #
+# 
+# #
+# #  This is a generic configuration file for SunOS 5.x (a.k.a. Solaris 2.x
+# #  and Solaris 7 through the present version).
+# #
+# #  It has support for local and SMTP mail only.  If you want to
+# #  customize it, copy it to a name appropriate for your environment
+# #  and do the modifications there.
+# #
+# 
+# divert(0)dnl
+# VERSIONID(`$Id: generic-solaris.mc,v 8.13 2001/06/27 21:46:30 gshapiro Exp $')
+# OSTYPE(solaris2)dnl
+# DOMAIN(generic)dnl
+# MAILER(local)dnl
+# MAILER(smtp)dnl

Added: csw/mgar/pkg/sendmail/branches/benny/files/sendmail.schema
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/sendmail.schema	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/sendmail.schema	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,270 @@
+# Copyright (c) 2000-2002, 2005 Sendmail, Inc. and its suppliers.
+#	All rights reserved.
+#
+# By using this file, you agree to the terms and conditions set
+# forth in the LICENSE file which can be found at the top level of
+# the sendmail distribution.
+#
+# $Id: sendmail.schema,v 8.22 2005/09/16 20:18:14 ca Exp $
+
+# Note that this schema is experimental at this point as it has had little
+# public review.  Therefore, it may change in future versions.  Feedback
+# via sendmail-YYYY at support.sendmail.org is encouraged (replace YYYY with
+# the current year, e.g., 2005).
+
+# OID arcs for Sendmail
+# enterprise:		1.3.6.1.4.1
+# sendmail:		enterprise.6152
+# sendmail-at:		sendmail.3.1
+# sendmail-oc:		sendmail.3.2
+
+###########################################################################
+#
+# The Sendmail MTA attributes and objectclass
+#
+###########################################################################
+
+# attribute sendmailMTACluster	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.10
+	NAME 'sendmailMTACluster'
+	DESC 'cluster name associated with a set of MTAs'
+	EQUALITY caseIgnoreIA5Match
+	SUBSTR caseIgnoreIA5SubstringsMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
+
+# attribute sendmailMTAHost	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.11
+	NAME 'sendmailMTAHost'
+	DESC 'host name associated with a MTA cluster'
+	EQUALITY caseIgnoreIA5Match
+	SUBSTR caseIgnoreIA5SubstringsMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
+
+#objectClass sendmailMTA
+#	requires
+#		objectClass
+#	allows
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.10
+	NAME 'sendmailMTA'
+	SUP top STRUCTURAL
+	DESC 'Sendmail MTA definition'
+	MAY ( sendmailMTACluster $ sendmailMTAHost $ Description ) )
+
+###########################################################################
+#
+# The Sendmail MTA shared attributes
+#
+###########################################################################
+
+# attribute sendmailMTAKey	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.13
+	NAME 'sendmailMTAKey'
+	DESC 'key (left hand side) of an aliases or map entry'
+	EQUALITY caseIgnoreMatch
+	SUBSTR caseIgnoreSubstringsMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
+
+###########################################################################
+#
+# The Sendmail MTA Map attributes and objectclasses
+#
+###########################################################################
+
+# attribute sendmailMTAMapName	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.14
+	NAME 'sendmailMTAMapName'
+	DESC 'identifier for the particular map'
+	EQUALITY caseIgnoreMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} SINGLE-VALUE )
+
+# attribute sendmailMTAMapValue	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.16
+	NAME 'sendmailMTAMapValue'
+	DESC 'value (right hand side) of a map entry'
+	EQUALITY caseIgnoreMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+# attribute sendmailMTAMapSearch cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.24
+	NAME 'sendmailMTAMapSearch'
+	DESC 'recursive search for values of a map entry'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+# attribute sendmailMTAMapURL cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.25
+	NAME 'sendmailMTAMapURL'
+	DESC 'recursive search URL for values of a map entry'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+#objectClass sendmailMTAMap
+#	requires
+#		objectClass,
+#		sendmailMTAMapName,
+#	allows
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.11
+	NAME 'sendmailMTAMap'
+	SUP sendmailMTA STRUCTURAL
+	DESC 'Sendmail MTA map definition'
+	MUST sendmailMTAMapName
+	MAY ( sendmailMTACluster $ sendmailMTAHost $ Description ) )
+
+#objectClass sendmailMTAObject
+#	requires
+#		objectClass,
+#		sendmailMTAMapName,
+#		sendmailMTAKey,
+#	allows
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		sendmailMTAMapValue,
+#		sendmailMTAMapSearch,
+#		sendmailMTAMapURL,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.12
+	NAME 'sendmailMTAMapObject'
+	SUP sendmailMTAMap STRUCTURAL
+	DESC 'Sendmail MTA map object'
+	MUST ( sendmailMTAMapName $ sendmailMTAKey )
+	MAY ( sendmailMTACluster $ sendmailMTAHost $ 
+		sendmailMTAMapValue $ sendmailMTAMapSearch $
+		sendmailMTAMapURL $ Description ) )
+
+
+###########################################################################
+#
+# The Sendmail MTA Alias attributes and objectclasses
+#
+###########################################################################
+
+# attribute sendmailMTAAliasGrouping	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.18
+	NAME 'sendmailMTAAliasGrouping'
+	DESC 'name that identifies a particular aliases grouping'
+	EQUALITY caseIgnoreIA5Match
+	SUBSTR caseIgnoreIA5SubstringsMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
+
+# attribute sendmailMTAAliasValue	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.20
+	NAME 'sendmailMTAAliasValue'
+	DESC 'value (right hand side) of an alias'
+	EQUALITY caseIgnoreMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+
+# attribute sendmailMTAAliasSearch cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.26
+	NAME 'sendmailMTAAliasSearch'
+	DESC 'recursive search for values of an alias'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+# attribute sendmailMTAAliasURL cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.27
+	NAME 'sendmailMTAAliasURL'
+	DESC 'recursive search URL for values of an alias'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+#objectClass sendmailMTAAlias
+#	requires
+#		objectClass,
+#	allows
+#		sendmailMTAAliasGrouping,
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.13
+	NAME 'sendmailMTAAlias'
+	SUP sendmailMTA STRUCTURAL
+	DESC 'Sendmail MTA alias definition'
+	MAY ( sendmailMTAAliasGrouping $
+		sendmailMTACluster $ sendmailMTAHost $ Description ) )
+
+#objectClass sendmailMTAAliasObject
+#	requires
+#		objectClass,
+#		sendmailMTAKey,
+#	allows
+#		sendmailMTAAliasGrouping,
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		sendmailMTAAliasValue,
+#		sendmailMTAAliasSearch,
+#		sendmailMTAAliasURL,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.14
+	NAME 'sendmailMTAAliasObject'
+	SUP sendmailMTAAlias STRUCTURAL
+	DESC 'Sendmail MTA alias object'
+	MUST sendmailMTAKey
+	MAY ( sendmailMTAAliasGrouping $ sendmailMTACluster $
+		sendmailMTAHost $ sendmailMTAAliasValue $
+		sendmailMTAAliasSearch $ sendmailMTAAliasURL $ Description ) )
+
+###########################################################################
+#
+# The Sendmail MTA Class attributes and objectclass
+#
+###########################################################################
+
+# attribute sendmailMTAClassName	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.22
+	NAME 'sendmailMTAClassName'
+	DESC 'identifier for the class'
+	EQUALITY caseIgnoreMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} SINGLE-VALUE )
+
+# attribute sendmailMTAClassValue	cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.23
+	NAME 'sendmailMTAClassValue'
+	DESC 'member of a class'
+	EQUALITY caseIgnoreMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+
+# attribute sendmailMTAClassSearch cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.28
+	NAME 'sendmailMTAClassSearch'
+	DESC 'recursive search for members of a class'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+# attribute sendmailMTAClassURL cis
+attributetype ( 1.3.6.1.4.1.6152.10.3.1.29
+	NAME 'sendmailMTAClassURL'
+	DESC 'recursive search URL for members of a class'
+	EQUALITY caseExactMatch
+	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
+
+#objectClass sendmailMTAClass
+#	requires
+#		objectClass,
+#		sendmailMTAClassName,
+#	allows
+#		sendmailMTACluster,
+#		sendmailMTAHost,
+#		sendmailMTAClassValue,
+#		sendmailMTAClassSearch,
+#		sendmailMTAClassURL,
+#		Description
+
+objectclass ( 1.3.6.1.4.1.6152.10.3.2.15
+	NAME 'sendmailMTAClass'
+	SUP sendmailMTA STRUCTURAL
+	DESC 'Sendmail MTA class definition'
+	MUST sendmailMTAClassName
+	MAY ( sendmailMTACluster $ sendmailMTAHost $
+		sendmailMTAClassValue $ sendmailMTAClassSearch $
+		sendmailMTAClassURL $ Description ) )

Modified: csw/mgar/pkg/sendmail/branches/benny/files/site.config.m4
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/site.config.m4	2009-07-31 14:56:30 UTC (rev 5775)
+++ csw/mgar/pkg/sendmail/branches/benny/files/site.config.m4	2009-07-31 15:12:19 UTC (rev 5776)
@@ -4,14 +4,19 @@
 define(`confCC', `%OCSWCC%')
 APPENDDEF(`confCCOPTS', `%CFLAGS%')
 define(`confEBINDIR',`/opt/csw/lib')
+define(`confMBINDIR',`/opt/csw/lib')
+define(`confEBINDIR',`/opt/csw/lib')
+define(`confUBINDIR',`/opt/csw/bin')
+define(`confSBINDIR',`/opt/csw/sbin')
+define(`confHFDIR', `/opt/csw/etc/mail')
+define(`confSTDIR', `/opt/csw/etc/mail')
 define(`confMANROOT',`/usr/csw/share/man')
 define(`confMANROOTMAN',`/usr/csw/share/man')
-define(`confMBINDIR',`/opt/csw/bin')
-define(`confSBINDIR',`/opt/csw/sbin')
-define(`confUBINDIR',`/opt/csw/bin')
+define(`confSHAREDLIBDIR', `/opt/csw/lib')
+define(`confMANROOT', `/opt/csw/share/man/cat')
+define(`confMANROOTMAN', `/opt/csw/share/man/man')
 define(`confNO_STATISTICS_INSTALL',`True')
-define(`confHFDIR', `/opt/csw/share/mail')
-
+define(`confMSP_QUEUE_DIR', `/var/opt/csw/spool/clientmqueue')
 dnl ### add OpenCSW lib and include directories
 APPENDDEF(`confLIBDIRS', `-L/opt/csw/lib -R/opt/csw/lib')
 APPENDDEF(`confINCDIRS', `-I/opt/csw/include')
@@ -32,6 +37,7 @@
 APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2')
 APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_1')
 APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
+APPENDDEF(`confINCDIRS', `-I/opt/csw/include/sasl')
 
 dnl ### add STARTTLS support
 APPENDDEF(`confENVDEF',`-DSTARTTLS')

Added: csw/mgar/pkg/sendmail/branches/benny/files/submit.cf.CSW
===================================================================
--- csw/mgar/pkg/sendmail/branches/benny/files/submit.cf.CSW	                        (rev 0)
+++ csw/mgar/pkg/sendmail/branches/benny/files/submit.cf.CSW	2009-07-31 15:12:19 UTC (rev 5776)
@@ -0,0 +1,1465 @@
+#
+# Copyright (c) 1998-2004 Sendmail, Inc. and its suppliers.
+#	All rights reserved.
+# Copyright (c) 1983, 1995 Eric P. Allman.  All rights reserved.
+# Copyright (c) 1988, 1993
+#	The Regents of the University of California.  All rights reserved.
+#
+# By using this file, you agree to the terms and conditions set
+# forth in the LICENSE file which can be found at the top level of
+# the sendmail distribution.
+#
+#
+
+######################################################################
+######################################################################
+#####
+#####		SENDMAIL CONFIGURATION FILE
+#####
+##### built by ca at wiz.smi.sendmail.com on Fri May 2 20:39:00 PDT 2008
+##### in /extra/home/ca/sm-8.14.3/OpenSource/sendmail-8.14.3/cf/cf
+##### using ../ as configuration include directory
+#####
+######################################################################
+#####
+#####	DO NOT EDIT THIS FILE!  Only edit the source .mc file.
+#####
+######################################################################
+######################################################################
+
+#####  $Id: cfhead.m4,v 8.116 2004/01/28 22:02:22 ca Exp $  #####
+#####  $Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp $  #####
+#####  $Id: submit.mc,v 8.14 2006/04/05 05:54:41 ca Exp $  #####
+#####  $Id: msp.m4,v 1.33 2004/02/09 22:32:38 ca Exp $  #####
+
+#####  $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $  #####
+
+
+#####  $Id: proto.m4,v 8.734 2008/01/24 23:42:01 ca Exp $  #####
+
+# level 10 config file format
+V10/Berkeley
+
+# override file safeties - setting this option compromises system security,
+# addressing the actual file configuration problem is preferred
+# need to set this before any file actions are encountered in the cf file
+#O DontBlameSendmail=safe
+
+# default LDAP map specification
+# need to set this now before any LDAP maps are defined
+#O LDAPDefaultSpec=-h localhost
+
+##################
+#   local info   #
+##################
+
+# my LDAP cluster
+# need to set this before any LDAP lookups are done (including classes)
+#D{sendmailMTACluster}$m
+
+Cwlocalhost
+
+# my official domain name
+# ... define this only if sendmail cannot automatically determine your domain
+#Dj$w.Foo.COM
+
+# host/domain names ending with a token in class P are canonical
+CP.
+
+# "Smart" relay host (may be null)
+DS
+
+
+# operators that cannot be in local usernames (i.e., network indicators)
+CO @ % !
+
+# a class with just dot (for identifying canonical names)
+C..
+
+# a class with just a left bracket (for identifying domain literals)
+C[[
+
+
+# Resolve map (to check if a host exists in check_mail)
+Kresolve host -a<OKR> -T<TEMP>
+C{ResOk}OKR
+
+
+# Hosts for which relaying is permitted ($=R)
+FR-o /etc/mail/relay-domains
+
+# arithmetic map
+Karith arith
+
+
+
+
+
+# dequoting map
+Kdequote dequote
+
+# class E: names that should be exposed as from this host, even if we masquerade
+# class L: names that should be delivered locally, even if we have a relay
+# class M: domains that should be converted to $M
+# class N: domains that should not be converted to $M
+#CL root
+
+
+
+# my name for error messages
+DnMAILER-DAEMON
+
+
+D{MTAHost}[127.0.0.1]
+
+
+# Configuration version number
+DZ8.14.3/Submit
+
+
+###############
+#   Options   #
+###############
+
+# strip message body to 7 bits on input?
+O SevenBitInput=False
+
+# 8-bit data handling
+#O EightBitMode=pass8
+
+# wait for alias file rebuild (default units: minutes)
+O AliasWait=10
+
+# location of alias file
+#O AliasFile=/etc/mail/aliases
+
+# minimum number of free blocks on filesystem
+O MinFreeBlocks=100
+
+# maximum message size
+#O MaxMessageSize=0
+
+# substitution for space (blank) characters
+O BlankSub=.
+
+# avoid connecting to "expensive" mailers on initial submission?
+O HoldExpensive=False
+
+# checkpoint queue runs after every N successful deliveries
+#O CheckpointInterval=10
+
+# default delivery mode
+O DeliveryMode=i
+
+# error message header/file
+#O ErrorHeader=/etc/mail/error-header
+
+# error mode
+#O ErrorMode=print
+
+# save Unix-style "From_" lines at top of header?
+#O SaveFromLine=False
+
+# queue file mode (qf files)
+O QueueFileMode=0660
+
+# temporary file mode
+O TempFileMode=0600
+
+# match recipients against GECOS field?
+#O MatchGECOS=False
+
+# maximum hop count
+#O MaxHopCount=25
+
+# location of help file
+O HelpFile=/etc/mail/helpfile
+
+# ignore dots as terminators in incoming messages?
+#O IgnoreDots=False
+
+# name resolver options
+#O ResolverOptions=+AAONLY
+
+# deliver MIME-encapsulated error messages?
+O SendMimeErrors=True
+
+# Forward file search path
+O ForwardPath
+
+# open connection cache size
+O ConnectionCacheSize=2
+
+# open connection cache timeout
+O ConnectionCacheTimeout=5m
+
+# persistent host status directory
+#O HostStatusDirectory=.hoststat
+
+# single thread deliveries (requires HostStatusDirectory)?
+#O SingleThreadDelivery=False
+
+# use Errors-To: header?
+O UseErrorsTo=False
+
+# log level
+O LogLevel=9
+
+# send to me too, even in an alias expansion?
+#O MeToo=True
+
+# verify RHS in newaliases?
+O CheckAliases=False
+
+# default messages to old style headers if no special punctuation?
+O OldStyleHeaders=True
+
+# SMTP daemon options
+
+O DaemonPortOptions=Name=NoMTA, Addr=127.0.0.1, M=E
+
+# SMTP client options
+#O ClientPortOptions=Family=inet, Address=0.0.0.0
+
+# Modifiers to define {daemon_flags} for direct submissions
+#O DirectSubmissionModifiers
+
+# Use as mail submission program? See sendmail/SECURITY
+O UseMSP=True
+
+# privacy flags
+O PrivacyOptions=goaway,noetrn,restrictqrun
+
+# who (if anyone) should get extra copies of error messages
+#O PostmasterCopy=Postmaster
+
+# slope of queue-only function
+#O QueueFactor=600000
+
+# limit on number of concurrent queue runners
+#O MaxQueueChildren
+
+# maximum number of queue-runners per queue-grouping with multiple queues
+#O MaxRunnersPerQueue=1
+
+# priority of queue runners (nice(3))
+#O NiceQueueRun
+
+# shall we sort the queue by hostname first?
+#O QueueSortOrder=priority
+
+# minimum time in queue before retry
+#O MinQueueAge=30m
+
+# how many jobs can you process in the queue?
+#O MaxQueueRunSize=0
+
+# perform initial split of envelope without checking MX records
+#O FastSplit=1
+
+# queue directory
+O QueueDirectory=/var/spool/clientmqueue
+
+# key for shared memory; 0 to turn off, -1 to auto-select
+#O SharedMemoryKey=0
+
+# file to store auto-selected key for shared memory (SharedMemoryKey = -1)
+#O SharedMemoryKeyFile
+
+# timeouts (many of these)
+#O Timeout.initial=5m
+#O Timeout.connect=5m
+#O Timeout.aconnect=0s
+#O Timeout.iconnect=5m
+#O Timeout.helo=5m
+#O Timeout.mail=10m
+#O Timeout.rcpt=1h
+#O Timeout.datainit=5m
+#O Timeout.datablock=1h
+#O Timeout.datafinal=1h
+#O Timeout.rset=5m
+#O Timeout.quit=2m
+#O Timeout.misc=2m
+#O Timeout.command=1h
+#O Timeout.ident=5s
+#O Timeout.fileopen=60s
+#O Timeout.control=2m
+O Timeout.queuereturn=5d
+#O Timeout.queuereturn.normal=5d
+#O Timeout.queuereturn.urgent=2d
+#O Timeout.queuereturn.non-urgent=7d
+#O Timeout.queuereturn.dsn=5d
+O Timeout.queuewarn=4h
+#O Timeout.queuewarn.normal=4h
+#O Timeout.queuewarn.urgent=1h
+#O Timeout.queuewarn.non-urgent=12h
+#O Timeout.queuewarn.dsn=4h
+#O Timeout.hoststatus=30m
+#O Timeout.resolver.retrans=5s
+#O Timeout.resolver.retrans.first=5s
+#O Timeout.resolver.retrans.normal=5s
+#O Timeout.resolver.retry=4
+#O Timeout.resolver.retry.first=4
+#O Timeout.resolver.retry.normal=4
+#O Timeout.lhlo=2m
+#O Timeout.auth=10m
+#O Timeout.starttls=1h
+
+# time for DeliverBy; extension disabled if less than 0
+#O DeliverByMin=0
+
+# should we not prune routes in route-addr syntax addresses?
+#O DontPruneRoutes=False
+
+# queue up everything before forking?
+O SuperSafe=True
+
+# status file
+O StatusFile=/var/spool/clientmqueue/sm-client.st
+
+# time zone handling:
+#  if undefined, use system default
+#  if defined but null, use TZ envariable passed in
+#  if defined and non-null, use that info
+O TimeZoneSpec=
+
+# default UID (can be username or userid:groupid)
+#O DefaultUser=mailnull
+
+# list of locations of user database file (null means no lookup)
+#O UserDatabaseSpec=/etc/mail/userdb
+
+# fallback MX host
+#O FallbackMXhost=fall.back.host.net
+
+# fallback smart host
+#O FallbackSmartHost=fall.back.host.net
+
+# if we are the best MX host for a site, try it directly instead of config err
+#O TryNullMXList=False
+
+# load average at which we just queue messages
+#O QueueLA=8
+
+# load average at which we refuse connections
+#O RefuseLA=12
+
+# log interval when refusing connections for this long
+#O RejectLogInterval=3h
+
+# load average at which we delay connections; 0 means no limit
+#O DelayLA=0
+
+# maximum number of children we allow at one time
+#O MaxDaemonChildren=0
+
+# maximum number of new connections per second
+#O ConnectionRateThrottle=0
+
+# Width of the window 
+#O ConnectionRateWindowSize=60s
+
+# work recipient factor
+#O RecipientFactor=30000
+
+# deliver each queued job in a separate process?
+#O ForkEachJob=False
+
+# work class factor
+#O ClassFactor=1800
+
+# work time factor
+#O RetryFactor=90000
+
+# default character set
+#O DefaultCharSet=unknown-8bit
+
+# service switch file (name hardwired on Solaris, Ultrix, OSF/1, others)
+#O ServiceSwitchFile=/etc/mail/service.switch
+
+# hosts file (normally /etc/hosts)
+#O HostsFile=/etc/hosts
+
+# dialup line delay on connection failure
+#O DialDelay=0s
+
+# action to take if there are no recipients in the message
+#O NoRecipientAction=none
+
+# chrooted environment for writing to files
+#O SafeFileEnvironment
+
+# are colons OK in addresses?
+#O ColonOkInAddr=True
+
+# shall I avoid expanding CNAMEs (violates protocols)?
+#O DontExpandCnames=False
+
+# SMTP initial login message (old $e macro)
+O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
+
+# UNIX initial From header format (old $l macro)
+O UnixFromLine=From $g $d
+
+# From: lines that have embedded newlines are unwrapped onto one line
+#O SingleLineFromHeader=False
+
+# Allow HELO SMTP command that does not include a host name
+#O AllowBogusHELO=False
+
+# Characters to be quoted in a full name phrase (@,;:\()[] are automatic)
+#O MustQuoteChars=.
+
+# delimiter (operator) characters (old $o macro)
+O OperatorChars=.:%@!^/[]+
+
+# shall I avoid calling initgroups(3) because of high NIS costs?
+O DontInitGroups=True
+
+# are group-writable :include: and .forward files (un)trustworthy?
+# True (the default) means they are not trustworthy.
+#O UnsafeGroupWrites=True
+
+
+# where do errors that occur when sending errors get sent?
+#O DoubleBounceAddress=postmaster
+
+# issue temporary errors (4xy) instead of permanent errors (5xy)?
+#O SoftBounce=False
+
+# where to save bounces if all else fails
+#O DeadLetterDrop=/var/tmp/dead.letter
+
+# what user id do we assume for the majority of the processing?
+O RunAsUser=smmsp
+
+# maximum number of recipients per SMTP envelope
+#O MaxRecipientsPerMessage=0
+
+# limit the rate recipients per SMTP envelope are accepted
+# once the threshold number of recipients have been rejected
+#O BadRcptThrottle=0
+
+# shall we get local names from our installed interfaces?
+O DontProbeInterfaces=True
+
+# Return-Receipt-To: header implies DSN request
+#O RrtImpliesDsn=False
+
+# override connection address (for testing)
+#O ConnectOnlyTo=0.0.0.0
+
+# Trusted user for file ownership and starting the daemon
+O TrustedUser=smmsp
+
+# Control socket for daemon management
+#O ControlSocketName=/var/spool/mqueue/.control
+
+# Maximum MIME header length to protect MUAs
+#O MaxMimeHeaderLength=0/0
+
+# Maximum length of the sum of all headers
+#O MaxHeadersLength=32768
+
+# Maximum depth of alias recursion
+#O MaxAliasRecursion=10
+
+# location of pid file
+O PidFile=/var/spool/clientmqueue/sm-client.pid
+
+# Prefix string for the process title shown on 'ps' listings
+#O ProcessTitlePrefix=prefix
+
+# Data file (df) memory-buffer file maximum size
+#O DataFileBufferSize=4096
+
+# Transcript file (xf) memory-buffer file maximum size
+#O XscriptFileBufferSize=4096
+
+# lookup type to find information about local mailboxes
+#O MailboxDatabase=pw
+
+# override compile time flag REQUIRES_DIR_FSYNC
+#O RequiresDirfsync=true
+
+# list of authentication mechanisms
+#O AuthMechanisms=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
+
+# Authentication realm
+#O AuthRealm
+
+# default authentication information for outgoing connections
+#O DefaultAuthInfo=/etc/mail/default-auth-info
+
+# SMTP AUTH flags
+#O AuthOptions
+
+# SMTP AUTH maximum encryption strength
+#O AuthMaxBits
+
+# SMTP STARTTLS server options
+#O TLSSrvOptions
+
+# Input mail filters
+#O InputMailFilters
+
+
+# CA directory
+#O CACertPath
+# CA file
+#O CACertFile
+# Server Cert
+#O ServerCertFile
+# Server private key
+#O ServerKeyFile
+# Client Cert
+#O ClientCertFile
+# Client private key
+#O ClientKeyFile
+# File containing certificate revocation lists 
+#O CRLFile

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list