You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2020/07/09 18:35:45 UTC

svn commit: r1879721 - in /jackrabbit/branches/2.20: ./ jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/ jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/ jackrabbit-webdav/src/main/java/org/apache/jackrabbit/...

Author: reschke
Date: Thu Jul  9 18:35:45 2020
New Revision: 1879721

URL: http://svn.apache.org/viewvc?rev=1879721&view=rev
Log:
JCR-4588: jackrabbit-webdav: add parsers for http dates and use them in conditional eval (merged r1879099 into 2.20)

Added:
    jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/HttpDateTimeFormatter.java
      - copied unchanged from r1879099, jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/HttpDateTimeFormatter.java
    jackrabbit/branches/2.20/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/util/HttpDateTimeFormatterTest.java
      - copied unchanged from r1879099, jackrabbit/trunk/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/util/HttpDateTimeFormatterTest.java
Modified:
    jackrabbit/branches/2.20/   (props changed)
    jackrabbit/branches/2.20/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
    jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java
    jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/package-info.java

Propchange: jackrabbit/branches/2.20/
------------------------------------------------------------------------------
  Merged /jackrabbit/trunk:r1879099

Modified: jackrabbit/branches/2.20/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java?rev=1879721&r1=1879720&r2=1879721&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java Thu Jul  9 18:35:45 2020
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.webdav.Webd
 import org.apache.jackrabbit.webdav.lock.LockManager;
 import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
 import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
+import org.apache.jackrabbit.webdav.util.HttpDateTimeFormatter;
 import org.apache.tika.detect.Detector;
 import org.apache.tika.mime.MimeTypeException;
 import org.apache.tika.mime.MimeTypesFactory;
@@ -41,6 +42,7 @@ import javax.servlet.ServletException;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.time.format.DateTimeParseException;
 
 /**
  * WebdavServlet provides WebDAV support (level
@@ -200,9 +202,9 @@ public abstract class SimpleWebdavServle
             // will throw if multiple field lines present
             String value = AbstractWebdavServlet.getSingletonField(request, "If-Unmodified-Since");
             if (value != null) {
-                ifUnmodifiedSince = request.getDateHeader("If-Unmodified-Since");
+                ifUnmodifiedSince = HttpDateTimeFormatter.parse(value);
             }
-        } catch (IllegalArgumentException ex) {
+        } catch (IllegalArgumentException | DateTimeParseException ex) {
             log.debug("illegal value for if-unmodified-since ignored: " + ex.getMessage());
         }
 

Modified: jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java?rev=1879721&r1=1879720&r2=1879721&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Thu Jul  9 18:35:45 2020
@@ -64,6 +64,7 @@ import org.apache.jackrabbit.webdav.secu
 import org.apache.jackrabbit.webdav.transaction.TransactionInfo;
 import org.apache.jackrabbit.webdav.transaction.TransactionResource;
 import org.apache.jackrabbit.webdav.util.CSRFUtil;
+import org.apache.jackrabbit.webdav.util.HttpDateTimeFormatter;
 import org.apache.jackrabbit.webdav.version.ActivityResource;
 import org.apache.jackrabbit.webdav.version.DeltaVConstants;
 import org.apache.jackrabbit.webdav.version.DeltaVResource;
@@ -90,6 +91,7 @@ import javax.servlet.http.HttpServletRes
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.time.format.DateTimeParseException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
@@ -576,9 +578,9 @@ abstract public class AbstractWebdavServ
             // will throw if multiple field lines present
             String value = getSingletonField(request, "If-Modified-Since");
             if (value != null) {
-                modSince = request.getDateHeader("If-Modified-Since");
+                modSince = HttpDateTimeFormatter.parse(value);
             }
-        } catch (IllegalArgumentException ex) {
+        } catch (IllegalArgumentException | DateTimeParseException ex) {
             log.debug("illegal value for if-modified-since ignored: " + ex.getMessage());
         }
 

Modified: jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/package-info.java?rev=1879721&r1=1879720&r2=1879721&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/package-info.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/util/package-info.java Thu Jul  9 18:35:45 2020
@@ -14,5 +14,5 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@org.osgi.annotation.versioning.Version("1.0.1")
+@org.osgi.annotation.versioning.Version("1.1.0")
 package org.apache.jackrabbit.webdav.util;