summaryrefslogtreecommitdiff
path: root/mail/sendmail
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2002-04-06 08:17:34 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2002-04-06 08:17:34 +0000
commitb26e4e183bb702139ab9167166e7d1663a4046fa (patch)
treee04ec4fb7c6edd861812902234a898b41e0085bf /mail/sendmail
parentRespect CC and CFLAGS (diff)
- Update to new release: sendmail-8.12.3
- Patches removed that are now in the distribution - More MILTER dokumentation - sm-client.sh.sample have now 'restart' command. - Add standalone startupscript for all sendmail deamons - Update pkg-message This version fixes a long-standing MIME (7 to 8-bit) conversion bug and several smaller problems, e.g., a possible communication problem between the MTA and libmilter, a bug in handling (invalid) addresses containing 8-bit characters, a possible problem with small timeouts being lost on slow machines if itimers are used, and the handling of the 421 reply code and timeouts in the SMTP delivery code. There are two changes in the msp feature that may change the behavior: MX lookups are turned on for the SMTP mailers and hence `[localhost]' is used as default instead of `localhost', and confTIME_ZONE is set to USE_TZ in submit.mc. A complete list of changes can be found in the release notes.
Notes
Notes: svn path=/head/; revision=57362
Diffstat (limited to 'mail/sendmail')
-rw-r--r--mail/sendmail/Makefile7
-rw-r--r--mail/sendmail/distinfo2
-rw-r--r--mail/sendmail/files/patch-FreeBSD8
-rw-r--r--mail/sendmail/files/patch-sendmail-deliver.c64
-rw-r--r--mail/sendmail/files/patch-sendmail-milter.c39
-rw-r--r--mail/sendmail/files/pkg-milter1
-rw-r--r--mail/sendmail/files/sendmail.sh58
-rw-r--r--mail/sendmail/files/sm-client.sh17
-rw-r--r--mail/sendmail/pkg-message5
-rw-r--r--mail/sendmail/pkg-plist3
10 files changed, 84 insertions, 120 deletions
diff --git a/mail/sendmail/Makefile b/mail/sendmail/Makefile
index 2396c1a3618e..250cd8ddf3e8 100644
--- a/mail/sendmail/Makefile
+++ b/mail/sendmail/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= sendmail
-PORTVERSION= 8.12.2
-PORTREVISION= 4
+PORTVERSION= 8.12.3
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \
${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,}
@@ -84,6 +83,8 @@ SENDMAIL= ${PREFIX}/sbin/sendmail
post-extract:
@${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sm-client.sh \
> ${WRKSRC}/sm-client.sh
+ @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/sendmail.sh \
+ > ${WRKSRC}/sendmail.sh
do-configure:
${PERL} -pi -e "s,\`-pthread\',\`${PTHREAD_LIBS}\'," \
@@ -137,6 +138,8 @@ post-install:
.endif
${INSTALL_SCRIPT} ${WRKSRC}/sm-client.sh \
${PREFIX}/etc/rc.d/sm-client.sh.sample
+ ${INSTALL_SCRIPT} ${WRKSRC}/sendmail.sh \
+ ${PREFIX}/etc/rc.d/sendmail.sh.sample
${CHOWN} smmsp:smmsp /var/spool/clientmqueue
${CHMOD} 770 /var/spool/clientmqueue
.for i in ${MAN8}
diff --git a/mail/sendmail/distinfo b/mail/sendmail/distinfo
index 9ac20a22e487..363717bc73bb 100644
--- a/mail/sendmail/distinfo
+++ b/mail/sendmail/distinfo
@@ -1 +1 @@
-MD5 (sendmail.8.12.2.tar.gz) = 67b33ea2e385c1644085fc4ee4bb2940
+MD5 (sendmail.8.12.3.tar.gz) = 5f376123cf75b51d95b9ca4caf386fdb
diff --git a/mail/sendmail/files/patch-FreeBSD b/mail/sendmail/files/patch-FreeBSD
deleted file mode 100644
index a733ccdd1594..000000000000
--- a/mail/sendmail/files/patch-FreeBSD
+++ /dev/null
@@ -1,8 +0,0 @@
---- devtools/OS/FreeBSD Wed Jan 10 21:44:08 2001
-+++ devtools/OS/FreeBSD Thu Feb 14 08:59:38 2002
-@@ -5,4 +5,5 @@
- define(`confLD', `cc')
- define(`confMTLDOPTS', `-pthread')
-+define(`confMTCCOPTS', `-D_THREAD_SAFE')
- define(`confLDOPTS_SO', `-shared')
- define(`confCCOPTS_SO', `-fPIC')
diff --git a/mail/sendmail/files/patch-sendmail-deliver.c b/mail/sendmail/files/patch-sendmail-deliver.c
deleted file mode 100644
index a6c81e12774c..000000000000
--- a/mail/sendmail/files/patch-sendmail-deliver.c
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -u -r8.928 deliver.c
---- sendmail/deliver.c 2002/01/10 03:23:29 8.928
-+++ sendmail/deliver.c 2002/02/04 23:32:05
-@@ -5141,11 +5141,17 @@
- }
- (void) sm_strlcpy(targetfile, SafeFileEnv, sizeof targetfile);
- realfile = targetfile + len;
-- if (targetfile[len - 1] != '/')
-- (void) sm_strlcat(targetfile, "/", sizeof targetfile);
- if (*filename == '/')
- filename++;
-- (void) sm_strlcat(targetfile, filename, sizeof targetfile);
-+ if (*filename != '\0')
-+ {
-+ /* paranoia: trailing / should be removed in readcf */
-+ if (targetfile[len - 1] != '/')
-+ (void) sm_strlcat(targetfile,
-+ "/", sizeof targetfile);
-+ (void) sm_strlcat(targetfile, filename,
-+ sizeof targetfile);
-+ }
- }
- else if (mailer->m_rootdir != NULL)
- {
-@@ -5388,6 +5394,9 @@
-
- if (realfile != targetfile)
- {
-+ char save;
-+
-+ save = *realfile;
- *realfile = '\0';
- if (tTd(11, 20))
- sm_dprintf("mailfile: chroot %s\n", targetfile);
-@@ -5397,7 +5406,7 @@
- targetfile);
- RETURN(EX_CANTCREAT);
- }
-- *realfile = '/';
-+ *realfile = save;
- }
-
- if (tTd(11, 40))
---- sendmail/readcf.c 2002/01/30 19:56:37 8.595
-+++ sendmail/readcf.c 2002/02/04 23:32:05
-@@ -2950,6 +2950,17 @@
- break;
-
- case O_SAFEFILEENV: /* chroot() environ for writing to files */
-+ if (*val == '\0')
-+ break;
-+
-+ /* strip trailing slashes */
-+ p = val + strlen(val) - 1;
-+ while (p >= val && *p == '/')
-+ *p-- = '\0';
-+
-+ if (*val == '\0')
-+ break;
-+
- SafeFileEnv = newstr(val);
- break;
-
-
diff --git a/mail/sendmail/files/patch-sendmail-milter.c b/mail/sendmail/files/patch-sendmail-milter.c
deleted file mode 100644
index 3c56506b00c1..000000000000
--- a/mail/sendmail/files/patch-sendmail-milter.c
+++ /dev/null
@@ -1,39 +0,0 @@
-Sendmail 8.12.x
-
-The MTA may erroneously detect a communication failure with libmilter
-(EINTR in select(2)). [ http://www.sendmail.org/~ca/email/sm-812.html ]
-
-Index: milter.c
-===================================================================
-RCS file: /cvs/sendmail/milter.c,v
-retrieving revision 8.187
-retrieving revision 8.188
-diff -u -r8.187 -r8.188
---- sendmail/milter.c 2002/01/19 00:48:57 8.187
-+++ sendmail/milter.c 2002/01/21 04:07:02 8.188
-@@ -139,14 +139,17 @@
- return NULL; \
- } \
- \
-- FD_ZERO(&fds); \
-- SM_FD_SET(m->mf_sock, &fds); \
-- tv.tv_sec = (secs); \
-- tv.tv_usec = 0; \
-- ret = select(m->mf_sock + 1, \
-- (write) ? NULL : &fds, \
-- (write) ? &fds : NULL, \
-- NULL, &tv); \
-+ do \
-+ { \
-+ FD_ZERO(&fds); \
-+ SM_FD_SET(m->mf_sock, &fds); \
-+ tv.tv_sec = (secs); \
-+ tv.tv_usec = 0; \
-+ ret = select(m->mf_sock + 1, \
-+ (write) ? NULL : &fds, \
-+ (write) ? &fds : NULL, \
-+ NULL, &tv); \
-+ } while (ret < 0 && errno == EINTR); \
- \
- switch (ret) \
- { \
diff --git a/mail/sendmail/files/pkg-milter b/mail/sendmail/files/pkg-milter
index f966f52e34a7..7e4bab67915c 100644
--- a/mail/sendmail/files/pkg-milter
+++ b/mail/sendmail/files/pkg-milter
@@ -28,6 +28,7 @@ lib/libsmdb.a
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_main.html
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_register.html
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_replacebody.html
+%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setbacklog.html
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setconn.html
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setpriv.html
%%PORTDOCS%%share/doc/sendmail/libmilter/smfi_setreply.html
diff --git a/mail/sendmail/files/sendmail.sh b/mail/sendmail/files/sendmail.sh
new file mode 100644
index 000000000000..a3f82d76ded7
--- /dev/null
+++ b/mail/sendmail/files/sendmail.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+if ! test -x %%PREFIX%%/sbin/sendmail
+then
+ exit 0
+fi
+#
+case "$1" in
+start)
+ # If there is a global system configuration file, suck it in.
+ #
+ if [ -r /etc/defaults/rc.conf ]; then
+ . /etc/defaults/rc.conf
+ source_rc_confs
+ elif [ -r /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
+
+ # Flags to sendmail (as a server)
+ sendmail_flags="${sendmail_flags--L sm-mta -bd -q30m}"
+ # Flags for sendmail_msp_queue daemon.
+ sendmail_msp_queue_flags=\
+ "${sendmail_msp_queue_flags--L sm-msp-queue -Ac -q30m}"
+ #
+ %%PREFIX%%/sbin/sendmail ${sendmail_flags} &&
+ echo -n ' sendmail'
+ %%PREFIX%%/sbin/sendmail ${sendmail_msp_queue_flags} &&
+ echo -n ' sm-msp-queue'
+ ;;
+stop)
+ if test -e /var/run/sendmail.pid
+ then
+ kill `head -1 /var/run/sendmail.pid`
+ rm -f /var/run/sendmail.pid
+ fi
+ if test -e /var/spool/clientmqueue/sm-client.pid
+ then
+ kill `head -1 /var/spool/clientmqueue/sm-client.pid`
+ rm -f /var/spool/clientmqueue/sm-client.pid
+ fi
+ ;;
+restart)
+ if test -e /var/run/sendmail.pid
+ then
+ kill -1 `head -1 /var/run/sendmail.pid`
+ fi
+ if test -e /var/spool/clientmqueue/sm-client.pid
+ then
+ kill -1 `head -1 /var/spool/clientmqueue/sm-client.pid`
+ fi
+ ;;
+*)
+ echo "Usage: ${0##*/}: { start | stop | restart }" 2>&1
+ exit 65
+ ;;
+esac
diff --git a/mail/sendmail/files/sm-client.sh b/mail/sendmail/files/sm-client.sh
index 98d8870043b0..c481b57171e2 100644
--- a/mail/sendmail/files/sm-client.sh
+++ b/mail/sendmail/files/sm-client.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/sm-client.sh,v 1.2 2002-03-17 18:00:07 dinoex Exp $
+# $FreeBSD: /tmp/pcvs/ports/mail/sendmail/files/Attic/sm-client.sh,v 1.3 2002-04-06 08:17:34 dinoex Exp $
#
if ! test -x %%PREFIX%%/sbin/sendmail
then
@@ -12,11 +12,20 @@ start)
echo -n ' sm-msp-queue'
;;
stop)
- kill `head -1 /var/spool/clientmqueue/sm-client.pid`
- rm -f /var/spool/clientmqueue/sm-client.pid
+ if test -e /var/spool/clientmqueue/sm-client.pid
+ then
+ kill `head -1 /var/spool/clientmqueue/sm-client.pid`
+ rm -f /var/spool/clientmqueue/sm-client.pid
+ fi
+ ;;
+restart)
+ if test -e /var/spool/clientmqueue/sm-client.pid
+ then
+ kill -1 `head -1 /var/spool/clientmqueue/sm-client.pid`
+ fi
;;
*)
- echo "Usage: ${0##*/}: { start | stop }" 2>&1
+ echo "Usage: ${0##*/}: { start | stop | restart }" 2>&1
exit 65
;;
esac
diff --git a/mail/sendmail/pkg-message b/mail/sendmail/pkg-message
index e58214c0a312..376f77d3d543 100644
--- a/mail/sendmail/pkg-message
+++ b/mail/sendmail/pkg-message
@@ -7,9 +7,12 @@ $ make submit.cf
you should add in /etc/make.conf:
SENDMAIL_CF_DIR= %%PREFIX%%/share/sendmail/cf
-To active the delivery from the local submission queue see:
+To activate only the delivery from the local submission queue see:
%%PREFIX%%/etc/rc.d/sm-client.sh.sample
+To activate all sendmail processes see:
+%%PREFIX%%/etc/rc.d/sendmail.sh.sample
+
To deliver all local mail to your mailhub, edit the last line of submit.mc:
FEATURE(`msp','mailhub.do.main`)dnl
diff --git a/mail/sendmail/pkg-plist b/mail/sendmail/pkg-plist
index 428a07caf8d3..0593305fe73c 100644
--- a/mail/sendmail/pkg-plist
+++ b/mail/sendmail/pkg-plist
@@ -1,4 +1,4 @@
-@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail/pkg-plist,v 1.10 2002-01-05 23:43:12 dinoex Exp $
+@comment $FreeBSD: /tmp/pcvs/ports/mail/sendmail/pkg-plist,v 1.11 2002-04-06 08:17:33 dinoex Exp $
@exec if ! pw groupshow smmsp 2>/dev/null; then pw groupadd smmsp -g 90; fi
@exec if ! pw usershow smmsp 2>/dev/null; then pw useradd smmsp -g smmsp -u 90 -h - -d /nonexistent -s /nonexistent -c "Sendmail Queue"; fi
@exec mkdir -p /var/spool/clientmqueue
@@ -13,6 +13,7 @@ bin/purgestat
bin/rmail
bin/vacation
etc/rc.d/sm-client.sh.sample
+etc/rc.d/sendmail.sh.sample
libexec/mail.local
libexec/smrsh
sbin/editmap