ports/57098: [PATCH] port mail/exim: update to version 4.24

Oliver Eikemeier eikemeier at fillmore-labs.com
Mon Sep 22 16:50:51 UTC 2003


>Number:         57098
>Category:       ports
>Synopsis:       [PATCH] port mail/exim: update to version 4.24
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 22 09:50:23 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.8-STABLE

>Description:

This patch supersedes PR 57023

Summary:

- update to 4.24

- exim announces its FreeBSD port revision as the build
  number in `exim -bV'

- installed additional scripts in ${PREFIX}/share/examples/exim,
  helping with the Exim 3 -> Exim 4 transition now that mail/exim-old is gone

- mention the ChangeLog, the transition scripts and the
  mail/exim-doc-* ports in POST-INSTALL-NOTES, remove the
  reference to the info files

- install manpages even if NOPORTDOCS is defined (fixing NOPORTDOCS build)

- made `make PREFIX=/somthing/other/than/usr/local' really work

- incorporated PR 56117 (WITH_MSQL_VER)

- made OpenLDAP selection more standard (WITH_OPENLDAP, WITH_OPENLDAP_VER),
  deprecated all old LDAP options (sorry, but it got too tangly)

- made BerkeleyDB selection option WITH_BDB_VER, deprecated DB_LIB_VERSION

- respect bsd.ports.mk defaults of MySQL 4.0 and OpenLDAP 2.1

- added a message to show the zillions of options sorted in one place

- killed exim-ldap (OpenLDAP 1.2 is ancient)

- no wishlist item again: eqi is part of exim

- mark the exim-* slave ports as conflicting each other

- introduce WITH_DEFAULT_CHARSET

- introduce WITHOUT_ALT_CONFIG_PREFIX:
  Per default, we only allow configuration files in
  /usr/local/etc/exim/.

  This may break some confiurations (and exim -bV -C /dev/null),
  but the FreeBSD port has perl enabled by default, and it is
  trivial to write a perl script that gives root access when
  the mailnull account is compromised.

>How-To-Repeat:
>Fix:

*** THIS IS A TEST VERSION ***

This version is for testing purposes only, it assumes that
exiscan-acl-4.22-12.patch.bz2 is already in /usr/ports/distfiles/exim

To get a release version:

- wait until Tom is back ;-)
  http://article.gmane.org/gmane.mail.exim.exiscan.user/1061

- do:
  sed -i .bak -e '/^##### BEGIN REMOVE/,/^##### END REMOVE/d' Makefile
  rm files/exiscan-acl-4.22-12.patch.patch
  make makesum

- delete mail/exim-ldap, update mail/exim-ldap2

--- exim-4.24.patch begins here ---
diff -Nur mail/exim/Makefile.orig mail/exim/Makefile
--- mail/exim/Makefile.orig	Wed Sep 10 15:49:08 2003
+++ mail/exim/Makefile	Mon Sep 22 18:28:27 2003
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=	exim
-PORTVERSION=	4.22
-PORTREVISION=	4
+PORTVERSION=	4.24
 CATEGORIES=	mail
 MASTER_SITES=	${MASTER_SITE_EXIM}
 MASTER_SITE_SUBDIR=	exim4
@@ -16,28 +15,40 @@
 .if !defined(WITHOUT_EXISCAN)
 PATCH_SITES=	http://duncanthrax.net/%SUBDIR%/
 PATCH_SITE_SUBDIR=	exiscan-acl
-PATCHFILES=	exiscan-acl-${EXISCAN_ACL_VERSION}.patch.bz2
+PATCHFILES=	exiscan-acl-${EXISCAN_VERSION}.patch.bz2
 PATCH_DIST_STRIP=	-p1
 .endif
 
 MAINTAINER=	sheldonh at FreeBSD.org
 COMMENT=	High performance MTA for Unix systems on the Internet
 
+.if defined(PKGNAMESUFFIX)
+CONFLICTS+=	${PKGNAMEPREFIX}${PORTNAME}-4*
+.endif
+.for suffix in -ldap2 -mysql -postgesql
+.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != ${suffix}
+CONFLICTS+=	${PKGNAMEPREFIX}${PORTNAME}${suffix}*
+.endif
+.endfor
+
 LIB_DEPENDS=	iconv.3:${PORTSDIR}/converters/libiconv
 
 USE_BZIP2=	yes
 USE_PERL5=	yes
+USE_REINPLACE=	yes
 MAN8=		exim.8
 
 PORTDOC_FILES=	ChangeLog Exim3.upgrade Exim4.upgrade NewStuff \
 		OptionLists.txt README README.SIEVE dbm.discuss.txt \
 		filter.txt pcrepattern.txt pcretest.txt spec.txt
 
+PORT_EXAMPLES=	convert4r3 convert4r4 transport-filter.pl
+
 DAILY_SCRIPTS=	150.exim-tidydb 460.exim-mail-rejects
 
-EXISCAN_ACL_VERSION=	${PORTVERSION}-12
+EXISCAN_VERSION=	${PORTVERSION}-12
 
-PLIST_SUB+=	EXIM_VERSION="${PORTVERSION}"
+PLIST_SUB+=	EXIM_VERSION="${PORTVERSION}-${PORTREVISION}"
 
 .if defined(NOPORTDOCS)
 PKGMESSAGE=	${WRKDIR}/POST-INSTALL-NOTES
@@ -61,8 +72,12 @@
 # Define WITH_TCP_WRAPPERS, WITH_MYSQL, and WITH_PGSQL to link against
 # libwrap, liblibmysqlclient and libpq respectively.  Define
 # WITH_SASLAUTHD to enable use of the Cyrus SASL authentication daemon.
+# Define WITH_MYSQL_VER to specify a particular version of MySQL to
+# use.  Valid values are currently 323, 40 and 41.  Defining WITH_MYSQL_VER
+# implies WITH_MYSQL.
 #WITH_TCP_WRAPPERS=	yes
 #WITH_MYSQL=		yes
+#WITH_MYSQL_VER=	40
 #WITH_PGSQL=		yes
 #WITH_SASLAUTHD=	yes
 
@@ -80,18 +95,24 @@
 # be necessary.
 #WITHOUT_IPV6=		yes
 
-# Define WITH_OPENLDAP1, WITH_OPENLDAP20 or WITH_OPENLDAP21 to link
-# against the respective OpenLDAP library.
+# Define WITH_OPENLDAP or WITH_OPENLDAP_VER to link against libldap.
+# Define WITH_OPENLDAP_VER to specify a particular version of
+# OpenLDAP to use. Valid values are currently 12, 20, 21 and 22.
+# Defining WITH_OPENLDAP_VER implies WITH_OPENLDAP.
 # Exim also supports NETSCAPE and SOLARIS7 lookup types, but no
 # client libraries exist for these in the ports tree.
-#WITH_OPENLDAP1=	yes
-#WITH_OPENLDAP20=	yes
-#WITH_OPENLDAP21=	yes
+#WITH_OPENLDAP=		yes
+#WITH_OPENLDAP_VER=	21
 
-# DB_LIB_VERSION is the version of the Berkeley DB library to use, and
+# WITH_BDB_VER is the version of the Berkeley DB library to use, and
 # may be 1, which corresponds to version 1.85 in the base system, 4 or
 # 41 which depends on the databases/db4 or databases/db41 port.
-DB_LIB_VERSION?=1
+WITH_BDB_VER?=1
+
+# When Exim is decoding MIME "words" in header lines it converts any foreign
+# character sets to the one that is set in the headers_charset option.
+# The default setting is defined by this setting:
+WITH_DEFAULT_CHARSET?=	ISO-8859-1
 
 # The following options may be defined to turn off support for various
 # features that this port enables by default.
@@ -128,6 +149,9 @@
 # transport.
 #WITHOUT_LMTP=		yes
 #
+# Allow alternate configuration files not only in ${PREFIX}/etc/exim
+#WITHOUT_ALT_CONFIG_PREFIX=	yes
+#
 # Include the unsupported patches in ${PATCHDIR}/wishlist-*.patch
 #WITH_WISHLIST=		yes
 
@@ -155,6 +179,7 @@
 
 SED_SCRIPT=	-e 's,%%PREFIX%%,${PREFIX},g' \
 		-e 's,%%DOCSDIR%%,${DOCSDIR},g' \
+		-e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \
 		-e 's,%%RC_SUBR%%,${RC_SUBR},g' \
 		-e 's,%%RC_DIR%%,${RC_DIR},g' \
 		-e 's,%%RC_SUFX%%,${RC_SUFX},g'
@@ -173,10 +198,13 @@
 WITHOUT_IPV6=	yes
 .endif
 
-SEDLIST=	-e 's,XX_PREFIX_XX,${PREFIX},'
+SEDLIST=	-e 's,XX_PREFIX_XX,${PREFIX},' \
+		-e 's,XX_LOCALBASE_XX,${LOCALBASE},' \
+		-e 's,XX_DEFAULT_CHARSET_XX,${WITH_DEFAULT_CHARSET},'
 
 .if !defined(WITHOUT_TLS)
 SEDLIST+=	-e 's,^\# SUPPORT_TLS=,SUPPORT_TLS=,'
+USE_OPENSSL=	yes
 .else
 SEDLIST+=	-e 's,^TLS_LIBS=,\#TLS_LIBS=,'
 .endif
@@ -192,38 +220,24 @@
 SEDLIST+=	-e 's,XX_TCP_WRAPPERS_LIBS_XX,,'
 .endif
 
-.if defined(WITH_LDAP)
-LDAP_LIB_TYPE?=OPENLDAP1
-.if (${LDAP_LIB_TYPE} == OPENLDAP1) || (${LDAP_LIB_TYPE} == UMICHIGAN)
-WITH_OPENLDAP1=	yes
-.elif ${LDAP_LIB_TYPE} == OPENLDAP2
-WITH_OPENLDAP2=	yes
-.else
-.error LDAP_LIB_TYPE must be either OPENLDAP1 or OPENLDAP2
-.endif
+.if defined(WITH_LDAP) || defined(LDAP_LIB_TYPE) \
+	|| defined(WITH_OPENLDAP1) || defined(WITH_OPENLDAP2) \
+	|| defined(WITH_OPENLDAP20) || defined(WITH_OPENLDAP21)
+BROKEN=		deprecated LDAP option defined, use WITH_OPENLDAP or WITH_OPENLDAP_VER
 .endif
 
-.if defined(WITH_OPENLDAP1) && ( defined(WITH_OPENLDAP2) || \
-	defined(WITH_OPENLDAP20) || defined(WITH_OPENLDAP21) )
-.error please select only one OpenLDAP version
-.elif defined(WITH_OPENLDAP20) && defined(WITH_OPENLDAP21)
-.error OpenLDAP 2.0 and 2.1 are mutually exclusive
+.if defined(WITH_OPENLDAP_VER)
+WITH_OPENLDAP=		yes
+WANT_OPENLDAP_VER=	${WITH_OPENLDAP_VER}
 .endif
 
-.if defined(WITH_OPENLDAP21)
-LDAP_LIB_TYPE=	OPENLDAP2
-LIB_DEPENDS+=	lber.2:${PORTSDIR}/net/openldap21-client
-.elif defined(WITH_OPENLDAP2) || defined(WITH_OPENLDAP20)
-LDAP_LIB_TYPE=	OPENLDAP2
-LIB_DEPENDS+=	lber.2:${PORTSDIR}/net/openldap20-client
-.elif defined(WITH_OPENLDAP1)
+.if defined(WITH_OPENLDAP)
+USE_OPENLDAP=	yes
+.if defined(WANT_OPENLDAP_VER) && ${WANT_OPENLDAP_VER} == 12
 LDAP_LIB_TYPE=	OPENLDAP1
-LIB_DEPENDS+=	lber.1:${PORTSDIR}/net/openldap12
-.elif defined(LDAP_LIB_TYPE)
-.error please choose the OpenLDAP version you want to use
+.else
+LDAP_LIB_TYPE=	OPENLDAP2
 .endif
-
-.if defined(LDAP_LIB_TYPE)
 SEDLIST+=	-e 's,XX_LDAP_LIBS_XX,-L${LOCALBASE}/lib -llber -lldap,' \
 		-e 's,XX_LDAP_INCLUDE_XX,-I${LOCALBASE}/include,' \
 		-e 's,XX_LDAP_TYPE_XX,${LDAP_LIB_TYPE},' \
@@ -233,26 +247,35 @@
 		-e 's,^LDAP_LIB_TYPE=,\#LDAP_LIB_TYPE=,'
 .endif
 
-.if (${DB_LIB_VERSION} == 1)
+.if defined(DB_LIB_VERSION)
+BROKEN=		deprecated option DB_LIB_VERSION used, use WITH_BDB_VER
+.endif
+
+.if ${WITH_BDB_VER} == 1
 DB_LIBS=
 DB_INCLUDES=
 SEDLIST+=	-e 's,^DBMLIB=,\#DBMLIB=,'
-.elif (${DB_LIB_VERSION} == 4)
+.elif (${WITH_BDB_VER} == 4)
 DB_LIBS=	-L${LOCALBASE}/lib -ldb4
 DB_INCLUDES=	-I${LOCALBASE}/include/db4
 LIB_DEPENDS+=	db4.0:${PORTSDIR}/databases/db4
-.elif (${DB_LIB_VERSION} == 41)
+.elif (${WITH_BDB_VER} == 41)
 DB_LIBS=	-L${LOCALBASE}/lib -ldb41
 DB_INCLUDES=	-I${LOCALBASE}/include/db41
 LIB_DEPENDS+=	db41.1:${PORTSDIR}/databases/db41
 .else
-.error DB_LIB_VERSION must be either 1, 4 or 41
+BROKEN=		WITH_BDB_VER must be either 1, 4 or 41
 .endif
 SEDLIST+=	-e 's,XX_DB_LIBS_XX,${DB_LIBS},' \
 		-e 's,XX_DB_INCLUDES_XX,${DB_INCLUDES},'
 
+.if defined(WITH_MYSQL_VER)
+WITH_MYSQL=	yes
+WANT_MYSQL_VER=	${WITH_MYSQL_VER}
+.endif
+
 .if defined(WITH_MYSQL)
-LIB_DEPENDS+=	mysqlclient.10:${PORTSDIR}/databases/mysql323-client
+USE_MYSQL=	yes
 SEDLIST+=	-e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE}/lib/mysql -lmysqlclient,' \
 		-e 's,XX_MYSQL_INCLUDE_XX,-I${LOCALBASE}/include/mysql,' \
 		-e 's,^\# LOOKUP_MYSQL=,LOOKUP_MYSQL=,'
@@ -304,7 +327,7 @@
 .endif
 
 .if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(LDAP_LIB_TYPE) && \
-    ${DB_LIB_VERSION} == 1
+    ${WITH_BDB_VER} == 1
 SEDLIST+=	-e 's,^LOOKUP_LIBS=,\#LOOKUP_LIBS=,' \
 		-e 's,^LOOKUP_INCLUDE=,\#LOOKUP_INCLUDE=,'
 .endif
@@ -341,7 +364,52 @@
 SEDLIST+=	-e 's,^\# TRANSPORT_LMTP=,TRANSPORT_LMTP=,'
 .endif
 
+.if defined(WITHOUT_ALT_CONFIG_PREFIX)
+SEDLIST+=	-e 's,^\ALT_CONFIG_PREFIX=,# ALT_CONFIG_PREFIX=,'
+.endif
+
 pre-everything::
+	@${ECHO} "============================================================="
+	@${ECHO}
+	@${ECHO} "You can build ${PKGNAME} with the following options:"
+	@${ECHO}
+	@${ECHO} "WITH_EXIMON                with eximon, the exim monitor (requires XFree86)"
+	@${ECHO} "WITHOUT_EXISCAN            without exiscan-acl (email content scanner)"
+	@${ECHO} "WITH_TCP_WRAPPERS          with tcp wrappers (hosts_options(5))"
+	@${ECHO}
+	@${ECHO} "WITH_DEFAULT_CHARSET       select header conversion target charset (ISO-8859-1)"
+	@${ECHO} "WITH_BDB_VER               select BerkeleyDB library version, default 1"
+	@${ECHO} "WITHOUT_PERL               without embedded Perl"
+	@${ECHO} "WITHOUT_TLS                without TLS/SSL encryption support"
+	@${ECHO} "WITHOUT_IPV6               without IPv6 support"
+	@${ECHO} "WITHOUT_LMTP               without LMTP transport"
+	@${ECHO} "WITHOUT_ALT_CONFIG_PREFIX  accept config files everywhere (possible security hole)"
+	@${ECHO}
+	@${ECHO} "WITH_OPENLDAP              with OpenLDAP lookup"
+	@${ECHO} "WITH_OPENLDAP_VER          select OpenLDAP client library version, default 21"
+	@${ECHO} "WITH_MYSQL                 with MySQL lookup"
+	@${ECHO} "WITH_MYSQL_VER             select MySQL client library version, default 40"
+	@${ECHO} "WITH_PGSQL                 with PostgrSQL lookup"
+	@${ECHO} "POSTGRESQL_PORT            select PostgreSQL port, default databases/postgresql7"
+	@${ECHO} "WITHOUT_CDB                without cdb lookup"
+	@${ECHO} "WITHOUT_DSEARCH            without dsearch lookup"
+	@${ECHO} "WITHOUT_WILDLSEARCH        without wildlsearch lookup"
+	@${ECHO} "WITHOUT_NIS                without nis lookup"
+	@${ECHO}
+	@${ECHO} "WITH_SASLAUTHD             with Cyrus saslauthd authentication"
+	@${ECHO} "WITHOUT_PAM                without PAM authentication"
+	@${ECHO} "WITHOUT_AUTH_PLAINTEXT     without plaintext authentication"
+	@${ECHO} "WITHOUT_AUTH_CRAM_MD5      without CRAM-MD5 authentication"
+	@${ECHO} "WITHOUT_AUTH_SPA           without SPA/NTLM authentication"
+	@${ECHO}
+	@${ECHO} "WITHOUT_MAILDIR            without maildir format delivery"
+	@${ECHO} "WITHOUT_MAILSTORE          without mailstore format delivery"
+	@${ECHO} "WITHOUT_MBX                without mailbox format delivery"
+	@${ECHO}
+	@${ECHO} "WITH_WISHLIST              apply extra wishlist patches"
+	@${ECHO}
+	@${ECHO} "============================================================="
+	@${ECHO}
 .if empty(.MAKEFLAGS:M-s) && defined(WITH_WISHLIST)
 	@${ECHO} ''
 	@${ECHO} 'Included extra patches:'
@@ -351,9 +419,27 @@
 .endif
 
 do-configure:
-	${MKDIR} ${WRKSRC}/Local
-	${SED} ${SEDLIST} ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
+	@${MKDIR} ${WRKSRC}/Local
+	@${SED} ${SEDLIST} ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
+	@${REINPLACE_CMD} -e 's/"(Exim $$version_number)\\n\\t"/"(Exim $$version_number; ${OPSYS} ${OSREL})\\n\\t"/' \
+		${WRKSRC}/src/globals.c
+	@${REINPLACE_CMD} -e 's/^#include "cnumber\.h"$$/${PORTREVISION}/' ${WRKSRC}/src/version.c
 
+##### BEGIN REMOVE ME !!! #####
+.if !defined(WITHOUT_EXISCAN)
+pre-patch:
+.if !defined(I_WANT_EXISCAN_4_22)
+	@${ECHO_CMD} "exiscan-acl-4.24 is not ready, define WITHOUT_EXISCAN or I_WANT_EXISCAN_4_22."
+	@${FALSE}
+.endif
+	@${BZCAT} ${_DISTDIR}/exiscan-acl-4.22-12.patch.bz2 \
+		> ${WRKDIR}/exiscan-acl-4.22-12.patch
+	@${PATCH} -d ${WRKDIR} -p0 <${FILESDIR}/exiscan-acl-4.22-12.patch.patch
+	@${PATCH} ${PATCH_DIST_ARGS} <${WRKDIR}/exiscan-acl-4.22-12.patch
+.undef PATCHFILES
+.endif
+
+##### END REMOVE ME !!! #####
 post-build:
 .for script in exim ${DAILY_SCRIPTS}
 	@${SED} ${SED_SCRIPT} ${FILESDIR}/${script}.sh > ${WRKDIR}/${script}.sh
@@ -378,17 +464,21 @@
 .endfor
 	@[ -f ${PREFIX}/etc/exim/configure ] || \
 		${CP} ${PREFIX}/etc/exim/configure.default ${PREFIX}/etc/exim/configure
+.for manfile in ${MAN8}
+	@${INSTALL_MAN} ${WRKSRC}/doc/${manfile} ${MAN8PREFIX}/man/man8
+.endfor
 .if !defined(NOPORTDOCS)
-	${MKDIR} ${DOCSDIR}
-	${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES ${DOCSDIR}
+	@${MKDIR} ${DOCSDIR}
+	@${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES ${DOCSDIR}
 .if !defined(WITHOUT_EXISCAN)
-	${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES.clamd ${DOCSDIR}
+	@${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES.clamd ${DOCSDIR}
 .endif
 .for docfile in ${PORTDOC_FILES}
-	${INSTALL_DATA} ${WRKSRC}/doc/${docfile} ${DOCSDIR}
+	@${INSTALL_DATA} ${WRKSRC}/doc/${docfile} ${DOCSDIR}
 .endfor
-.for manfile in ${MAN8}
-	${INSTALL_MAN} ${WRKSRC}/doc/${manfile} ${MAN8PREFIX}/man/man8
+	@${MKDIR} ${EXAMPLESDIR}
+.for example in ${PORT_EXAMPLES}
+	@${INSTALL_SCRIPT} ${WRKSRC}/build-${OPSYS}-${MACHINE_ARCH}/${example} ${EXAMPLESDIR}
 .endfor
 .endif
 	@${CAT} ${PKGMESSAGE}
diff -Nur mail/exim/distinfo.orig mail/exim/distinfo
--- mail/exim/distinfo.orig	Thu Sep  4 16:56:01 2003
+++ mail/exim/distinfo	Mon Sep 22 17:37:11 2003
@@ -1,2 +1,2 @@
-MD5 (exim/exim-4.22.tar.bz2) = 938ae799c08ed1899dd27fd50d48f4e5
+MD5 (exim/exim-4.24.tar.bz2) = 2d6c1a6d150c68330ba489246ac617ce
 MD5 (exim/exiscan-acl-4.22-12.patch.bz2) = 02e5e6f92b98b44d4048fc9dee6f2705
diff -Nur mail/exim/files/POST-INSTALL-NOTES.orig mail/exim/files/POST-INSTALL-NOTES
--- mail/exim/files/POST-INSTALL-NOTES.orig	Wed Sep 10 15:49:09 2003
+++ mail/exim/files/POST-INSTALL-NOTES	Mon Sep 22 17:35:10 2003
@@ -1,16 +1,22 @@
 The following documentation has been installed:
 
-    info Exim			-> Exim Specification (User Guide)
-    info 'Exim Filtering'	-> Exim Filter Specification (for end-users)
+  man exim                              -> Exim options (command line)
+  %%DOCSDIR%%/spec.txt    -> Exim Specification (User Guide)
+  %%DOCSDIR%%/filter.txt  -> Exim Filter Specification (for end-users)
 
-In addition, plain text versions of these documents have been installed
-as:
+Postscript, PDF, HTML and texinfo versions of these documents can be
+installed via one of the mail/exim-doc-* ports.
 
-    %%DOCSDIR%%/filter.txt
-    %%DOCSDIR%%/spec.txt
+An online version as well as a comprehensive FAQ and a mailing list
+archive is available at:
 
-Postscript, PDF, HTML and plain text versions of these documents, as well
-as a comprehensive FAQ list, are available at http://www.exim.org/ .
+  http://www.exim.org/
+
+Descriptions of new features not available it the manual, and a listing
+of all changes, including bug fixes are documented in:
+
+  %%DOCSDIR%%/NewStuff
+  %%DOCSDIR%%/ChangeLog
 
 To use Exim instead of sendmail on startup:
 
@@ -25,8 +31,8 @@
 
 You may also want to configure newsyslog(8) to rotate Exim log files:
 
-/var/log/exim/mainlog	mailnull:mail 640 7 * @T00 Z
-/var/log/exim/rejectlog	mailnull:mail 640 7 * @T00 Z
+/var/log/exim/mainlog	mailnull:mail 640 7 * @T00 ZN
+/var/log/exim/rejectlog	mailnull:mail 640 7 * @T00 ZN
 
 NOTE TO OPERATORS UPGRADING FROM exim-3.xx:
 
@@ -39,3 +45,6 @@
 %%DOCSDIR%%/Exim4.upgrade, and allow some time to complete
 the upgrade.
 
+Additional scripts to help upgrading are installed in:
+
+  %%EXAMPLESDIR%%
diff -Nur mail/exim/files/exiscan-acl-4.22-12.patch.patch.orig mail/exim/files/exiscan-acl-4.22-12.patch.patch
--- mail/exim/files/exiscan-acl-4.22-12.patch.patch.orig	Thu Jan  1 01:00:00 1970
+++ mail/exim/files/exiscan-acl-4.22-12.patch.patch	Mon Sep 22 17:38:28 2003
@@ -0,0 +1,68 @@
+--- exiscan-acl-4.22-12.patch.orig	Fri Sep 19 20:13:21 2003
++++ exiscan-acl-4.22-12.patch	Fri Sep 19 20:13:48 2003
+@@ -2903,7 +2903,7 @@
+  int     expand_forbid          = 0;
+  int     expand_nlength[EXPAND_MAXN+1];
+  int     expand_nmax            = -1;
+-@@ -442,12 +447,14 @@
++@@ -442,13 +447,15 @@
+  BOOL    extract_addresses_remove_arguments = TRUE;
+  uschar *extra_local_interfaces = NULL;
+  
+@@ -2914,6 +2914,7 @@
+  uschar *filter_test            = NULL;
+  uschar *filter_thisaddress     = NULL;
+  int     finduser_retries       = 0;
++ uid_t   fixed_never_users[]    = { FIXED_NEVER_USERS };
+ +uschar *found_extension        = NULL;
+  uschar *freeze_tell            = NULL;
+  
+@@ -2975,7 +2976,7 @@
+  extern int     expand_forbid;          /* RDO flags for forbidding things */
+  extern int     expand_nlength[];       /* Lengths of numbered strings */
+  extern int     expand_nmax;            /* Max numerical value */
+-@@ -249,12 +254,14 @@
++@@ -249,13 +254,15 @@
+  extern BOOL    extract_addresses_remove_arguments; /* Controls -t behaviour */
+  extern uschar *extra_local_interfaces; /* Local, non-listen interfaces */
+  
+@@ -2986,6 +2987,7 @@
+  extern uschar *filter_test;            /* Run as a filter tester on this file */
+  extern uschar *filter_thisaddress;     /* For address looping */
+  extern int     finduser_retries;       /* Retry count for getpwnam() */
++ extern uid_t   fixed_never_users[];    /* Can't be overridden */
+ +extern uschar *found_extension;        /* demime acl condition: file extension found */
+  extern uschar *freeze_tell;            /* Message on (some) freezings */
+  
+@@ -4676,14 +4678,14 @@
+  received_protocol = NULL;
+  recipients_list = NULL;
+ @@ -347,6 +349,8 @@
+-       local_error_message = TRUE;
+-     else if (Ustrncmp(big_buffer, "-local_scan ", 12) == 0)
+-       local_scan_data = string_copy(big_buffer + 12);
+-+    else if (Ustrncmp(big_buffer, "-spam_score_int ", 16) == 0)
+-+      spam_score_int = string_copy(big_buffer + 16);
+-     else if (Ustrcmp(big_buffer, "-host_lookup_failed") == 0)
+-       host_lookup_failed = TRUE;
+-     else if (Ustrncmp(big_buffer, "-body_linecount", 15) == 0)
++    local_error_message = TRUE;
++   else if (Ustrncmp(big_buffer, "-local_scan ", 12) == 0)
++     local_scan_data = string_copy(big_buffer + 12);
+++  else if (Ustrncmp(big_buffer, "-spam_score_int ", 16) == 0)
+++    spam_score_int = string_copy(big_buffer + 16);
++   else if (Ustrcmp(big_buffer, "-host_lookup_failed") == 0)
++     host_lookup_failed = TRUE;
++   else if (Ustrncmp(big_buffer, "-body_linecount", 15) == 0)
+ diff -urN exim-4.22-orig/src/spool_mbox.c exim-4.22/src/spool_mbox.c
+ --- exim-4.22-orig/src/spool_mbox.c	Thu Jan  1 01:00:00 1970
+ +++ exim-4.22/src/spool_mbox.c	Thu Aug 28 10:21:09 2003
+@@ -7468,7 +7470,7 @@
+ @@ -11,7 +11,7 @@
+  
+  
+- #define THIS_VERSION  "4.22"
++ #define THIS_VERSION  "4.24"
+ -
+ +#define EXISCAN_VERSION "12"
+  
diff -Nur mail/exim/files/patch-src::EDITME.orig mail/exim/files/patch-src::EDITME
--- mail/exim/files/patch-src::EDITME.orig	Mon Aug 18 19:19:58 2003
+++ mail/exim/files/patch-src::EDITME	Mon Sep 22 17:35:10 2003
@@ -1,5 +1,5 @@
---- src/EDITME.orig	Mon Aug 18 14:52:52 2003
-+++ src/EDITME	Mon Aug 18 17:34:17 2003
+--- src/EDITME.orig	Mon Sep 15 12:47:55 2003
++++ src/EDITME	Sat Sep 20 17:08:19 2003
 @@ -98,7 +98,7 @@
  # /usr/local/sbin. The installation script will try to create this directory,
  # and any superior directories, if they do not exist.
@@ -35,7 +35,7 @@
  
  # Many sites define a user called "exim", with an appropriate default group,
  # and use
-@@ -265,6 +265,7 @@
+@@ -267,6 +267,7 @@
  # LDAP_LIB_TYPE=OPENLDAP2
  # LDAP_LIB_TYPE=NETSCAPE
  # LDAP_LIB_TYPE=SOLARIS
@@ -43,20 +43,20 @@
  
  # If you don't set any of these, Exim assumes the original University of
  # Michigan (OpenLDAP 1) library.
-@@ -277,8 +278,10 @@
- # don't need to set LOOKUP_INCLUDE if the relevant directories are already
- # specified in INCLUDE.
+@@ -280,8 +281,10 @@
+ # specified in INCLUDE. The settings below are just examples; -lpq is for
+ # PostgreSQL, -lgds is for Interbase.
  
 -# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
--# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq
-+INCLUDE=-IXX_PREFIX_XX/include XX_DB_INCLUDES_XX
+-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds
++INCLUDE=-IXX_LOCALBASE_XX/include XX_DB_INCLUDES_XX
 +LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
 +LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX
 +DBMLIB=XX_DB_LIBS_XX
  
- 
  #------------------------------------------------------------------------------
-@@ -289,7 +292,7 @@
+ # Compiling the Exim monitor: If you want to compile the Exim monitor, a
+@@ -291,7 +294,7 @@
  # files are defaulted in the OS/Makefile-Default file, but can be overridden in
  # local OS-specific make files.
  
@@ -65,7 +65,24 @@
  
  
  
-@@ -393,7 +396,7 @@
+@@ -332,6 +335,7 @@
+ 
+ # ALT_CONFIG_PREFIX=/some/directory/
+ # ALT_CONFIG_PREFIX=/some/directory/exim.conf-
++ALT_CONFIG_PREFIX=XX_PREFIX_XX/etc/exim/
+ 
+ 
+ #------------------------------------------------------------------------------
+@@ -376,7 +380,7 @@
+ # one that is set in the headers_charset option. The default setting is
+ # defined by this setting:
+ 
+-HEADERS_CHARSET="ISO-8859-1"
++HEADERS_CHARSET="XX_DEFAULT_CHARSET_XX"
+ 
+ # If you are going to make use of $header_xxx expansions in your configuration
+ # file, or if your users are going to use them in filter files, and the normal
+@@ -448,7 +452,7 @@
  # SUPPORT_TLS=yes
  
  # Uncomment this setting if you are using OpenSSL
@@ -74,7 +91,7 @@
  
  # Uncomment these settings if you are using GnuTLS
  # USE_GNUTLS=yes
-@@ -444,7 +447,7 @@
+@@ -499,7 +503,7 @@
  # Once you have done this, "make install" will build the info files and
  # install them in the directory you have defined.
  
@@ -83,7 +100,7 @@
  
  
  #------------------------------------------------------------------------------
-@@ -457,7 +460,7 @@
+@@ -512,7 +516,7 @@
  # %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:
  
@@ -92,7 +109,7 @@
  
  # 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
-@@ -594,12 +597,20 @@
+@@ -649,12 +653,20 @@
  #
  # USE_TCP_WRAPPERS=yes
  # CFLAGS=-O -I/usr/local/include
@@ -115,7 +132,7 @@
  #------------------------------------------------------------------------------
  # The default action of the exim_install script (which is run by "make
  # install") is to install the Exim binary with a unique name such as
-@@ -841,7 +852,7 @@
+@@ -896,7 +908,7 @@
  # (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:
  
diff -Nur mail/exim/files/patch-src::auths::pwcheck.c.orig mail/exim/files/patch-src::auths::pwcheck.c
--- mail/exim/files/patch-src::auths::pwcheck.c.orig	Wed Sep 10 16:48:00 2003
+++ mail/exim/files/patch-src::auths::pwcheck.c	Thu Jan  1 01:00:00 1970
@@ -1,12 +0,0 @@
---- src/auths/pwcheck.c.orig	Wed Sep 10 16:33:51 2003
-+++ src/auths/pwcheck.c	Wed Sep 10 16:34:53 2003
-@@ -210,7 +210,8 @@
-                          CYRUS_SASLAUTHD_SOCKET, strerror(errno));
-        if (reply)
-            *reply = string_sprintf("cannot connect to saslauthd daemon at "
--                                   "%s: %s", strerror(errno));
-+                                   "%s: %s", CYRUS_SASLAUTHD_SOCKET,
-+                                   strerror(errno));
-        return PWCHECK_FAIL;
-     }
- 
diff -Nur mail/exim/files/wishlist-eqi.patch.orig mail/exim/files/wishlist-eqi.patch
--- mail/exim/files/wishlist-eqi.patch.orig	Sat Aug 30 20:02:39 2003
+++ mail/exim/files/wishlist-eqi.patch	Thu Jan  1 01:00:00 1970
@@ -1,90 +0,0 @@
-Return-Path: eikemeier at fillmore-labs.com
-Delivery-Date: Thu, 28 Aug 2003 12:55:40 +0200
-Envelope-to: sheldonh at axl.seasidesoftware.co.za
-Received: from mail1.gambling.com ([207.139.179.10])
-	by axl.seasidesoftware.co.za with esmtp (Exim 4.22)
-	id 19sKQl-000MZl-Qw
-	for sheldonh at axl.seasidesoftware.co.za; Thu, 28 Aug 2003 12:55:08 +0200
-Received: from mx2.freebsd.org ([216.136.204.119])
-	by mail1.gambling.com with esmtp (Exim 4.21)
-	id 19sKQe-0000zp-LM
-	for sheldonh at starjuice.net; Thu, 28 Aug 2003 06:55:00 -0400
-Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18])
-	by mx2.freebsd.org (Postfix) with ESMTP id DC32F55487
-	for <sheldonh at starjuice.net>; Thu, 28 Aug 2003 03:54:54 -0700 (PDT)
-	(envelope-from eikemeier at fillmore-labs.com)
-Received: by hub.freebsd.org (Postfix)
-	id DBC0016A4C1; Thu, 28 Aug 2003 03:54:54 -0700 (PDT)
-Delivered-To: sheldonh at freebsd.org
-Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
-	by hub.freebsd.org (Postfix) with ESMTP id D8C6F16A4C0
-	for <sheldonh at FreeBSD.org>; Thu, 28 Aug 2003 03:54:54 -0700 (PDT)
-Received: from mx2.fillmore-labs.com (lima.fillmore-labs.com [62.138.193.83])
-	by mx1.FreeBSD.org (Postfix) with ESMTP id CA9D243FDF
-	for <sheldonh at FreeBSD.org>; Thu, 28 Aug 2003 03:54:53 -0700 (PDT)
-	(envelope-from eikemeier at fillmore-labs.com)
-Received: from p5080b7aa.dip.t-dialin.net
-	([80.128.183.170] helo=fillmore-labs.com ident=epdlpdx7p1uekapy)
-	by mx2.fillmore-labs.com with asmtp (TLSv1:AES256-SHA:256)
-	(Exim 4.22)
-	id 19sKQR-000IqS-IX; Thu, 28 Aug 2003 12:54:47 +0200
-Message-ID: <3F4DDF6D.80409 at fillmore-labs.com>
-Date: Thu, 28 Aug 2003 12:54:37 +0200
-From: Oliver Eikemeier <eikemeier at fillmore-labs.com>
-Reply-To: exim-users at exim.org
-MIME-Version: 1.0
-To: exim-users at exim.org
-Cc: Philip Hazel <ph10 at cus.cam.ac.uk>,
-	Sheldon Hearn <sheldonh at FreeBSD.org>
-Subject: Patch for Exim 4 wish list #181 (trivial): Caseless "eq" expansion
- condition
-Content-Type: text/plain; charset=us-ascii; format=flowed
-Content-Transfer-Encoding: 7bit
-X-Authenticated-Sender: eikemeier at fillmore-labs.com
-User-Agent: KMail/1.5.9
-Organization: Fillmore Labs GmbH  <http://www.fillmore-labs.com/>
-X-Complaints-To: abuse at fillmore-labs.com
-X-Spam-Score: 1.1 (+)
-X-Spam-Score: 0.5 (/)
-
-The following patch gives you a 'eqi' operator,
-which is like 'eq', only case-insensitive (ASCII only):
-
---- wishlist-eqi.patch begins here ---
-#
-# (Exim 4 wish list #181) Caseless "eq" expansion condition
-# - eqi = caseless eq
-#
---- src/expand.c.orig	Mon Aug 18 14:52:54 2003
-+++ src/expand.c	Wed Aug 27 14:52:54 2003
-@@ -1482,6 +1482,7 @@
- 
- 
- /* eq:   tests for string equality
-+eqi:     caseless test for string equality
- match:   does a regular expression match and sets up the numerical
-            variables if it succeeds
- crypteq: encrypts plaintext and compares against an encrypted text, using
-@@ -1491,6 +1492,7 @@
- 
- 
- else if (Ustrcmp(name, "eq") == 0 ||
-+         Ustrcmp(name, "eqi") == 0 ||
-          Ustrcmp(name, "match") == 0 ||
-          Ustrcmp(name, "crypteq") == 0 ||
-          !isalpha(name[0]))
-@@ -1565,7 +1567,7 @@
-     break;
- 
-     case 'e':   /* Straight text comparison */
--    *yield = (Ustrcmp(sub[0], sub[1]) == 0) == testfor;
-+    *yield = (((name[2] == 'i')? strcmpic(sub[0], sub[1]) : Ustrcmp(sub[0], sub[1])) == 0) == testfor;
-     break;
- 
-     case 'm':   /* Regular expression match */
---- wishlist-eqi.patch ends here ---
-
-Regrads
-    Oliver
-
-
diff -Nur mail/exim/pkg-plist.orig mail/exim/pkg-plist
--- mail/exim/pkg-plist.orig	Wed Sep 10 15:49:08 2003
+++ mail/exim/pkg-plist	Mon Sep 22 17:35:10 2003
@@ -1,7 +1,7 @@
 @comment $FreeBSD: ports/mail/exim/pkg-plist,v 1.32 2003/09/10 13:49:08 sheldonh Exp $
 @unexec [ ! -f /var/run/exim.pid ] || %%RC_DIR%%/exim%%RC_SUFX%% stop || true
 sbin/exim
-sbin/exim-%%EXIM_VERSION%%-1
+sbin/exim-%%EXIM_VERSION%%
 sbin/exim_checkaccess
 sbin/exim_dumpdb
 sbin/exim_fixdb
@@ -32,6 +32,10 @@
 %%PORTDOCS%%%%DOCSDIR%%/pcretest.txt
 %%PORTDOCS%%%%DOCSDIR%%/spec.txt
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTDOCS%%%%EXAMPLESDIR%%/convert4r3
+%%PORTDOCS%%%%EXAMPLESDIR%%/convert4r4
+%%PORTDOCS%%%%EXAMPLESDIR%%/transport-filter.pl
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
 etc/periodic/daily/150.exim-tidydb
 etc/periodic/daily/460.exim-mail-rejects
 @unexec rmdir %D/etc/periodic/daily 2>/dev/null || true
--- exim-4.24.patch ends here ---

--- exim-ldap2-4.23.patch begins here ---
diff -Nur mail/exim-ldap2/Makefile.orig mail/exim-ldap2/Makefile
--- mail/exim-ldap2/Makefile.orig    Tue Jul  3 13:21:50 2001
+++ mail/exim-ldap2/Makefile    Sat Sep 20 17:50:43 2003
@@ -8,7 +8,6 @@
PKGNAMESUFFIX=    -ldap2
MASTERDIR=    ${.CURDIR}/../exim
 
-WITH_LDAP=    yes
-LDAP_LIB_TYPE=    OPENLDAP2
+WITH_OPENLDAP=    yes
 
.include "${MASTERDIR}/Makefile"
--- exim-ldap2-4.23.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list