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: [email protected]
For additional commands, e-mail: [email protected]