> The problem is probably that CRLFTerminatedReader add a 
> buffer on top of the socket.inputStream() so when we create 
> the reader for the DATA most of our pipelining inputStream 
> already get buffered from the CRLFTerminatedReader internal 
> buffer (BufferedReader).
> 
> I see 2 possible solutions:
> 1) use the mark() and reset() methods of the 
> BufferedInputStream to mark the socket input stream after 
> each command and reset() it before wrapping it in the doDATA method.
> 2) remove buffering from the CRLFTerminatedReader.
> 
> I've tried the second solution changing the 
> CRLFTerminatedReader so to extend InputStreamReader instead 
> of BufferedReader but it still doesn't work (same behaviour). 
> I don't know why: no time to check it better.

Ok, I checked this and rewritten manually the CRLFTerminatedReader so it
extends the abstract Reader and doesn't use any buffer.
I don't know how I should handle the charSet so I didn't implement this: I
think it could be safe  because SMTP is ASCII only so the charset could be
ignored.

BTW it know works.

This needed changes to SMTPHandler, POP3Handler and CRLFTerminatedReader.

I will add the PIPELINING extension announcing to the EHLO reply and then
submit a patch.

Stefano


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

Reply via email to