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/04/07 12:59:52 UTC
svn commit: r931501 - in /james/imap/trunk:
decode/src/main/java/org/apache/james/imap/decode/base/
processor/src/main/java/org/apache/james/imap/processor/
Author: norman
Date: Wed Apr 7 10:59:52 2010
New Revision: 931501
URL: http://svn.apache.org/viewvc?rev=931501&view=rev
Log:
* Make sure we consume the message on exceptions when try to append it to the mailbox
* only call eol() one time, when reaching the end of the EolInputStream
Modified:
james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/EolInputStream.java
james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
Modified: james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/EolInputStream.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/EolInputStream.java?rev=931501&r1=931500&r2=931501&view=diff
==============================================================================
--- james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/EolInputStream.java (original)
+++ james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/EolInputStream.java Wed Apr 7 10:59:52 2010
@@ -34,7 +34,8 @@ import org.apache.james.imap.decode.Imap
public class EolInputStream extends FilterInputStream{
private ImapRequestLineReader reader;
-
+ private boolean eolCalled = false;
+
public EolInputStream(ImapRequestLineReader reader, InputStream in) {
super(in);
this.reader = reader;
@@ -62,9 +63,15 @@ public class EolInputStream extends Filt
}
private void eol(int i ) throws IOException{
- if (i == -1) {
+ if (i == -1 && eolCalled == false) {
reader.eol();
+ eolCalled = true;
}
}
+
+ @Override
+ public int available() throws IOException {
+ return in.available();
+ }
}
Modified: james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java?rev=931501&r1=931500&r2=931501&view=diff
==============================================================================
--- james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java (original)
+++ james/imap/trunk/decode/src/main/java/org/apache/james/imap/decode/base/FixedLengthInputStream.java Wed Apr 7 10:59:52 2010
@@ -81,7 +81,7 @@ public class FixedLengthInputStream exte
}
public int available() throws IOException {
- return 0;
+ return (int) (length - pos);
}
public void close() throws IOException {
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java?rev=931501&r1=931500&r2=931501&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java Wed Apr 7 10:59:52 2010
@@ -74,25 +74,31 @@ public class AppendProcessor extends Abs
appendToMailbox(messageIn, datetime, flags, session, tag,
command, mailbox, responder, fullMailboxName);
} catch (MailboxNotFoundException e) {
- // consume stream
- try {
- while(messageIn.read() != -1);
- } catch (IOException e1) {
- // just consume
- }
+ // consume message on exception
+ cosume(messageIn);
// Indicates that the mailbox does not exist
// So TRY CREATE
tryCreate(session, tag, command, responder, e);
} catch (MailboxException e) {
-
+ // consume message on exception
+ cosume(messageIn);
+
// Some other issue
no(command, tag, responder, e, session);
}
}
+
+ private void cosume(InputStream in) {
+ try {
+ while(in.read() != -1);
+ } catch (IOException e1) {
+ // just consume
+ }
+ }
/**
* Issues a TRY CREATE response.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org