Commit Graph

277 Commits

Author SHA1 Message Date
Phillip Webb 599f1f1a9c Merge branch '3.2.x' into 3.3.x 2024-09-03 21:04:36 -07:00
Phillip Webb f3645bba13 Update copyright year of changed files 2024-09-03 21:04:26 -07:00
Andy Wilkinson d4e1aedba5 Merge branch '3.2.x' into 3.3.x 2024-08-22 13:07:24 +01:00
Andy Wilkinson 0b24ee8571 Improve loading of jar entry certificates
Co-Authored-By: Phillip Webb <phil.webb@broadcom.com>
2024-08-22 10:56:25 +01:00
Scott Frederick 0451cb8686 Merge branch '3.2.x' into 3.3.x
Closes gh-41970
2024-08-20 15:49:25 -05:00
Scott Frederick 21b15558a2 Use classpath index when building classpath in PropertiesLauncher
Fixes gh-41719
2024-08-20 15:47:44 -05:00
Moritz Halbritter 2a84fe5760 Merge branch '3.2.x' into 3.3.x
Closes gh-41857
2024-08-14 16:47:52 +02:00
Moritz Halbritter 1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Andy Wilkinson c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Andy Wilkinson 5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +01:00
Phillip Webb 147240aa0c Merge branch '3.2.x'
Closes gh-41080
2024-06-11 13:32:30 -07:00
Phillip Webb bcbcafaab2 Polish "Use method references when possible in test code"
See gh-40974
2024-06-11 12:58:04 -07:00
Ahmed Ashour 207327d97c Use method references when possible in test code
See gh-40974
2024-06-11 12:58:00 -07:00
Andy Wilkinson 16302c18b2 Merge branch '3.2.x'
Closes gh-41006
2024-06-06 14:58:28 +01:00
Andy Wilkinson 217c2c862b Ignore file entries in META-INF/versions of multi-release jar
Fixes gh-41001
2024-06-06 13:28:36 +01:00
Phillip Webb ac9d2e7c11 Merge branch '3.2.x'
Closes gh-40643
2024-05-08 15:44:35 -07:00
Phillip Webb 7708ec7592 Fix Windows path handling for nested jars
Update `Path` creation for nested locations to allow both UNC and classic
file references to be used. This commit attempts to align our URL
handling with that of standard file URLs. The `NestedLocation` class
no longer attempts to remove leading all `\` characters and instead
only removes the first `\` when the second char is `:`. This duplicates
the logic found in Java's own internal `WindowsUriSupport` class which
is used when calling `Path.of(url)` with a `file:` URL.

Fixes gh-40549
2024-05-08 15:44:03 -07:00
Phillip Webb 3b66eb7bb7 Merge branch '3.2.x'
See gh-40616
2024-05-03 12:31:33 -07:00
Phillip Webb 8a72e55106 Fix UriPathEncoder bug to improve performance
Fix `isAllowed` check and write test to ensure that additional object
instances are not created unnecessarily.

See gh-40615
2024-05-03 12:29:41 -07:00
Phillip Webb 208efae975 Merge branch '3.2.x'
Closes gh-40616
2024-05-02 15:53:38 -07:00
Phillip Webb d0ce4daec1 Use URI encoded values when creating NestedPath URIs
Update `NestedPath.toUri()` so that the URI is constructed using encoded
strings.

Fixes gh-40615
2024-05-02 15:53:01 -07:00
Phillip Webb 6963bd884b Merge branch '3.2.x' 2024-04-18 12:53:26 -07:00
Phillip Webb 38af8cd362 Merge branch '3.1.x' into 3.2.x 2024-04-18 12:52:54 -07:00
Phillip Webb dfee56ad9d Merge branch '3.2.x'
Closes gh-40381
2024-04-16 22:17:28 -07:00
Phillip Webb 78e12251e9 Optimize VirtualZipDataBlock
Add some optimizations to `VirtualZipDataBlock` that help when
sequentially reading the block from a JarInputStream.

Closes gh-40125
2024-04-16 22:16:00 -07:00
Phillip Webb 13f41da54f Merge branch '3.2.x'
Closes gh-40379
2024-04-16 15:32:03 -07:00
Phillip Webb 9b0593efe3 Fallback to RandomAccessFile on ClosedByInterruptException
Refine the fix for gh-38611 so that `ClosedByInterruptException` no
longer retries in a loop.

Our previous fix was flawed due to the fact that another interrupt
could occur after we clear the first and whilst we are reading data.
If this happens 10 times in a row, we raise an exception and end up
causing NoClassDefFoundError errors.

Our new approach retains the use of `FileChannel` and a direct buffer
up to the point that a `ClosedByInterruptException` is raised or the
thread is detected as interrupted.  At that point, we temporarily
switch to using a `RandomAccessFile` to access the data. This will
block the thread until the data has been read.

Fixes gh-40096
2024-04-16 14:47:07 -07:00
Phillip Webb 4203e1f2fa Rename FileChannelDataBlock to FileDataBlock
Rename the internal `FileChannelDataBlock` to `FileDataBlock` since we
want to fallback to a `RandomAccessFile` when a thread is interrupted.

See gh-40096
2024-04-16 14:46:56 -07:00
Johnny Lim 412b8dd548 Polish
See gh-39910
2024-03-15 11:25:16 +01:00
Phillip Webb 2b7320be1a Merge branch '3.2.x'
Closes gh-39690
2024-02-21 21:36:07 -08:00
Phillip Webb a457638e6c Polish 'Decode URL content before passing it to NestedLocation.parse'
See gh-39675'

Closes gh-39675'
2024-02-21 21:16:33 -08:00
Moritz Halbritter 7f55cae90f Merge branch '3.2.x' 2024-02-12 10:19:46 +01:00
Moritz Halbritter 4387b79831 Merge branch '3.1.x' into 3.2.x 2024-02-12 10:18:46 +01:00
Phillip Webb 8f1a330dd5 Update copyright header of cleaned up code
See gh-39259
2024-01-23 10:18:50 -08:00
Tobias Lippert 316b415e95 Use try with resources instead of try-finally
See gh-39259
2024-01-23 10:18:49 -08:00
Tobias Lippert fe38cb3b4a Use string.repeat()
See gh-39259
2024-01-23 09:47:07 -08:00
Phillip Webb a0a804cfdf Merge branch '3.2.x' 2024-01-22 12:20:41 -08:00
Phillip Webb cff8cb98c7 Merge branch '3.1.x' into 3.2.x 2024-01-22 12:20:24 -08:00
Phillip Webb 9de0085a43 Merge branch '3.2.x'
Closes gh-39226
2024-01-17 13:16:53 -08:00
Phillip Webb eb0040c225 Fix ZipCentralDirectoryFileHeaderRecord entry comment read offset
Update `ZipCentralDirectoryFileHeaderRecord.copyTo` comment read offset
to account for the record position.

Fixes gh-39166
2024-01-17 13:16:43 -08:00
Andy Wilkinson ac63fc0701 Merge branch '3.2.x'
Closes gh-39121
2024-01-12 16:25:13 +00:00
Andy Wilkinson 6bfac1f860 Fix handling of nested: UNC paths on Windows
Closes gh-38956
2024-01-12 15:53:19 +00:00
Andy Wilkinson 17e9f0cb8e Merge branch '3.2.x'
Closes gh-39093
2024-01-11 11:36:38 +00:00
Andy Wilkinson 7087897507 Merge branch '3.1.x' into 3.2.x
Closes gh-39091
2024-01-11 10:33:57 +00:00
Andy Wilkinson 45c32854a5 Fix Checkstyle upgrade
Closes gh-38746
2024-01-10 15:37:38 +00:00
Christoph Dreis b7c9c82180 Fix typos
See gh-38983
2024-01-10 09:06:45 +01:00
Phillip Webb e5f489f338 Restore manifest support for nested directory jars
Update `NestedJarFile` so that the `getManifest()` method returns the
manifest from the parent jar file for nested jars based on directory
entries.

This restores the previous behavior supported by Spring Boot 3.1 and
allows class methods such as `getPackage().getImplementationVersion()`
to return non `null` results.

Fixes gh-38996
2024-01-09 12:33:10 -08:00
Phillip Webb f31ffbf927 Don't duplicate META-INF entries in nested directory jars
Update `ZipContent` so that `META-INF` entries are no longer duplicated
in nested jars created from directory entries. This aligns with the
behavior of the classic loader and prevents the same META-INF file from
being discovered twice.

Fixes gh-38862
2023-12-20 17:36:06 -08:00
Phillip Webb 88429b6a66 Use file urls for unpacked jars
Update `JarFileArchive` so that unpacked jars use `file:` URLs rather
than `jar:file:`. This aligns with the behavior of Spring Boot 3.1 and
allows calls to `class.getSigners()` to work again.

Fixes gh-38833
2023-12-17 10:55:31 -08:00
Phillip Webb b4a4e91238 Update ZipString to deal with reads that do not return all data
Refine the logic in `ZipString.hash` and `ZipString.compare` to deal
with the fact a read operation may not return all available bytes.

Fixes gh-38751
2023-12-13 13:29:37 -08:00