Hantering av felaktig hash
Niels Möller
nisse at lysator.liu.se
05 Oct 2004 09:51:01 +0200
Linus Nordberg <linus@nordberg.se> writes:
> nisse@lysator.liu.se (Niels Möller) wrote
> | There are two failure modes which we shouldn't mix up:
> |
> | 1. The server requires hashcash or authentication in order to
> | deliver the message, but the client doesn't provide any.
> |
> | I think failures of type (1) may quite normal and common, and it must
> | be reported per recipient. The failure indicates incompatible
> | requirements or mis-configurations of involved MTA:s.
>
> Good point.
>
> 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.
Regards,
/Niels