Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-25684

Names containing brackets don't show up with WebDav

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 9.10, 10.2
    • Fix Version/s: 9.10-HF20, 10.3
    • Component/s: WebDAV
    • Release Notes Summary:
      Names with brackets are supported in WebDAV.
    • Tags:
    • Backlog priority:
      600
    • Sprint:
      nxFG 10.3.7
    • Story Points:
      2

      Description

      1. install nuxeo
      2. login with any user
      3. go to the personal workspace
      4. import through drag and drop a test.txt file
      5. on a Windows client, map a Z (or any other letter) to the nuxeo server. For instance:
        http://<SERVER_IP>:8080/nuxeo/site/dav
        
      6. observe the test.txt file is readable through WebDav (see fileVisible.png)
      7. go back to the Nuxeo UI
      8. add a folder named trial[1] at the same location than test.txt
      9. observe on the Windows client that nothing is now displayed, not even the file test.txt (see emptyFolder.png)
      10. observe the following stack trace in the server logs:
        2018-08-29 09:06:48,895 ERROR [http-nio-0.0.0.0-8080-exec-19] [org.nuxeo.ecm.webdav.ExceptionHandler] java.net.URISyntaxException: Illegal character in path at index 5: trial[1]
        java.net.URISyntaxException: Illegal character in path at index 5: trial[1]
        	at java.net.URI$Parser.fail(URI.java:2848)
        	at java.net.URI$Parser.checkChars(URI.java:3021)
        	at java.net.URI$Parser.parseHierarchical(URI.java:3105)
        	at java.net.URI$Parser.parse(URI.java:3063)
        	at java.net.URI.<init>(URI.java:820)
        	at org.nuxeo.ecm.webdav.resource.ExistingResource.getPropStatBuilderExt(ExistingResource.java:361)
        	at org.nuxeo.ecm.webdav.resource.FolderResource.createResponse(FolderResource.java:154)
        	at org.nuxeo.ecm.webdav.resource.FolderResource.createResponse(FolderResource.java:149)
        	at org.nuxeo.ecm.webdav.resource.FolderResource.propfind(FolderResource.java:136)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:498)
        	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
        	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
        	at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:137)
        	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
        	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
        	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
        	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
        	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
        	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
        	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
        	at org.nuxeo.ecm.webengine.app.jersey.WebEngineServlet.containerService(WebEngineServlet.java:72)
        	at org.nuxeo.ecm.webengine.app.jersey.WebEngineServlet.service(WebEngineServlet.java:56)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        ...
        
      11. in Nuxeo, remove the folder or rename it and remove the brackets
      12. observe through the WebDAV client that the personal workspace is now correctly displayed and no errors are present in the logs

      Expected behavior: there should be no error when trying to read a folder containing brackets. The brackets characters are valid both on a Windows OS and on a Nuxeo server.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 hour
                  1h