597 Commits

Author SHA1 Message Date
Stephane Nicoll
dc171c6462 Upgrade to Jetty 9.4.45.v20220203
Closes gh-29791
2022-02-14 13:43:43 +01:00
Stephane Nicoll
a99582a3bb Upgrade to Jetty 9.4.45.v20220203
Closes gh-29771
2022-02-14 13:43:23 +01:00
Stephane Nicoll
136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll
7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
2022-02-01 10:03:18 +01:00
Yanming Zhou
b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
2022-02-01 09:37:15 +01:00
Madhura Bhave
3460c24a16 Ignore context path when calling privilege evaluator
Previously, the error page security filter passed the request's URI
to the privilege evaluator. This was incorrect in applications with
a custom context path as the privilege evaluator must be passed a
path that does not include the context path and the request URI
includes the context path.

This commit updates the filter to use UrlPathHelper's
pathWithinApplication instead. The path within the application does
not include the context path. In addition, pathWithinAppliation
also correctly handles applications configured with a servlet
mapping other than the default of /.

Closes gh-29299

Co-Authored-By: Andy Wilkinson <wilkinsona@vmware.com>
2022-01-20 12:36:18 +00:00
Andy Wilkinson
4c422b9f3c Merge branch '2.5.x' into 2.6.x 2022-01-19 17:24:17 +00:00
Andy Wilkinson
b60612dabb Disable LoaderIntegrationTests when Docker's unavailable
Closes gh-29385
2022-01-19 17:23:30 +00:00
Phillip Webb
f6cdc27b2a Merge branch '2.5.x' into 2.6.x 2022-01-18 18:48:40 -08:00
Phillip Webb
eca05c42fb Further refine LoaderIntegrationTests for CI
Update `LoaderIntegrationTests` to filter compatible JDKs early.

See gh-29385
2022-01-18 18:47:41 -08:00
Phillip Webb
392de30390 Merge branch '2.5.x' into 2.6.x 2022-01-18 18:18:56 -08:00
Phillip Webb
de8f8c3e64 Refine LoaderIntegrationTests for CI
Refine `LoaderIntegrationTests` to fix failures when CI builds are
running with later JDK versions.

See gh-29385
2022-01-18 18:16:47 -08:00
Phillip Webb
44537d4494 Merge branch '2.5.x' into 2.6.x
Closes gh-29462
2022-01-18 17:36:59 -08:00
Phillip Webb
3d908079ef Run LoaderIntegrationTests against multiple JDKs
Update `LoaderIntegrationTests` to run against OpenJDK 8, 11 and 17 as
well as Oracle JDK 17.

Closes gh-29385
2022-01-18 17:36:48 -08:00
Phillip Webb
14fe9347b5 Merge branch '2.5.x' into 2.6.x 2022-01-14 13:56:47 -08:00
Phillip Webb
3f7bf7d34f Modify SpringApplication Environment rather than setting it
Update `SpringBootContextLoader` so that when possible the
`SpringApplication` remains in control of creating the `Environment`
instance.

Prior to this commit, we would always create the `Environment` in the
`SpringBootContextLoader` and then call `setEnvironment` on the
`SpringApplication`. This meant that the `ApplicationEnvironment`
classes were not used and that `isCustomEnvironment` was set to `true`
so no conversion was applied.

With the updated code, an `ApplicationListener` is used to mutate the
`Environment` instance and add the required test property sources.

Fixes gh-29169
2022-01-14 13:47:22 -08:00
Phillip Webb
e7fe371927 Merge branch '2.5.x' into 2.6.x 2022-01-12 15:43:11 -08:00
Phillip Webb
27ad0804f5 Update copyright year of changed files 2022-01-12 15:42:25 -08:00
Phillip Webb
91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
2022-01-12 15:32:00 -08:00
Phillip Webb
eb6b48fff0 Use side-effect free environment with tests rather than converting
Refine the logic introduced in 64270eca to use a side-effect free
Environment implementation rather than converting the Environment early.

Early conversion can cause condition evaluation issues if
`src/test/resources/application.properties` files are bound to the
`SpringApplication`. Specifically the `spring.main.web-application-type`
property can change the `Environment` type which must happen before
conditions are evaluated.

Fixes gh-29169
2022-01-12 14:21:52 -08:00
Phillip Webb
72696cdb0f Merge branch '2.5.x' into 2.6.x
Closes gh-29371
2022-01-12 14:07:31 -08:00
Phillip Webb
7c16668bf3 Log Docker output to aid debugging
Add an SLF4J logger so that we can see real time output of the
Docker container.

See gh-29370
2022-01-12 14:03:27 -08:00
Madhura Bhave
d9d161cd6b Allow previously authorized users to access the error page
Prior to this commit, the `ErrorPageSecurityFilter` verified if
access to the error page was allowed by invoking the
`WebInvocationPrivilegeEvaluator` with the Authentication from the
`SecurityContextHolder`.
This meant that access to the error page was denied for a `null` Authentication
 or `AnonymousAuthenticationToken` in cases where the error page required
authenticated access. This prevented authorized users from accessing the
error page in case the Authentication wasn't retrievable for the error dispatch,
which is the case for `@Transient` authentication or stateless session policy.

This commit updates the `ErrorPageSecurityFilter` to check access to the error page
only if the error is an authn or authz error in cases where an authentication object
is not found in the SecurityContextHolder. This makes the error response consistent
when bad credentials or no credentials are used while also allowing access to previously
authorized users.

Fixes gh-28953
2021-12-17 16:58:58 -08:00
Phillip Webb
f676602c96 Merge branch '2.5.x' into 2.6.x 2021-12-16 13:49:12 -08:00
Phillip Webb
783981ba98 Merge branch '2.4.x' into 2.5.x 2021-12-16 13:48:25 -08:00
Phillip Webb
d336a96b7f Update web.xml xsd references to for 3.1 version
See gh-29075
2021-12-16 13:45:12 -08:00
Phillip Webb
6e01c3edbe Merge branch '2.5.x' into 2.6.x
Closes gh-29077
2021-12-15 22:17:22 -08:00
Phillip Webb
17363d1b3a Merge branch '2.4.x' into 2.5.x
Closes gh-29076
2021-12-15 22:16:37 -08:00
Phillip Webb
1749c893dc Update web-app version to 3.1
Update the web-app version specified in `web.xml` to 3.1 in order to
make Eclipse happy.

Closes gh-29075
2021-12-15 22:14:52 -08:00
Andy Wilkinson
3b23c542a0 Test servlet 3.1 compatibility in deployment tests
Closes gh-28906
2021-12-09 12:24:43 +00:00
Phillip Webb
beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
Scott Frederick
4eed637481 Merge branch '2.5.x'
Closes gh-28789
2021-11-23 12:45:46 -06:00
Scott Frederick
12244a8edd Remove use of Thymeleaf from smoke tests
Closes gh-28788
2021-11-23 12:13:05 -06:00
Andy Wilkinson
015cf920da Name custom task inputs
Closes gh-28753
2021-11-19 15:35:39 +00:00
Phillip Webb
b6d0b44703 Fix @SuppressWarnings 2021-11-18 17:26:18 -08:00
Madhura Bhave
dd1d1482dc Deny unauthorized access to the error page
Fixes gh-26356

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
2021-11-18 15:41:38 -08:00
Andy Wilkinson
7ed19a3b59 Merge branch '2.5.x'
Closes gh-28735
2021-11-18 12:21:11 +00:00
Andy Wilkinson
88457d9cfa Merge branch '2.4.x' into 2.5.x
Closes gh-28734
2021-11-18 12:20:50 +00:00
Andy Wilkinson
7d19ea4ca1 Limit log output produced by spring-boot-deployment-tests:intTest
Closes gh-28730
2021-11-18 12:18:34 +00:00
Madhura Bhave
6b79d2860f Merge branch '2.5.x' into main
Closes gh-28724
2021-11-17 16:41:23 -08:00
Madhura Bhave
64270eca51 Convert environment used by SpringBootTestContextLoader
This commit aligns `SpringBootTest`s to also use `ApplicationEnvironment`
instead of `StandardEnvironment`. This prevents the side-effect of active
profiles from `@ActiveProfiles` from being added to the environment when
doGetActiveProfiles is called. In this case, calling `addActiveProfiles()`
in the environment post processor would result in `@ActiveProfiles` being
added to the environment first, resulting in the wrong order.

The additional call to `setActiveProfiles()` is also not necessary when using
ApplicationEnvironment because that call was put in place to prevent the side-effect
which `ApplicationEnvironment` does not have.

Fixes gh-28530
2021-11-17 16:40:53 -08:00
Andy Wilkinson
2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson
5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson
2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
Andy Wilkinson
c80283b85f Merge branch '2.5.x'
Closes gh-28653
2021-11-12 13:05:42 +00:00
Andy Wilkinson
92fd3b79a5 Merge branch '2.4.x' into 2.5.x
Closes gh-28652
2021-11-12 13:05:14 +00:00
Andy Wilkinson
08aac25c00 Limit logging produced by spring-boot-loader-tests's intTest task
Closes gh-28651
2021-11-12 13:04:10 +00:00
Andy Wilkinson
c7a2d61aee Merge branch '2.4.x'
Closes gh-28485
2021-10-29 13:48:36 +01:00
Andy Wilkinson
7fe6f4887c Merge branch '2.4.x' into 2.5.x
Closes gh-28484
2021-10-29 13:48:23 +01:00
Andy Wilkinson
22d85e6d7b Allow tests to be run in parallel across multiple workers
Closes gh-19876
2021-10-29 12:48:45 +01:00