You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/12/23 07:35:13 UTC
svn commit: r1052179 -
/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java
Author: norman
Date: Thu Dec 23 06:35:12 2010
New Revision: 1052179
URL: http://svn.apache.org/viewvc?rev=1052179&view=rev
Log:
Make sure ExtraDotInputStream copy left buffer data on CRLFCRLF. See JAMES-1152
Modified:
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java
Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java?rev=1052179&r1=1052178&r2=1052179&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ExtraDotInputStream.java Thu Dec 23 06:35:12 2010
@@ -70,7 +70,19 @@ public class ExtraDotInputStream extends
if (startLine) {
int i = 0;
- while (i < 3) {
+ // check if we still have something in the buffer
+ // if so we need to copy it so we don't lose data
+
+ // See JAMES-1152
+ if (pos != -1 && pos != 0) {
+ byte[] tmpBuf = new byte[3];
+ while(pos < buf.length) {
+ tmpBuf[i++] = buf[pos++];
+ }
+
+ buf = tmpBuf;
+ }
+ while (i < buf.length) {
buf[i++] = (byte) in.read();
}
if (buf[0] == '.' && buf[1] == '\r' && buf[2] == '\n') {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org