IMAP: fix 3480516, () instead of NIL on empty envelope header

git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1886 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
mguessan 2012-01-29 15:30:00 +00:00
parent dd9616ad7d
commit 94948efb73
1 changed files with 24 additions and 20 deletions

View File

@ -82,7 +82,7 @@ public class ImapConnection extends AbstractConnection {
try { try {
ExchangeSessionFactory.checkConfig(); ExchangeSessionFactory.checkConfig();
sendClient("* OK [" + capabilities + "] IMAP4rev1 DavMail " + DavGateway.getCurrentVersion() + " server ready"); sendClient("* OK [" + capabilities + "] IMAP4rev1 DavMail " + DavGateway.getCurrentVersion() + " server ready");
for (; ;) { for (; ; ) {
line = readClient(); line = readClient();
// unable to read line, connection closed ? // unable to read line, connection closed ?
if (line == null) { if (line == null) {
@ -880,7 +880,7 @@ public class ImapConnection extends AbstractConnection {
} else if ("CHARSET".equals(token)) { } else if ("CHARSET".equals(token)) {
String charset = tokens.nextQuotedToken().toUpperCase(); String charset = tokens.nextQuotedToken().toUpperCase();
if (!("ASCII".equals(charset) || "UTF-8".equals(charset))) { if (!("ASCII".equals(charset) || "UTF-8".equals(charset))) {
throw new IOException("Unsupported charset "+charset); throw new IOException("Unsupported charset " + charset);
} }
} else { } else {
if (condition == null) { if (condition == null) {
@ -959,6 +959,7 @@ public class ImapConnection extends AbstractConnection {
try { try {
String unfoldedValue = MimeUtility.unfold(value[0]); String unfoldedValue = MimeUtility.unfold(value[0]);
InternetAddress[] addresses = InternetAddress.parseHeader(unfoldedValue, false); InternetAddress[] addresses = InternetAddress.parseHeader(unfoldedValue, false);
if (addresses != null && addresses.length > 1) {
buffer.append('('); buffer.append('(');
for (InternetAddress address : addresses) { for (InternetAddress address : addresses) {
buffer.append('('); buffer.append('(');
@ -981,6 +982,9 @@ public class ImapConnection extends AbstractConnection {
buffer.append(')'); buffer.append(')');
} }
buffer.append(')'); buffer.append(')');
} else {
buffer.append("NIL");
}
} catch (AddressException e) { } catch (AddressException e) {
DavGatewayTray.warn(e); DavGatewayTray.warn(e);
buffer.append("NIL"); buffer.append("NIL");