diff options
-rw-r--r-- | debian/changelog | 22 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/debconf/conf.d/acl/30_exim4-config_check_rcpt | 11 | ||||
-rw-r--r-- | debian/manpages/update-exim4defaults.8 | 2 | ||||
-rw-r--r-- | debian/minimaltest | 87 | ||||
-rw-r--r-- | debian/patches/50_localscan_dlopen.dpatch | 52 | ||||
-rw-r--r-- | debian/patches/80_ldap_require_cert-work.diff | 52 | ||||
-rw-r--r-- | debian/patches/81_negatebool.diff | 20 | ||||
-rw-r--r-- | debian/patches/82_dkimpercent.diff | 35 | ||||
-rw-r--r-- | debian/patches/series | 3 | ||||
-rwxr-xr-x | debian/rules | 19 | ||||
-rw-r--r-- | debian/watch | 4 |
12 files changed, 163 insertions, 146 deletions
diff --git a/debian/changelog b/debian/changelog index 50ba99f..0e811e9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,22 @@ -exim4 (4.75-4) UNRELEASED; urgency=low +exim4 (4.76~RC1-2) experimental; urgency=low - * NOT RELEASED YET + * Fix testsuite error. + * Disable verification of DKIM signatures if DC_minimaldns or the (newly + added) DISABLE_DKIM_VERIFY macro are set. Closes: #609764 + * [lintian] Drop useless comments from debian/watch. + + -- Andreas Metzler <ametzler@debian.org> Sun, 08 May 2011 08:58:24 +0200 + +exim4 (4.76~RC1-1) experimental; urgency=low + + * New upstream version. + * Drop superfluous patches. 80_ldap_require_cert-work.diff + 81_negatebool.diff 82_dkimpercent.diff + * [Lintian] Fix grammar error in manpage (spelling-error-in-manpage + update-exim4defaults.8.gz allows to allows one to). + * [debian/minimaltest]: Added. Try to run a minimal functionality test after + building exim. (Currently only supported if the build-system has a + Debian-exim user.) -- Andreas Metzler <ametzler@debian.org> Fri, 06 May 2011 20:27:56 +0200 @@ -3125,7 +3141,7 @@ exim4 (4.14-0.5) experimental; urgency=low * updated version of dlopen patch (Marc Merlin) * don't regenerate files managed by update-exim4.conf on package updates if the local admin had deleted them. - * replace the listenonpublic yes/no question with one that allows to + * replace the listenonpublic yes/no question with one that allows one to specify on which interfaces to listen to (Closes: #190498) * new dc-question for dial-on-demand-users to minimize DNS lookups diff --git a/debian/control b/debian/control index e23e424..2a41a65 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: standard Maintainer: Exim4 Maintainers <pkg-exim4-maintainers@lists.alioth.debian.org> Uploaders: Andreas Metzler <ametzler@debian.org>,Marc Haber <mh+debian-packages@zugschlus.de> Homepage: http://www.exim.org/ -Standards-Version: 3.9.1 +Standards-Version: 3.9.2 Vcs-Svn: svn://svn.debian.org/svn/pkg-exim4/exim/trunk Vcs-Browser: http://svn.debian.org/wsvn/pkg-exim4/exim/trunk/ Build-Depends: debhelper (>= 7.0.15), po-debconf, docbook-xsl, xsltproc, diff --git a/debian/debconf/conf.d/acl/30_exim4-config_check_rcpt b/debian/debconf/conf.d/acl/30_exim4-config_check_rcpt index a3738b3..ac347aa 100644 --- a/debian/debconf/conf.d/acl/30_exim4-config_check_rcpt +++ b/debian/debconf/conf.d/acl/30_exim4-config_check_rcpt @@ -14,6 +14,17 @@ acl_check_rcpt: hosts = : control = dkim_disable_verify + # Do not try to verify DKIM signatures of incoming mail if DC_minimaldns + # or DISABLE_DKIM_VERIFY are set. +.ifdef DC_minimaldns + warn + control = dkim_disable_verify +.else +.ifdef DISABLE_DKIM_VERIFY + warn + control = dkim_disable_verify +.endif +.endif # The following section of the ACL is concerned with local parts that contain # certain non-alphanumeric characters. Dots in unusual places are diff --git a/debian/manpages/update-exim4defaults.8 b/debian/manpages/update-exim4defaults.8 index b004cf4..da74a65 100644 --- a/debian/manpages/update-exim4defaults.8 +++ b/debian/manpages/update-exim4defaults.8 @@ -36,7 +36,7 @@ update\-exim4defaults \- Manage exim4 daemon default file. .SH DESCRIPTION .B update\-exim4defaults -allows to set run parameters for the +allows one to set run parameters for the .B Exim daemon in .I /etc/default/exim4. diff --git a/debian/minimaltest b/debian/minimaltest new file mode 100644 index 0000000..083f6a6 --- /dev/null +++ b/debian/minimaltest @@ -0,0 +1,87 @@ +#!/bin/sh + +set -e + +# Do not run as root +if [ `id -u` = "0" ]; then + echo $0: running with id 0, exiting. + exit 0 +fi + +if ! test -x "$2" ; then + echo "\$2 $2: not exeutable" + exit 1 +fi + +# set up directorytree +if ! echo "$1" | grep -q '^/......' && test -d "$1"; then + echo \$1 needs to be absolute patch + exit 1 +fi + +echo ======================================== +echo running minimal functionality test for binary $2 in directory $1 + +top="$1/eximtest" + +rm -rf $1/eximtest/* +mkdir -p $top/var/log $top/var/spool/db $top/var/spool/input $top/var/spool/msglog $top/var/run $top/var/mail +cat <<EOF > $top/exim4.conf +exim_user = `id -u` +exim_group = `id -g` +log_file_path = $top/var/log/%slog +spool_directory = $top/var/spool +pid_file_path = $top/var/run +primary_hostname = eximtest.example.com +rfc1413_hosts = + +begin routers +eximtest: + driver = accept + transport = writetofile + +begin transports +writetofile: + driver = appendfile + file = $top/var/mail/\$local_part + delivery_date_add + envelope_to_add + return_path_add +EOF + +cat <<EOF > $top/var/mail/compare +From from@eximtest.example.com Sat May 07 12:12:12 2012 +Return-path: <from@eximtest.example.com> +Envelope-to: recip@eximtest.example.com +Delivery-date: Sat, 07 May 2011 12:12:12 +0000 +Received: from buildd by eximtest.example.com with local (Exim 4.44) + (envelope-from <from@eximtest.example.com>) + id msgid + for recip@eximtest.example.com;Sat, 07 May 2011 12:12:12 +0000 +From: Testing Exim <from@eximtest.example.com> +To: Recipient <recip@eximtest.example.com> +Subject: Test Message +Message-Id: <Emsgid@eximtest.example.com> +Date: Sat, 07 May 2011 12:12:12 +0000 + +no body + +EOF + +$2 -C "$top/exim4.conf" -bV +$2 -C "$top/exim4.conf" -be '${if bool{0}{yes}{no}} X ${if !bool{0}{yes}{no}}' +$2 -C "$top/exim4.conf" -bt local +printf 'From: Testing Exim <from@eximtest.example.com>\nTo: Recipient <recip@eximtest.example.com>\nSubject: Test Message\n\nno body\n' | \ +$2 -C "$top/exim4.conf" -odf -oep -oi -t -f from@eximtest.example.com +sed -i -e 's/^From \([^ ]*\) .*/From \1 Sat May 07 12:12:12 2012/' \ + -e 's/^Delivery-date: .*/Delivery-date: Sat, 07 May 2011 12:12:12 +0000/' \ + -e 's/^Received: from [^ ][^ ]* /Received: from buildd /' \ + -e '/^Received:/s/(Exim [^)]*/(Exim 4.44/' \ + -e '/[[:space:]]for /s/;.*/;Sat, 07 May 2011 12:12:12 +0000/' \ + -e '/[[:space:]]id /s/id .*/id msgid/' \ + -e 's/^Message-Id: [^@]*/Message-Id: <Emsgid/' \ + -e 's/^Date: .*/Date: Sat, 07 May 2011 12:12:12 +0000/' \ + $top/var/mail/recip + +diff -u $top/var/mail/recip $top/var/mail/compare +exit 0 diff --git a/debian/patches/50_localscan_dlopen.dpatch b/debian/patches/50_localscan_dlopen.dpatch index 26fdaec..4c260b1 100644 --- a/debian/patches/50_localscan_dlopen.dpatch +++ b/debian/patches/50_localscan_dlopen.dpatch @@ -7,9 +7,9 @@ ## DP: Hudson and then by Marc MERLIN for SA-Exim and minor/major API version ## DP: tracking -diff -NurBbp exim-4.71.orig/src/config.h.defaults exim-4.71/src/config.h.defaults ---- exim-4.71.orig/src/config.h.defaults 2009-11-16 20:50:36.000000000 +0100 -+++ exim-4.71/src/config.h.defaults 2009-11-28 11:02:36.000000000 +0100 +diff -NurBbp a/src/config.h.defaults b/src/config.h.defaults +--- a/src/config.h.defaults 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/config.h.defaults 2011-05-07 08:39:40.000000000 +0200 @@ -27,6 +27,8 @@ it's a default value. */ #define AUTH_VARS 3 @@ -19,10 +19,10 @@ diff -NurBbp exim-4.71.orig/src/config.h.defaults exim-4.71/src/config.h.default #define BIN_DIRECTORY #define CONFIGURE_FILE -diff -NurBbp exim-4.71.orig/src/EDITME exim-4.71/src/EDITME ---- exim-4.71.orig/src/EDITME 2009-11-20 13:18:19.000000000 +0100 -+++ exim-4.71/src/EDITME 2009-11-28 11:02:36.000000000 +0100 -@@ -628,6 +628,21 @@ HEADERS_CHARSET="ISO-8859-1" +diff -NurBbp a/src/EDITME b/src/EDITME +--- a/src/EDITME 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/EDITME 2011-05-07 08:39:40.000000000 +0200 +@@ -694,6 +694,21 @@ HEADERS_CHARSET="ISO-8859-1" #------------------------------------------------------------------------------ @@ -44,10 +44,10 @@ diff -NurBbp exim-4.71.orig/src/EDITME exim-4.71/src/EDITME # The default distribution of Exim contains only the plain text form of the # documentation. Other forms are available separately. If you want to install # the documentation in "info" format, first fetch the Texinfo documentation -diff -NurBbp exim-4.71.orig/src/globals.c exim-4.71/src/globals.c ---- exim-4.71.orig/src/globals.c 2009-11-28 11:01:55.000000000 +0100 -+++ exim-4.71/src/globals.c 2009-11-28 11:02:36.000000000 +0100 -@@ -129,6 +129,9 @@ uschar *tls_verify_certificates= NULL; +diff -NurBbp a/src/globals.c b/src/globals.c +--- a/src/globals.c 2011-05-07 08:37:58.000000000 +0200 ++++ b/src/globals.c 2011-05-07 08:39:40.000000000 +0200 +@@ -122,6 +122,9 @@ uschar *tls_verify_certificates= NULL; uschar *tls_verify_hosts = NULL; #endif @@ -57,10 +57,10 @@ diff -NurBbp exim-4.71.orig/src/globals.c exim-4.71/src/globals.c /* Input-reading functions for messages, so we can use special ones for incoming TCP/IP. The defaults use stdin. We never need these for any -diff -NurBbp exim-4.71.orig/src/globals.h exim-4.71/src/globals.h ---- exim-4.71.orig/src/globals.h 2009-11-16 20:50:37.000000000 +0100 -+++ exim-4.71/src/globals.h 2009-11-28 11:02:36.000000000 +0100 -@@ -89,6 +89,9 @@ extern uschar *tls_verify_certificates;/ +diff -NurBbp a/src/globals.h b/src/globals.h +--- a/src/globals.h 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/globals.h 2011-05-07 08:39:40.000000000 +0200 +@@ -103,6 +103,9 @@ extern uschar *tls_verify_certificates;/ extern uschar *tls_verify_hosts; /* Mandatory client verification */ #endif @@ -70,9 +70,9 @@ diff -NurBbp exim-4.71.orig/src/globals.h exim-4.71/src/globals.h /* Input-reading functions for messages, so we can use special ones for incoming TCP/IP. */ -diff -NurBbp exim-4.71.orig/src/local_scan.c exim-4.71/src/local_scan.c ---- exim-4.71.orig/src/local_scan.c 2009-11-16 20:50:37.000000000 +0100 -+++ exim-4.71/src/local_scan.c 2009-11-28 11:02:36.000000000 +0100 +diff -NurBbp a/src/local_scan.c b/src/local_scan.c +--- a/src/local_scan.c 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/local_scan.c 2011-05-07 08:39:40.000000000 +0200 @@ -7,60 +7,131 @@ /* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -252,9 +252,9 @@ diff -NurBbp exim-4.71.orig/src/local_scan.c exim-4.71/src/local_scan.c +#endif /* DLOPEN_LOCAL_SCAN */ + /* End of local_scan.c */ -diff -NurBbp exim-4.71.orig/src/local_scan.h exim-4.71/src/local_scan.h ---- exim-4.71.orig/src/local_scan.h 2009-11-16 20:50:37.000000000 +0100 -+++ exim-4.71/src/local_scan.h 2009-11-28 11:02:36.000000000 +0100 +diff -NurBbp a/src/local_scan.h b/src/local_scan.h +--- a/src/local_scan.h 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/local_scan.h 2011-05-07 08:39:40.000000000 +0200 @@ -19,6 +19,7 @@ settings, and the store functions. */ #include <stdarg.h> @@ -265,15 +265,15 @@ diff -NurBbp exim-4.71.orig/src/local_scan.h exim-4.71/src/local_scan.h #include "store.h" @@ -192,4 +193,6 @@ extern uschar *string_copy(uschar *); extern uschar *string_copyn(uschar *, int); - extern uschar *string_sprintf(char *, ...); + extern uschar *string_sprintf(const char *, ...); +#pragma GCC visibility pop + /* End of local_scan.h */ -diff -NurBbp exim-4.71.orig/src/readconf.c exim-4.71/src/readconf.c ---- exim-4.71.orig/src/readconf.c 2009-11-16 20:50:37.000000000 +0100 -+++ exim-4.71/src/readconf.c 2009-11-28 11:02:36.000000000 +0100 -@@ -269,6 +269,9 @@ static optionlist optionlist_config[] = +diff -NurBbp a/src/readconf.c b/src/readconf.c +--- a/src/readconf.c 2011-05-06 12:24:14.000000000 +0200 ++++ b/src/readconf.c 2011-05-07 08:39:40.000000000 +0200 +@@ -277,6 +277,9 @@ static optionlist optionlist_config[] = { "local_from_prefix", opt_stringptr, &local_from_prefix }, { "local_from_suffix", opt_stringptr, &local_from_suffix }, { "local_interfaces", opt_stringptr, &local_interfaces }, diff --git a/debian/patches/80_ldap_require_cert-work.diff b/debian/patches/80_ldap_require_cert-work.diff deleted file mode 100644 index 4738db1..0000000 --- a/debian/patches/80_ldap_require_cert-work.diff +++ /dev/null @@ -1,52 +0,0 @@ -From 109066729a54f6ba5c4e8bc174133da33242e930 Mon Sep 17 00:00:00 2001 -From: Phil Pennock <pdp@exim.org> -Date: Tue, 22 Mar 2011 06:43:34 -0400 -Subject: [PATCH] Make ldap_require_cert work (not segfault). - -The clang complaint, which also triggered a gcc complaint, was -legitimate. My first test, which suggested no problem, was flawed. - -This: - ldap_start_tls - ldap_require_cert = demand -would cause a segfault on LDAP lookup. - -fixes bug 230 ---- - doc/doc-txt/ChangeLog | 6 ++++++ - src/src/lookups/ldap.c | 2 +- - 2 files changed, 7 insertions(+), 1 deletions(-) - -diff --git a/doc/ChangeLog b/doc/ChangeLog -index 853f3a5..94952af 100644 ---- a/doc/ChangeLog -+++ b/doc/ChangeLog -@@ -3,6 +3,12 @@ $Cambridge: exim/doc/doc-txt/ChangeLog,v 1.632 2010/06/12 15:21:25 jetmore Exp $ - Change log file for Exim from version 4.21 - ------------------------------------------- - -+Exim version 4.76 -+----------------- -+ -+PP/01 The new ldap_require_cert option would segfault if used. Fixed. -+ -+ - Exim version 4.75 - ----------------- - -diff --git a/src/lookups/ldap.c b/src/lookups/ldap.c -index ddf803e..06b7494 100644 ---- a/src/lookups/ldap.c -+++ b/src/lookups/ldap.c -@@ -481,7 +481,7 @@ if (lcp == NULL) - { - cert_option = LDAP_OPT_X_TLS_TRY; - } -- ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, cert_option); -+ ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, &cert_option); - } - #endif - --- -1.7.2.5 - diff --git a/debian/patches/81_negatebool.diff b/debian/patches/81_negatebool.diff deleted file mode 100644 index 9b77439..0000000 --- a/debian/patches/81_negatebool.diff +++ /dev/null @@ -1,20 +0,0 @@ -From 5ee6f336ce27e7887fdc07ef45e0f3052d3893b0 Mon Sep 17 00:00:00 2001 -From: Phil Pennock <pdp@exim.org> -Date: Tue, 26 Apr 2011 15:02:09 -0400 -Subject: [PATCH 1/2] Cond !bool{}/!bool_lax{} did not negate. Fixed. - -Fixes bug: 1104 - ----------------- -diff --git a/src/expand.c b/src/expand.c -index fece8c1..2e59c40 100644 ---- a/src/expand.c -+++ b/src/expand.c -@@ -2558,7 +2558,7 @@ switch(cond_type) - "value \"%s\"", t); - return NULL; - } -- if (yield != NULL) *yield = (boolvalue != 0); -+ if (yield != NULL) *yield = (boolvalue == testfor); - return s; - } - diff --git a/debian/patches/82_dkimpercent.diff b/debian/patches/82_dkimpercent.diff deleted file mode 100644 index 59e88ac..0000000 --- a/debian/patches/82_dkimpercent.diff +++ /dev/null @@ -1,35 +0,0 @@ -From 337e3505b0e6cd4309db6bf6062b33fa56e06cf8 Mon Sep 17 00:00:00 2001 -From: Tom Kistner <tom@tahini.csx.cam.ac.uk> -Date: Sat, 30 Apr 2011 13:20:17 +0100 -Subject: [PATCH 2/2] Bugzilla #1106: Don't pass DKIM compound log line as format string -Bug-Debian: http://bugs.debian.org/624670 - ---- - src/dkim.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/dkim.c b/src/dkim.c -index e25ff8c..2318cc3 100644 ---- a/src/dkim.c -+++ b/src/dkim.c -@@ -108,7 +108,7 @@ void dkim_exim_verify_finish(void) { - /* Log a line for each signature */ - uschar *logmsg = string_append(NULL, &size, &ptr, 5, - -- string_sprintf( "DKIM: d=%s s=%s c=%s/%s a=%s ", -+ string_sprintf( "d=%s s=%s c=%s/%s a=%s ", - sig->domain, - sig->selector, - (sig->canon_headers == PDKIM_CANON_SIMPLE)?"simple":"relaxed", -@@ -176,7 +176,7 @@ void dkim_exim_verify_finish(void) { - } - - logmsg[ptr] = '\0'; -- log_write(0, LOG_MAIN, (char *)logmsg); -+ log_write(0, LOG_MAIN, "DKIM: %s", logmsg); - - /* Build a colon-separated list of signing domains (and identities, if present) in dkim_signers */ - dkim_signers = string_append(dkim_signers, --- -1.7.2.5 - diff --git a/debian/patches/series b/debian/patches/series index 16487f4..cfc6970 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,6 +9,3 @@ 66_enlarge-dh-parameters-size.dpatch 67_unnecessaryCopt.diff 70_remove_exim-users_references.dpatch -80_ldap_require_cert-work.diff -81_negatebool.diff -82_dkimpercent.diff diff --git a/debian/rules b/debian/rules index 67efb77..68d336f 100755 --- a/debian/rules +++ b/debian/rules @@ -220,7 +220,7 @@ build-indep-stamp: touch build-indep-stamp -build-arch: build-arch-stamp +build-arch: build-arch-stamp test-stamp ifeq ($(buildbasepackages),yes) build-arch-stamp: build-tree/build-exim4-daemon-light/exim $(daemonbinaries) @@ -230,6 +230,23 @@ endif dh_testdir touch build-arch-stamp +test-stamp: build-arch-stamp + # it is not possible to run exim unless the compile-time specified + # user exists. + if id -u Debian-exim ; then \ + echo Debian-exim user found, running minimal testsuite ; \ + chmod +x debian/minimaltest ; \ + rm -rf $(CURDIR)/test ; \ + for i in build-tree/build-exim4-daemon-light/exim \ + $(daemonbinaries) ;\ + do mkdir $(CURDIR)/test && \ + debian/minimaltest $(CURDIR)/test $$i || \ + { echo testsuite error ; exit 1 ; } ; \ + rm -rf $(CURDIR)/test ; \ + done \ + fi + touch $@ + build: build-arch build-indep clean: cleanfiles diff --git a/debian/watch b/debian/watch index f895be4..967efa9 100644 --- a/debian/watch +++ b/debian/watch @@ -1,6 +1,2 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# Site Directory Pattern Version Script version=2 ftp://ftp.exim.org/pub/exim/exim4/exim-(4\.\d+)\.tar\.gz |