From d25a2aa6cc495440511c279a92088e9fde6ad5b5 Mon Sep 17 00:00:00 2001 From: mguessan Date: Thu, 12 Dec 2013 21:36:21 +0000 Subject: [PATCH] EWS: improve ItemId vs user provided item name detection git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2201 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ews/EwsExchangeSession.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index 9d97bae0..064162b3 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -2443,8 +2443,16 @@ public class EwsExchangeSession extends ExchangeSession { return dateFormatter.format(date); } + /** + * Check if itemName is long and base64 encoded. + * User generated item names are usually short + * @param itemName item name + * @return true if itemName is an EWS item id + */ protected static boolean isItemId(String itemName) { - return itemName.length() >= 152; + return itemName.length() >= 152 + // item name is base64 + && itemName.matches("^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"); }