On Thu, 27 Mar 2025 21:29:05 GMT, Hai-May Chao <hc...@openjdk.org> wrote:

>> The jarsigner -verify command currently performs verification by reading 
>> from JarFile to navigate the central directory (CEN) headers. It is now 
>> enhanced to include cross-validation of entries between JarFile (CEN-based) 
>> and JarInputStream (stream-based) representations of the JAR. It emits 
>> earnings when detecting discrepancies between a JAR file’s central directory 
>> and its local file entries.
>
> Hai-May Chao has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Fix typo

Final comments:
1. The warning message "Manifest attribute %s is present..." is not 100% 
precise, should be "Manifest main attribute %s is present...".
2. The manifest does not need to be at the first position when reading as a 
`JarFile` (especially we are not comparing the order now), so suggest changing 
the last lines in `crossCheckEntries` to

jarFile.stream()
        .map(JarEntry::getName)
        .filter(n -> !locEntries.contains(n) && 
!n.equals(JarFile.MANIFEST_NAME))
        .forEach(n -> crossChkWarnings.add(String.format(rb.getString(
                        
"entry.1.present.when.reading.jarfile.but.missing.via.jarinputstream"), n)));

-------------

PR Comment: https://git.openjdk.org/jdk/pull/23532#issuecomment-2761397907

Reply via email to