diff --git a/davmail-setup.nsi b/davmail-setup.nsi index ced99c3f..fd52ed91 100644 --- a/davmail-setup.nsi +++ b/davmail-setup.nsi @@ -93,7 +93,7 @@ Section "MainSection" SEC01 File "dist\lib\commons-httpclient-3.1.jar" File "dist\lib\commons-logging-1.0.4.jar" File "dist\lib\htmlcleaner-2.2.jar" - File "dist\lib\jackrabbit-webdav-1.4.jar" + File "dist\lib\jackrabbit-webdav-2.4.3.jar" File "dist\lib\jcharset-1.3.jar" File "dist\lib\jcifs-1.3.14.jar" File "dist\lib\jdom-1.0.jar" @@ -168,7 +168,7 @@ no_quest: Delete "$INSTDIR\lib\commons-httpclient-3.1.jar" Delete "$INSTDIR\lib\commons-logging-1.0.4.jar" Delete "$INSTDIR\lib\htmlcleaner-2.2.jar" - Delete "$INSTDIR\lib\jackrabbit-webdav-1.4.jar" + Delete "$INSTDIR\lib\jackrabbit-webdav-2.4.3.jar" Delete "$INSTDIR\lib\jcharset-1.3.jar" Delete "$INSTDIR\lib\jcifs-1.3.14.jar" Delete "$INSTDIR\lib\jdom-1.0.jar" diff --git a/davmail.jsmooth b/davmail.jsmooth index afd86299..eab7080e 100644 --- a/davmail.jsmooth +++ b/davmail.jsmooth @@ -14,7 +14,7 @@ dist/lib/commons-httpclient-3.1.jar dist/lib/commons-logging-1.0.4.jar dist/lib/htmlcleaner-2.2.jar -dist/lib/jackrabbit-webdav-1.4.jar +dist/lib/jackrabbit-webdav-2.4.3.jar dist/lib/jcharset-1.3.jar dist/lib/jcifs-1.3.14.jar dist/lib/jdom-1.0.jar diff --git a/davmail64.jsmooth b/davmail64.jsmooth index 361f622f..511a5691 100644 --- a/davmail64.jsmooth +++ b/davmail64.jsmooth @@ -14,7 +14,7 @@ dist\lib\commons-httpclient-3.1.jar dist\lib\commons-logging-1.0.4.jar dist\lib\htmlcleaner-2.2.jar -dist\lib\jackrabbit-webdav-1.4.jar +dist\lib\jackrabbit-webdav-2.4.3.jar dist\lib\jcharset-1.3.jar dist\lib\jcifs-1.3.14.jar dist\lib\jdom-1.0.jar diff --git a/davmailconsole.jsmooth b/davmailconsole.jsmooth index 796663c9..86a55efa 100644 --- a/davmailconsole.jsmooth +++ b/davmailconsole.jsmooth @@ -14,7 +14,7 @@ dist/lib/commons-httpclient-3.1.jar dist/lib/commons-logging-1.0.4.jar dist/lib/htmlcleaner-2.2.jar -dist/lib/jackrabbit-webdav-1.4.jar +dist/lib/jackrabbit-webdav-2.4.3.jar dist/lib/jcharset-1.3.jar dist/lib/jcifs-1.3.14.jar dist/lib/jdom-1.0.jar diff --git a/davmailservice.jsmooth b/davmailservice.jsmooth index de198c7c..cecfddfb 100644 --- a/davmailservice.jsmooth +++ b/davmailservice.jsmooth @@ -14,7 +14,7 @@ dist/lib/commons-httpclient-3.1.jar dist/lib/commons-logging-1.0.4.jar dist/lib/htmlcleaner-2.2.jar -dist/lib/jackrabbit-webdav-1.4.jar +dist/lib/jackrabbit-webdav-2.4.3.jar dist/lib/jcharset-1.3.jar dist/lib/jcifs-1.3.14.jar dist/lib/jdom-1.0.jar diff --git a/lib/jackrabbit-webdav-1.4.jar b/lib/jackrabbit-webdav-1.4.jar deleted file mode 100644 index 2be85b76..00000000 Binary files a/lib/jackrabbit-webdav-1.4.jar and /dev/null differ diff --git a/lib/jackrabbit-webdav-2.4.3.jar b/lib/jackrabbit-webdav-2.4.3.jar new file mode 100644 index 00000000..e0c097ad Binary files /dev/null and b/lib/jackrabbit-webdav-2.4.3.jar differ diff --git a/pom.xml b/pom.xml index b84c6b68..8b7c8852 100644 --- a/pom.xml +++ b/pom.xml @@ -173,7 +173,7 @@ org.apache.jackrabbit jackrabbit-webdav - 1.4 + 2.4.3 org.apache.jackrabbit diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index 7639eb86..aae2493e 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -30,7 +30,6 @@ import org.apache.commons.codec.binary.Base64; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.apache.commons.httpclient.util.URIUtil; -import org.apache.jackrabbit.webdav.DavConstants; import org.apache.jackrabbit.webdav.DavException; import org.apache.jackrabbit.webdav.MultiStatus; import org.apache.jackrabbit.webdav.MultiStatusResponse; @@ -41,6 +40,7 @@ import org.apache.jackrabbit.webdav.client.methods.PropPatchMethod; import org.apache.jackrabbit.webdav.property.DavProperty; import org.apache.jackrabbit.webdav.property.DavPropertyNameSet; import org.apache.jackrabbit.webdav.property.DavPropertySet; +import org.apache.jackrabbit.webdav.property.PropEntry; import org.w3c.dom.Node; import javax.mail.MessagingException; @@ -1691,7 +1691,7 @@ public class DavExchangeSession extends ExchangeSession { // trigger activeSync push event, only if davmail.forceActiveSyncUpdate setting is true if ((status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED) && (Settings.getBooleanProperty("davmail.forceActiveSyncUpdate"))) { - ArrayList propertyList = new ArrayList(); + ArrayList propertyList = new ArrayList(); // Set contentclass to make ActiveSync happy propertyList.add(Field.createDavProperty("contentclass", contentClass)); // ... but also set PR_INTERNET_CONTENT to preserve custom properties @@ -2336,7 +2336,7 @@ public class DavExchangeSession extends ExchangeSession { public void processItem(String folderPath, String itemName) throws IOException { String eventPath = URIUtil.encodePath(getFolderPath(folderPath) + '/' + convertItemNameToEML(itemName)); // do not delete calendar messages, mark read and processed - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); list.add(Field.createDavProperty("processed", "true")); list.add(Field.createDavProperty("read", "1")); PropPatchMethod patchMethod = new PropPatchMethod(eventPath, list); @@ -2378,7 +2378,7 @@ public class DavExchangeSession extends ExchangeSession { } // failover for Exchange 2007, use PROPPATCH with forced timezone if (fakeEventUrl == null) { - ArrayList propertyList = new ArrayList(); + ArrayList propertyList = new ArrayList(); propertyList.add(Field.createDavProperty("contentclass", "urn:content-classes:appointment")); propertyList.add(Field.createDavProperty("outlookmessageclass", "IPM.Appointment")); propertyList.add(Field.createDavProperty("instancetype", "0")); @@ -2479,8 +2479,8 @@ public class DavExchangeSession extends ExchangeSession { return new Contact(getFolderPath(folderPath), itemName, properties, etag, noneMatch).createOrUpdate(); } - protected List buildProperties(Map properties) { - ArrayList list = new ArrayList(); + protected List buildProperties(Map properties) { + ArrayList list = new ArrayList(); if (properties != null) { for (Map.Entry entry : properties.entrySet()) { if ("read".equals(entry.getKey())) { @@ -2527,7 +2527,7 @@ public class DavExchangeSession extends ExchangeSession { public void createMessage(String folderPath, String messageName, HashMap properties, MimeMessage mimeMessage) throws IOException { String messageUrl = URIUtil.encodePathQuery(getFolderPath(folderPath) + '/' + messageName); PropPatchMethod patchMethod; - List davProperties = buildProperties(properties); + List davProperties = buildProperties(properties); if (properties != null && properties.containsKey("draft")) { // note: draft is readonly after create, create the message first with requested messageFlags @@ -2570,7 +2570,7 @@ public class DavExchangeSession extends ExchangeSession { if (code == HttpStatus.SC_NOT_ACCEPTABLE) { LOGGER.warn("Draft message creation failed, failover to property update. Note: attachments are lost"); - ArrayList propertyList = new ArrayList(); + ArrayList propertyList = new ArrayList(); propertyList.add(Field.createDavProperty("to", mimeMessage.getHeader("to", ","))); propertyList.add(Field.createDavProperty("cc", mimeMessage.getHeader("cc", ","))); propertyList.add(Field.createDavProperty("message-id", mimeMessage.getHeader("message-id", ","))); @@ -2634,7 +2634,7 @@ public class DavExchangeSession extends ExchangeSession { try { // need to update bcc after put if (mimeMessage.getHeader("Bcc") != null) { - davProperties = new ArrayList(); + davProperties = new ArrayList(); davProperties.add(Field.createDavProperty("bcc", mimeMessage.getHeader("Bcc", ","))); patchMethod = new PropPatchMethod(messageUrl, davProperties); try { diff --git a/src/java/davmail/exchange/dav/Field.java b/src/java/davmail/exchange/dav/Field.java index 15b71b9b..992e95e0 100644 --- a/src/java/davmail/exchange/dav/Field.java +++ b/src/java/davmail/exchange/dav/Field.java @@ -19,9 +19,9 @@ package davmail.exchange.dav; import davmail.util.StringUtil; -import org.apache.jackrabbit.webdav.DavConstants; import org.apache.jackrabbit.webdav.property.DavPropertyName; import org.apache.jackrabbit.webdav.property.DefaultDavProperty; +import org.apache.jackrabbit.webdav.property.PropEntry; import org.apache.jackrabbit.webdav.xml.DomUtil; import org.apache.jackrabbit.webdav.xml.Namespace; import org.apache.jackrabbit.webdav.xml.XmlSerializable; @@ -530,7 +530,7 @@ public class Field { * @param value field value * @return DavProperty with value or DavPropertyName for null values */ - public static DavConstants createDavProperty(String alias, String value) { + public static PropEntry createDavProperty(String alias, String value) { Field field = Field.get(alias); if (value == null) { // return DavPropertyName to remove property diff --git a/src/winrun4j/davmail.exe b/src/winrun4j/davmail.exe index 779f2795..58dfad62 100644 Binary files a/src/winrun4j/davmail.exe and b/src/winrun4j/davmail.exe differ diff --git a/src/winrun4j/davmail.ini b/src/winrun4j/davmail.ini index 80bc9dd6..d7f74fc5 100644 --- a/src/winrun4j/davmail.ini +++ b/src/winrun4j/davmail.ini @@ -6,7 +6,7 @@ classpath.4=lib/commons-collections-3.1.jar classpath.5=lib/commons-httpclient-3.1.jar classpath.6=lib/commons-logging-1.0.4.jar classpath.7=lib/htmlcleaner-2.2.jar -classpath.8=lib/jackrabbit-webdav-1.4.jar +classpath.8=lib/jackrabbit-webdav-2.4.3.jar classpath.9=lib/jcharset-1.3.jar classpath.10=lib/jcifs-1.3.14.jar classpath.11=lib/jdom-1.0.jar diff --git a/src/winrun4j/davmail64.exe b/src/winrun4j/davmail64.exe index 1d6b5354..c18a925d 100644 Binary files a/src/winrun4j/davmail64.exe and b/src/winrun4j/davmail64.exe differ diff --git a/src/winrun4j/davmail64.ini b/src/winrun4j/davmail64.ini index c58ae129..c4ab4bfa 100644 --- a/src/winrun4j/davmail64.ini +++ b/src/winrun4j/davmail64.ini @@ -6,7 +6,7 @@ classpath.4=lib/commons-collections-3.1.jar classpath.5=lib/commons-httpclient-3.1.jar classpath.6=lib/commons-logging-1.0.4.jar classpath.7=lib/htmlcleaner-2.2.jar -classpath.8=lib/jackrabbit-webdav-1.4.jar +classpath.8=lib/jackrabbit-webdav-2.4.3.jar classpath.9=lib/jcharset-1.3.jar classpath.10=lib/jcifs-1.3.14.jar classpath.11=lib/jdom-1.0.jar