summaryrefslogtreecommitdiffstats
path: root/debian/patches/75_74-Cancel-early-pipe-on-an-observed-advertising-change.patch
blob: bcec88f81a56f950abbbde1f1ee4ec5702972101 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 4d108e7777e9b8e5fb212c31812fef61529cd414 Mon Sep 17 00:00:00 2001
From: Jeremy Harris <jgh146exb@wizmail.org>
Date: Mon, 12 Jun 2023 22:13:46 +0100
Subject: [PATCH] Cancel early-pipe on an observed advertising change

---
 src/transports/smtp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/transports/smtp.c b/src/transports/smtp.c
index c72028ce9..24ee577a2 100644
--- a/src/transports/smtp.c
+++ b/src/transports/smtp.c
@@ -1111,15 +1111,18 @@ if (pending_EHLO)
       *(tls_out.active.sock < 0
 	? &sx->ehlo_resp.cleartext_features : &sx->ehlo_resp.crypted_features) =
 	  peer_offered;
       *ap = authbits;
       write_ehlo_cache_entry(sx);
       }
     else
+      {
       invalidate_ehlo_cache_entry(sx);
+      sx->early_pipe_active = FALSE;	/* cancel further early-pipe on this conn */
+      }
 
     return OK;		/* just carry on */
     }
 # ifdef EXPERIMENTAL_ESMTP_LIMITS
     /* If we are handling LIMITS, compare the actual EHLO LIMITS values with the
     cached values and invalidate cache if different.  OK to carry on with
     connect since values are advisory. */
-- 
2.40.1