Index: head/mail/sendmail/Makefile =================================================================== --- head/mail/sendmail/Makefile (revision 477314) +++ head/mail/sendmail/Makefile (revision 477315) @@ -1,378 +1,378 @@ # $FreeBSD$ PORTNAME= sendmail PORTVERSION= 8.15.2 PORTREVISION= 11 CATEGORIES= mail ipv6 MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ DISTNAME= ${PORTNAME}.${PORTVERSION} MAINTAINER= dinoex@FreeBSD.org COMMENT= Reliable, highly configurable mail transfer agent with utilities LICENSE= Sendmail LICENSE_NAME= Sendmail License LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept CONFLICTS?= courier-0.* postfix-1.* postfix-2.* smail-3.* zmailer-2.* opensmtpd-* USERS= smmsp GROUPS= smmsp USES= cpe uidfix groff MAKE_ARGS= UBINOWN=${UID} UBINGRP=${GID} \ SBINOWN=${UID} SBINGRP=${GID} \ GBINOWN=${UID} GBINGRP=${GID} \ MANOWN=${UID} MANGRP=${GID} \ LIBMODE=0644 UBINMODE=0755 GBINMODE=2755 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} DOCS= KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ sendmail/TRACEFLAGS sendmail/SECURITY sendmail/TUNING PLIST_SUB+= PREFIX=${PREFIX:S=${PREFIX}/==} \ MANPREFIX=${MANPREFIX:S=$=/=:S=${PREFIX}==:S=^/==} PKGMESSAGE= ${WRKSRC}/pkg-message WCONF= ${WRKSRC}/devtools/Site SITE= ${FILESDIR}/site.config.m4.pre4 PLIST= ${WRKDIR}/.PLIST.more LMAN1= mailq.1 newaliases.1 vacation.1 LMAN5= aliases.5 LMAN8= sendmail.8 mailstats.8 makemap.8 praliases.8 smrsh.8 \ mail.local.8 rmail.8 editmap.8 SENDMAIL= ${PREFIX}/sbin/sendmail BASEMAIL= /usr/libexec/sendmail/sendmail MILTER_SOVER?= 6 OPTIONS_DEFINE?= SHMEM SEM LA NIS IPV6 TLS SASL SASLAUTHD LDAP BDB \ GDBM SOCKETMAP CYRUSLOOKUP BLACKLISTD SMTPUTF8 \ PICKY_HELO_CHECK MILTER DOCS OPTIONS_DEFAULT?= SHMEM SEM LA NIS TLS SASL SASLAUTHD BDB1 \ BLACKLISTD PICKY_HELO_CHECK MILTER OPTIONS_EXCLUDE_FreeBSD_10= BLACKLISTD NO_OPTIONS_SORT=yes SHMEM_DESC= System V shared memory support LA_DESC= load averages support TLS_DESC= SMTP-TLS and SMTPS support SASLAUTHD_DESC= SASLAUTHD support BDB_DESC= Berkeley DB version 4+ support GDBM_DESC= GNU dbm library support (option COMPAT needed) SOCKETMAP_DESC= Enable socketmap feature BLACKLISTD_DESC= Enable blacklistd support CYRUSLOOKUP_DESC= Enable cyruslookup feature PICKY_HELO_CHECK_DESC= Enable picky HELO check MILTER_DESC= Enable milter support SMTPUTF8_DESC= Enable unicode address support TLS_USES= ssl SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASLAUTHD_RUN_DEPENDS= ${LOCALBASE}/sbin/saslauthd:security/cyrus-sasl2-saslauthd LDAP_USE= OPENLDAP=yes BDB_USES= bdb GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm GDBM_CONFIGURE_WITH= compat SMTPUTF8_LIB_DEPENDS= libidn2.so:dns/libidn2 libicui18n.so:devel/icu .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200000 PKGNAMESUFFIX?= ${TLS_SUFFIX}${SASL_SUFFIX}${LDAP_SUFFIX}${BDB_SUFFIX}${PKGNAMESUFFIX2} .endif .if ${PORT_OPTIONS:MSHMEM} && !defined(BUILDING_INDEX) IPCCHECK!= ipcrm -q 0 2>&1 || true .if ${IPCCHECK:Mimplemented} IGNORE= your system does not support sysvipc .endif .endif .if ${PORT_OPTIONS:MBDB} BDB_SUFFIX= +${BDB_INCLUDE_DIR:S,^${LOCALBASE}/include/,,} CONFLICTS+= sendmail-ldap-8.* sendmail-sasl2-8.* sendmail-tls-8.* .endif .if ${PORT_OPTIONS:MLDAP} LDAP_SUFFIX?= +ldap CONFLICTS+= sendmail-sasl2-8.* sendmail-tls-8.* .endif .if ${PORT_OPTIONS:MSASL} SASL_SUFFIX?= +sasl2 CONFLICTS+= sendmail-ldap-8.* sendmail-tls-8.* .endif .if ${PORT_OPTIONS:MCYRUSLOOKUP} .if ! ${PORT_OPTIONS:MSOCKETMAP} IGNORE= option CYRUSLOOKUP requires option SOCKETMAP .else EXTRA_PATCHES+= ${FILESDIR}/cyruslookup.patch .endif .endif .if ${PORT_OPTIONS:MSMTPUTF8} EXTRA_PATCHES+= ${FILESDIR}/smtputf8.patch .endif .if ${PORT_OPTIONS:MTLS} TLS_SUFFIX?= +tls CONFLICTS+= sendmail-ldap-8.* sendmail-sasl2-8.* .endif MAKE_PKGNAMES= for i in "" +tls; do \ for j in "" +sasl2; do \ for k in "" +ldap; do \ for l in "" +db48 +db5 +db6; do \ echo "sendmail$${i}$${j}$${k}$${l}-8.*" ;\ done done done done ALL_PKGNAMES!= ${MAKE_PKGNAMES} CONFLICTS2!= ${MAKE_PKGNAMES} | ${GREP} -v "${PORTNAME}${PKGNAMESUFFIX:S|${PKGNAMESUFFIX2}||}-8." CONFLICTS+= ${CONFLICTS2} # Build site.config.m4 SITE+= ${FILESDIR}/site.config.m4 .if ${PORT_OPTIONS:MIPV6} SITE+= ${FILESDIR}/site.config.m4.ipv6 .endif .if ${PORT_OPTIONS:MSASL} SITE+= ${FILESDIR}/site.config.m4.sasl2 .endif .if ${PORT_OPTIONS:MLDAP} SITE+= ${FILESDIR}/site.config.m4.ldap .endif .if ${PORT_OPTIONS:MBLACKLISTD} SITE+= ${FILESDIR}/site.config.m4.blacklistd .endif .if ${PORT_OPTIONS:MSMTPUTF8} SITE+= ${FILESDIR}/site.config.m4.smtputf8 .endif .if ${PORT_OPTIONS:MMILTER} SITE+= ${FILESDIR}/site.config.m4.milter .endif .if ${PORT_OPTIONS:MGDBM} NO_PACKAGE= GPLv3 license conflict SITE+= ${FILESDIR}/site.config.m4.gdbm .endif SED_SCRIPT= -e "s|\`-O\'|\`${CFLAGS}\'|" \ -e 's|%%CC%%|${CC}|' -e 's|%%LD%%|${LD}|' .if ! ${PORT_OPTIONS:MNIS} SED_SCRIPT+= -e "s;-DNIS ;;" .endif post-patch: @${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ -e "s=%%PORTSDIR%%=${PORTSDIR}=g" \ ${PKGDIR}/pkg-message > ${WRKSRC}/pkg-message do-configure: .if ${PORT_OPTIONS:MGDBM} @(if [ ! -e "${LOCALBASE}/lib/libgdbm_compat.so" ] ; then \ ${ECHO_MSG} "===> option COMPAT is missing in databases/gdbm."; \ - ${FALSE}; \ - fi) + ${FALSE}; \ + fi) .endif .if ${PORT_OPTIONS:MBLACKLISTD} @(if [ ! -e "${DESTDIR}/usr/lib/libblacklist.so" ] ; then \ ${ECHO_MSG} "===> libblacklist.so not found. Please update to FreeBSD 11"; \ - ${FALSE}; \ - fi) + ${FALSE}; \ + fi) .endif ${REINPLACE_CMD} ${SED_SCRIPT} ${WRKSRC}/devtools/OS/FreeBSD ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ ${SITE} > ${WCONF}/site.config.m4 .if ${PORT_OPTIONS:MBDB} ${ECHO_CMD} \ 'APPENDDEF(`confENVDEF'\'', `-I${BDB_INCLUDE_DIR}'\'')' \ >> ${WCONF}/site.config.m4 ${ECHO_CMD} \ 'APPENDDEF(`confLIBDIRS'\'', `-L${LOCALBASE}/lib'\'')' \ >> ${WCONF}/site.config.m4 .for i in sendmail editmap makemap praliases vacation ${ECHO_CMD} \ 'APPENDDEF(`conf_${i}_LIBS'\'', `-l${BDB_LIB_NAME}'\'')' \ >> ${WCONF}/site.config.m4 .endfor .endif .if ${PORT_OPTIONS:MSOCKETMAP} ${ECHO_CMD} \ 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DSOCKETMAP'\'')' \ >> ${WCONF}/site.config.m4 .endif .if ${PORT_OPTIONS:MPICKY_HELO_CHECK} ${ECHO_CMD} \ 'APPENDDEF(`conf_sendmail_ENVDEF'\'', `-DPICKY_HELO_CHECK'\'')' \ >> ${WCONF}/site.config.m4 .endif .if ! ${PORT_OPTIONS:MSHMEM} ${ECHO_CMD} \ 'APPENDDEF(`confENVDEF'\'', `-DSM_CONF_SHM=0'\'')' \ >> ${WCONF}/site.config.m4 .endif .if ! ${PORT_OPTIONS:MSEM} ${ECHO_CMD} \ 'APPENDDEF(`confENVDEF'\'', `-DSM_CONF_SEM=0'\'')' \ >> ${WCONF}/site.config.m4 .endif .if ! ${PORT_OPTIONS:MLA} ${ECHO_CMD} \ 'APPENDDEF(`confENVDEF'\'', `-DLA_TYPE=LA_ZERO'\'')' \ >> ${WCONF}/site.config.m4 .endif post-build: (cd ${WRKSRC}/doc/op && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} op.txt) pre-install: ${MKDIR} ${STAGEDIR}/etc/mail @${CAT} ${PKGDIR}/pkg-plist >${PLIST} @cd ${WRKSRC} && ${FIND} cf -type f | \ ${AWK} '{print "share/sendmail/" $$1}' >>${PLIST} .if ${PORT_OPTIONS:MDOCS} .for i in ${DOCS} @${ECHO_CMD} `${BASENAME} ${i}` | \ ${AWK} '{print "%%DOCSDIR%%/" $$1}' >>${PLIST} .endfor .if ${PORT_OPTIONS:MCYRUSLOOKUP} @${ECHO_CMD} "share/doc/sendmail/CYRUS_LOOKUP" >>${PLIST} .endif .endif # We want mail.local and rmail for our system. # the build install catmans only, we have to fix this. post-install: (cd ${WRKSRC}/mail.local && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} force-install) (cd ${WRKSRC}/rmail && \ ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} force-install) .for i in ${LMAN8} ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man8/ .endfor .for i in ${LMAN5} ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man5/ .endfor .for i in ${LMAN1} ${INSTALL_MAN} ${WRKSRC}/*/${i} ${STAGEDIR}${MANPREFIX}/man/man1/ .endfor ${MKDIR} ${STAGEDIR}${PREFIX}/share/sendmail ${TAR} -C ${WRKSRC} -cf - cf | \ ${TAR} -C ${STAGEDIR}${PREFIX}/share/sendmail -xf - ${RM} ${STAGEDIR}${PREFIX}/man/cat*/* # final perm of sendmail is 2555 (see plist), needed for strip cmd ${CHMOD} 755 ${STAGEDIR}${PREFIX}/sbin/sendmail ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vacation ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rmail ${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/* ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/* post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}/ ${INSTALL_DATA} ${WRKSRC}/doc/op/op.ps ${STAGEDIR}${DOCSDIR}/op.ps ${INSTALL_DATA} ${WRKSRC}/doc/op/op.txt ${STAGEDIR}${DOCSDIR}/op.txt ${INSTALL_DATA} ${WRKSRC}/devtools/README ${STAGEDIR}${DOCSDIR}/DEVTOOLS ${INSTALL_DATA} ${WRKSRC}/sendmail/README ${STAGEDIR}${DOCSDIR}/SENDMAIL ${INSTALL_DATA} ${WRKSRC}/mail.local/README ${STAGEDIR}${DOCSDIR}/MAIL.LOCAL ${INSTALL_DATA} ${WRKSRC}/smrsh/README ${STAGEDIR}${DOCSDIR}/SMRSH .if ${PORT_OPTIONS:MCYRUSLOOKUP} ${INSTALL_DATA} ${FILESDIR}/CYRUS_LOOKUP ${STAGEDIR}${DOCSDIR}/CYRUS_LOOKUP .endif mailer.base: @${SED} \ -e "s=^sendmail[ ]*/.*$$=sendmail ${BASEMAIL}=" \ -e "s=^send-mail[ ]*/.*$$=send-mail ${BASEMAIL}=" \ -e "s=^mailq[ ]*/.*$$=mailq ${BASEMAIL}=" \ -e "s=^newaliases[ ]*/.*$$=newaliases ${BASEMAIL}=" \ -e "s=^hoststat[ ]*/.*$$=hoststat ${BASEMAIL}=" \ -e "s=^purgestat[ ]*/.*$$=purgestat ${BASEMAIL}=" \ ${DESTDIR}/etc/mail/mailer.conf > ${DESTDIR}/etc/mail/mailer.conf.new ${MV} ${DESTDIR}/etc/mail/mailer.conf.new \ ${DESTDIR}/etc/mail/mailer.conf mailer.conf: @${SED} \ -e "s=^sendmail[ ]*/.*$$=sendmail ${SENDMAIL}=" \ -e "s=^send-mail[ ]*/.*$$=send-mail ${SENDMAIL}=" \ -e "s=^mailq[ ]*/.*$$=mailq ${SENDMAIL}=" \ -e "s=^newaliases[ ]*/.*$$=newaliases ${SENDMAIL}=" \ -e "s=^hoststat[ ]*/.*$$=hoststat ${SENDMAIL}=" \ -e "s=^purgestat[ ]*/.*$$=purgestat ${SENDMAIL}=" \ ${DESTDIR}/etc/mail/mailer.conf > ${DESTDIR}/etc/mail/mailer.conf.new ${MV} ${DESTDIR}/etc/mail/mailer.conf.new \ ${DESTDIR}/etc/mail/mailer.conf # create sumbit.cf on older systems # submit.cf: ${DESTDIR}/etc/mail/submit.cf ${DESTDIR}/etc/mail/submit.mc: ${INSTALL_DATA} ${PREFIX}/share/sendmail/cf/cf/submit.mc \ ${DESTDIR}/etc/mail/submit.mc ${DESTDIR}/etc/mail/submit.cf: ${DESTDIR}/etc/mail/submit.mc @( cd ${DESTDIR}/etc/mail && ${MAKE} \ SENDMAIL_CF_DIR=${PREFIX}/share/sendmail/cf \ SENDMAIL_MC=submit ) # create basics for smtp-auth # howto-sasldb: @${ECHO_CMD} "# Links:" @${ECHO_CMD} "#" @${ECHO_CMD} "# http://www.sendmail.org/~gshapiro/" @${ECHO_CMD} "# http://www.sendmail.org/~ca/email/auth.html" @${ECHO_CMD} "# http://www.bme.ogi.edu/~pchytil/linux/sendmail/" @${ECHO_CMD} "# http://blue-labs.org/software/sm-pgsql/" @${ECHO_CMD} "# http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/" @${ECHO_CMD} "#" # create certificates for TLS/SSL # tls-install: ${SETENV} DESTDIR=${DESTDIR} FILESDIR=${FILESDIR} \ ${SH} ${FILESDIR}/tls-install.sh help: @${ECHO_CMD} "# additional targets:" @${ECHO_CMD} "#" @${ECHO_CMD} "# configure ${DESTDIR}/etc/mail/mailer.conf" @${ECHO_CMD} "# for sendmail from ports" @${ECHO_CMD} "make mailer.conf" @${ECHO_CMD} "# for sendmail in the base" @${ECHO_CMD} "make mailer.base" @${ECHO_CMD} "#" @${ECHO_CMD} "# show howto for configuring sasldb" @${ECHO_CMD} "make howto-sasldb" @${ECHO_CMD} "#" @${ECHO_CMD} "# create a self-signed certificate" @${ECHO_CMD} "make tls-install" @${ECHO_CMD} "#" .include .if ${PORT_OPTIONS:MTLS} .if ${SSL_DEFAULT} != base SITE+= ${FILESDIR}/site.config.m4.ssl .endif SITE+= ${FILESDIR}/site.config.m4.tls .endif .if exists(${FILESDIR}/site.config.m4.local) SITE+= ${FILESDIR}/site.config.m4.local .endif .if ${PREFIX} == "/usr" pre-everything:: @${ECHO_CMD} "#" @${ECHO_CMD} "# You can't override the base sendmail this way." @${ECHO_CMD} "# your version FreeBSD use mailwrapper." @${ECHO_CMD} "#" @${ECHO_CMD} "# Please install with normal PREFIX" @${ECHO_CMD} "# and activate the port version with" @${ECHO_CMD} "# cd ${PORTSDIR}/mail/sendmail && make mailer.conf" @${ECHO_CMD} "#" @${FALSE} .endif .include Index: head/mail/sendmail/files/patch-FreeBSD =================================================================== --- head/mail/sendmail/files/patch-FreeBSD (revision 477314) +++ head/mail/sendmail/files/patch-FreeBSD (revision 477315) @@ -1,11 +1,11 @@ ---- devtools/OS/FreeBSD.orig 2003-07-03 03:07:45.000000000 +0200 -+++ devtools/OS/FreeBSD 2013-11-16 07:06:27.000000000 +0100 -@@ -6,7 +6,7 @@ +--- devtools/OS/FreeBSD.orig 2014-03-05 00:59:45 UTC ++++ devtools/OS/FreeBSD +@@ -6,7 +6,7 @@ dnl Place personal settings in devtools/ define(`confMAPDEF', `-DNEWDB -DNIS -DMAP_REGEX') define(`confLIBS', `-lutil') -define(`confLD', `cc') +define(`confCC', `%%CC%%') define(`confMTLDOPTS', `-pthread') define(`confMTCCOPTS', `-D_THREAD_SAFE') define(`confLDOPTS_SO', `-shared') Index: head/mail/sendmail/files/patch-bsd4.4.m4 =================================================================== --- head/mail/sendmail/files/patch-bsd4.4.m4 (revision 477314) +++ head/mail/sendmail/files/patch-bsd4.4.m4 (revision 477315) @@ -1,8 +1,8 @@ ---- cf/ostype/bsd4.4.m4.orig 1999-04-24 07:37:40.000000000 +0200 -+++ cf/ostype/bsd4.4.m4 2008-05-04 11:55:42.000000000 +0200 -@@ -17,4 +17,5 @@ - VERSIONID(`$Id: bsd4.4.m4,v 8.14 1999/04/24 05:37:40 gshapiro Exp $') +--- cf/ostype/bsd4.4.m4.orig 2014-03-05 00:59:45 UTC ++++ cf/ostype/bsd4.4.m4 +@@ -17,4 +17,5 @@ divert(0) + VERSIONID(`$Id: bsd4.4.m4,v 8.15 2013-11-22 20:51:15 ca 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 Index: head/mail/sendmail/files/patch-cfhead.m4 =================================================================== --- head/mail/sendmail/files/patch-cfhead.m4 (revision 477314) +++ head/mail/sendmail/files/patch-cfhead.m4 (revision 477315) @@ -1,12 +1,12 @@ ---- cf/m4/cfhead.m4.orig 2004-01-28 23:02:22.000000000 +0100 -+++ cf/m4/cfhead.m4 2008-05-04 11:55:42.000000000 +0200 -@@ -268,7 +268,8 @@ +--- cf/m4/cfhead.m4.orig 2015-02-28 00:20:38 UTC ++++ cf/m4/cfhead.m4 +@@ -269,7 +269,8 @@ define(`_REC_AUTH_', `$.$?{auth_type}(au define(`_REC_FULL_AUTH_', `$.$?{auth_type}(user=${auth_authen} $?{auth_author}author=${auth_author} $.mech=${auth_type}') define(`_REC_HDR_', `$?sfrom $s $.$?_($?s$|from $.$_)') define(`_REC_END_', `for $u; $|; - $.$b') + $.$b$?g + (envelope-from $g)$.') define(`_REC_TLS_', `(version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u') define(`_REC_BY_', `$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}') define(`confRECEIVED_HEADER', `_REC_HDR_ Index: head/mail/sendmail/files/patch-doc-op-Makefile =================================================================== --- head/mail/sendmail/files/patch-doc-op-Makefile (revision 477314) +++ head/mail/sendmail/files/patch-doc-op-Makefile (revision 477315) @@ -1,11 +1,11 @@ ---- doc/op/Makefile.orig 2011-08-01 19:46:12.000000000 +0200 -+++ doc/op/Makefile 2011-08-01 19:47:45.000000000 +0200 -@@ -12,7 +12,7 @@ +--- doc/op/Makefile.orig 2014-03-05 00:59:45 UTC ++++ doc/op/Makefile +@@ -12,7 +12,7 @@ PS2PDF_CMD= ps2pdf PIC= ${PIC_CMD} -C EQNASCII= ${EQN_CMD} -C -Tascii EQNPS= ${EQN_CMD} -C -Tps -ROFFASCII= ${ROFF_CMD} -Tascii ${MACROS} +ROFFASCII= ${ROFF_CMD} -P-c -Tascii ${MACROS} ROFFPS= ${ROFF_CMD} -Tps -mps ${MACROS} ULASCII= ${UL_CMD} -t dumb PS2PDF= ${PS2PDF_CMD} Index: head/mail/sendmail/files/patch-mail.local.8 =================================================================== --- head/mail/sendmail/files/patch-mail.local.8 (revision 477314) +++ head/mail/sendmail/files/patch-mail.local.8 (revision 477315) @@ -1,57 +1,57 @@ ---- mail.local/mail.local.8.orig 2003-10-20 22:26:51.000000000 +0200 -+++ mail.local/mail.local.8 2008-05-04 11:55:42.000000000 +0200 -@@ -16,9 +16,9 @@ +--- mail.local/mail.local.8.orig 2014-03-05 00:59:45 UTC ++++ mail.local/mail.local.8 +@@ -16,9 +16,9 @@ mail.local \- store mail in a mailbox .SH SYNOPSIS .B mail.local -.RB [ \-7 "] [" \-b "] [" \-d "] [" \-D +.RB [ \-7 "] [" \-b "] [" \-B "] [" \-d "] [" \-D .IR mbdb ] -.RB [ \-l "] [" \-f +.RB [ \-l "] [" \-s "] [" \-f \fIfrom\fR|\fB\-r\fR .IR from ] .RB [ \-h -@@ -38,6 +38,11 @@ +@@ -38,6 +38,11 @@ The options are as follows: .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. -@@ -56,6 +61,13 @@ +@@ -56,6 +61,13 @@ Specify the sender's name. .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). -@@ -120,7 +132,7 @@ +@@ -120,7 +132,7 @@ Used to set the appropriate time zone on .SH FILES .PD 0.2v .TP 2.2i -/tmp/local.XXXXXX +/var/tmp/local.XXXXXX temporary files .TP /var/mail/user -@@ -131,7 +143,6 @@ +@@ -131,7 +143,6 @@ lock file for a user's default mailbox .PD .SH SEE ALSO mail(1), -xsend(1), flock(2), getservbyname(3), comsat(8), Index: head/mail/sendmail/files/patch-mail.local.c =================================================================== --- head/mail/sendmail/files/patch-mail.local.c (revision 477314) +++ head/mail/sendmail/files/patch-mail.local.c (revision 477315) @@ -1,97 +1,97 @@ ---- mail.local/mail.local.c.orig 2008-02-19 08:13:30.000000000 +0100 -+++ mail.local/mail.local.c 2008-05-04 11:59:31.000000000 +0200 -@@ -153,6 +153,8 @@ +--- mail.local/mail.local.c.orig 2014-06-12 17:30:47 UTC ++++ mail.local/mail.local.c +@@ -153,6 +153,8 @@ int ExitVal = EX_OK; /* sysexits.h erro bool HoldErrs = false; /* Hold errors in ErrBuf */ bool LMTPMode = false; bool BounceQuota = false; /* permanent error when over quota */ +bool NoBiff = false; +bool NoFsync = false; bool CloseMBDB = false; char *HomeMailFile = NULL; /* store mail in homedir */ -@@ -234,12 +236,12 @@ +@@ -234,12 +236,12 @@ main(argc, argv) sm_exit(EX_CONFIG); } #if HASHSPOOL - while ((ch = getopt(argc, argv, "7bdD:f:h:r:lH:p:n")) != -1) + while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsH:p:n")) != -1) #else /* HASHSPOOL */ # if _FFR_SPOOL_PATH - while ((ch = getopt(argc, argv, "7bdD:f:h:r:lp:")) != -1) + while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsp:")) != -1) # else /* _FFR_SPOOL_PATH */ - while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) + while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) # endif /* _FFR_SPOOL_PATH */ #endif /* HASHSPOOL */ { -@@ -249,6 +251,10 @@ +@@ -249,6 +251,10 @@ main(argc, argv) EightBitMime = false; break; + case 'B': + NoBiff = true; + break; + case 'b': /* bounce mail when over quota. */ BounceQuota = true; break; -@@ -342,6 +348,10 @@ +@@ -342,6 +348,10 @@ main(argc, argv) break; #endif /* HASHSPOOL || _FFR_SPOOL_PATH */ + case 's': + NoFsync = true; + break; + case '?': default: usage(); -@@ -351,7 +361,8 @@ +@@ -351,7 +361,8 @@ main(argc, argv) argv += optind; /* initialize biff structures */ - notifybiff(NULL); + if (!NoBiff) + notifybiff(NULL); err = sm_mbdb_initialize(mbdbname); if (err != EX_OK) -@@ -1273,6 +1284,7 @@ +@@ -1273,6 +1284,7 @@ tryagain: /* Get the starting offset of the new message */ curoff = lseek(mbfd, (off_t) 0, SEEK_END); + if (!NoBiff) (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", name, (LONGLONG_T) curoff); -@@ -1335,7 +1347,7 @@ +@@ -1335,7 +1347,7 @@ tryagain: } /* 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, sm_errstring(errno)); err3: -@@ -1402,7 +1414,7 @@ +@@ -1402,7 +1414,7 @@ err0: (void) setreuid(0, 0); /* Attempt to truncate back to pre-write size */ goto err3; } - else + else if (!NoBiff) notifybiff(biffmsg); if (setreuid(0, 0) < 0) -@@ -1582,9 +1594,9 @@ +@@ -1582,9 +1594,9 @@ usage() { ExitVal = EX_USAGE; # if _FFR_SPOOL_PATH - mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] [-p path] user ..."); + mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] [-p path] user ..."); # else /* _FFR_SPOOL_PATH */ - mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] user ..."); + mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] user ..."); # endif /* _FFR_SPOOL_PATH */ sm_exit(ExitVal); } Index: head/mail/sendmail/files/patch-makeinfo.sh =================================================================== --- head/mail/sendmail/files/patch-makeinfo.sh (revision 477314) +++ head/mail/sendmail/files/patch-makeinfo.sh (revision 477315) @@ -1,11 +1,11 @@ ---- cf/sh/makeinfo.sh.orig 1999-02-07 08:26:25.000000000 +0100 -+++ cf/sh/makeinfo.sh 2008-05-04 11:55:42.000000000 +0200 -@@ -52,7 +52,7 @@ +--- cf/sh/makeinfo.sh.orig 2014-03-05 00:59:45 UTC ++++ cf/sh/makeinfo.sh +@@ -52,7 +52,7 @@ then 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" Index: head/mail/sendmail/files/patch-rmail.c =================================================================== --- head/mail/sendmail/files/patch-rmail.c (revision 477314) +++ head/mail/sendmail/files/patch-rmail.c (revision 477315) @@ -1,14 +1,14 @@ ---- rmail/rmail.c.orig 2001-09-18 23:45:29.000000000 +0200 -+++ rmail/rmail.c 2008-05-04 11:55:42.000000000 +0200 -@@ -276,7 +276,11 @@ +--- rmail/rmail.c.orig 2014-03-05 00:59:45 UTC ++++ rmail/rmail.c +@@ -276,7 +276,11 @@ main(argc, argv) 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 */ Index: head/mail/sendmail/files/patch-sm_os_freebsd.h =================================================================== --- head/mail/sendmail/files/patch-sm_os_freebsd.h (revision 477314) +++ head/mail/sendmail/files/patch-sm_os_freebsd.h (revision 477315) @@ -1,14 +1,14 @@ ---- include/sm/os/sm_os_freebsd.h.orig +--- include/sm/os/sm_os_freebsd.h.orig 2014-03-05 00:59:45 UTC +++ include/sm/os/sm_os_freebsd.h @@ -34,7 +34,11 @@ # define SM_CONF_SHM 1 #endif /* SM_CONF_SHM */ #ifndef SM_CONF_SEM +#if __FreeBSD_version < 1200059 # define SM_CONF_SEM 1 +#else +# define SM_CONF_SEM 2 +#endif #endif /* SM_CONF_SEM */ #ifndef SM_CONF_MSG # define SM_CONF_MSG 1 Index: head/mail/sendmail/files/patch-smrsh.8 =================================================================== --- head/mail/sendmail/files/patch-smrsh.8 (revision 477314) +++ head/mail/sendmail/files/patch-smrsh.8 (revision 477315) @@ -1,27 +1,27 @@ ---- smrsh/smrsh.8.orig 2004-08-06 05:55:35.000000000 +0200 -+++ smrsh/smrsh.8 2008-05-04 11:55:42.000000000 +0200 -@@ -39,7 +39,7 @@ +--- smrsh/smrsh.8.orig 2014-03-05 00:59:45 UTC ++++ smrsh/smrsh.8 +@@ -39,7 +39,7 @@ Briefly, .I smrsh limits programs to be in a single directory, by default -/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 -@@ -50,13 +50,12 @@ +@@ -50,13 +50,12 @@ It allows ``||'' and ``&&'' to enable co ``"|exec /usr/local/bin/filter || 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 the sm.bin directory.