Hantering av felaktig hash
Linus Nordberg
linus at nordberg.se
Tue, 05 Oct 2004 23:57:11 +0200
nisse@lysator.liu.se (Niels Möller) wrote
05 Oct 2004 09:51:01 +0200:
| > But we still have to abort the delivery for all the recipients since
| > "The SMTP model does not allow for partial failures at this point [...]".
|
| That sentence is from section "4.1.1.4 DATA (DATA)" in RFC 2821,
| right? That refers to errors reported to the DATA command, after the
| <CRLF>.<CRLF>. If we instead report the error before DATA, it should
| be possible to reject the message per recipient, as in the following
| example (with no hash-cash involved, for simplicity).
|
| MAIL FROM: <adam@foo.com>
| 250 Ok
| RCPT TO: <bertil@foo.com>
| 250 Accepted for delivery
| RCPT TO: <ceasar@foo.com>
| 550 Refused for policy reasons
| DATA
| 354 Start mail input; end with <CRLF>.<CRLF>
| <message>
| .
| 250 Ok
|
| As far as I understand, this means that the recievning MTA delivered
| the message to bertil@foo.com, but not to ceasar@foo.com.
|
| To be able to do this, we must report the error before DATA. And I
| think it will be easier to get it to work with for old MTA:s if we do
| it in the response to RCPT.
Assumption:
- We move XHASHCASHCHALLENGE/RESPONSE and XHASHCASHAUTH to after MAIL
FROM but before RCPT.
Will the following statements hold?
- The receiving MTA will
- be able to report failure due to missing hash cash and
authentication, in the response to RCPT.
- be able to report failure due to erroneous hash cash payments, in
the response to RCPT.
- have to wait until the response to DATA (and the message, ended
with <CRLF>.<CRLF>) to report failures due to erroneous
authentication.