Mailing List Archive

[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #1 from Jeremy Harris <jgh146exb@wizmail.org> ---
If you're going to do cutthrough delivery there is zero point in separately
specifying a recipient callout. Not to say there isn't a bug here, but you are
making it needlessly complex.

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #2 from davidc <david-exim-bugs@infotrek.co.uk> ---
Hi Jeremy,

Doing only cutthrough means the sender only gets "550 Administrative
prohibition" to RCPT rather than any useful error (e-mail address doesn't
exist, user is over quota etc) and I don't see an option to change this.

The specification also mentions a couple of scenarios in which cutthrough
cannot be used, in such cases we would like to at least have already performed
the recipient verification so we can reject, rather than queue and then bounce.

I forgot to mention above, in case it is not obvious, removing "hold" from the
verification options means everything works fine. (Although weirdly it then
makes *three* separate SMTP connections with the target host, two verifications
for the same recipient and then one for the actual message. But this is a
suitable workaround for now).

Thanks
David

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #3 from Jeremy Harris <jgh146exb@wizmail.org> ---
(In reply to davidc from comment #2)
> Doing only cutthrough means the sender only gets "550 Administrative
> prohibition" to RCPT rather than any useful error (e-mail address doesn't
> exist, user is over quota etc) and I don't see an option to change this.

The sender should get whatever the onward system responds. The response is
not supplied by the system doing the cutthrough.

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #4 from davidc <david-exim-bugs@infotrek.co.uk> ---
With recipient verification removed and only the cutthrough accept line
present:

From sender to inbound relay:

<< 220 smtpin001.a.snlmail.net ESMTP
>> ehlo asd
<< 250-smtpin001.a.snlmail.net Hello sarlonintman001.sargasso.net.uk
[2a05:e200:0:1::1]
<< 250-SIZE 52428800
<< 250-8BITMIME
<< 250-PIPELINING
<< 250-CHUNKING
<< 250-STARTTLS
<< 250 HELP
>> mail from:<me@me.com>
<< 250 OK
>> rcpt to:<invalid@sargasso.pw>
<< 550 Administrative prohibition
>> quit
<< 221 smtpin001.a.snlmail.net closing connection

From inbound relay to mailstore host:

<< 220 mailstore001.a.snlmail.net ESMTP
>> EHLO smtpin001.a.snlmail.net
<< 250-mailstore001.a.snlmail.net Hello smtpin001.a.snlmail.net
[2a05:e200:1:74::2:1]
<< 250-SIZE 52428800
<< 250-8BITMIME
<< 250-PIPELINING
<< 250-CHUNKING
<< 250 HELP
>> MAIL FROM:<me@me.com>
>> RCPT TO:<invalid@sargasso.pw>
<< 250 OK
<< 550 Address invalid@sargasso.pw unknown.
>> QUIT
<< 221 mailstore001.a.snlmail.net closing connection

So the sender just gets "550 Administrative prohibition"; even if
smtp_return_error_details is turned on at the inbound relay, it is hiding the
error.

Whereas when recipient verification is used, they get 550-Callout verification
failed:" "550 550 Address invalid@sargasso.pw unknown.".

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #5 from Jeremy Harris <jgh146exb@wizmail.org> ---
Please attach the whole debug output for that test.

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #6 from davidc <david-exim-bugs@infotrek.co.uk> ---
Created attachment 1319
--> https://bugs.exim.org/attachment.cgi?id=1319&action=edit
Debug of cutthrough only (no recipient verification) masking error with 550
admin prohibition

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #7 from davidc <david-exim-bugs@infotrek.co.uk> ---
Created attachment 1320
--> https://bugs.exim.org/attachment.cgi?id=1320&action=edit
Full config of cutthrough only (no recipient verification)

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #8 from Jeremy Harris <jgh146exb@wizmail.org> ---
Hmm, you're right; I was misremembering. The copy-through only applies to the
data phase; as the original calout mech is being used for the cutthrough
delivery
startup all of its behaviour remains.

Back to the previous - presumably you want the cutthrough data-time semantics
so only doing the callout,hold does not help?

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #9 from davidc <david-exim-bugs@infotrek.co.uk> ---
Hi Jeremy,

Indeed, it would be preferable that, if a message is to be rejected for any
reason (including after DATA), that rejection is passed back to the sender's
SMTP connection, rather than accepting and sending a bounce (and the consequent
problems with backscatter and reputation).

David

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

Jeremy Harris <jgh146exb@wizmail.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unallocated@exim.org |jgh146exb@wizmail.org
Version|N/A |4.92

--- Comment #10 from Jeremy Harris <jgh146exb@wizmail.org> ---
For interest, there was already a testcase in the suite for the opposite order:

acl_rcpt:
accept control = cutthrough_delivery
verify = recipient/callout=use_sender

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

Git Commit <git@exim.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |git@exim.org

--- Comment #11 from Git Commit <git@exim.org> ---
Git commit:
https://git.exim.org/exim.git/commitdiff/99bfcf2b678e7bd8125a7eb44409e46549bfc111

commit 99bfcf2b678e7bd8125a7eb44409e46549bfc111
Author: Jeremy Harris <jgh146exb@wizmail.org>
AuthorDate: Mon Jun 22 17:27:18 2020 +0100
Commit: Jeremy Harris <jgh146exb@wizmail.org>
CommitDate: Mon Jun 22 17:32:22 2020 +0100

cutthrough: handle request when a callout-hold is active. bug 2604
----
doc/doc-txt/ChangeLog | 4 ++++
src/src/acl.c | 50 +++++++++++++++++++++------------------
src/src/verify.c | 4 ++--
test/confs/5409 | 46 +++++++++++++++++++++++++++++++++++
test/log/5409 | 3 +++
test/scripts/5400-cutthrough/5409 | 29 +++++++++++++++++++++++
test/stdout/5409 | 40 +++++++++++++++++++++++++++++++
7 files changed, 151 insertions(+), 25 deletions(-)

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

Jeremy Harris <jgh146exb@wizmail.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED

--- Comment #12 from Jeremy Harris <jgh146exb@wizmail.org> ---
Nobody commented

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
[Bug 2604] exim does not send DATA to target host when verify callout hold and delivery cutthrough [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=2604

--- Comment #13 from davidc <david-exim-bugs@infotrek.co.uk> ---
Thanks for the fix Jeremy, I am meaning to test it but I still need to set up a
test instance and compile it from source. I'll let you know when I've done
this.

--
You are receiving this mail because:
You are on the CC list for the bug.
--
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##