Commit Graph

2662 Commits

Author SHA1 Message Date
Stephane Nicoll f59e442978 Merge branch '2.5.x' into 2.6.x
Closes gh-29822
2022-02-15 16:19:59 +01:00
Stephane Nicoll f3af035941 Remove usage of SocketUtils in tests
Closes gh-29821
2022-02-15 16:17:21 +01:00
Stephane Nicoll bd6cb5c915 Merge branch '2.5.x' into 2.6.x 2022-02-13 18:15:48 +01:00
Stephane Nicoll 1f01345057 Fix assertion due to toString change in Spring Framework 2022-02-13 18:01:00 +01:00
Andy Wilkinson 4b33ea733e Merge branch '2.5.x' into 2.6.x
Closes gh-29750
2022-02-11 14:14:43 +00:00
Andy Wilkinson 387795d4db Remove trailing space from media type for ots mapping
The regular expression in the new test is intended to match the
documented [1] ABNF for a media type:

    type-name = reg-name
    subtype-name = reg-name

    reg-name = 1*127reg-name-chars
    reg-name-chars = ALPHA / DIGIT / "!" /
                     "#" / "$" / "&" / "." /
                     "+" / "-" / "^" / "_"

Closes gh-29746

[1] https://datatracker.ietf.org/doc/html/rfc4288#section-4.2
2022-02-11 14:09:53 +00:00
Phillip Webb 50e0e28155 Merge branch '2.5.x' into 2.6.x 2022-02-02 10:37:32 -08:00
Phillip Webb 2b40ce09d8 Update copyright year of changed files 2022-02-02 10:35:40 -08: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
Phillip Webb df9cf6b726 Make ErrorPageSecurityFilter compatible with Servlet 3.1
Ensure that all default methods are implemented so that the
filter is compatible with Servlet 3.1 environments.

Fixes gh-29558
2022-01-25 13:15:59 -08:00
Brian Clozel 1204c1aa32 Merge branch '2.5.x' into 2.6.x
Closes gh-29556
2022-01-25 09:21:49 +01:00
Lachlan Roberts f1bbce1aac Do not modify AliasChecks list from Jetty WebAppContext
Closes gh-29555
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-01-25 08:58:42 +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
Stephane Nicoll d92939e773 Merge branch '2.5.x' into 2.6.x
Closes gh-29478
2022-01-19 12:24:15 +01:00
Stephane Nicoll 4eb458f7d8 Prevent early resolution of factory beans
This commit updates DatabaseInitializationDependencyConfigurer so that
it does not inject the Environment anymore. Doing so in such a low-level
callback can lead to early resolution of factory beans. Rather, this
commit uses the EnvironmentAware callback that short-circuit dependency
resolution.

Closes gh-29475
2022-01-19 11:49:56 +01:00
Phillip Webb 3b4409305a Merge branch '2.5.x' into 2.6.x
Closes gh-29459
2022-01-18 16:15:20 -08:00
Phillip Webb 3d46b06e8d Fix config data placeholder resolution active document logic
Update `ConfigDataEnvironmentContributor.isActive` so that unbound
imports are no longer considered active. Prior to this commit, any
`ConfigDataEnvironmentContributor` that had `null` properties was
considered active. This is incorrect for `Kind.UNBOUND_IMPORT`
contributors since we haven't yet bound the `spring.config.*`
properties.

The `ConfigDataEnvironmentContributorPlaceholdersResolver` has been
updated to handle the refined logic. A placeholder can now be resolved
from the current contributor, or from an unbound contributor by binding
it on the fly.

Fixes gh-29386
2022-01-18 16:14:52 -08:00
Andy Wilkinson 4ee260aa8c Merge branch '2.5.x' into 2.6.x
Closes gh-29454
2022-01-18 20:34:51 +00:00
Andy Wilkinson 1c6471ef60 Register AprLifecycleListener with Server not Context
Fixes gh-28814
2022-01-18 20:34:08 +00:00
Phillip Webb 6afd9b665d Merge branch '2.5.x' into 2.6.x 2022-01-14 22:56:30 -08:00
Phillip Webb bccc9c1861 Refine ConfigurationPropertySources attach logic
Refine `ConfigurationPropertySources.attach` logic to endure that
the attached or reattached source is always first.

See gh-29409
2022-01-14 22:55:26 -08:00
Phillip Webb 28cf6f5c59 Merge branch '2.5.x' into 2.6.x
Closes gh-29410
2022-01-14 20:33:05 -08:00
Phillip Webb 79d9549805 Fix ConfigurationPropertySources attach logic
Fix `ConfigurationPropertySources.attach` so that repeated calls to the
same source no longer create a new instance.

Fixes gh-29409
2022-01-14 20:32:34 -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 99a683dffb Merge branch '2.5.x' into 2.6.x 2022-01-04 12:24:02 -08:00
Phillip Webb 9a6f35cd8e Update copyright year of changed files 2022-01-04 12:23:53 -08:00
Phillip Webb 81266ca806 Merge branch '2.5.x' into 2.6.x 2022-01-04 12:17:35 -08:00
Phillip Webb 0fcdab3936 Update copyright year of changed files 2022-01-04 12:17:10 -08:00
Scott Frederick b3a304fbe7 Merge branch '2.5.x' into 2.6.x
Closes gh-29143
2021-12-20 14:00:06 -06:00
Scott Frederick e4b0575a12 Do not consider bridge methods when binding java bean properties
Fixes gh-28917
2021-12-20 13:57:36 -06:00
Stephane Nicoll 653fdbd0a4 Configure comment prefixes
Closes gh-29095
2021-12-20 17:47:50 +01: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
Stephane Nicoll c077ebecf7 Merge branch '2.5.x' into 2.6.x
Closes gh-29103
2021-12-17 16:37:53 +01:00
Andy Wilkinson 2fec06ac7e Find annotation without initializing factory beans
Closes gh-28977
2021-12-17 16:08:30 +01:00
Phillip Webb 587d6fa309 Polish 2021-12-16 13:55:42 -08:00
Phillip Webb f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Scott Frederick 92b096abbf Fix message interpolation when code is used as default message
When `setUseCodeAsDefaultMessage(true)` was set on a message source,
attempting to interpolate the default message returned from the message
source would result in the code being unusable by upstream message
resolvers.

Fixes gh-28930
2021-12-16 12:20:37 -06:00
Stephane Nicoll ba60e3d358 Merge branch '2.5.x'
Closes gh-29002
2021-12-14 15:31:45 +01:00
Artur Signell ad754abba3 Make ErrorPageSecurityFilter compatible with Servlet 3.1
See gh-28902
2021-12-09 12:36:35 +00:00
Stephane Nicoll 46a8673bf8 Merge branch '2.5.x'
Closes gh-28839
2021-11-29 09:44:31 +01:00
Stephane Nicoll 1876b4bcd7 Update copyright year of changed files
See gh-28809
2021-11-29 09:43:44 +01:00
Leo Li f3c93d30a8 Fix reference to matching-strategy property
See gh-28809
2021-11-29 09:39:40 +01:00
izeye c7921468fc Polish
See gh-28836
2021-11-29 09:38:07 +01:00
Phillip Webb beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
Madhura Bhave e6b5be900a Make ErrorPageSecurityFilter Servlet 3.1 compatible
Restore Servlet 3.1 compatibly by implementing `Filter` rather
than extending the 4.0 `HttpFilter` type.

Fixes gh-28790
2021-11-24 09:59:27 -08:00