Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-34059

Office connector fails to edit files if the attachment has an ampersand (&) in the filename

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Low Low
    • None
    • 5.5.2
    • None

      If you add an attachment in Confluence and this file contains a ampersand in it's name it will fail to open.

      Steps to Reproduce:

      1. Add two attachments in a Confluence Page.
        • v&p.xlsx
        • v and p.xlsx
      2. Click in Tools > Attachments.
      3. Click on Edit in office for "v and p.xlsx"
      4. The file will open accordingly.
      5. Now try the same with "v&p.xlsx".
      6. Once you Click "Ok" you will get the following:

      Work Around:

      Rename the attachment and use Source Editor Plugin so you can find the "&amp" and replace it for and or a blank space so the markups can get properly updated.
      Make a copy of the page for recovery purpose.

      Additional notes:

      You will see below error reflecting into the logs:

      caused by: java.lang.NullPointerException
      at com.benryan.servlet.webdav.AttachmentResource.checkEditPermission(AttachmentResource.java:127)
      
      2014-06-24 16:29:56,353 ERROR [http-bio-8443-exec-8] [ContainerBase.[Standalone].[localhost].[/]] log Unhandled exception occurred whilst decorating page
       -- url: /plugins/servlet/confluence/editinword/360452/attachments/v&p.xlsx | userName: admin
      java.lang.NullPointerException
      	at com.benryan.servlet.webdav.AttachmentResource.checkEditPermission(AttachmentResource.java:127)
      	at com.benryan.servlet.webdav.ResourceBuilder.buildAttachmentResource(ResourceBuilder.java:136)
      	at com.benryan.servlet.webdav.EditInWordResourceFactory.createResource(EditInWordResourceFactory.java:85)
      	at com.atlassian.confluence.extra.webdav.PluggableResourceFactory.createResource(PluggableResourceFactory.java:65)
      	at com.atlassian.confluence.extra.webdav.PluggableResourceFactory.createResource(PluggableResourceFactory.java:44)
      	at com.atlassian.confluence.extra.webdav.servlet.ConfluenceWebdavServlet.service(ConfluenceWebdavServlet.java:116)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
      	at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
      	at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.confluence.web.filter.DebugFilter.doFilter(DebugFilter.java:50)
      	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	...
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
      	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      

      Environment

      Tested against below browsers:

      • IE9, IE10, IE11
      • FireFox 24, Fire Fox 28
        And had the version 3.3.4 of office connector plugin.

      And lastly against Excel 2010 and 2013.

        1. Error.PNG
          33 kB
          Deividi Luvison
        2. Error2.PNG
          41 kB
          Deividi Luvison
        3. opening.PNG
          6 kB
          Deividi Luvison

            [CONFSERVER-34059] Office connector fails to edit files if the attachment has an ampersand (&) in the filename

            Hi dluvison

            Thanks for taking the time to raise this issue. From the description that you've provided this sounds like a duplicate of https://jira.atlassian.com/browse/CONF-22403. As such I'm going to close this issue out. If you have any more information on this issue could I ask that you add it to https://jira.atlassian.com/browse/CONF-22403.

            Regards
            Steve Haffenden
            Confluence Bugmaster
            Atlassian

            Steve Haffenden (Inactive) added a comment - Hi dluvison Thanks for taking the time to raise this issue. From the description that you've provided this sounds like a duplicate of https://jira.atlassian.com/browse/CONF-22403 . As such I'm going to close this issue out. If you have any more information on this issue could I ask that you add it to https://jira.atlassian.com/browse/CONF-22403 . Regards Steve Haffenden Confluence Bugmaster Atlassian

            Disagree that this is considered a "minor" issue. Attachments to Wiki pages and the Office Connector should be able to handle all characters in filenames.

            James Roberts added a comment - Disagree that this is considered a "minor" issue. Attachments to Wiki pages and the Office Connector should be able to handle all characters in filenames.

            We have confirmed the same problem exists in Confluence 5.2.5 and Office Connector 3.1.4.1. Special characters become a problem in many instances where a URL is calculated in the application: i.e. page titles, attachment names, etc

            This appears to be a problem due to the open source libraries used. See: Class URLDecoder

            Stephen Gramm added a comment - We have confirmed the same problem exists in Confluence 5.2.5 and Office Connector 3.1.4.1. Special characters become a problem in many instances where a URL is calculated in the application: i.e. page titles, attachment names, etc This appears to be a problem due to the open source libraries used. See: Class URLDecoder

              shaffenden Steve Haffenden (Inactive)
              dluvison Deividi Luvison (Inactive)
              Affected customers:
              2 This affects my team
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: