Open Bug 258232 Opened 21 years ago Updated 2 years ago

Canceling an SMTP transfer violates RfC

Categories

(MailNews Core :: Networking: SMTP, defect)

defect

Tracking

(Not tracked)

People

(Reporter: mozilla-bug, Unassigned)

References

Details

User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.2) Gecko/20040803 Build Identifier: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.2) Gecko/20040803 Pressing cancel during a mail transfer seems to just drop the connection. This violates the RfC 2821, section 4.1.1.10 "The sender MUST NOT intentionally close the transmission channel until it sends a QUIT command and SHOULD wait until it receives the reply (even if there was an error response to a previous command)." During the DATA-phase this is the only way to make sure the mail is not delivered (but still violation RfC, but that's how live is) but in any other case (e.g. cancel after wrong authentication) the client (Mozilla) MUST send a quit (which it does not, looks like it just closes the connection regardless of the state of the transfer). Reproducible: Always Steps to Reproduce: 1. Use a SMTP server that writes the complete SMTP dialog to a log file 2. Try to log in via SMTP AUTH using a wrong user/pass combination 3. Press cancel if the password box reappears 4. -> there is no "QUIT" in the log file, only "connection lost" or something like this Expected Results: send QUIT if it's not already in DATA (where you can't avoid to violate RfC if you want to cancel the transmission)
That's true. Unfortunately the solution is not as easy as putting a SendData(url, "QUIT"CRLF); in the SMTP_ERROR_DONE state. We've to exit ProcessProtocolState (set SMTP_PAUSE_FOR_READ) to get the data really sent (in contrast to POP code that inherits from nsMsgProtocol and sends immediatelly). This could be done via new stages SEND_QUIT and QUIT_RESPONSE like POP code does. The drawback would be that we'd have to wait for the server response to shut down SMTP. Though that should work in most situations it can cause hangs in few.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 98 → All
Hardware: PC → All
Product: MailNews → Core
sorry for the spam. making bugzilla reflect reality as I'm not working on these bugs. filter on FOOBARCHEESE to remove these in bulk.
Assignee: sspitzer → nobody
Product: Core → MailNews Core
QA Contact: networking.smtp

rnons, do you know if this is resolved with smtp-js?

Flags: needinfo?(remotenonsense)

It's still the case. I don't know why QUIT is important, since we still need to close the socket immediately when in DATA mode.

Flags: needinfo?(remotenonsense)
Severity: normal → S3
See Also: → 1816540
You need to log in before you can comment on or make changes to this bug.