[autoconfig] When attempting to determine what kind of SMTP support is available, Thunderbird sends EHLO greeting too quickly
Categories
(Thunderbird :: Account Manager, defect)
Tracking
(blocking-thunderbird3.1 -)
Tracking | Status | |
---|---|---|
blocking-thunderbird3.1 | --- | - |
People
(Reporter: wildfire, Unassigned)
References
Details
Attachments
(1 file)
(deleted),
patch
|
BenB
:
feedback+
|
Details | Diff | Splinter Review |
Comment 2•15 years ago
|
||
Comment 3•15 years ago
|
||
Reporter | ||
Comment 4•15 years ago
|
||
Reporter | ||
Comment 5•15 years ago
|
||
Comment 7•15 years ago
|
||
Comment 9•15 years ago
|
||
Comment 10•15 years ago
|
||
Comment 11•15 years ago
|
||
Comment 12•15 years ago
|
||
Comment 13•15 years ago
|
||
Updated•15 years ago
|
Comment 14•15 years ago
|
||
Reporter | ||
Comment 15•15 years ago
|
||
Comment 16•15 years ago
|
||
Comment 17•15 years ago
|
||
Comment 18•15 years ago
|
||
Comment 19•15 years ago
|
||
Comment 20•15 years ago
|
||
Reporter | ||
Comment 21•15 years ago
|
||
Updated•15 years ago
|
Comment 22•15 years ago
|
||
Comment 23•15 years ago
|
||
Comment 24•15 years ago
|
||
Comment 25•15 years ago
|
||
Comment 26•15 years ago
|
||
Comment 27•15 years ago
|
||
Updated•13 years ago
|
Comment 28•13 years ago
|
||
Comment 29•13 years ago
|
||
Comment 30•13 years ago
|
||
Reporter | ||
Comment 31•13 years ago
|
||
Comment 32•13 years ago
|
||
Comment 33•13 years ago
|
||
Comment 34•13 years ago
|
||
Comment 35•11 years ago
|
||
Comment 36•10 years ago
|
||
Comment 37•10 years ago
|
||
Comment 38•10 years ago
|
||
Comment 39•10 years ago
|
||
Comment 40•10 years ago
|
||
Comment 41•7 years ago
|
||
Comment 43•3 years ago
|
||
Comment on attachment 8542447 [details] [diff] [review]
autoconfig-wait-for-ehlo.patch
If this fixes the bug, I'm all for it.
Comment 44•3 years ago
|
||
Since I've been sent here from bug#1681946 I'll repeat here: in ESMTP lingo PIPELINING feature means that IF the feature is active (offered) THEN
the client is allowed to send command one after another without waiting for the server response for each and every command.
If the PIPELINING extension is not active (or not offered) then the client MUST wait for the HELO/EHLO and MUST wait for every response after a command, or else it is an SMTP protocol violation.
And as comment#38 mentioned the client is strongly requested to wait for "service ready" instead of sending anything. It is not a protocol violation to send EHLO early but really advised against.
Comment 45•3 years ago
|
||
It is not a protocol violation to send EHLO early
So, what is the accused protocol violation here, then? Because we only send EHLO and QUIT. And you say that we're not strictly required to wait with EHLO. But we don't send anything else than that. So what is the protocol violation, then? Is it that we sent QUIT too early, or that we send EHLO too early?
Comment 46•3 years ago
|
||
In layment terms, we just say "Hello" to the server and then just leave, and the server is offended that we didn't wait for his Hello ;-P ... But: We're just saying Hello to everybody. We're not actually talking to the server. The server is offended that we greet everybody quickly.
Comment 47•3 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #45)
It is not a protocol violation to send EHLO early
So, what is the accused protocol violation here, then?
You cannot send EHLO and not wait for the reply and send immediately any other command, neither QUIT nor anything else.
Because we only send EHLO and QUIT. And you say that we're not strictly required to wait with EHLO.
You are not required (but STRONGLY advised) to wait before sending EHLO. This is not a protocol violation, just bad practice.
But we don't send anything else than that.
False, since you send QUIT without waiting for the response to EHLO.
(As a helpful sidenote PIPELINING extension is defined in RFC2920, and the SMTP extension mode in RFC5321 section 2.2.)
(Also worths a mention that Exim is strict on purpose [and it could be also deactivated, which is definitely not advised]: most spambots spew a lot of commands onto SMTP servers to speed up spam delivery and also do not have full SMTP protocol stack implemented. This also stops some horrible implementations [some camera servers as an example] to keep desyncing connections over and over again and use up server resources.)
So what is the protocol violation, then? Is it that we sent QUIT too early,
Yes, QUIT is the violation.
or that we send EHLO too early?
That is not a violation, but bad practice.
In layment terms, we just say "Hello" to the server and then just leave, and the server is offended that we didn't wait for his Hello ;-P ... But: We're just saying Hello to everybody. We're not actually talking to the server. The server is offended that we greet everybody quickly.
I am no sure whether this was an attempt at humour or a serious question; you connect TO one server and start talk TO one server, not everybody; HELO/EHLO is not a "greeting" but a protocol synchronisation device, and the server does not get offended but rejects invalid protocol if detected.
Your connection is used to detect a server speaking a specific protocol and it's a bad idea to try to do that by violating that specific protocol, since you may interpret the error your misbehaving results from the server as a server problem, which it is not. (Also detection SHOULD :-) follow advised best practices since you intend to detect well-behaving servers in the wizard, and not just anything which barely look like an smtp server.)
Updated•2 years ago
|
Description
•