RFR: JDK-8319122: Improve documentation of various Zip-file related APIs

Kevin Driver kdriver at openjdk.org
Thu Nov 9 20:47:02 UTC 2023


On Mon, 30 Oct 2023 17:26:53 GMT, Yakov Shafranovich <duke at openjdk.org> wrote:

> The various Zip/Jar-file related Java APIs have some long-standing differences or peculiarities with respect to the ZIP-file specification or compared to other implementations which should be documented in the API-doc. This documents the following:
> - Cache of JAR files in JarURLConnection class
> - Cache of JAR/ZIP files in JarFile and ZipFile classes
> - Unexpected behavior when parsing ZIP files with duplicate entries in JarFile and ZipFile classes, as well as the zipfs provider
> - Directories and filenames with the same name considered to be the same in ZipFile class
> - Possible issues when local and central headers conflict in ZipInputStream class
> 
> Related JBS report:
> https://bugs.openjdk.org/browse/JDK-8319122

Marked as reviewed by kdriver (Committer).

src/java.base/share/classes/java/net/JarURLConnection.java line 129:

> 127:  * JAR files retrieved by this class might get cached for performance reasons which can result
> 128:  * in unexpected behavior if the JAR files are modified while being read using this class.
> 129:  * If such behavior is undesirable, please use the {@link URLConnection#setUseCaches(boolean)} method to disable caching.

consider a manual line wrap here, or is this ~80 chars?

src/java.base/share/classes/java/util/zip/ZipFile.java line 104:

> 102:  * being returned due to internal caching.
> 103:  *
> 104:  * Additionally, for compatibility with earlier versions of the JDK, files and directories with the same name (such as "foobar" and "foobar/")

consider a manual line wrap in these as well, or is this ~80 chars?

src/jdk.zipfs/share/classes/module-info.java line 303:

> 301:  * may occur such as metadata or content from the later entry being returned due to internal caching.
> 302:  *
> 303:  * Additionally, for compatibility with earlier versions of the JDK, files and directories with the same name (such as "foobar" and "foobar/")

consider a manual line wrap in these as well, or is this ~80 chars?

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

PR Review: https://git.openjdk.org/jdk/pull/16424#pullrequestreview-1723465685
PR Review Comment: https://git.openjdk.org/jdk/pull/16424#discussion_r1388560373
PR Review Comment: https://git.openjdk.org/jdk/pull/16424#discussion_r1388561727
PR Review Comment: https://git.openjdk.org/jdk/pull/16424#discussion_r1388562238


More information about the security-dev mailing list