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 rd...@apache.org on 2007/10/28 20:27:42 UTC
svn commit: r589398 -
/james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java
Author: rdonkin
Date: Sun Oct 28 12:27:42 2007
New Revision: 589398
URL: http://svn.apache.org/viewvc?rev=589398&view=rev
Log:
Bug fixes
Modified:
james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java
Modified: james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java?rev=589398&r1=589397&r2=589398&view=diff
==============================================================================
--- james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java (original)
+++ james/server/trunk/imapmailbox-library/src/main/java/org/apache/james/imapserver/store/SimpleMessageAttributes.java Sun Oct 28 12:27:42 2007
@@ -210,6 +210,18 @@
// default value.
if ( contentEncoding == null ) {
contentEncoding = "7BIT";
+ } else if (contentEncoding.equalsIgnoreCase("binary")) {
+ // IMAP specifies upper case
+ contentEncoding = "BINARY";
+ } else if (contentEncoding.equalsIgnoreCase("base64")) {
+ // IMAP specifies upper case
+ contentEncoding = "BASE64";
+ } else if (contentEncoding.equalsIgnoreCase("quoted-printable")) {
+ // IMAP specifies upper case
+ contentEncoding = "QUOTED-PRINTABLE";
+ } else if (contentEncoding.equalsIgnoreCase("7bit")) {
+ // IMAP specifies upper case
+ contentEncoding = "7BIT";
}
} catch (MessagingException me) {
getLogger().debug("Messaging Exception for getEncoding(): " + me, me);
@@ -225,6 +237,9 @@
try {
// TODO this doesn't work
lineCount = part.getLineCount();
+ if (lineCount < 1) {
+ lineCount = 1;
+ }
} catch (MessagingException me) {
getLogger().debug("Messaging Exception for getLineCount(): " + me, me);
} catch (Exception e) {
@@ -522,7 +537,16 @@
buf.append(Q + contentEncoding + Q);
}
buf.append(SP);
- buf.append(size);
+ if (size < 1)
+ {
+ buf.append(1);
+ }
+ else
+ {
+ // TODO This uses the total size of the message.
+ // This should be the octet count of the mime part
+ buf.append(size);
+ }
return buf.toString();
}
@@ -559,7 +583,17 @@
setupLogger(parts[i]); // reset transient getLogger()
buf.append(parts[i].getBodyStructure( false ));
}
- buf.append(SP + secondaryType);
+ buf.append(SP);
+ buf.append('"');
+ buf.append(secondaryType.toUpperCase());
+ buf.append('"');
+ } else {
+ // TODO: the specification requires that we handle other types
+ // TODO: including APPLICATION AUDIO IMAGE
+ // TODO: should also include messages not in RFC288 meethinks
+ getLogger().info("Ignoring unknown type");
+ getLogger().debug(primaryType);
+ getLogger().debug(secondaryType);
}
buf.append(RB);
return buf.toString();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org