Uploaded image for project: 'Jackrabbit FileVault'
  1. Jackrabbit FileVault
  2. JCRVLT-324

In case of a long project description in CDATA the resulting MANIFEST.MF is invalid

    XMLWordPrintableJSON

Details

    Description

      In case of a long project description in CDATA e.g.:

          <description>
              <![CDATA[
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, velit velit laoreet quam, id dignissim elit ex nec magna. Vivamus non diam non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hendrerit massa diam.
      
      - Quisque commodo vitae tellus vitae:
      Morbi finibus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum.
      Etiam venenatis nulla aliquet quam dapibus rhoncus.
      Aliquam eget turpis vitae leo maximus porttitor non eget augue.
      Curabitur aliquam imperdiet vulputate.
      
      - Duis viverra posuere est nec vehicula fringilla:
      Mauris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac felis.
      Vivamus sed nibh nec arcu sodales commodo.
      
      - Quisque molestie feugiat sem quis rhoncus lectus ornare:
      Fusce consectetur varius enim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, faucibus in quam fermentum.
      Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus.
      
      Pellentesque lobortis placerat lectus eleifend:
      <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_Specification">Praesent sapien sem</a>
      <a href="https://issues.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a>
      ]]>
          </description>
      

      a package with the following MANIFEST.MF is produced:

      Manifest-Version: 1.0
      Implementation-Title: Lorem Ipsum - Package
      Implementation-Version: 2.2.2-SNAPSHOT
      Archiver-Version: Plexus Archiver
      Built-By: krystian
      Implementation-Vendor-Id: org.lorem.ipsum
      Content-Package-Dependencies: a/b/c:d:2.1.0
      Content-Package-Type: mixed
      Content-Package-Description: Lorem ipsum dolor sit amet, consectetur a
       dipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, vel
       it velit laoreet quam, id dignissim elit ex nec magna. Vivamus non di
       am non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hen
       drerit massa diam.
      
      - Quisque commodo vitae tellus vitae:
      Morbi finib
       us nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis 
       quis, cursus et urna. Donec ornare eget lectus at vestibulum.
      Etiam v
       enenatis nulla aliquet quam dapibus rhoncus.
      Aliquam eget turpis vita
       e leo maximus porttitor non eget augue.
      Curabitur aliquam imperdiet v
       ulputate.
      
      - Duis viverra posuere est nec vehicula fringilla:
      Mauris 
       nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet male
       suada varius, ante metus accumsan ex, id ornare lectus lorem ac felis
       .
      Vivamus sed nibh nec arcu sodales commodo.
      
      - Quisque molestie feug
       iat sem quis rhoncus lectus ornare:
      Fusce consectetur varius enim ac 
       viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas 
       sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla v
       estibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, fau
       cibus in quam fermentum.
      Class aptent taciti sociosqu ad litora torqu
       ent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus
       .
      
      Pellentesque lobortis placerat lectus eleifend:
      <a href="https://d
       ocs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_S
       pecification">Praesent sapien sem</a>
      <a href="https://issues.apache.
       org/jira/projects/JCRVLT">Sed egestas luctus sapien</a>
      Content-Package-Roots: /foo/bar,/foo/baz
      Created-By: Apache Maven
      Build-Jdk: 1.8.0_181
      Content-Package-Id: org/lorem/ipsum:lorem-ipsum-pkg:2.2.2-SNAPSHOT
      

      This MANIFEST.MF is incorrect, as when reading it by java.util.jar.Manifest an exception on invalid format is thrown:

      java.io.IOException: invalid manifest format
      	at java.util.jar.Manifest.read(Manifest.java:225)
      	at java.util.jar.Manifest.<init>(Manifest.java:69)
      

      Only when the description of the project is reformatted into:

          <description>
              <![CDATA[
       Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, velit velit laoreet quam, id dignissim elit ex nec magna. Vivamus non diam non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hendrerit massa diam.
       - Quisque commodo vitae tellus vitae:
       Morbi finibus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis quis, cursus et urna. Donec ornare eget lectus at vestibulum.
       Etiam venenatis nulla aliquet quam dapibus rhoncus.
       Aliquam eget turpis vitae leo maximus porttitor non eget augue.
       Curabitur aliquam imperdiet vulputate.
       - Duis viverra posuere est nec vehicula fringilla:
       Mauris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac felis.
       Vivamus sed nibh nec arcu sodales commodo.
       - Quisque molestie feugiat sem quis rhoncus lectus ornare:
       Fusce consectetur varius enim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Maecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus id, faucibus in quam fermentum.
       Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc sed libero purus.
       Pellentesque lobortis placerat lectus eleifend:
       <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Manifest_Specification">Praesent sapien sem</a>
       <a href="https://issues.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a>
      ]]>
          </description>
      

      the MANIFEST.MF produced is:

      Manifest-Version: 1.0
      Implementation-Title: Lorem Ipsum - Package
      Implementation-Version: 2.2.2-SNAPSHOT
      Archiver-Version: Plexus Archiver
      Built-By: krystian
      Implementation-Vendor-Id: org.lorem.ipsum
      Content-Package-Dependencies: a/b/c:d:2.1.0
      Content-Package-Type: mixed
      Content-Package-Description: Lorem ipsum dolor sit amet, consectetur a
       dipiscing elit. Vestibulum mattis, erat vel ultrices scelerisque, vel
       it velit laoreet quam, id dignissim elit ex nec magna. Vivamus non di
       am non libero posuere lacinia. Suspendisse vel facilisis mi. Duis hen
       drerit massa diam.
       - Quisque commodo vitae tellus vitae:
       Morbi fini
       bus nec tortor sed pellentesque. Sed nulla magna, interdum ut iaculis
        quis, cursus et urna. Donec ornare eget lectus at vestibulum.
       Etiam
        venenatis nulla aliquet quam dapibus rhoncus.
       Aliquam eget turpis v
       itae leo maximus porttitor non eget augue.
       Curabitur aliquam imperdi
       et vulputate.
       - Duis viverra posuere est nec vehicula fringilla:
       Ma
       uris nec feugiat ante, sed porta metus. Fusce vehicula, odio sit amet
        malesuada varius, ante metus accumsan ex, id ornare lectus lorem ac 
       felis.
       Vivamus sed nibh nec arcu sodales commodo.
       - Quisque molesti
       e feugiat sem quis rhoncus lectus ornare:
       Fusce consectetur varius e
       nim ac viverra. Integer id semper lorem, eget sollicitudin lectus. Ma
       ecenas sit amet ex sed arcu consequat eleifend. Praesent eu est quis 
       nulla vestibulum venenatis. Curabitur ipsum dolor, dapibus a maximus 
       id, faucibus in quam fermentum.
       Class aptent taciti sociosqu ad lito
       ra torquent per conubia nostra, per inceptos himenaeos. Nunc sed libe
       ro purus.
       Pellentesque lobortis placerat lectus eleifend:
       <a href="
       https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#M
       anifest_Specification">Praesent sapien sem</a>
       <a href="https://issu
       es.apache.org/jira/projects/JCRVLT">Sed egestas luctus sapien</a>
      Content-Package-Roots: /foo/bar,/foo/baz
      Created-By: Apache Maven
      Build-Jdk: 1.8.0_181
      Content-Package-Id: org/lorem/ipsum:lorem-ipsum-pkg:2.2.2-SNAPSHOT
      

      and the Manifest class properly reads the file (especially the Content-Package-Description coming from description project tag).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              krystian Krystian Nowak
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: