diff options
author | will <will@FreeBSD.org> | 2000-12-21 15:32:18 +0800 |
---|---|---|
committer | will <will@FreeBSD.org> | 2000-12-21 15:32:18 +0800 |
commit | eda21227287bfbb038cb5b6373db79e700214c8e (patch) | |
tree | 4ceaea06aa2ac5a75748efd4b0f638ca01f0662b /mail/sendmail | |
parent | 48f8ea30bfef959a1d1a0bb49b594ede341f6d02 (diff) | |
download | freebsd-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/Makefile | 18 | ||||
-rw-r--r-- | mail/sendmail/files/patch-aa | 326 | ||||
-rw-r--r-- | mail/sendmail/files/site.config.m4 | 9 | ||||
-rw-r--r-- | mail/sendmail/files/site.config.m4.pre4 | 5 | ||||
-rw-r--r-- | mail/sendmail/files/site.config.m4.ssl | 3 | ||||
-rw-r--r-- | mail/sendmail/files/site.config.m4.tls | 5 |
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') |