Author: norman
Date: Sat Jun 11 11:52:52 2011
New Revision: 1134574
URL: http://svn.apache.org/viewvc?rev=1134574&view=rev
Log:
Return tagged BAD if a client tries to set/unset the recent flag via the STORE
command. See IMAP-316
Modified:
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/display/HumanReadableText.java
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/DecoderUtils.java
Modified:
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/display/HumanReadableText.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/api/src/main/java/org/apache/james/imap/api/display/HumanReadableText.java?rev=1134574&r1=1134573&r2=1134574&view=diff
==============================================================================
---
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/display/HumanReadableText.java
(original)
+++
james/imap/trunk/api/src/main/java/org/apache/james/imap/api/display/HumanReadableText.java
Sat Jun 11 11:52:52 2011
@@ -61,6 +61,8 @@ public class HumanReadableText {
public static final HumanReadableText INVALID_MESSAGESET = new
HumanReadableText("org.apache.james.imap.INVALID_MESSAGESET", "failed. Invalid
messageset.");
public static final HumanReadableText INVALID_COMMAND = new
HumanReadableText("org.apache.james.imap.INVALID_COMMAND", "failed. Command not
valid in this state.");
+
+ public static final HumanReadableText INVALID_SYSTEM_FLAG = new
HumanReadableText("org.apache.james.imap.INVALID_SYSTEM_FLAG", "Invalid system
flag \\RECENT.");
public static final HumanReadableText ILLEGAL_TAG = new
HumanReadableText("org.apache.james.imap.ILLEGAL_TAG", "Illegal tag.");
Modified:
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/DecoderUtils.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/DecoderUtils.java?rev=1134574&r1=1134573&r2=1134574&view=diff
==============================================================================
---
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/DecoderUtils.java
(original)
+++
james/imap/trunk/message/src/main/java/org/apache/james/imap/decode/DecoderUtils.java
Sat Jun 11 11:52:52 2011
@@ -63,7 +63,7 @@ public final class DecoderUtils {
private static final int ALL_MONTH_BITS = JAN_BIT | FEB_BIT | MAR_BIT |
APR_BIT | MAY_BIT | JUN_BIT | JUL_BIT | AUG_BIT | SEP_BIT | OCT_BIT | NOV_BIT |
DEC_BIT;
- public static void setFlag(final String flagString, final Flags flags) {
+ public static void setFlag(final String flagString, final Flags flags)
throws DecodingException{
if (flagString.equalsIgnoreCase(MessageFlags.ANSWERED_ALL_CAPS)) {
flags.add(Flags.Flag.ANSWERED);
} else if (flagString.equalsIgnoreCase(MessageFlags.DELETED_ALL_CAPS))
{
@@ -78,8 +78,11 @@ public final class DecoderUtils {
if (flagString.equalsIgnoreCase(MessageFlags.RECENT_ALL_CAPS)) {
// NOPMD
// keep
// comment
- // RFC3501 specifically excludes /Recent
- // The /Recent flag should be set automatically by the server
+ // RFC3501 specifically excludes \Recent
+ // The \Recent flag should be set automatically by the server
so throw Exception
+ //
+ // See IMAP-316
+ throw new
DecodingException(HumanReadableText.INVALID_SYSTEM_FLAG, "\\Recent flag is now
allowed to set.");
} else {
// RFC3501 allows novel flags
flags.add(flagString);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]