On 18/01/17 20:56, Evgeniy Berdnikov wrote:
>>     And you'd prefer before all the data is transmitted
>>     because that's a waste of bits and cpu.
> 
>  Right.
> 
>>     Any more?
>>
>> What should be preferred practice
>> when CHUNKING is used?
> 
>  With BDAT syntax we have to mix "pre-data" and "post-data" approaches.
>  Unfortunately, this way conflicts with RFC3030 which states:
> 
>    A 250 response MUST be sent to each successful BDAT data block within
>    a mail transaction.

IMHO this leaves open the possibility of other responses.  Specifically
for greylisting, a 4xx.

>  So the "legal" way is to postpone 4xx response until the completion of
>  data stream.

I think that is needlessly cautious. Sending a 4xx response to a
non-LAST BDAT doe not violate 3030.

>  However, there is more
>  efficient way: server can close socket on the receipt of BDAT, client
>  should get EOF and process such transmission error as receipt of 4xx. :)

The trouble with that is that the client might treat the drop,
reasonably IMHO, as a transmission error - and retry immediately
since it doe not have an SMTP-level temp-error (4xx).

This is supposition, I admit - but dropping the connection feels ugly.
-- 
Cheers,
  Jeremy


-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to