Merge ~mitchdz/ubuntu/+source/exim4:merge-lp2018070-mantic into ubuntu/+source/exim4:ubuntu/devel

Proposed by Mitchell Dzurick
Status: Superseded
Proposed branch: ~mitchdz/ubuntu/+source/exim4:merge-lp2018070-mantic
Merge into: ubuntu/+source/exim4:ubuntu/devel
Diff against target: 206 lines (+77/-99) (has conflicts)
4 files modified
debian/changelog (+30/-0)
debian/patches/75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch (+46/-0)
debian/patches/series (+1/-0)
dev/null (+0/-99)
Conflict in debian/changelog
Reviewer Review Type Date Requested Status
Canonical Server Reporter Pending
Review via email: mp+443353@code.launchpad.net

This proposal has been superseded by a proposal from 2023-05-22.

Description of the change

PPA - https://launchpad.net/~mitchdz/+archive/ubuntu/exim4-merge-lp2018070

autopkgtest results using mantic
autopkgtest [06:49:43]: test basic: -----------------------]
autopkgtest [06:49:44]: test basic: - - - - - - - - - - results - - - - - - - - - -
basic PASS
autopkgtest [06:49:44]: @@@@@@@@@@@@@@@@@@@@ summary
basic PASS

To post a comment you must log in.

Unmerged commits

3c5b120... by Mitchell Dzurick

changelog

3d1b4fd... by Mitchell Dzurick

update-maintainer

0b48d0e... by Mitchell Dzurick

reconstruct-changelog

4a073ea... by Mitchell Dzurick

merge-changelogs

798eea3... by Bryce Harrington

    - Disable external SPF support to avoid Build-Depends on libspf2-dev
      (only available in universe). SPF can still be implemented via
      spf-tools-perl, as documented in exim4.conf.template. This reverts
      Vcs-Git commit 494f1fe, first released in 4.95~RC0-1.
       + d/control: drop Build-Depends on libspf2-dev.
       + d/d/c/a/30_exim4-config_check_rcpt: restore SPF logic based
         on spfquery.mail-spf-perl from spf-tools-perl.
       + d/EDITME.exim4-heavy.diff: disable support for libspf2.

b32515d... by Bryce Harrington

    - Show Ubuntu distribution in SMTP banner
      + d/p/fix_smtp_banner.patch: Show Ubuntu distribution
        in SMTP banner.
      + Build-Depends on lsb-release to detect Distribution.

9f68587... by Andreas Metzler <email address hidden>

4.96-15 (patches unapplied)

Imported using git-ubuntu import.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 7f0e894..0ee5314 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,33 @@
6+<<<<<<< debian/changelog
7+=======
8+exim4 (4.96-15ubuntu1) mantic; urgency=medium
9+
10+ * Merge with Debian unstable (LP: #2018070). Remaining changes:
11+ - Show Ubuntu distribution in SMTP banner
12+ + d/p/fix_smtp_banner.patch: Show Ubuntu distribution
13+ in SMTP banner.
14+ + Build-Depends on lsb-release to detect Distribution.
15+ - Disable external SPF support to avoid Build-Depends on libspf2-dev
16+ (only available in universe). SPF can still be implemented via
17+ spf-tools-perl, as documented in exim4.conf.template. This reverts
18+ Vcs-Git commit 494f1fe, first released in 4.95~RC0-1.
19+ + d/control: drop Build-Depends on libspf2-dev.
20+ + d/d/c/a/30_exim4-config_check_rcpt: restore SPF logic based
21+ on spfquery.mail-spf-perl from spf-tools-perl.
22+ + d/EDITME.exim4-heavy.diff: disable support for libspf2.
23+
24+ -- Mitchell Dzurick <mitchell.dzurick@canonical.com> Fri, 19 May 2023 13:32:18 -0700
25+
26+exim4 (4.96-15) unstable; urgency=medium
27+
28+ * Pull from upstream GIT master:
29+ + 75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch
30+ Fix a crash in the smtp transport.
31+ https://bugs.exim.org/show_bug.cgi?id=2996
32+
33+ -- Andreas Metzler <ametzler@debian.org> Wed, 10 May 2023 18:30:35 +0200
34+
35+>>>>>>> debian/changelog
36 exim4 (4.96-14ubuntu1) lunar; urgency=medium
37
38 * Merge with Debian unstable (LP: #2008016). Remaining changes:
39diff --git a/debian/patches/75_42-Fix-run-arg-parsing.patch b/debian/patches/75_42-Fix-run-arg-parsing.patch
40deleted file mode 100644
41index 1a5fc34..0000000
42--- a/debian/patches/75_42-Fix-run-arg-parsing.patch
43+++ /dev/null
44@@ -1,99 +0,0 @@
45-From 44b6e099b76f403a55e77650821f8a69e9d2682e Mon Sep 17 00:00:00 2001
46-From: Jeremy Harris <jgh146exb@wizmail.org>
47-Date: Sat, 3 Dec 2022 23:13:53 +0000
48-Subject: [PATCH] Fix ${run } arg parsing
49-
50-Broken-by: cfe6acff2ddc
51----
52- doc/ChangeLog | 4 ++++
53- src/expand.c | 13 ++++++++++---
54- src/transport.c | 4 +++-
55- test/scripts/0000-Basic/0002 | 2 ++
56- test/stdout/0002 | 2 ++
57- 5 files changed, 21 insertions(+), 4 deletions(-)
58-
59---- a/doc/ChangeLog
60-+++ b/doc/ChangeLog
61-@@ -28,10 +28,14 @@
62- JH/14 Bug 2933: Fix regex substring match variables for null matches. Since 4.96
63- a capture group which obtained no text (eg. "(abc)*" matching zero
64- occurrences) could cause a segfault if the corresponding $<n> was
65- expanded.
66-
67-+JH/15 Fix argument parsing for ${run } expansion. Previously, when an argument
68-+ included a close-brace character (eg. it itself used an expansion) an
69-+ error occurred.
70-+
71-
72-
73- Exim version 4.96
74- -----------------
75-
76---- a/src/expand.c
77-+++ b/src/expand.c
78-@@ -5529,11 +5529,11 @@
79- {
80- FILE * f;
81- const uschar * arg, ** argv;
82- BOOL late_expand = TRUE;
83-
84-- if ((expand_forbid & RDO_RUN) != 0)
85-+ if (expand_forbid & RDO_RUN)
86- {
87- expand_string_message = US"running a command is not permitted";
88- goto EXPAND_FAILED;
89- }
90-
91-@@ -5561,16 +5561,23 @@
92- }
93- s++;
94-
95- if (late_expand) /* this is the default case */
96- {
97-- int n = Ustrcspn(s, "}");
98-+ int n;
99-+ const uschar * t;
100-+ /* Locate the end of the args */
101-+ (void) expand_string_internal(s,
102-+ ESI_BRACE_ENDS | ESI_HONOR_DOLLAR | ESI_SKIPPING, &t, NULL, NULL);
103-+ n = t - s;
104- arg = skipping ? NULL : string_copyn(s, n);
105- s += n;
106- }
107- else
108- {
109-+ DEBUG(D_expand)
110-+ debug_printf_indent("args string for ${run} expand before split\n");
111- if (!(arg = expand_string_internal(s, TRUE, &s, skipping, TRUE, &resetok)))
112- goto EXPAND_FAILED;
113- Uskip_whitespace(&s);
114- }
115- /*{*/
116---- a/src/transport.c
117-+++ b/src/transport.c
118-@@ -2187,10 +2187,12 @@
119- BOOL allow_dollar_recipients = addr && addr->parent
120- && Ustrcmp(addr->parent->address, "system-filter") == 0;
121-
122- for (int i = 0; argv[i]; i++)
123- {
124-+ DEBUG(D_expand) debug_printf_indent("arg %d\n", i);
125-+
126- /* Handle special fudge for passing an address list */
127-
128- if (addr &&
129- (Ustrcmp(argv[i], "$pipe_addresses") == 0 ||
130- Ustrcmp(argv[i], "${pipe_addresses}") == 0))
131-@@ -2361,11 +2363,11 @@
132- }
133- else *errptr = msg;
134- return FALSE;
135- }
136-
137-- if ( f.running_in_test_harness && is_tainted(expanded_arg)
138-+ if ( f.running_in_test_harness && is_tainted(expanded_arg)
139- && Ustrcmp(etext, "queryprogram router") == 0)
140- { /* hack, would be good to not need it */
141- DEBUG(D_transport)
142- debug_printf("SPECIFIC TESTSUITE EXEMPTION: tainted arg '%s'\n",
143- expanded_arg);
144diff --git a/debian/patches/75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch b/debian/patches/75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch
145new file mode 100644
146index 0000000..16b7d6f
147--- /dev/null
148+++ b/debian/patches/75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch
149@@ -0,0 +1,46 @@
150+From a8786a66feb3c003c74551399b345b1634cc6739 Mon Sep 17 00:00:00 2001
151+From: Jeremy Harris <jgh146exb@wizmail.org>
152+Date: Thu, 4 May 2023 15:41:46 +0100
153+Subject: [PATCH 1/3] Fix variable initialisation in smtp transport. Bug 2996
154+
155+---
156+ doc/ChangeLog | 8 ++++++++
157+ src/transports/smtp.c | 2 +-
158+ 2 files changed, 9 insertions(+), 1 deletion(-)
159+
160+--- a/doc/ChangeLog
161++++ b/doc/ChangeLog
162+@@ -54,10 +54,18 @@ JH/20 Fix TLSA lookups. Previously dns_
163+
164+ JH/23 Fix crash in string expansions. Previously, if an empty variable was
165+ immediately followed by an expansion operator, a null-indirection read
166+ was done, killing the process.
167+
168++JH/28 Bug 2996: Fix a crash in the smtp transport. When finding that the
169++ message being considered for delivery was already being handled by
170++ another process, and having an SMTP connection already open, the function
171++ to close it tried to use an uninitialized variable. This would afftect
172++ high-volume sites more, especially when running mailing-list-style loads.
173++ Pollution of logs was the major effect, as the other process delivered
174++ the message. Found and partly investigated by Graeme Fowler.
175++
176+
177+ Exim version 4.96
178+ -----------------
179+
180+ JH/01 Move the wait-for-next-tick (needed for unique message IDs) from
181+--- a/src/transports/smtp.c
182++++ b/src/transports/smtp.c
183+@@ -4950,11 +4950,11 @@ Returns: nothing
184+ void
185+ smtp_transport_closedown(transport_instance *tblock)
186+ {
187+ smtp_transport_options_block * ob = SOB tblock->options_block;
188+ client_conn_ctx cctx;
189+-smtp_context sx;
190++smtp_context sx = {0};
191+ uschar buffer[256];
192+ uschar inbuffer[4096];
193+ uschar outbuffer[16];
194+
195+ /*XXX really we need an active-smtp-client ctx, rather than assuming stdout */
196diff --git a/debian/patches/series b/debian/patches/series
197index d57413f..1c681dd 100644
198--- a/debian/patches/series
199+++ b/debian/patches/series
200@@ -30,5 +30,6 @@
201 75_63-OpenSSL-log-conns-rejected-for-bad-ALPN-with-the-off.patch
202 75_64-DANE-do-not-check-dns_again_means_nonexist-for-TLSA-.patch
203 75_66-Fix-crash-in-expansions.patch
204+75_70-Fix-variable-initialisation-in-smtp-transport.-Bug-2.patch
205 90_localscan_dlopen.dpatch
206 fix_smtp_banner.patch

Subscribers

People subscribed via source and target branches