pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/mail/sendmail Update to 8.13.7; changelog below. (8.1...
details: https://anonhg.NetBSD.org/pkgsrc/rev/40b66ee9b9ed
branches: trunk
changeset: 515760:40b66ee9b9ed
user: tv <tv%pkgsrc.org@localhost>
date: Fri Jul 07 18:06:27 2006 +0000
description:
Update to 8.13.7; changelog below. (8.13.6nb3 already had the security
fixes by patch.)
While here, fix PR pkg/33821 by substituting pkgsrc's BINOWN, BINGRP, and
INSTALL definitions into the installed share/sendmail/cf/Makefile.
8.13.7/8.13.7 2006/06/14
A malformed MIME structure with many parts can cause sendmail to
crash while trying to send a mail due to a stack overflow,
e.g., if the stack size is limited (ulimit -s). This
happens because the recursion of the function mime8to7()
was not restricted. The function is called for MIME 8 to
7 bit conversion and also to enforce MaxMimeHeaderLength.
To work around this problem, recursive calls are limited to
a depth of MAXMIMENESTING (20); message content after this
limit is treated as opaque and is not checked further.
Problem noted by Frank Sheiness.
The changes to the I/O layer in 8.13.6 caused a regression for
SASL mechanisms that use the security layer, e.g.,
DIGEST-MD5. Problem noted by Robert Stampfli.
If a timeout occurs while reading a message (during the DATA phase)
a df file might have been left behind in the queue.
This was another side effect of the changes to the I/O
layer made in 8.13.6.
Several minor problems have been fixed that were found by a
Coverity scan of sendmail 8 as part of the NetBSD
distribution. See http://scan.coverity.com/
Note: the scan generated also a lot of "false positives",
e.g., "error" reports about situations that cannot happen.
Most of those code places are marked with lint(1) comments
like NOTREACHED, but Coverity does not understand those.
Hence an explicit assertion has been added in some cases
to avoid those false positives.
If the start of the sendmail daemon fails due to a configuration
error then in some cases shared memory segments or pid
files were not removed.
If DSN support is disabled via access_db, then related ESMTP
parameters for MAIL and RCPT should be rejected. Problem
reported by Akihiro Sagawa.
Enabling zlib compression in OpenSSL 0.9.8[ab] breaks the padding
bug work-around. Hence if sendmail is linked against
either of these versions and compression is available,
the padding bug work-around is turned off. Based on
patch from Victor Duchovni of Morgan Stanley.
CONFIG: FEATURE(`dnsbl') and FEATURE(`enhdnsbl') used
blackholes.mail-abuse.org as default domain for lookups,
however, that list is no longer available. To avoid
further problems, no default value is available anymore,
but an argument must be specified.
Portability:
Fix compilation on OSF/1 for sfsasl.c. Patch from
Pieter Bowman of the University of Utah.
diffstat:
mail/sendmail/Makefile | 12 ++-
mail/sendmail/Makefile.common | 4 +-
mail/sendmail/distinfo | 13 +---
mail/sendmail/patches/patch-aj | 34 +++++-------
mail/sendmail/patches/patch-ak | 103 -----------------------------------------
mail/sendmail/patches/patch-al | 21 --------
mail/sendmail/patches/patch-am | 8 ---
7 files changed, 29 insertions(+), 166 deletions(-)
diffs (258 lines):
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/Makefile
--- a/mail/sendmail/Makefile Fri Jul 07 18:02:47 2006 +0000
+++ b/mail/sendmail/Makefile Fri Jul 07 18:06:27 2006 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.90 2006/06/14 18:53:54 adrianp Exp $
+# $NetBSD: Makefile,v 1.91 2006/07/07 18:06:27 tv Exp $
.include "../../mail/sendmail/Makefile.common"
PKGNAME= sendmail-${DIST_VERS}
-PKGREVISION= 3
COMMENT= The well known Mail Transport Agent
CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 postfix-[0-9]*
@@ -16,9 +15,12 @@
RCD_SCRIPTS= sendmail smmsp
SUBST_CLASSES+= paths
-SUBST_STAGE.paths= pre-build
-SUBST_FILES.paths= ../mailer.conf include/sm/conf.h smrsh/smrsh.8
-SUBST_SED.paths= -e "s|@@PREFIX@@|${PREFIX}|g"
+SUBST_STAGE.paths= pre-configure
+SUBST_FILES.paths= ../mailer.conf include/sm/conf.h smrsh/smrsh.8 cf/cf/Makefile
+SUBST_SED.paths+= -e "s|@@BINGRP@@|${BINGRP}|g"
+SUBST_SED.paths+= -e "s|@@BINOWN@@|${BINOWN}|g"
+SUBST_SED.paths+= -e "s|@@INSTALL@@|${INSTALL}|g"
+SUBST_SED.paths+= -e "s|@@PREFIX@@|${PREFIX}|g"
SUBST_SED.paths+= -e "s|@@SMRSH_CMDDIR@@|${SMRSH_CMDDIR}|g"
SUBST_MESSAGE.paths= Fixing paths.
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/Makefile.common
--- a/mail/sendmail/Makefile.common Fri Jul 07 18:02:47 2006 +0000
+++ b/mail/sendmail/Makefile.common Fri Jul 07 18:06:27 2006 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.36 2006/06/08 02:26:32 jlam Exp $
+# $NetBSD: Makefile.common,v 1.37 2006/07/07 18:06:27 tv Exp $
#
# Makefile fragment shared with libmilter
#
@@ -19,7 +19,7 @@
FILESDIR?= ${.CURDIR}/../../mail/sendmail/files
PATCHDIR?= ${.CURDIR}/../../mail/sendmail/patches
-DIST_VERS= 8.13.6
+DIST_VERS= 8.13.7
MAKE_ENV+= BSD_BINOWN=${BINOWN:Q} BSD_BINGRP=${BINGRP:Q} \
BSD_MANOWN=${MANOWN:Q} BSD_MANGRP=${MANGRP:Q} \
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/distinfo
--- a/mail/sendmail/distinfo Fri Jul 07 18:02:47 2006 +0000
+++ b/mail/sendmail/distinfo Fri Jul 07 18:06:27 2006 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.30 2006/06/14 18:53:54 adrianp Exp $
+$NetBSD: distinfo,v 1.31 2006/07/07 18:06:27 tv Exp $
-SHA1 (sendmail.8.13.6.tar.gz) = 6c35f4780bd9fc5f8982977ad699752e2ccb26d0
-RMD160 (sendmail.8.13.6.tar.gz) = cbb0649b5dec8e4b4850c76ad4a132a15335df3b
-Size (sendmail.8.13.6.tar.gz) = 1986576 bytes
+SHA1 (sendmail.8.13.7.tar.gz) = b70f63f5d577e14794d1a37ef5e825f9127ec996
+RMD160 (sendmail.8.13.7.tar.gz) = a1cab6a7f015bf50c1773a67f35b800c751d55ed
+Size (sendmail.8.13.7.tar.gz) = 2010008 bytes
SHA1 (patch-aa) = b7ceece7760e3d637016da039f8429c1fb89f2cf
SHA1 (patch-ab) = a2abf6e78772e257e2a1973e7730159ff24a91aa
SHA1 (patch-ac) = 96c19300b4188dbcbd202768eea912f675dadc27
@@ -12,7 +12,4 @@
SHA1 (patch-ag) = 672c3e8a0c897f2c721d45393d85d4ea819d55a6
SHA1 (patch-ah) = e6be09008b9230ffdd1560aaacbdbb2ee4fb8028
SHA1 (patch-ai) = 8ade5888074ad9a328f87d66836c04eacf7785d5
-SHA1 (patch-aj) = 5dbceffb6397e28beb0c9350398238877928ead8
-SHA1 (patch-ak) = 0688b603018fc58510174a012ca7d2425665a7cd
-SHA1 (patch-al) = 9527aa7046a6b4be63c12108b5e03d6b13009d2d
-SHA1 (patch-am) = 6a7e14410ddc619a08142b90bd15f55eb23d32b8
+SHA1 (patch-aj) = e65e6fe44380de2f9c397c1a97677eb4ad285433
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/patches/patch-aj
--- a/mail/sendmail/patches/patch-aj Fri Jul 07 18:02:47 2006 +0000
+++ b/mail/sendmail/patches/patch-aj Fri Jul 07 18:06:27 2006 +0000
@@ -1,22 +1,18 @@
-$NetBSD: patch-aj,v 1.3 2006/06/14 18:53:53 adrianp Exp $
+$NetBSD: patch-aj,v 1.4 2006/07/07 18:06:28 tv Exp $
---- sendmail/deliver.c.orig 2006-03-02 01:37:39.000000000 +0000
-+++ sendmail/deliver.c
-@@ -4623,7 +4623,7 @@ putbody(mci, e, separator)
- /* now do the hard work */
- boundaries[0] = NULL;
- mci->mci_flags |= MCIF_INHEADER;
-- if (mime8to7(mci, e->e_header, e, boundaries, M87F_OUTER) ==
-+ if (mime8to7(mci, e->e_header, e, boundaries, M87F_OUTER, 0) ==
- SM_IO_EOF)
- goto writeerr;
- }
-@@ -4654,7 +4654,7 @@ putbody(mci, e, separator)
- SuprErrs = true;
+--- cf/cf/Makefile.orig 2005-06-13 22:16:34.000000000 -0400
++++ cf/cf/Makefile
+@@ -25,10 +25,10 @@ CHMOD= chmod
+ ROMODE= 444
+ RM= rm -f
+ # use our own install program; should be really confINSTALL
+-INSTALL=../../devtools/bin/install.sh
++INSTALL=@@INSTALL@@
+ # CF file ownership/permissions
+-CFOWN=root
+-CFGRP=bin
++CFOWN=@@BINOWN@@
++CFGRP=@@BINGRP@@
+ CFMODE=0444
- if (mime8to7(mci, e->e_header, e, boundaries,
-- M87F_OUTER|M87F_NO8TO7) == SM_IO_EOF)
-+ M87F_OUTER|M87F_NO8TO7, 0) == SM_IO_EOF)
- goto writeerr;
- /* restore SuprErrs */
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/patches/patch-ak
--- a/mail/sendmail/patches/patch-ak Fri Jul 07 18:02:47 2006 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-$NetBSD: patch-ak,v 1.3 2006/06/14 18:53:53 adrianp Exp $
-
---- sendmail/mime.c.orig 2006-03-01 18:07:45.000000000 +0000
-+++ sendmail/mime.c
-@@ -80,6 +80,7 @@ static bool MapNLtoCRLF;
- ** boundaries -- the currently pending message boundaries.
- ** NULL if we are processing the outer portion.
- ** flags -- to tweak processing.
-+** level -- recursion level.
- **
- ** Returns:
- ** An indicator of what terminated the message part:
-@@ -96,12 +97,13 @@ struct args
- };
-
- int
--mime8to7(mci, header, e, boundaries, flags)
-+mime8to7(mci, header, e, boundaries, flags, level)
- register MCI *mci;
- HDR *header;
- register ENVELOPE *e;
- char **boundaries;
- int flags;
-+ int level;
- {
- register char *p;
- int linelen;
-@@ -122,6 +124,18 @@ mime8to7(mci, header, e, boundaries, fla
- char pvpbuf[MAXLINE];
- extern unsigned char MimeTokenTab[256];
-
-+ if (level > MAXMIMENESTING)
-+ {
-+ if (!bitset(EF_TOODEEP, e->e_flags))
-+ {
-+ if (tTd(43, 4))
-+ sm_dprintf("mime8to7: too deep, level=%d\n",
-+ level);
-+ usrerr("mime8to7: recursion level %d exceeded",
-+ level);
-+ e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
-+ }
-+ }
- if (tTd(43, 1))
- {
- sm_dprintf("mime8to7: flags = %x, boundaries =", flags);
-@@ -242,7 +256,9 @@ mime8to7(mci, header, e, boundaries, fla
- */
-
- if (sm_strcasecmp(type, "multipart") == 0 &&
-- (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)))
-+ (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)) &&
-+ !bitset(EF_TOODEEP, e->e_flags)
-+ )
- {
-
- if (sm_strcasecmp(subtype, "digest") == 0)
-@@ -286,10 +302,13 @@ mime8to7(mci, header, e, boundaries, fla
- }
- if (i >= MAXMIMENESTING)
- {
-- usrerr("mime8to7: multipart nesting boundary too deep");
-+ if (tTd(43, 4))
-+ sm_dprintf("mime8to7: too deep, i=%d\n", i);
-+ if (!bitset(EF_TOODEEP, e->e_flags))
-+ usrerr("mime8to7: multipart nesting boundary too deep");
-
- /* avoid bounce loops */
-- e->e_flags |= EF_DONT_MIME;
-+ e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
- }
- else
- {
-@@ -333,7 +352,8 @@ mime8to7(mci, header, e, boundaries, fla
- goto writeerr;
- if (tTd(43, 101))
- putline("+++after putheader", mci);
-- bt = mime8to7(mci, hdr, e, boundaries, flags);
-+ bt = mime8to7(mci, hdr, e, boundaries, flags,
-+ level + 1);
- if (bt == SM_IO_EOF)
- goto writeerr;
- }
-@@ -374,7 +394,8 @@ mime8to7(mci, header, e, boundaries, fla
-
- if (sm_strcasecmp(type, "message") == 0)
- {
-- if (!wordinclass(subtype, 's'))
-+ if (!wordinclass(subtype, 's') ||
-+ bitset(EF_TOODEEP, e->e_flags))
- {
- flags |= M87F_NO8BIT;
- }
-@@ -397,7 +418,8 @@ mime8to7(mci, header, e, boundaries, fla
- !bitset(M87F_NO8TO7, flags) &&
- !putline("MIME-Version: 1.0", mci))
- goto writeerr;
-- bt = mime8to7(mci, hdr, e, boundaries, flags);
-+ bt = mime8to7(mci, hdr, e, boundaries, flags,
-+ level + 1);
- mci->mci_flags &= ~MCIF_INMIME;
- return bt;
- }
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/patches/patch-al
--- a/mail/sendmail/patches/patch-al Fri Jul 07 18:02:47 2006 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-$NetBSD: patch-al,v 1.3 2006/06/14 18:53:53 adrianp Exp $
-
---- sendmail/sendmail.h.orig 2006-02-27 17:49:09.000000000 +0000
-+++ sendmail/sendmail.h
-@@ -942,6 +942,7 @@ struct envelope
- #define EF_TOOBIG 0x02000000L /* message is too big */
- #define EF_SPLIT 0x04000000L /* envelope has been split */
- #define EF_UNSAFE 0x08000000L /* unsafe: read from untrusted source */
-+#define EF_TOODEEP 0x10000000L /* message is nested too deep */
-
- #define DLVR_NOTIFY 0x01
- #define DLVR_RETURN 0x02
-@@ -1655,7 +1656,7 @@ EXTERN unsigned long PrivacyFlags; /* pr
-
- /* functions */
- extern bool mime7to8 __P((MCI *, HDR *, ENVELOPE *));
--extern int mime8to7 __P((MCI *, HDR *, ENVELOPE *, char **, int));
-+extern int mime8to7 __P((MCI *, HDR *, ENVELOPE *, char **, int, int));
-
- /*
- ** Flags passed to returntosender.
diff -r ff70e2688fad -r 40b66ee9b9ed mail/sendmail/patches/patch-am
--- a/mail/sendmail/patches/patch-am Fri Jul 07 18:02:47 2006 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-$NetBSD: patch-am,v 1.1 2006/06/14 18:53:53 adrianp Exp $
-
---- sendmail/version.c.orig 2006-03-08 19:21:21.000000000 +0000
-+++ sendmail/version.c
-@@ -17,2 +17,2 @@ SM_RCSID("@(#)$Id: version.c,v 8.160 200
-
--char Version[] = "8.13.6";
-+char Version[] = "8.13.6.20060614";
Home |
Main Index |
Thread Index |
Old Index