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