diff options
26 files changed, 350 insertions, 474 deletions
diff --git a/mail/sendmail/Makefile b/mail/sendmail/Makefile index d9ccf963e7dd..b5e866afab87 100644 --- a/mail/sendmail/Makefile +++ b/mail/sendmail/Makefile @@ -6,8 +6,7 @@ # PORTNAME= sendmail -PORTVERSION= 8.11.6 -PORTREVISION= 1 +PORTVERSION= 8.12.1 CATEGORIES= mail ipv6 MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \ ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,} @@ -20,18 +19,17 @@ WCONF= ${WRKSRC}/devtools/Site SITE= ${FILESDIR}/site.config.m4.pre4 PLIST= ${WRKDIR}/.PLIST.more DOCS= KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ - sendmail/TRACEFLAGS + sendmail/TRACEFLAGS sendmail/SECURITY sendmail/TUNING MAN1= mailq.1 newaliases.1 vacation.1 MAN5= aliases.5 MAN8= sendmail.8 mailstats.8 makemap.8 praliases.8 smrsh.8 \ - mail.local.8 rmail.8 + mail.local.8 rmail.8 editmap.8 # Options to define Features: # SENDMAIL_WITHOUT_IPV6=yes # SENDMAIL_WITH_MILTER=yes # SENDMAIL_WITH_TLS=yes # SENDMAIL_WITH_SASL=yes -# SENDMAIL_WITH_SFIO=yes # SENDMAIL_WITH_LDAP=yes .if defined(BATCH) # all on for package build @@ -51,10 +49,6 @@ PKGNAMESUFFIX?= -sasl PKGNAMESUFFIX?= -tls USE_OPENSSL= yes .endif -.if defined(SENDMAIL_WITH_SFIO) -PKGNAMESUFFIX?= -sfio -BUILD_DEPENDS+= ${LOCALBASE}/lib/libsfio.a:${PORTSDIR}/devel/sfio -.endif # Build site.config.m4 .if exists(${DESTDIR}/etc/mail/mailer.conf) @@ -63,9 +57,6 @@ SITE+= ${FILESDIR}/site.config.m4 SITE+= ${FILESDIR}/site.config.m4.ipv6 .endif .endif -.if defined(SENDMAIL_WITH_SFIO) -SITE+= ${FILESDIR}/site.config.m4.sfio -.endif .if defined(SENDMAIL_WITH_TLS) || defined(WITH_TLS) .if ! exists(${DESTDIR}/etc/mail/mailer.conf) SITE+= ${FILESDIR}/site.config.m4.ssl @@ -78,9 +69,6 @@ SITE+= ${FILESDIR}/site.config.m4.sasl .if defined(SENDMAIL_WITH_LDAP) SITE+= ${FILESDIR}/site.config.m4.ldap .endif -.if defined(SENDMAIL_WITH_MILTER) -SITE+= ${FILESDIR}/site.config.m4.milter -.endif .if exists(${FILESDIR}/site.config.m4.local) SITE+= ${FILESDIR}/site.config.m4.local .endif @@ -93,20 +81,23 @@ MANPREFIX?= ${DESTDIR}/usr/share PLIST_SUB+= PREFIX=${PREFIX:S=${PREFIX}/==} SENDMAIL= ${PREFIX}/sbin/sendmail +post-extract: + @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sm-client.sh \ + > ${WRKSRC}/sm-client.sh + do-configure: ${SED} -e "s=%%PREFIX%%=${PREFIX}=" -e "s=%%LOCALBASE%%=${LOCALBASE}=" \ ${SITE} > ${WCONF}/site.config.m4 -.if defined(SENDMAIL_WITH_MILTER) post-build: ( cd ${WRKSRC}/libmilter && ${MAKE} ) -.endif pre-install: @${CAT} ${PKGDIR}/pkg-plist >${PLIST} -.if defined(SENDMAIL_WITH_MILTER) @${CAT} ${FILESDIR}/pkg-milter >>${PLIST} -.endif + if ! pw groupshow smmsp; then pw groupadd smmsp -g 501; fi + if ! pw usershow smmsp; then pw useradd smmsp -g smmsp -u 501 \ + -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi .if !defined(NOPORTDOCS) @cd ${WRKSRC} && find cf -type f | \ ${AWK} '{print "share/sendmail/" $$1}' >>${PLIST} @@ -125,7 +116,6 @@ pre-install: post-install: ( cd ${WRKSRC}/mail.local && ${MAKE} force-install ) ( cd ${WRKSRC}/rmail && ${MAKE} force-install ) -.if defined(SENDMAIL_WITH_MILTER) ${MKDIR} ${PREFIX}/include/libmilter ${INSTALL_DATA} ${WRKSRC}/include/libmilter/mfapi.h \ ${PREFIX}/include/libmilter/ @@ -135,7 +125,10 @@ post-install: ${INSTALL_DATA} \ ${WRKSRC}/obj.`${WRKSRC}/devtools/bin/Build -A`/libsmutil/libsmutil.a \ ${PREFIX}/lib/ -.endif + ${INSTALL_DATA} ${WRKSRC}/sm-client.sh \ + ${PREFIX}/etc/rc.d/sm-client.sh.sample + ${CHOWN} smmsp:smmsp /var/spool/clientmqueue + ${CHMOD} 770 /var/spool/clientmqueue .for i in ${MAN8} @${RM} -f ${MANPREFIX}/man/cat8/${i} ${MANPREFIX}/man/cat8/${i}.gz ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man8 @@ -161,11 +154,9 @@ post-install: ${PREFIX}/share/doc/sendmail/MAIL.LOCAL ${INSTALL_DATA} ${WRKSRC}/smrsh/README \ ${PREFIX}/share/doc/sendmail/SMRSH -.if defined(SENDMAIL_WITH_MILTER) ${INSTALL_DATA} ${WRKSRC}/libmilter/README \ ${PREFIX}/share/doc/sendmail/MILTER .endif -.endif .if exists(${DESTDIR}/etc/mail/mailer.conf) @${SED} s!%%PREFIX%%!${PREFIX}!g ${PKGMESSAGE} @@ -180,4 +171,11 @@ mailer.conf: ${DESTDIR}/etc/mail/mailer.conf .endif +submit.cf: + ${INSTALL_DATA} ${PREFIX}/share/sendmail/cf/cf/submit.mc \ + ${DESTDIR}/etc/mail/submit.mc + @( cd ${DESTDIR}/etc/mail && ${MAKE} \ + SENDMAIL_CF_DIR=${PREFIX}/share/sendmail/cf \ + SENDMAIL_MC=submit ) + .include <bsd.port.mk> diff --git a/mail/sendmail/distinfo b/mail/sendmail/distinfo index 4cd8af6d7915..8e0324334eee 100644 --- a/mail/sendmail/distinfo +++ b/mail/sendmail/distinfo @@ -1 +1 @@ -MD5 (sendmail.8.11.6.tar.gz) = a57e7681d810d9d6400cbe6bbcf06aa0 +MD5 (sendmail.8.12.1.tar.gz) = 0c3c0442c138d5b00a48ca48d95a71eb diff --git a/mail/sendmail/files/patch-aa b/mail/sendmail/files/patch-aa index 1bbc4bb837e1..e35e95c0a841 100644 --- a/mail/sendmail/files/patch-aa +++ b/mail/sendmail/files/patch-aa @@ -1,14 +1,14 @@ -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 -@@ -214,7 +215,8 @@ +diff -ur cf/m4/cfhead.m4.orig cf/m4/cfhead.m4 +--- cf/m4/cfhead.m4.orig Sun Jun 10 03:45:13 2001 ++++ cf/m4/cfhead.m4 Fri Jun 15 06:47:34 2001 +@@ -260,7 +261,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 ++ $.$b?g + (envelope-from $g)$.') - define(`_REC_TLS_', `(using ${tls_version} with cipher ${cipher} (${cipher_bits} bits) verified ${verify})$.$?u') + 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_ diff -ur cf/ostype/bsd4.4.m4 src/contrib/sendmail/cf/ostype/bsd4.4.m4 @@ -29,23 +29,38 @@ diff -ur cf/sh/makeinfo.sh src/contrib/sendmail/cf/sh/makeinfo.sh host=`uname -n` fi -echo '#####' built by $user@$host on `date` -+echo '#####' built by $user@$host on `LC_ALL=C LC_TIME=C 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.orig Fri Dec 29 19:12:16 2000 -+++ mail.local/mail.local.8 Sun Dec 31 10:27:40 2000 -@@ -16,7 +16,7 @@ +diff -ur include/sendmail/pathnames.h.orig include/sendmail/pathnames.h +--- include/sendmail/pathnames.h.orig Fri Mar 23 23:09:44 2001 ++++ include/sendmail/pathnames.h Mon May 7 08:32:45 2001 +@@ -41,7 +41,7 @@ + # endif /* ! _PATH_MAILDIR */ + + # ifndef _PATH_LOCTMP +-# define _PATH_LOCTMP "/tmp/local.XXXXXX" ++# define _PATH_LOCTMP "/var/tmp/local.XXXXXX" + # endif /* ! _PATH_LOCTMP */ + + # ifndef _PATH_HOSTS +diff -ur mail.local/mail.local.8.orig mail.local/mail.local.8 +--- mail.local/mail.local.8.orig Fri Apr 6 01:27:35 2001 ++++ mail.local/mail.local.8 Thu May 31 07:36:03 2001 +@@ -16,9 +16,9 @@ \- 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 "] " - .RB [ \-r - .IR from "] " "user ..." -@@ -34,6 +36,11 @@ +-.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 +41,11 @@ .B \-7 Do not advertise 8BITMIME support in LMTP mode. .TP @@ -57,7 +72,7 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 .B \-b Return a permanent error instead of a temporary error if a mailbox exceeds quota. -@@ -46,6 +53,13 @@ +@@ -56,6 +64,13 @@ .TP .B \-l Turn on LMTP mode. @@ -71,7 +86,16 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 .TP .BI \-r " from" Specify the sender's name (for backward compatibility). -@@ -93,7 +107,6 @@ +@@ -97,7 +112,7 @@ + .SH FILES + .PD 0.2v + .TP 2.2i +-/tmp/local.XXXXXX ++/var/tmp/local.XXXXXX + temporary files + .TP + /var/mail/user +@@ -108,7 +123,6 @@ .PD .SH SEE ALSO mail(1), @@ -79,127 +103,92 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 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 Sun Feb 11 21:08:20 2001 -+++ src/contrib/sendmail/mail.local/mail.local.c Mon Mar 5 21:48:22 2001 -@@ -154,7 +156,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 -@@ -215,7 +217,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" -@@ -252,6 +254,8 @@ - bool HoldErrs = FALSE; /* Hold errors in ErrBuf */ - bool LMTPMode = FALSE; - bool BounceQuota = FALSE; /* permanent error when over quota */ -+bool nobiff = FALSE; -+bool nofsync = FALSE; +diff -ur mail.local/mail.local.c.orig mail.local/mail.local.c +--- mail.local/mail.local.c.orig Thu May 10 02:58:31 2001 ++++ mail.local/mail.local.c Thu May 31 07:39:04 2001 +@@ -130,6 +132,8 @@ + bool HoldErrs = false; /* Hold errors in ErrBuf */ + bool LMTPMode = false; + bool BounceQuota = false; /* permanent error when over quota */ ++bool NoBiff = false; ++bool NoFsync = false; + char *HomeMailFile = NULL; /* store mail in homedir */ void deliver __P((int, char *)); - int e_to_sys __P((int)); -@@ -291,7 +295,7 @@ +@@ -172,7 +176,7 @@ # endif /* LOG_MAIL */ from = NULL; -- while ((ch = getopt(argc, argv, "7bdf:r:l")) != -1) -+ while ((ch = getopt(argc, argv, "7Bbdf:r:ls")) != -1) +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) { switch(ch) { -@@ -299,6 +303,10 @@ - EightBitMime = FALSE; +@@ -180,6 +184,10 @@ + EightBitMime = false; break; + case 'B': -+ nobiff = TRUE; ++ NoBiff = true; + break; + case 'b': /* bounce mail when over quota. */ - BounceQuota = TRUE; + BounceQuota = true; break; -@@ -320,6 +328,10 @@ - LMTPMode = TRUE; +@@ -215,6 +223,10 @@ + LMTPMode = true; break; + case 's': -+ nofsync++; ++ NoFsync = true; + break; + case '?': default: usage(); -@@ -329,7 +341,8 @@ +@@ -224,7 +236,8 @@ argv += optind; /* initialize biff structures */ - notifybiff(NULL); -+ if (!nobiff) ++ if (!NoBiff) + notifybiff(NULL); - if (LMTPMode) - { -@@ -1135,14 +1148,17 @@ - goto err1; - } + err = sm_mbdb_initialize(mbdbname); + if (err != EX_OK) +@@ -1128,6 +1141,7 @@ -- /* 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); -+ } + /* Get the starting offset of the new message for biff. */ + curoff = lseek(mbfd, (off_t) 0, SEEK_END); ++ if (!NoBiff) + (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", + name, (LONGLONG_T) curoff); - /* Copy the message into the file. */ - if (lseek(fd, (off_t) 0, SEEK_SET) == (off_t) -1) -@@ -1203,7 +1219,7 @@ +@@ -1190,7 +1204,7 @@ } /* Flush to disk, don't wait for update. */ - if (fsync(mbfd) < 0) -+ if (!nofsync && fsync(mbfd) < 0) ++ if (!NoFsync && fsync(mbfd) < 0) { - mailerr("450 4.2.0", "%s: %s", path, errstring(errno)); + mailerr("450 4.2.0", "%s: %s", path, sm_errstring(errno)); err3: -@@ -1229,7 +1245,7 @@ - mailerr(errcode, "%s: %s", path, errstring(errno)); +@@ -1216,7 +1230,7 @@ + mailerr(errcode, "%s: %s", path, sm_errstring(errno)); (void) truncate(path, curoff); } - else -+ else if (!nobiff) ++ else if (!NoBiff) notifybiff(biffmsg); if (setreuid(0, 0) < 0) -@@ -1408,7 +1424,7 @@ +@@ -1395,7 +1409,8 @@ 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 ..."); +- 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 ..."); ++ exit(ExitVal); } @@ -218,9 +207,9 @@ diff -ur rmail/rmail.c src/contrib/sendmail/rmail/rmail.c 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.orig Sat Dec 16 00:18:40 2000 -+++ smrsh/smrsh.8 Sun Dec 31 10:37:02 2000 +diff -ur smrsh/smrsh.8.orig smrsh/smrsh.8 +--- smrsh/smrsh.8.orig Wed Jan 24 01:40:47 2001 ++++ smrsh/smrsh.8 Mon May 7 08:32:45 2001 @@ -39,7 +41,7 @@ .I smrsh limits programs to be in a single directory, @@ -246,18 +235,3 @@ diff -ur smrsh/smrsh.8 src/contrib/sendmail/smrsh/smrsh.8 .PP System administrators should be conservative about populating the sm.bin directory. -@@ -78,11 +79,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/patch-daemon.c b/mail/sendmail/files/patch-daemon.c deleted file mode 100644 index 5ed34a14e2c8..000000000000 --- a/mail/sendmail/files/patch-daemon.c +++ /dev/null @@ -1,39 +0,0 @@ ---- sendmail/daemon.c 2001/08/01 03:19:45 1.1.1.3.2.6 -+++ sendmail/daemon.c 2001/09/09 19:31:37 -@@ -1877,17 +1877,6 @@ - gothostent: - if (hp == NULL) - { --# if NAMED_BIND -- /* check for name server timeouts */ -- if (errno == ETIMEDOUT || h_errno == TRY_AGAIN || -- (errno == ECONNREFUSED && UseNameServer)) -- { -- save_errno = errno; -- mci_setstat(mci, EX_TEMPFAIL, "4.4.3", NULL); -- errno = save_errno; -- return EX_TEMPFAIL; -- } --# endif /* NAMED_BIND */ - # if NETINET6 - /* - ** Try v6 first, then fall back to v4. -@@ -1903,6 +1892,17 @@ - if (v6found) - goto v6tempfail; - # endif /* NETINET6 */ -+# if NAMED_BIND -+ /* check for name server timeouts */ -+ if (errno == ETIMEDOUT || h_errno == TRY_AGAIN || -+ (errno == ECONNREFUSED && UseNameServer)) -+ { -+ save_errno = errno; -+ mci_setstat(mci, EX_TEMPFAIL, "4.4.3", NULL); -+ errno = save_errno; -+ return EX_TEMPFAIL; -+ } -+# endif /* NAMED_BIND */ - save_errno = errno; - mci_setstat(mci, EX_NOHOST, "5.1.2", NULL); - errno = save_errno; - diff --git a/mail/sendmail/files/patch-vacation.1 b/mail/sendmail/files/patch-vacation.1 deleted file mode 100644 index c120a23fb873..000000000000 --- a/mail/sendmail/files/patch-vacation.1 +++ /dev/null @@ -1,41 +0,0 @@ -diff -ur vacation/vacation.1 src/contrib/sendmail/vacation/vacation.1 ---- vacation/vacation.1 Fri Dec 29 19:12:23 2000 -+++ vacation/vacation.1 Sat Mar 3 11:27:12 2001 -@@ -24,8 +26,10 @@ - .RB [ \-x ] - .RB [ \-a - .IR alias ] -+.RB [ \-d ] - .RB [ \-f - .IR database ] -+.RB [ \-l ] - .RB [ \-m - .IR message ] - .RB [ \-s -@@ -59,6 +63,15 @@ - in the same manner as those received for the user's - login name. - .TP -+.B \-d -+Send error/debug messages to stdout instead of syslog. -+Otherwise, fatal errors, such as calling -+.B vacation -+with incorrect arguments, or with non-existent -+.IR login s, -+are logged in the system log file, using -+syslog(8). -+.TP - .BI \-f " filename" - Use - .I filename -@@ -78,6 +91,10 @@ - Same as - .B \-i - (for backwards compatibility). -+.TP -+.B \-l -+List the content of the vacation database file including the address -+and the associated time of the last auto-response to that address. - .TP - .BI \-m " filename" - Use diff --git a/mail/sendmail/files/site.config.m4.ldap b/mail/sendmail/files/site.config.m4.ldap index c03a8749c808..c192bcb7962e 100644 --- a/mail/sendmail/files/site.config.m4.ldap +++ b/mail/sendmail/files/site.config.m4.ldap @@ -1,5 +1,23 @@ APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') +APPENDDEF(`conf_libsm_ENVDEF', `-I%%LOCALBASE%%/include') +APPENDDEF(`conf_libsm_ENVDEF', `-DLDAPMAP') APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include') APPENDDEF(`conf_sendmail_ENVDEF', `-DLDAPMAP') APPENDDEF(`conf_sendmail_LIBS', `-lldap') APPENDDEF(`conf_sendmail_LIBS', `-llber') +APPENDDEF(`conf_editmap_LIBS', `-lldap') +APPENDDEF(`conf_editmap_LIBS', `-llber') +APPENDDEF(`conf_mail_local_LIBS', `-lldap') +APPENDDEF(`conf_mail_local_LIBS', `-llber') +APPENDDEF(`conf_mailstats_LIBS', `-lldap') +APPENDDEF(`conf_mailstats_LIBS', `-llber') +APPENDDEF(`conf_makemap_LIBS', `-lldap') +APPENDDEF(`conf_makemap_LIBS', `-llber') +APPENDDEF(`conf_praliases_LIBS', `-lldap') +APPENDDEF(`conf_praliases_LIBS', `-llber') +APPENDDEF(`conf_rmail_LIBS', `-lldap') +APPENDDEF(`conf_rmail_LIBS', `-llber') +APPENDDEF(`conf_smrsh_LIBS', `-lldap') +APPENDDEF(`conf_smrsh_LIBS', `-llber') +APPENDDEF(`conf_vacation_LIBS', `-lldap') +APPENDDEF(`conf_vacation_LIBS', `-llber') diff --git a/mail/sendmail/files/site.config.m4.milter b/mail/sendmail/files/site.config.m4.milter deleted file mode 100644 index 6fa49ec50d17..000000000000 --- a/mail/sendmail/files/site.config.m4.milter +++ /dev/null @@ -1,2 +0,0 @@ -APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER=1') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_MILTER=1') diff --git a/mail/sendmail/files/site.config.m4.sasl b/mail/sendmail/files/site.config.m4.sasl index 0eb90926903e..9aac5e47921b 100644 --- a/mail/sendmail/files/site.config.m4.sasl +++ b/mail/sendmail/files/site.config.m4.sasl @@ -1,5 +1,4 @@ APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include/sasl') APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_UNSAFE_SASL -D_FFR_SASL_OPTS') APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') APPENDDEF(`conf_sendmail_LIBS', `-lsasl') diff --git a/mail/sendmail/files/site.config.m4.sfio b/mail/sendmail/files/site.config.m4.sfio deleted file mode 100644 index 9abe6d48d7b3..000000000000 --- a/mail/sendmail/files/site.config.m4.sfio +++ /dev/null @@ -1,6 +0,0 @@ -define(`confSTDIO_TYPE', `portable') -APPENDDEF(`confENVDEF', `-U_FFR_TLS_TOREK -DSFIO') -APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include/sfio') -APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include') -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') -APPENDDEF(`confLIBS', `-lsfio') diff --git a/mail/sendmail/files/site.config.m4.tls b/mail/sendmail/files/site.config.m4.tls index 40cfc2e0f1c5..e310d3fc3601 100644 --- a/mail/sendmail/files/site.config.m4.tls +++ b/mail/sendmail/files/site.config.m4.tls @@ -1,5 +1,3 @@ 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') diff --git a/mail/sendmail/files/sm-client.sh b/mail/sendmail/files/sm-client.sh new file mode 100644 index 000000000000..f9f3807c99bd --- /dev/null +++ b/mail/sendmail/files/sm-client.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/sm-client.sh,v 1.1 2001-10-07 06:40:42 dinoex Exp $ +# +if ! test -x %%PREFIX%%/sbin/sendmail +then + exit 0 +fi +case $1 in +start) + %%PREFIX%%/sbin/sendmail -L sm-msp-queue -Ac -q30m + echo -n ' sm-msp-queue' + ;; +stop) + kill `head -1 /var/spool/clientmqueue/sm-client.pid` + rm -f /var/spool/clientmqueue/sm-client.pid + ;; +*) + echo "Usage: $0: [ start | stop ]" 2>&1 + exit 65 + ;; +esac diff --git a/mail/sendmail/pkg-message b/mail/sendmail/pkg-message index 3182ce372cfa..d23bac7ecfb8 100644 --- a/mail/sendmail/pkg-message +++ b/mail/sendmail/pkg-message @@ -1,20 +1,27 @@ - --------------------------------------------------- +If you update your configuration from 8.11.x you need to install an +additional config file: /etc/mail/submit.cf, you can generate it +by calling the target 'submit.cf', submit.mc will be installed too. +$ make submit.cf -If you update your configuration from 8.9.x add the following to your -'*.mc' file(s): +you should add in /etc/make.conf: +SENDMAIL_CF_DIR= %%PREFIX%%/share/sendmail/cf -MODIFY_MAILER_FLAGS(`LOCAL', `+S')dnl +To active the delivery from the local submission queue see: +%%PREFIX%%/etc/rc.d/sm-client.sh.sample -because mail.local is no longer installed set-user-id root. This is not -needed if you are using FEATURE(`local_lmtp'). +To deliver all local mail to your mailhub, edit the last line of submit.mc: +FEATURE(`msp','mailhub.do.main`)dnl -To activate sendmail as your default mailer, call the target 'mailer.conf': +and set your falgs in /etc/rc.conf: +sendmail_flags="-L sm-msp-queue -Ac -q1m" +You can delete /etc/mail/sendmail.cf when you don't need a daemon listen. +--------------------------------------------------- +To activate sendmail as your default mailer, call the target 'mailer.conf': $ make mailer.conf Your '/etc/mail/mailer.conf' should look like this: - # # Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail # @@ -24,6 +31,5 @@ mailq %%PREFIX%%/sbin/sendmail newaliases %%PREFIX%%/sbin/sendmail You may also need to update /etc/rc.conf. - --------------------------------------------------- diff --git a/mail/sendmail/pkg-plist b/mail/sendmail/pkg-plist index 3643b9cf8a73..4aa7408494c3 100644 --- a/mail/sendmail/pkg-plist +++ b/mail/sendmail/pkg-plist @@ -1,16 +1,27 @@ -@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail/pkg-plist,v 1.4 2001-10-03 12:45:31 dinoex Exp $ +@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail/pkg-plist,v 1.5 2001-10-07 06:40:39 dinoex Exp $ +@exec if ! pw groupshow smmsp 2>/dev/null; then pw groupadd smmsp -g 501; fi +@exec if ! pw usershow smmsp 2>/dev/null; then pw useradd smmsp -g smmsp -u 501 -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi +@exec mkdir -p /var/spool/clientmqueue +@exec chown smmsp:smmsp /var/spool/clientmqueue +@exec chmod 770 /var/spool/clientmqueue +@unexec pw userdel smmsp +@comment (removed by userdel) pw groupdel smmsp bin/hoststat bin/mailq bin/newaliases bin/purgestat bin/rmail bin/vacation +etc/rc.d/sm-client.sh.sample libexec/mail.local libexec/smrsh +sbin/editmap sbin/mailstats sbin/makemap sbin/praliases sbin/sendmail +@exec chown root:smmsp sbin/sendmail +@exec chmod 2555 sbin/sendmail %%PORTDOCS%%share/doc/sendmail/DEVTOOLS %%PORTDOCS%%share/doc/sendmail/SENDMAIL %%PORTDOCS%%share/doc/sendmail/MAIL.LOCAL diff --git a/mail/sendmail812/Makefile b/mail/sendmail812/Makefile index d9ccf963e7dd..b5e866afab87 100644 --- a/mail/sendmail812/Makefile +++ b/mail/sendmail812/Makefile @@ -6,8 +6,7 @@ # PORTNAME= sendmail -PORTVERSION= 8.11.6 -PORTREVISION= 1 +PORTVERSION= 8.12.1 CATEGORIES= mail ipv6 MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \ ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,} @@ -20,18 +19,17 @@ WCONF= ${WRKSRC}/devtools/Site SITE= ${FILESDIR}/site.config.m4.pre4 PLIST= ${WRKDIR}/.PLIST.more DOCS= KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ - sendmail/TRACEFLAGS + sendmail/TRACEFLAGS sendmail/SECURITY sendmail/TUNING MAN1= mailq.1 newaliases.1 vacation.1 MAN5= aliases.5 MAN8= sendmail.8 mailstats.8 makemap.8 praliases.8 smrsh.8 \ - mail.local.8 rmail.8 + mail.local.8 rmail.8 editmap.8 # Options to define Features: # SENDMAIL_WITHOUT_IPV6=yes # SENDMAIL_WITH_MILTER=yes # SENDMAIL_WITH_TLS=yes # SENDMAIL_WITH_SASL=yes -# SENDMAIL_WITH_SFIO=yes # SENDMAIL_WITH_LDAP=yes .if defined(BATCH) # all on for package build @@ -51,10 +49,6 @@ PKGNAMESUFFIX?= -sasl PKGNAMESUFFIX?= -tls USE_OPENSSL= yes .endif -.if defined(SENDMAIL_WITH_SFIO) -PKGNAMESUFFIX?= -sfio -BUILD_DEPENDS+= ${LOCALBASE}/lib/libsfio.a:${PORTSDIR}/devel/sfio -.endif # Build site.config.m4 .if exists(${DESTDIR}/etc/mail/mailer.conf) @@ -63,9 +57,6 @@ SITE+= ${FILESDIR}/site.config.m4 SITE+= ${FILESDIR}/site.config.m4.ipv6 .endif .endif -.if defined(SENDMAIL_WITH_SFIO) -SITE+= ${FILESDIR}/site.config.m4.sfio -.endif .if defined(SENDMAIL_WITH_TLS) || defined(WITH_TLS) .if ! exists(${DESTDIR}/etc/mail/mailer.conf) SITE+= ${FILESDIR}/site.config.m4.ssl @@ -78,9 +69,6 @@ SITE+= ${FILESDIR}/site.config.m4.sasl .if defined(SENDMAIL_WITH_LDAP) SITE+= ${FILESDIR}/site.config.m4.ldap .endif -.if defined(SENDMAIL_WITH_MILTER) -SITE+= ${FILESDIR}/site.config.m4.milter -.endif .if exists(${FILESDIR}/site.config.m4.local) SITE+= ${FILESDIR}/site.config.m4.local .endif @@ -93,20 +81,23 @@ MANPREFIX?= ${DESTDIR}/usr/share PLIST_SUB+= PREFIX=${PREFIX:S=${PREFIX}/==} SENDMAIL= ${PREFIX}/sbin/sendmail +post-extract: + @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sm-client.sh \ + > ${WRKSRC}/sm-client.sh + do-configure: ${SED} -e "s=%%PREFIX%%=${PREFIX}=" -e "s=%%LOCALBASE%%=${LOCALBASE}=" \ ${SITE} > ${WCONF}/site.config.m4 -.if defined(SENDMAIL_WITH_MILTER) post-build: ( cd ${WRKSRC}/libmilter && ${MAKE} ) -.endif pre-install: @${CAT} ${PKGDIR}/pkg-plist >${PLIST} -.if defined(SENDMAIL_WITH_MILTER) @${CAT} ${FILESDIR}/pkg-milter >>${PLIST} -.endif + if ! pw groupshow smmsp; then pw groupadd smmsp -g 501; fi + if ! pw usershow smmsp; then pw useradd smmsp -g smmsp -u 501 \ + -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi .if !defined(NOPORTDOCS) @cd ${WRKSRC} && find cf -type f | \ ${AWK} '{print "share/sendmail/" $$1}' >>${PLIST} @@ -125,7 +116,6 @@ pre-install: post-install: ( cd ${WRKSRC}/mail.local && ${MAKE} force-install ) ( cd ${WRKSRC}/rmail && ${MAKE} force-install ) -.if defined(SENDMAIL_WITH_MILTER) ${MKDIR} ${PREFIX}/include/libmilter ${INSTALL_DATA} ${WRKSRC}/include/libmilter/mfapi.h \ ${PREFIX}/include/libmilter/ @@ -135,7 +125,10 @@ post-install: ${INSTALL_DATA} \ ${WRKSRC}/obj.`${WRKSRC}/devtools/bin/Build -A`/libsmutil/libsmutil.a \ ${PREFIX}/lib/ -.endif + ${INSTALL_DATA} ${WRKSRC}/sm-client.sh \ + ${PREFIX}/etc/rc.d/sm-client.sh.sample + ${CHOWN} smmsp:smmsp /var/spool/clientmqueue + ${CHMOD} 770 /var/spool/clientmqueue .for i in ${MAN8} @${RM} -f ${MANPREFIX}/man/cat8/${i} ${MANPREFIX}/man/cat8/${i}.gz ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man8 @@ -161,11 +154,9 @@ post-install: ${PREFIX}/share/doc/sendmail/MAIL.LOCAL ${INSTALL_DATA} ${WRKSRC}/smrsh/README \ ${PREFIX}/share/doc/sendmail/SMRSH -.if defined(SENDMAIL_WITH_MILTER) ${INSTALL_DATA} ${WRKSRC}/libmilter/README \ ${PREFIX}/share/doc/sendmail/MILTER .endif -.endif .if exists(${DESTDIR}/etc/mail/mailer.conf) @${SED} s!%%PREFIX%%!${PREFIX}!g ${PKGMESSAGE} @@ -180,4 +171,11 @@ mailer.conf: ${DESTDIR}/etc/mail/mailer.conf .endif +submit.cf: + ${INSTALL_DATA} ${PREFIX}/share/sendmail/cf/cf/submit.mc \ + ${DESTDIR}/etc/mail/submit.mc + @( cd ${DESTDIR}/etc/mail && ${MAKE} \ + SENDMAIL_CF_DIR=${PREFIX}/share/sendmail/cf \ + SENDMAIL_MC=submit ) + .include <bsd.port.mk> diff --git a/mail/sendmail812/distinfo b/mail/sendmail812/distinfo index 4cd8af6d7915..8e0324334eee 100644 --- a/mail/sendmail812/distinfo +++ b/mail/sendmail812/distinfo @@ -1 +1 @@ -MD5 (sendmail.8.11.6.tar.gz) = a57e7681d810d9d6400cbe6bbcf06aa0 +MD5 (sendmail.8.12.1.tar.gz) = 0c3c0442c138d5b00a48ca48d95a71eb diff --git a/mail/sendmail812/files/patch-aa b/mail/sendmail812/files/patch-aa index 1bbc4bb837e1..e35e95c0a841 100644 --- a/mail/sendmail812/files/patch-aa +++ b/mail/sendmail812/files/patch-aa @@ -1,14 +1,14 @@ -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 -@@ -214,7 +215,8 @@ +diff -ur cf/m4/cfhead.m4.orig cf/m4/cfhead.m4 +--- cf/m4/cfhead.m4.orig Sun Jun 10 03:45:13 2001 ++++ cf/m4/cfhead.m4 Fri Jun 15 06:47:34 2001 +@@ -260,7 +261,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 ++ $.$b?g + (envelope-from $g)$.') - define(`_REC_TLS_', `(using ${tls_version} with cipher ${cipher} (${cipher_bits} bits) verified ${verify})$.$?u') + 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_ diff -ur cf/ostype/bsd4.4.m4 src/contrib/sendmail/cf/ostype/bsd4.4.m4 @@ -29,23 +29,38 @@ diff -ur cf/sh/makeinfo.sh src/contrib/sendmail/cf/sh/makeinfo.sh host=`uname -n` fi -echo '#####' built by $user@$host on `date` -+echo '#####' built by $user@$host on `LC_ALL=C LC_TIME=C 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.orig Fri Dec 29 19:12:16 2000 -+++ mail.local/mail.local.8 Sun Dec 31 10:27:40 2000 -@@ -16,7 +16,7 @@ +diff -ur include/sendmail/pathnames.h.orig include/sendmail/pathnames.h +--- include/sendmail/pathnames.h.orig Fri Mar 23 23:09:44 2001 ++++ include/sendmail/pathnames.h Mon May 7 08:32:45 2001 +@@ -41,7 +41,7 @@ + # endif /* ! _PATH_MAILDIR */ + + # ifndef _PATH_LOCTMP +-# define _PATH_LOCTMP "/tmp/local.XXXXXX" ++# define _PATH_LOCTMP "/var/tmp/local.XXXXXX" + # endif /* ! _PATH_LOCTMP */ + + # ifndef _PATH_HOSTS +diff -ur mail.local/mail.local.8.orig mail.local/mail.local.8 +--- mail.local/mail.local.8.orig Fri Apr 6 01:27:35 2001 ++++ mail.local/mail.local.8 Thu May 31 07:36:03 2001 +@@ -16,9 +16,9 @@ \- 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 "] " - .RB [ \-r - .IR from "] " "user ..." -@@ -34,6 +36,11 @@ +-.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 +41,11 @@ .B \-7 Do not advertise 8BITMIME support in LMTP mode. .TP @@ -57,7 +72,7 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 .B \-b Return a permanent error instead of a temporary error if a mailbox exceeds quota. -@@ -46,6 +53,13 @@ +@@ -56,6 +64,13 @@ .TP .B \-l Turn on LMTP mode. @@ -71,7 +86,16 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 .TP .BI \-r " from" Specify the sender's name (for backward compatibility). -@@ -93,7 +107,6 @@ +@@ -97,7 +112,7 @@ + .SH FILES + .PD 0.2v + .TP 2.2i +-/tmp/local.XXXXXX ++/var/tmp/local.XXXXXX + temporary files + .TP + /var/mail/user +@@ -108,7 +123,6 @@ .PD .SH SEE ALSO mail(1), @@ -79,127 +103,92 @@ diff -ur mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8 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 Sun Feb 11 21:08:20 2001 -+++ src/contrib/sendmail/mail.local/mail.local.c Mon Mar 5 21:48:22 2001 -@@ -154,7 +156,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 -@@ -215,7 +217,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" -@@ -252,6 +254,8 @@ - bool HoldErrs = FALSE; /* Hold errors in ErrBuf */ - bool LMTPMode = FALSE; - bool BounceQuota = FALSE; /* permanent error when over quota */ -+bool nobiff = FALSE; -+bool nofsync = FALSE; +diff -ur mail.local/mail.local.c.orig mail.local/mail.local.c +--- mail.local/mail.local.c.orig Thu May 10 02:58:31 2001 ++++ mail.local/mail.local.c Thu May 31 07:39:04 2001 +@@ -130,6 +132,8 @@ + bool HoldErrs = false; /* Hold errors in ErrBuf */ + bool LMTPMode = false; + bool BounceQuota = false; /* permanent error when over quota */ ++bool NoBiff = false; ++bool NoFsync = false; + char *HomeMailFile = NULL; /* store mail in homedir */ void deliver __P((int, char *)); - int e_to_sys __P((int)); -@@ -291,7 +295,7 @@ +@@ -172,7 +176,7 @@ # endif /* LOG_MAIL */ from = NULL; -- while ((ch = getopt(argc, argv, "7bdf:r:l")) != -1) -+ while ((ch = getopt(argc, argv, "7Bbdf:r:ls")) != -1) +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) { switch(ch) { -@@ -299,6 +303,10 @@ - EightBitMime = FALSE; +@@ -180,6 +184,10 @@ + EightBitMime = false; break; + case 'B': -+ nobiff = TRUE; ++ NoBiff = true; + break; + case 'b': /* bounce mail when over quota. */ - BounceQuota = TRUE; + BounceQuota = true; break; -@@ -320,6 +328,10 @@ - LMTPMode = TRUE; +@@ -215,6 +223,10 @@ + LMTPMode = true; break; + case 's': -+ nofsync++; ++ NoFsync = true; + break; + case '?': default: usage(); -@@ -329,7 +341,8 @@ +@@ -224,7 +236,8 @@ argv += optind; /* initialize biff structures */ - notifybiff(NULL); -+ if (!nobiff) ++ if (!NoBiff) + notifybiff(NULL); - if (LMTPMode) - { -@@ -1135,14 +1148,17 @@ - goto err1; - } + err = sm_mbdb_initialize(mbdbname); + if (err != EX_OK) +@@ -1128,6 +1141,7 @@ -- /* 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); -+ } + /* Get the starting offset of the new message for biff. */ + curoff = lseek(mbfd, (off_t) 0, SEEK_END); ++ if (!NoBiff) + (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", + name, (LONGLONG_T) curoff); - /* Copy the message into the file. */ - if (lseek(fd, (off_t) 0, SEEK_SET) == (off_t) -1) -@@ -1203,7 +1219,7 @@ +@@ -1190,7 +1204,7 @@ } /* Flush to disk, don't wait for update. */ - if (fsync(mbfd) < 0) -+ if (!nofsync && fsync(mbfd) < 0) ++ if (!NoFsync && fsync(mbfd) < 0) { - mailerr("450 4.2.0", "%s: %s", path, errstring(errno)); + mailerr("450 4.2.0", "%s: %s", path, sm_errstring(errno)); err3: -@@ -1229,7 +1245,7 @@ - mailerr(errcode, "%s: %s", path, errstring(errno)); +@@ -1216,7 +1230,7 @@ + mailerr(errcode, "%s: %s", path, sm_errstring(errno)); (void) truncate(path, curoff); } - else -+ else if (!nobiff) ++ else if (!NoBiff) notifybiff(biffmsg); if (setreuid(0, 0) < 0) -@@ -1408,7 +1424,7 @@ +@@ -1395,7 +1409,8 @@ 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 ..."); +- 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 ..."); ++ exit(ExitVal); } @@ -218,9 +207,9 @@ diff -ur rmail/rmail.c src/contrib/sendmail/rmail/rmail.c 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.orig Sat Dec 16 00:18:40 2000 -+++ smrsh/smrsh.8 Sun Dec 31 10:37:02 2000 +diff -ur smrsh/smrsh.8.orig smrsh/smrsh.8 +--- smrsh/smrsh.8.orig Wed Jan 24 01:40:47 2001 ++++ smrsh/smrsh.8 Mon May 7 08:32:45 2001 @@ -39,7 +41,7 @@ .I smrsh limits programs to be in a single directory, @@ -246,18 +235,3 @@ diff -ur smrsh/smrsh.8 src/contrib/sendmail/smrsh/smrsh.8 .PP System administrators should be conservative about populating the sm.bin directory. -@@ -78,11 +79,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/sendmail812/files/patch-daemon.c b/mail/sendmail812/files/patch-daemon.c deleted file mode 100644 index 5ed34a14e2c8..000000000000 --- a/mail/sendmail812/files/patch-daemon.c +++ /dev/null @@ -1,39 +0,0 @@ ---- sendmail/daemon.c 2001/08/01 03:19:45 1.1.1.3.2.6 -+++ sendmail/daemon.c 2001/09/09 19:31:37 -@@ -1877,17 +1877,6 @@ - gothostent: - if (hp == NULL) - { --# if NAMED_BIND -- /* check for name server timeouts */ -- if (errno == ETIMEDOUT || h_errno == TRY_AGAIN || -- (errno == ECONNREFUSED && UseNameServer)) -- { -- save_errno = errno; -- mci_setstat(mci, EX_TEMPFAIL, "4.4.3", NULL); -- errno = save_errno; -- return EX_TEMPFAIL; -- } --# endif /* NAMED_BIND */ - # if NETINET6 - /* - ** Try v6 first, then fall back to v4. -@@ -1903,6 +1892,17 @@ - if (v6found) - goto v6tempfail; - # endif /* NETINET6 */ -+# if NAMED_BIND -+ /* check for name server timeouts */ -+ if (errno == ETIMEDOUT || h_errno == TRY_AGAIN || -+ (errno == ECONNREFUSED && UseNameServer)) -+ { -+ save_errno = errno; -+ mci_setstat(mci, EX_TEMPFAIL, "4.4.3", NULL); -+ errno = save_errno; -+ return EX_TEMPFAIL; -+ } -+# endif /* NAMED_BIND */ - save_errno = errno; - mci_setstat(mci, EX_NOHOST, "5.1.2", NULL); - errno = save_errno; - diff --git a/mail/sendmail812/files/patch-vacation.1 b/mail/sendmail812/files/patch-vacation.1 deleted file mode 100644 index c120a23fb873..000000000000 --- a/mail/sendmail812/files/patch-vacation.1 +++ /dev/null @@ -1,41 +0,0 @@ -diff -ur vacation/vacation.1 src/contrib/sendmail/vacation/vacation.1 ---- vacation/vacation.1 Fri Dec 29 19:12:23 2000 -+++ vacation/vacation.1 Sat Mar 3 11:27:12 2001 -@@ -24,8 +26,10 @@ - .RB [ \-x ] - .RB [ \-a - .IR alias ] -+.RB [ \-d ] - .RB [ \-f - .IR database ] -+.RB [ \-l ] - .RB [ \-m - .IR message ] - .RB [ \-s -@@ -59,6 +63,15 @@ - in the same manner as those received for the user's - login name. - .TP -+.B \-d -+Send error/debug messages to stdout instead of syslog. -+Otherwise, fatal errors, such as calling -+.B vacation -+with incorrect arguments, or with non-existent -+.IR login s, -+are logged in the system log file, using -+syslog(8). -+.TP - .BI \-f " filename" - Use - .I filename -@@ -78,6 +91,10 @@ - Same as - .B \-i - (for backwards compatibility). -+.TP -+.B \-l -+List the content of the vacation database file including the address -+and the associated time of the last auto-response to that address. - .TP - .BI \-m " filename" - Use diff --git a/mail/sendmail812/files/site.config.m4.ldap b/mail/sendmail812/files/site.config.m4.ldap index c03a8749c808..c192bcb7962e 100644 --- a/mail/sendmail812/files/site.config.m4.ldap +++ b/mail/sendmail812/files/site.config.m4.ldap @@ -1,5 +1,23 @@ APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') +APPENDDEF(`conf_libsm_ENVDEF', `-I%%LOCALBASE%%/include') +APPENDDEF(`conf_libsm_ENVDEF', `-DLDAPMAP') APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include') APPENDDEF(`conf_sendmail_ENVDEF', `-DLDAPMAP') APPENDDEF(`conf_sendmail_LIBS', `-lldap') APPENDDEF(`conf_sendmail_LIBS', `-llber') +APPENDDEF(`conf_editmap_LIBS', `-lldap') +APPENDDEF(`conf_editmap_LIBS', `-llber') +APPENDDEF(`conf_mail_local_LIBS', `-lldap') +APPENDDEF(`conf_mail_local_LIBS', `-llber') +APPENDDEF(`conf_mailstats_LIBS', `-lldap') +APPENDDEF(`conf_mailstats_LIBS', `-llber') +APPENDDEF(`conf_makemap_LIBS', `-lldap') +APPENDDEF(`conf_makemap_LIBS', `-llber') +APPENDDEF(`conf_praliases_LIBS', `-lldap') +APPENDDEF(`conf_praliases_LIBS', `-llber') +APPENDDEF(`conf_rmail_LIBS', `-lldap') +APPENDDEF(`conf_rmail_LIBS', `-llber') +APPENDDEF(`conf_smrsh_LIBS', `-lldap') +APPENDDEF(`conf_smrsh_LIBS', `-llber') +APPENDDEF(`conf_vacation_LIBS', `-lldap') +APPENDDEF(`conf_vacation_LIBS', `-llber') diff --git a/mail/sendmail812/files/site.config.m4.milter b/mail/sendmail812/files/site.config.m4.milter deleted file mode 100644 index 6fa49ec50d17..000000000000 --- a/mail/sendmail812/files/site.config.m4.milter +++ /dev/null @@ -1,2 +0,0 @@ -APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER=1') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_MILTER=1') diff --git a/mail/sendmail812/files/site.config.m4.sasl b/mail/sendmail812/files/site.config.m4.sasl index 0eb90926903e..9aac5e47921b 100644 --- a/mail/sendmail812/files/site.config.m4.sasl +++ b/mail/sendmail812/files/site.config.m4.sasl @@ -1,5 +1,4 @@ APPENDDEF(`conf_sendmail_ENVDEF', `-I%%LOCALBASE%%/include/sasl') APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL') -APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_UNSAFE_SASL -D_FFR_SASL_OPTS') APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') APPENDDEF(`conf_sendmail_LIBS', `-lsasl') diff --git a/mail/sendmail812/files/site.config.m4.sfio b/mail/sendmail812/files/site.config.m4.sfio deleted file mode 100644 index 9abe6d48d7b3..000000000000 --- a/mail/sendmail812/files/site.config.m4.sfio +++ /dev/null @@ -1,6 +0,0 @@ -define(`confSTDIO_TYPE', `portable') -APPENDDEF(`confENVDEF', `-U_FFR_TLS_TOREK -DSFIO') -APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include/sfio') -APPENDDEF(`confINCDIRS', `-I%%LOCALBASE%%/include') -APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib') -APPENDDEF(`confLIBS', `-lsfio') diff --git a/mail/sendmail812/files/site.config.m4.tls b/mail/sendmail812/files/site.config.m4.tls index 40cfc2e0f1c5..e310d3fc3601 100644 --- a/mail/sendmail812/files/site.config.m4.tls +++ b/mail/sendmail812/files/site.config.m4.tls @@ -1,5 +1,3 @@ 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') diff --git a/mail/sendmail812/files/sm-client.sh b/mail/sendmail812/files/sm-client.sh new file mode 100644 index 000000000000..501ee7820bab --- /dev/null +++ b/mail/sendmail812/files/sm-client.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/mail/sendmail812/files/Attic/sm-client.sh,v 1.1 2001-10-07 06:40:42 dinoex Exp $ +# +if ! test -x %%PREFIX%%/sbin/sendmail +then + exit 0 +fi +case $1 in +start) + %%PREFIX%%/sbin/sendmail -L sm-msp-queue -Ac -q30m + echo -n ' sm-msp-queue' + ;; +stop) + kill `head -1 /var/spool/clientmqueue/sm-client.pid` + rm -f /var/spool/clientmqueue/sm-client.pid + ;; +*) + echo "Usage: $0: [ start | stop ]" 2>&1 + exit 65 + ;; +esac diff --git a/mail/sendmail812/pkg-message b/mail/sendmail812/pkg-message index 3182ce372cfa..d23bac7ecfb8 100644 --- a/mail/sendmail812/pkg-message +++ b/mail/sendmail812/pkg-message @@ -1,20 +1,27 @@ - --------------------------------------------------- +If you update your configuration from 8.11.x you need to install an +additional config file: /etc/mail/submit.cf, you can generate it +by calling the target 'submit.cf', submit.mc will be installed too. +$ make submit.cf -If you update your configuration from 8.9.x add the following to your -'*.mc' file(s): +you should add in /etc/make.conf: +SENDMAIL_CF_DIR= %%PREFIX%%/share/sendmail/cf -MODIFY_MAILER_FLAGS(`LOCAL', `+S')dnl +To active the delivery from the local submission queue see: +%%PREFIX%%/etc/rc.d/sm-client.sh.sample -because mail.local is no longer installed set-user-id root. This is not -needed if you are using FEATURE(`local_lmtp'). +To deliver all local mail to your mailhub, edit the last line of submit.mc: +FEATURE(`msp','mailhub.do.main`)dnl -To activate sendmail as your default mailer, call the target 'mailer.conf': +and set your falgs in /etc/rc.conf: +sendmail_flags="-L sm-msp-queue -Ac -q1m" +You can delete /etc/mail/sendmail.cf when you don't need a daemon listen. +--------------------------------------------------- +To activate sendmail as your default mailer, call the target 'mailer.conf': $ make mailer.conf Your '/etc/mail/mailer.conf' should look like this: - # # Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail # @@ -24,6 +31,5 @@ mailq %%PREFIX%%/sbin/sendmail newaliases %%PREFIX%%/sbin/sendmail You may also need to update /etc/rc.conf. - --------------------------------------------------- diff --git a/mail/sendmail812/pkg-plist b/mail/sendmail812/pkg-plist index 773a52aeb789..2a151ba4bbd4 100644 --- a/mail/sendmail812/pkg-plist +++ b/mail/sendmail812/pkg-plist @@ -1,16 +1,27 @@ -@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail812/Attic/pkg-plist,v 1.4 2001-10-03 12:45:31 dinoex Exp $ +@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail812/Attic/pkg-plist,v 1.5 2001-10-07 06:40:39 dinoex Exp $ +@exec if ! pw groupshow smmsp 2>/dev/null; then pw groupadd smmsp -g 501; fi +@exec if ! pw usershow smmsp 2>/dev/null; then pw useradd smmsp -g smmsp -u 501 -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi +@exec mkdir -p /var/spool/clientmqueue +@exec chown smmsp:smmsp /var/spool/clientmqueue +@exec chmod 770 /var/spool/clientmqueue +@unexec pw userdel smmsp +@comment (removed by userdel) pw groupdel smmsp bin/hoststat bin/mailq bin/newaliases bin/purgestat bin/rmail bin/vacation +etc/rc.d/sm-client.sh.sample libexec/mail.local libexec/smrsh +sbin/editmap sbin/mailstats sbin/makemap sbin/praliases sbin/sendmail +@exec chown root:smmsp sbin/sendmail +@exec chmod 2555 sbin/sendmail %%PORTDOCS%%share/doc/sendmail/DEVTOOLS %%PORTDOCS%%share/doc/sendmail/SENDMAIL %%PORTDOCS%%share/doc/sendmail/MAIL.LOCAL |