[EMAIL PROTECTED] wrote:
serge 2003/01/09 10:57:59

Modified: src/java/org/apache/james/smtpserver Tag: branch_2_1_fcs
SMTPHandler.java
Log:
Uses the underlying inputstream rather than the wrappers of an InputStreamReader and a BufferedReader, both which introduce extra buffers (one of which is not controllable).
This could use more testing on alternate platforms, and this also allows a non-compliant client to send messages to James again. Will discuss if/how to enforce client protocol compliance on the list.
Ok, I applied the SMTP buffer issue patch to both branches. There's some superfluous whitespace commits in there from converting tabs to spaces, but it's a relatively minor change. This might not be the most efficient implementation. Hopefully stress testing will flag this if it is a problem.

What are current thoughts on whether to enforce client protocol compliance? I'm summarizing what I remember, but I had wanted to not enforce this since I don't think it's up to the server to test client compliance, Peter didn't see the need to accept from bad clients, Danny said he didn't want to encourage bad clients.

One idea was to make it a configuration setting as to whether James is enforcing client compliance or not. If is was, then it would test for any input buffer data before sending a successful DATA command, and fail if there was any (the issue is the client should not send anything before receiving the response). A few other commands could similarly be checked for this aggressive "pipelining" (which is supported for some commands).

Another idea was to store a mail attribute as to whether this violated compliance or not..

To me, this is extra code/complexity for something that really doesn't matter that much. As long as we're not having unintentional buffer issues, I'm happy, and I'm also somewhat in the camp of accept first, complain later. Thoughts?

--
Serge Knystautas
Loki Technologies
http://www.lokitech.com


--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



Reply via email to