[ 
https://issues.apache.org/jira/browse/XMLCOMMONS-90?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15613744#comment-15613744
 ] 

Björn Kautler commented on XMLCOMMONS-90:
-----------------------------------------

Well the code at least is still present at 
http://svn.apache.org/repos/asf/xerces/xml-commons/, but last commit was 2 
years, 9 months ago

> Invalid manifest section in resolver JAR
> ----------------------------------------
>
>                 Key: XMLCOMMONS-90
>                 URL: https://issues.apache.org/jira/browse/XMLCOMMONS-90
>             Project: XML Commons
>          Issue Type: Bug
>    Affects Versions: XML Commons Resolver 1.2.0
>            Reporter: Björn Kautler
>
> In the {{MANIFEST.MF}} of your {{resolver}} JAR you have a section 
> {{org/apache/xml/resolver}}.
> This violates the JAR specification.
> A section in the manifest always refers to an entry in the JAR.
> If you have sections in the manifest that do not refer to an entry in the 
> JAR, it is assumed that the JAR was tampered with as there are entries 
> missing that are referenced in the manifest.
> Please fix this manifest entry to be correctly called 
> {{org/apache/xml/resolver/}}.
> ----
> In my concrete use-case this happened with other JARs with invalid manifest 
> entries:
> - I have signed those JARs and included them in a WebStart application
> - I started the application with 8u102 32-bit {{javaws}}
> - The JARs were downloaded and their entries signatures verified
> - As there were entries in the manifest that are not present in the JAR, the 
> file was not seen as completely signed with one signature, but Java 
> remembered for each entry with which signature it was signed
> This already is not too nice as it slows down the application as now for each 
> class that gets loaded the signature has to be retrieved from a map and a 
> list instead of having just one signature for all entries. But it gets much 
> worse:
> - The acutal application was to be executed with 8u102 64-bit, so the 32-bit 
> one wrote its session information out into files, including the information 
> about verified JARs and also their entries if needed, and starts the 64-bit 
> JVM
> - The 64-bit JVM loads this session information and thus does not have to do 
> the time-consuming verification of the JARs all over again
> - Unfortunately since 8u91 or so there is a bug in this session reading and 
> writing algorithm, so that some of the entry names get crippled with 
> additional characters in-between
> - If now a class should be loaded that has such a crippled entry in the 
> JAR-entry-to-signature map, the entry is not found and the class is 
> considered as not signed which will block the application from further 
> execution
> Of course this second part is a bug in Java, but it would work flawlessly if 
> the JARs would not have invalid sections.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to