summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog22
-rw-r--r--debian/control2
-rw-r--r--debian/debconf/conf.d/acl/30_exim4-config_check_rcpt11
-rw-r--r--debian/manpages/update-exim4defaults.82
-rw-r--r--debian/minimaltest87
-rw-r--r--debian/patches/50_localscan_dlopen.dpatch52
-rw-r--r--debian/patches/80_ldap_require_cert-work.diff52
-rw-r--r--debian/patches/81_negatebool.diff20
-rw-r--r--debian/patches/82_dkimpercent.diff35
-rw-r--r--debian/patches/series3
-rwxr-xr-xdebian/rules19
-rw-r--r--debian/watch4
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