Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 355498 - SignatureBlockProcessor does not support all types of line continuations
Summary: SignatureBlockProcessor does not support all types of line continuations
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: 3.7   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal with 1 vote (vote)
Target Milestone: Juno M2   Edit
Assignee: Thomas Watson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-23 09:33 EDT by Thomas Watson CLA
Modified: 2011-09-07 10:43 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Watson CLA 2011-08-23 09:33:18 EDT
Something that concerns me about this code is that it seems to depend on each
line continuation being in the form of "\r\n " but I do believe the manifest
can have newline specified as \r\n | \n | \r

Perhaps the standard jar command always uses \r\n

See bug342853 comment11
Comment 1 Jason Jones CLA 2011-08-23 09:46:43 EDT
I am using buckminster to generate an RCP appliation which is signed, so that I can implement OSGi Security.  For some reason, a few of the JARs which are signed are terminated with \n, while most are \r\n.  If you follow the specification, according to http://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Index%20File%20Specification you will see that a signature manifest can have line continuations terminated with \r\n, | \n | \r

I noticed this problem while using the P2 Director application in order to install this P2 application from a P2 Repository, and getting an exception that a file had been removed from one of the bundles, one was like Something.lass

This led me to find that the current processing code was removing one of the characters from any file that was longer than 72 characters to list, and had a line termination of a \n.  This was indeed the case.