From 4d46d7c078ed80ced2aff1ee94b241652f72bf9a Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 15 Sep 2009 09:48:52 +0000 Subject: [PATCH] IMAP: fix absolute (public) path handling git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@720 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 86125a23..731d8d08 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -832,7 +832,12 @@ public class ExchangeSession { folder.folderPath = href.substring(index + mailPath.length()); } } else { - throw new DavMailException("EXCEPTION_INVALID_FOLDER_URL", folder.folderPath); + try { + URI folderURI = new URI(href, false); + folder.folderPath = folderURI.getPath(); + } catch (URIException e) { + throw new DavMailException("EXCEPTION_INVALID_FOLDER_URL", href); + } } } return folder; @@ -970,6 +975,8 @@ public class ExchangeSession { folderPath = folderName.replaceFirst("Sent", sentitemsUrl); } else if (folderName.startsWith("calendar")) { folderPath = folderName.replaceFirst("calendar", calendarUrl); + } else if (folderName.startsWith("public")) { + folderPath = '/' + folderName; // absolute folder path } else if (folderName.startsWith("/")) { folderPath = folderName;