aboutsummaryrefslogtreecommitdiffstats
path: root/mail/sendmail
diff options
context:
space:
mode:
authorwill <will@FreeBSD.org>2000-12-21 15:32:18 +0800
committerwill <will@FreeBSD.org>2000-12-21 15:32:18 +0800
commiteda21227287bfbb038cb5b6373db79e700214c8e (patch)
tree4ceaea06aa2ac5a75748efd4b0f638ca01f0662b /mail/sendmail
parent48f8ea30bfef959a1d1a0bb49b594ede341f6d02 (diff)
downloadfreebsd-ports-gnome-eda21227287bfbb038cb5b6373db79e700214c8e.tar.gz
freebsd-ports-gnome-eda21227287bfbb038cb5b6373db79e700214c8e.tar.zst
freebsd-ports-gnome-eda21227287bfbb038cb5b6373db79e700214c8e.zip
Small improvements for remote build. The empty config directory is now
removed. Use of macro APPENDDEF to allow confCOPTS. Also add TCPWRAPPER and IPv6 support for FreeBSD >= 4.0, as well as optional TSL support, patches for rmail & mail.local, and other changes. PR: 22619 Submitted by: MAINTAINER
Diffstat (limited to 'mail/sendmail')
-rw-r--r--mail/sendmail/Makefile18
-rw-r--r--mail/sendmail/files/patch-aa326
-rw-r--r--mail/sendmail/files/site.config.m49
-rw-r--r--mail/sendmail/files/site.config.m4.pre45
-rw-r--r--mail/sendmail/files/site.config.m4.ssl3
-rw-r--r--mail/sendmail/files/site.config.m4.tls5
6 files changed, 362 insertions, 4 deletions
diff --git a/mail/sendmail/Makefile b/mail/sendmail/Makefile
index 2b6df19e5dac..47a03dc4b107 100644
--- a/mail/sendmail/Makefile
+++ b/mail/sendmail/Makefile
@@ -7,7 +7,8 @@
PORTNAME= sendmail
PORTVERSION= 8.11.1
-CATEGORIES= mail
+PORTREVISION= 1
+CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/
DISTNAME= ${PORTNAME}.${PORTVERSION}
@@ -18,14 +19,26 @@ NO_PACKAGE= "sendmail included in base system"
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
PLIST= ${WRKDIR}/.PLIST.more
-.if exists(/etc/mail/mailer.conf)
+.if defined(SENDMAIL_WITH_TSL)
+USE_OPENSSL= yes
+.endif
+
+.if exists(${DESTDIR}/etc/mail/mailer.conf)
pre-configure:
${SED} -e "s=%%PREFIX%%=${PREFIX}=" \
${FILESDIR}/site.config.m4 >${WRKSRC}/devtools/Site/site.config.m4
+.if defined(SENDMAIL_WITH_TSL)
+ ${CAT} ${FILESDIR}/site.config.m4.tls \
+ >> ${WRKSRC}/devtools/Site/site.config.m4
+.endif
.else
pre-configure:
${SED} -e "s=%%PREFIX%%=${PREFIX}=" \
${FILESDIR}/site.config.m4.pre4 >${WRKSRC}/devtools/Site/site.config.m4
+.if defined(SENDMAIL_WITH_TSL)
+ ${SED} -e "s=%%LOCALBASE%%=${LOCALBASE}=" ${FILESDIR}/site.config.m4.ssl \
+ >> ${WRKSRC}/devtools/Site/site.config.m4
+.endif
PREFIX?= ${DESTDIR}/usr
MANPREFIX?= ${DESTDIR}/usr/share
@@ -46,6 +59,7 @@ pre-install:
${AWK} '{print "share/sendmail/" $$1}' >>${PLIST}
cd ${WRKSRC} && find -d cf -type d | \
${AWK} '{print "@dirrm share/sendmail/" $$1}' >>${PLIST}
+ ${ECHO} "@dirrm share/sendmail" >>${PLIST}
.endif
# We want mail.local and rmail for our system.
diff --git a/mail/sendmail/files/patch-aa b/mail/sendmail/files/patch-aa
new file mode 100644
index 000000000000..5e268671dd6e
--- /dev/null
+++ b/mail/sendmail/files/patch-aa
@@ -0,0 +1,326 @@
+diff -ur cf/m4/cfhead.m4 src/contrib/sendmail/cf/m4/cfhead.m4
+--- cf/m4/cfhead.m4 Thu Aug 24 19:09:50 2000
++++ src/contrib/sendmail/cf/m4/cfhead.m4 Mon Nov 6 11:23:40 2000
+@@ -9,6 +9,7 @@
+ # forth in the LICENSE file which can be found at the top level of
+ # the sendmail distribution.
+ #
++# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $
+ #
+
+ ######################################################################
+@@ -214,7 +215,8 @@
+ define(`_REC_FULL_AUTH_', `$.$?{auth_type}(authenticated as ${auth_authen} $?{auth_author}for ${auth_author} $.with ${auth_type}')
+ define(`_REC_HDR_', `$?sfrom $s $.$?_($?s$|from $.$_)')
+ define(`_REC_END_', `for $u; $|;
+- $.$b')
++ $.$b$?g
++ (envelope-from $g)$.')
+ define(`_REC_TLS_', `(using ${tls_version} with cipher ${cipher} (${cipher_bits} bits) verified ${verify})$.$?u')
+ define(`_REC_BY_', `$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}')
+ define(`confRECEIVED_HEADER', `_REC_HDR_
+diff -ur cf/ostype/bsd4.4.m4 src/contrib/sendmail/cf/ostype/bsd4.4.m4
+--- cf/ostype/bsd4.4.m4 Sun Apr 25 22:00:56 1999
++++ src/contrib/sendmail/cf/ostype/bsd4.4.m4 Wed Oct 4 23:19:29 2000
+@@ -10,11 +10,12 @@
+ # forth in the LICENSE file which can be found at the top level of
+ # the sendmail distribution.
+ #
+-#
++# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $
+ #
+
+ divert(0)
+ VERSIONID(`$Id: bsd4.4.m4,v 8.14 1999/04/24 05:37:40 gshapiro Exp $')
+ ifdef(`STATUS_FILE',, `define(`STATUS_FILE', `/var/log/sendmail.st')')dnl
+ ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl
++ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail $u')')dnl
+ ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl
+diff -ur cf/sh/makeinfo.sh src/contrib/sendmail/cf/sh/makeinfo.sh
+--- cf/sh/makeinfo.sh Sun Feb 7 08:26:25 1999
++++ src/contrib/sendmail/cf/sh/makeinfo.sh Wed Oct 4 23:19:29 2000
+@@ -13,6 +13,8 @@
+ #
+ # $Id: makeinfo.sh,v 8.14 1999/02/07 07:26:25 gshapiro Exp $
+ #
++# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $
++#
+
+ usewhoami=0
+ usehostname=0
+@@ -52,7 +54,7 @@
+ else
+ host=`uname -n`
+ fi
+-echo '#####' built by $user@$host on `date`
++echo '#####' built by $user@$host on `LC_TIME=C date`
+ echo '#####' in `pwd` | sed 's/\/tmp_mnt//'
+ echo '#####' using $1 as configuration include directory | sed 's/\/tmp_mnt//'
+ echo "define(\`__HOST__', $host)dnl"
+diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8
+--- mail.local/mail.local.8 Sun Sep 17 19:04:25 2000
++++ src/contrib/sendmail/mail.local/mail.local.8 Mon Nov 6 11:23:41 2000
+@@ -10,13 +10,15 @@
+ .\"
+ .\" $Id: mail.local.8,v 8.14.14.3 2000/09/17 17:04:25 gshapiro Exp $
+ .\"
++.\" $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $
++.\"
+ .TH MAIL.LOCAL 8 "$Date: 2000/09/17 17:04:25 $"
+ .SH NAME
+ .B mail.local
+ \- store mail in a mailbox
+ .SH SYNOPSIS
+ .B mail.local
+-.RB [ \-7 "] [" \-b "] [" \-d "] [" \-l "] [" \-f
++.RB [ \-7 "] [" \-B "] [" \-b "] [" \-d "] [" \-l "] [" \-s "] [" \-f
+ .IR from "] " "user ..."
+ .SH DESCRIPTION
+ .B Mail.local
+@@ -32,6 +34,11 @@
+ .B \-7
+ Do not advertise 8BITMIME support in LMTP mode.
+ .TP
++.B \-B
++Turn off the attempts to notify the
++.Dq biff
++service.
++.TP
+ .B \-b
+ Return a permanent error instead of a temporary error
+ if a mailbox exceeds quota.
+@@ -44,6 +51,13 @@
+ .TP
+ .B \-l
+ Turn on LMTP mode.
++.TP
++.B \-s
++Turn off the
++.Xr fsync 2
++call that forces the mailbox to be committed to disk before returning a
++.Dq success
++status.
+ .TP
+ .BI \-r " from"
+ Specify the sender's name (for backward compatibility).
+@@ -91,7 +105,6 @@
+ .PD
+ .SH SEE ALSO
+ mail(1),
+-xsend(1),
+ flock(2),
+ getservbyname(3),
+ comsat(8),
+diff -ur mail.local/mail.local.c src/contrib/sendmail/mail.local/mail.local.c
+--- mail.local/mail.local.c Fri Sep 22 18:30:09 2000
++++ src/contrib/sendmail/mail.local/mail.local.c Mon Nov 6 11:23:42 2000
+@@ -22,6 +22,8 @@
+ static char id[] = "@(#)$Id: mail.local.c,v 8.143.4.37 2000/09/22 00:49:10 doug Exp $";
+ #endif /* ! lint */
+
++/* $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $ */
++
+ /*
+ ** This is not intended to work on System V derived systems
+ ** such as Solaris or HP-UX, since they use a totally different
+@@ -170,7 +172,7 @@
+
+ # if defined(BSD4_4) || defined(__GLIBC__)
+ # include <paths.h>
+-# define _PATH_LOCTMP "/tmp/local.XXXXXX"
++# define _PATH_LOCTMP "/var/tmp/local.XXXXXX"
+ # endif /* defined(BSD4_4) || defined(__GLIBC__) */
+
+ # ifdef BSD4_4
+@@ -229,7 +231,7 @@
+ # endif /* USE_SETRESUID */
+
+ # ifndef _PATH_LOCTMP
+-# define _PATH_LOCTMP "/tmp/local.XXXXXX"
++# define _PATH_LOCTMP "/var/tmp/local.XXXXXX"
+ # endif /* ! _PATH_LOCTMP */
+ # ifndef _PATH_MAILDIR
+ # define _PATH_MAILDIR "/var/spool/mail"
+@@ -264,6 +266,8 @@
+ int ExitVal = EX_OK; /* sysexits.h error value. */
+ bool LMTPMode = FALSE;
+ bool bouncequota = FALSE; /* permanent error when over quota */
++bool nobiff = FALSE;
++bool nofsync = FALSE;
+
+ void deliver __P((int, char *, bool));
+ int e_to_sys __P((int));
+@@ -304,7 +308,7 @@
+ # endif /* LOG_MAIL */
+
+ from = NULL;
+- while ((ch = getopt(argc, argv, "7bdf:r:l")) != -1)
++ while ((ch = getopt(argc, argv, "7Bbdf:r:ls")) != -1)
+ {
+ switch(ch)
+ {
+@@ -312,6 +316,10 @@
+ EightBitMime = FALSE;
+ break;
+
++ case 'B':
++ nobiff = TRUE;
++ break;
++
+ case 'b': /* bounce mail when over quota. */
+ bouncequota = TRUE;
+ break;
+@@ -333,6 +341,10 @@
+ LMTPMode = TRUE;
+ break;
+
++ case 's':
++ nofsync++;
++ break;
++
+ case '?':
+ default:
+ usage();
+@@ -342,7 +354,8 @@
+ argv += optind;
+
+ /* initialize biff structures */
+- notifybiff(NULL);
++ if (!nobiff)
++ notifybiff(NULL);
+
+ if (LMTPMode)
+ dolmtp(bouncequota);
+@@ -1127,14 +1140,17 @@
+ goto err1;
+ }
+
+- /* Get the starting offset of the new message for biff. */
+- curoff = lseek(mbfd, (off_t)0, SEEK_END);
+- if (sizeof curoff > sizeof(long))
+- (void) snprintf(biffmsg, sizeof(biffmsg), "%s@%s\n",
+- name, quad_to_string(curoff));
+- else
+- (void) snprintf(biffmsg, sizeof(biffmsg), "%s@%ld\n",
+- name, (long) curoff);
++ if (!nobiff)
++ {
++ /* Get the starting offset of the new message for biff. */
++ curoff = lseek(mbfd, (off_t)0, SEEK_END);
++ if (sizeof curoff > sizeof(long))
++ (void) snprintf(biffmsg, sizeof(biffmsg), "%s@%s\n",
++ name, quad_to_string(curoff));
++ else
++ (void) snprintf(biffmsg, sizeof(biffmsg), "%s@%ld\n",
++ name, (long) curoff);
++ }
+
+ /* Copy the message into the file. */
+ if (lseek(fd, (off_t)0, SEEK_SET) == (off_t)-1)
+@@ -1196,7 +1212,7 @@
+ }
+
+ /* Flush to disk, don't wait for update. */
+- if (fsync(mbfd) < 0)
++ if (!nofsync && fsync(mbfd) < 0)
+ {
+ mailerr("450 4.2.0", "%s: %s", path, errstring(errno));
+ err3:
+@@ -1230,7 +1246,7 @@
+ mailerr("450 4.2.0", "%s: %s", path, errstring(errno));
+ (void) truncate(path, curoff);
+ }
+- else
++ else if (!nobiff)
+ notifybiff(biffmsg);
+
+ if (setreuid(0, 0) < 0)
+@@ -1409,7 +1425,7 @@
+ usage()
+ {
+ ExitVal = EX_USAGE;
+- mailerr(NULL, "usage: mail.local [-7] [-b] [-l] [-f from] user ...");
++ mailerr(NULL, "usage: mail.local [-7] [-B] [-b] [-l] [-f from] [-s] user ...");
+ exit(ExitVal);
+ }
+
+diff -ur rmail/rmail.c src/contrib/sendmail/rmail/rmail.c
+--- rmail/rmail.c Sun Sep 17 00:20:25 2000
++++ src/contrib/sendmail/rmail/rmail.c Mon Nov 6 11:23:42 2000
+@@ -22,6 +22,8 @@
+ static char id[] = "@(#)$Id: rmail.c,v 8.39.4.8 2000/09/16 22:20:25 gshapiro Exp $";
+ #endif /* ! lint */
+
++/* $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $ */
++
+ /*
+ * RMAIL -- UUCP mail server.
+ *
+@@ -318,7 +320,11 @@
+ args[i++] = _PATH_SENDMAIL; /* Build sendmail's argument list. */
+ args[i++] = "-G"; /* relay submission */
+ args[i++] = "-oee"; /* No errors, just status. */
++#ifdef QUEUE_ONLY
+ args[i++] = "-odq"; /* Queue it, don't try to deliver. */
++#else
++ args[i++] = "-odi"; /* Deliver in foreground. */
++#endif
+ args[i++] = "-oi"; /* Ignore '.' on a line by itself. */
+
+ /* set from system and protocol used */
+diff -ur smrsh/smrsh.8 src/contrib/sendmail/smrsh/smrsh.8
+--- smrsh/smrsh.8 Tue Jun 15 06:50:19 1999
++++ src/contrib/sendmail/smrsh/smrsh.8 Wed Oct 4 23:19:47 2000
+@@ -11,6 +11,8 @@
+ .\"
+ .\" $Id: smrsh.8,v 8.11 1999/06/09 16:51:07 ca Exp $
+ .\"
++.\" $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/patch-aa,v 1.1 2000-12-21 07:32:18 will Exp $
++.\"
+ .TH SMRSH 8 11/02/93
+ .SH NAME
+ smrsh \- restricted shell for sendmail
+@@ -38,7 +40,7 @@
+ Briefly,
+ .I smrsh
+ limits programs to be in the directory
+-/usr/adm/sm.bin,
++/usr/libexec/sm.bin,
+ allowing the system administrator to choose the set of acceptable commands,
+ and to the shell builtin commands ``exec'', ``exit'', and ``echo''.
+ It also rejects any commands with the characters
+@@ -49,16 +51,15 @@
+ ``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"''
+ .PP
+ Initial pathnames on programs are stripped,
+-so forwarding to ``/usr/ucb/vacation'',
+-``/usr/bin/vacation'',
++so forwarding to ``/usr/bin/vacation'',
+ ``/home/server/mydir/bin/vacation'',
+ and
+ ``vacation''
+ all actually forward to
+-``/usr/adm/sm.bin/vacation''.
++``/usr/libexec/sm.bin/vacation''.
+ .PP
+ System administrators should be conservative about populating
+-/usr/adm/sm.bin.
++/usr/libexec/sm.bin.
+ Reasonable additions are
+ .IR vacation (1),
+ .IR procmail (1),
+@@ -77,11 +78,11 @@
+ Compilation should be trivial on most systems.
+ You may need to use \-DPATH=\e"\fIpath\fP\e"
+ to adjust the default search path
+-(defaults to ``/bin:/usr/bin:/usr/ucb'')
++(defaults to ``/bin:/usr/bin'')
+ and/or \-DCMDBIN=\e"\fIdir\fP\e"
+ to change the default program directory
+-(defaults to ``/usr/adm/sm.bin'').
++(defaults to ``/usr/libexec/sm.bin'').
+ .SH FILES
+-/usr/adm/sm.bin \- directory for restricted programs
++/usr/libexec/sm.bin \- directory for restricted programs
+ .SH SEE ALSO
+ sendmail(8)
diff --git a/mail/sendmail/files/site.config.m4 b/mail/sendmail/files/site.config.m4
index 6e8776bc7e70..7a4840a405df 100644
--- a/mail/sendmail/files/site.config.m4
+++ b/mail/sendmail/files/site.config.m4
@@ -4,4 +4,11 @@ define(`confMANROOTMAN',`%%PREFIX%%/man/man')
define(`confMBINDIR',`%%PREFIX%%/sbin')
define(`confSBINDIR',`%%PREFIX%%/sbin')
define(`confUBINDIR',`%%PREFIX%%/bin')
-define(`confCCOPTS',`-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\"" -DPATH="\"/bin:/usr/bin\""')
+APPENDDEF(`conf_sendmail_ENVDEF', `-DTCPWRAPPERS')
+APPENDDEF(`conf_sendmail_LIBS', `-lwrap')"
+APPENDDEF(`conf_sendmail_ENVDEF', `-DNETINET6')
+APPENDDEF(`conf_libmilter_ENVDEF', `-DNETINET6')
+APPENDDEF(`conf_mail_local_ENVDEF', `-DQUEUE_ONLY')
+APPENDDEF(`conf_smrsh_ENVDEF', `-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\""')
+APPENDDEF(`conf_smrsh_ENVDEF', `-DPATH="\"/bin:/usr/bin\""')
+APPENDDEF(`confCCOPTS', `-DPATH="\"/bin:/usr/bin\""')
diff --git a/mail/sendmail/files/site.config.m4.pre4 b/mail/sendmail/files/site.config.m4.pre4
index a1703e5f812f..bb2ff05a9f45 100644
--- a/mail/sendmail/files/site.config.m4.pre4
+++ b/mail/sendmail/files/site.config.m4.pre4
@@ -1 +1,4 @@
-define(`confCCOPTS',`-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\"" -DPATH="\"/bin:/usr/bin\""')
+APPENDDEF(`conf_mail_local_ENVDEF', `-DQUEUE_ONLY')
+APPENDDEF(`conf_smrsh_ENVDEF', `-DCMDDIR="\"%%PREFIX%%/libexec/sm.bin\""')
+APPENDDEF(`conf_smrsh_ENVDEF', `-DPATH="\"/bin:/usr/bin\""')
+APPENDDEF(`confCCOPTS', `-DPATH="\"/bin:/usr/bin\""')
diff --git a/mail/sendmail/files/site.config.m4.ssl b/mail/sendmail/files/site.config.m4.ssl
new file mode 100644
index 000000000000..9e291b26e856
--- /dev/null
+++ b/mail/sendmail/files/site.config.m4.ssl
@@ -0,0 +1,3 @@
+APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib')
+APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include')
+APPENDDEF(`conf_sendmail_ENVDEF', `-DHASSRANDOMDEV')
diff --git a/mail/sendmail/files/site.config.m4.tls b/mail/sendmail/files/site.config.m4.tls
new file mode 100644
index 000000000000..40cfc2e0f1c5
--- /dev/null
+++ b/mail/sendmail/files/site.config.m4.tls
@@ -0,0 +1,5 @@
+APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS')
+APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_O_T')
+APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_1')
+APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TLS_TOREK')
+APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')