Changes 4.70:

* Added patch by Johannes Berg that expands the main option
  "spamd_servers" if it starts with a dollar sign.
* Write list of recipients to X-Envelope-Sender header when building
  the mbox-format spool file for content scanning.
* Added patch by Wolfgang Breyha that adds experimental DCC
  (http://www.dcc-servers.net/) support via dccifd. Activated by
  setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out
  experimental_spec.txt for more documentation.
* Bugzilla 673: Add f-protd malware scanner support.
* Bugzilla 657: Embedded PCRE removed from the exim source tree.
  When building exim an external PCRE library is now needed -
  PCRE is a system library on the majority of modern systems.
  See entry on PCRE_LIBS in EDITME file.
* Bugzilla 646: Removed unwanted C/R in Dovecot authenticator
  conversation.  Added nologin parameter to request.
* Do not log submission mode rewrites if they do not change the address.
* Bugzilla 662: Fix stack corruption before exec() in daemon.c.
* Bugzilla 602: exicyclog now handles panic log, and creates empty
  log files in place.  Contributed by Roberto Lima
* Bugzilla 667: close socket used by dovecot authenticator
* Bugzilla 615: When checking the local_parts router precondition
  after a local_part_suffix or local_part_prefix option, Exim now
  does not use the address's named list lookup cache, since this
  contains cached lookups for the whole local part.
* Bugzilla 521: Integrated SPF Best Guess support contributed by
  Robert Millan.  Documentation is in experimental-spec.txt
* Bugzilla 668: Fix parallel build (make -j).
* Bugzilla 437: Prevent Maildir aux files being created with mode 000
* Bugzilla 598: Improvement to Dovecot authenticator handling.
* Leading white space used to be stripped from $spam_report which
  wrecked the formatting. Now it is preserved.
* Save $spam_score, $spam_bar, and $spam_report in spool files, so
  that they are available at delivery time.
* Fix the way ${extract is skipped in the untaken branch of a conditional.
* TLS error reporting now respects the incoming_interface and
  incoming_port log selectors.
* more...
This commit is contained in:
adam 2009-11-17 06:39:32 +00:00
parent 288130904c
commit 1d2c4c3528
6 changed files with 26 additions and 152 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.95 2009/02/13 15:28:03 abs Exp $
# $NetBSD: Makefile,v 1.96 2009/11/17 06:39:32 adam Exp $
DISTNAME= exim-4.69
PKGREVISION= 4
DISTNAME= exim-4.70
CATEGORIES= mail net
MASTER_SITES= ftp://ftp.exim.org/pub/exim/exim4/ \
ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/ \
@ -59,10 +58,6 @@ CFLAGS+= ${CPPFLAGS}
.include "options.mk"
# BDB_TYPE gets set to "db1" if USE_DB185=="yes"
USE_DB185?= no
BDB_ACCEPTED?= db1 db2 db3 db4
post-extract:
mkdir ${WRKSRC}/Local
cp ${WRKSRC}/src/EDITME ${WRKSRC}/Local/Makefile.pkgsrc
@ -81,8 +76,10 @@ pre-configure:
-e 's:@LOOKUP_LIBS@:${LOOKUP_LIBS}:' \
-e 's:@CHOWN@:${CHOWN}:' \
-e 's:@CHGRP@:${CHGRP}:' \
-e 's:@CHMOD@:${CHMOD}:' \
-e 's:@MV@:${MV}:' \
-e 's:@RM@:${RM}:' \
-e 's:@TOUCH@:${TOUCH}:' \
-e 's:@PERL5@:${PERL5}:' \
-e 's:@VARBASE@:${VARBASE}:' \
< ${WRKSRC}/Local/Makefile.pkgsrc \
@ -115,4 +112,5 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/doc/exim.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/exim.8
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,11 +1,9 @@
$NetBSD: distinfo,v 1.41 2009/02/13 15:28:03 abs Exp $
$NetBSD: distinfo,v 1.42 2009/11/17 06:39:32 adam Exp $
SHA1 (exim-4.69.tar.bz2) = 321e238b6e6b32498110511ce72a911538305a39
RMD160 (exim-4.69.tar.bz2) = ae97c807c63f858ba4a0ab402677225da9337d05
Size (exim-4.69.tar.bz2) = 1658939 bytes
SHA1 (patch-aa) = 93dca43408fb837deb95d2b22502c64559780f7c
SHA1 (patch-ab) = 1c6e7882346974390c22e7b9e09a76c5ed670d1d
SHA1 (patch-ac) = de96032a9cf5450101cc73d615d374ddf6817fee
SHA1 (patch-ad) = 804ab58f454f7e100c117f2cec9cf478375c1752
SHA1 (exim-4.70.tar.bz2) = 012d32acb63342f60d50f8905e20acb2f73f59b0
RMD160 (exim-4.70.tar.bz2) = 4b216099bb4a3c9ba084729a47611d1df09344e0
Size (exim-4.70.tar.bz2) = 1560329 bytes
SHA1 (patch-aa) = cf514f31626cde31747342a2d50edd1dbf7f195f
SHA1 (patch-ab) = f5be62c134b1a2d0870a14546ec0bb62090d498a
SHA1 (patch-ae) = 33573e3d02edbca0c44ed54d1aadd2db50fa1fe6
SHA1 (patch-ag) = 8512795060ad913f4699c277867fd24e7a785519

View file

@ -1,6 +1,6 @@
$NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
$NetBSD: patch-aa,v 1.20 2009/11/17 06:39:32 adam Exp $
--- Local/Makefile.pkgsrc.orig 2007-06-24 11:43:28.000000000 +0100
--- Local/Makefile.pkgsrc.orig 2009-11-16 07:56:01.000000000 +0100
+++ Local/Makefile.pkgsrc
@@ -100,7 +100,7 @@
# /usr/local/sbin. The installation script will try to create this directory,
@ -47,7 +47,7 @@ $NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
@@ -320,7 +320,7 @@ LOOKUP_LSEARCH=yes
@@ -333,7 +333,7 @@ PCRE_LIBS=-lpcre
# files are defaulted in the OS/Makefile-Default file, but can be overridden in
# local OS-specific make files.
@ -56,7 +56,7 @@ $NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
#------------------------------------------------------------------------------
@@ -473,11 +473,11 @@ FIXED_NEVER_USERS=root
@@ -486,11 +486,11 @@ FIXED_NEVER_USERS=root
# included in the Exim binary. You will then need to set up the run time
# configuration to make use of the mechanism(s) selected.
@ -71,7 +71,7 @@ $NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
#------------------------------------------------------------------------------
@@ -643,7 +643,7 @@ HEADERS_CHARSET="ISO-8859-1"
@@ -656,7 +656,7 @@ HEADERS_CHARSET="ISO-8859-1"
# %s. This will be replaced by one of the strings "main", "panic", or "reject"
# to form the final file names. Some installations may want something like this:
@ -80,24 +80,28 @@ $NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
# which results in files with names /var/log/exim_mainlog, etc. The directory
# in which the log files are placed must exist; Exim does not try to create
@@ -884,11 +884,11 @@ SYSTEM_ALIASES_FILE=/etc/aliases
@@ -897,13 +897,13 @@ SYSTEM_ALIASES_FILE=/etc/aliases
# haven't got Perl, Exim will still build and run; you just won't be able to
# use those utilities.
-# CHOWN_COMMAND=/usr/bin/chown
-# CHGRP_COMMAND=/usr/bin/chgrp
-# CHMOD_COMMAND=/usr/bin/chmod
-# MV_COMMAND=/bin/mv
-# RM_COMMAND=/bin/rm
-# TOUCH_COMMAND=/usr/bin/touch
-# PERL_COMMAND=/usr/bin/perl
+CHOWN_COMMAND=@CHOWN@
+CHGRP_COMMAND=@CHGRP@
+CHMOD_COMMAND=@CHMOD@
+MV_COMMAND=@MV@
+RM_COMMAND=@RM@
+TOUCH_COMMAND=@TOUCH@
+PERL_COMMAND=@PERL5@
#------------------------------------------------------------------------------
@@ -1082,7 +1082,7 @@ TMPDIR="/tmp"
@@ -1097,7 +1097,7 @@ TMPDIR="/tmp"
# (process id) to a file so that it can easily be identified. The path of the
# file can be specified here. Some installations may want something like this:
@ -106,7 +110,7 @@ $NetBSD: patch-aa,v 1.19 2007/06/24 10:55:41 abs Exp $
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
# using the name "exim-daemon.pid".
@@ -1134,3 +1134,10 @@ TMPDIR="/tmp"
@@ -1149,3 +1149,10 @@ TMPDIR="/tmp"
# ENABLE_DISABLE_FSYNC=yes
# End of EDITME for Exim 4.

View file

@ -1,8 +1,8 @@
$NetBSD: patch-ab,v 1.13 2006/08/08 15:24:01 abs Exp $
$NetBSD: patch-ab,v 1.14 2009/11/17 06:39:32 adam Exp $
--- OS/Makefile-Default.orig 2006-04-28 11:32:21.000000000 +0100
--- OS/Makefile-Default.orig 2009-10-16 09:30:54.000000000 +0200
+++ OS/Makefile-Default
@@ -71,7 +71,7 @@ PERL_COMMAND=/usr/bin/perl
@@ -73,7 +73,7 @@ PERL_COMMAND=/usr/bin/perl
# CC contains the name of the C compiler to be used.

View file

@ -1,114 +0,0 @@
$NetBSD: patch-ac,v 1.12 2009/01/12 18:59:24 abs Exp $
--- src/os.c.orig 2007-01-08 10:50:18.000000000 +0000
+++ src/os.c
@@ -463,6 +463,75 @@ calls the common function; on Linux it c
This function finds the addresses of all the running interfaces on the machine.
A chain of blocks containing the textual form of the addresses is returned.
+getifaddrs() provides a sane consistent way to query this on modern OSs,
+otherwise fall back to a maze of twisty ioctl() calls
+
+Arguments: none
+Returns: a chain of ip_address_items, each pointing to a textual
+ version of an IP address, with the port field set to zero
+*/
+
+
+#ifndef NO_FIND_INTERFACES
+
+#ifdef HAVE_GETIFADDRS
+
+#include <ifaddrs.h>
+
+ip_address_item *
+os_common_find_running_interfaces(void)
+{
+struct ifaddrs *ifalist = NULL;
+ip_address_item *yield = NULL;
+ip_address_item *last = NULL;
+ip_address_item *next;
+
+if (getifaddrs(&ifalist) != 0)
+ log_write(0, LOG_PANIC_DIE, "Unable to call getifaddrs: %d %s",
+ errno, strerror(errno));
+
+struct ifaddrs *ifa;
+for (ifa = ifalist; ifa != NULL; ifa = ifa->ifa_next)
+ {
+ if (ifa->ifa_addr->sa_family != AF_INET
+#if HAVE_IPV6
+ && ifa->ifa_addr->sa_family != AF_INET6
+#endif /* HAVE_IPV6 */
+ )
+ continue;
+
+ if ( !(ifa->ifa_flags & IFF_UP) ) /* Only want 'UP' interfaces */
+ continue;
+
+ /* Create a data block for the address, fill in the data, and put it on the
+ chain. */
+
+ next = store_get(sizeof(ip_address_item));
+ next->next = NULL;
+ next->port = 0;
+ (void)host_ntoa(-1, ifa->ifa_addr, next->address, NULL);
+
+ if (yield == NULL)
+ yield = last = next;
+ else
+ {
+ last->next = next;
+ last = next;
+ }
+
+ DEBUG(D_interface) debug_printf("Actual local interface address is %s (%s)\n",
+ last->address, ifa->ifa_name);
+ }
+
+/* free the list of addresses, and return the chain of data blocks. */
+
+freeifaddrs (ifalist);
+return yield;
+}
+
+#else /* HAVE_GETIFADDRS */
+
+/*
Problems:
(1) Solaris 2 has the SIOGIFNUM call to get the number of interfaces, but
@@ -486,15 +555,8 @@ Problems:
the former, calling the latter does no harm, but it causes grief on Linux and
BSD systems in the case of IP aliasing, so a means of cutting it out is
provided.
-
-Arguments: none
-Returns: a chain of ip_address_items, each pointing to a textual
- version of an IP address, with the port field set to zero
*/
-
-#ifndef NO_FIND_INTERFACES
-
/* If there is IPv6 support, and SIOCGLIFCONF is defined, define macros to
use these new, longer versions of the old IPv4 interfaces. Otherwise, define
the macros to use the historical versions. */
@@ -556,7 +618,7 @@ char *cp;
char buf[MAX_INTERFACES*sizeof(struct V_ifreq)];
struct sockaddr *addrp;
size_t len = 0;
-char addrbuf[256];
+char addrbuf[512];
/* We have to create a socket in order to do ioctls on it to find out
what we want to know. */
@@ -701,6 +763,8 @@ for (cp = buf; cp < buf + ifc.V_ifc_len;
return yield;
}
+#endif /* HAVE_GETIFADDRS */
+
#else /* NO_FIND_INTERFACES */
/* Some experimental or developing OS (e.g. GNU/Hurd) do not have the ioctls,

View file

@ -1,12 +0,0 @@
$NetBSD: patch-ad,v 1.11 2009/01/12 18:59:24 abs Exp $
--- OS/os.h-NetBSD.orig 2007-06-27 09:46:28.000000000 +0100
+++ OS/os.h-NetBSD
@@ -3,6 +3,7 @@
/* Exim: OS-specific C header file for NetBSD */
#define HAVE_BSD_GETLOADAVG
+#define HAVE_GETIFADDRS
#define HAVE_MMAP
#define HAVE_SYS_MOUNT_H
#define SIOCGIFCONF_GIVES_ADDR