11218 Commits

Author SHA1 Message Date
Phillip Webb
ef89eb6dfb Add @ConditionalOnDefaultWebSecurity annotation
Add a dedicate condition annotation to detect when Spring Security is
available but has not been configured by the user. The new annotation
helps simplify quite a few of our auto-configuration classes.

See gh-23421
2020-10-26 23:47:14 -07:00
Madhura Bhave
0818f27f44 Configure WebSecurity using WebSecurityCustomizer
Replace `WebSecurityConfigurer` and `WebSecurityConfigurerAdapter`
configurations with `WebSecurityCustomizer` or `SecurityFilterChain`
beans.

Closes gh-23421
2020-10-26 23:47:14 -07:00
Stephane Nicoll
ca08664ebd Upgrade to Reactor 2020.0.0
Closes gh-23771
2020-10-27 04:29:22 +01:00
Stephane Nicoll
e6c63b5b4e Polish
See gh-23914
2020-10-27 04:25:17 +01:00
Stephane Nicoll
a7f6c3652a Upgrade to Kotlin Coroutines 1.4.0
Close gh-23913
2020-10-27 03:58:26 +01:00
Andy Wilkinson
fafc0a91e3 Register @WebListeners in a way that allows them to register components
Previously, @WebListeners were discovered via custom component scanning
and then registered programmatically via the ServletContext. The servlet
spec requires any ServletContextListener registered in this manner to be
prohibited from programatically configuring servlets, filters, and
listeners. This left us not strictly complying with the servlet spec
as a ServletContextListener registered via a @WebListener annotation
should be able to programatically configure other components.

This commit updates WebListenerHandler to register each @WebListener
component directly with Jetty, Tomcat, or Undertow rather than via the
ServletContext API. This ensure that any @WebListener-annoated
ServletContextListener registered via servlet component scanning is
able to programatically register servlets, filters, and listeners.

There is a small chance that this will be a breaking change for some
users:

1. The ServletListenerRegistrationBeans that were previously defined
   for each @WebListener will now be
   WebListenerHandler.WebListenerRegistrars
2. Each @WebListener-annotated class will now be instantiated by
   Jetty, Tomcat, or Undertow. Jetty and Tomcat both require the class
   to be public and have a public default constructor. Previously,
   a package-private class or default constructor could be used as the
   instantiation was performed by Spring Framework. Undertow is not
   affected as it can instantiate a package-private type.

Fixes gh-18303
2020-10-26 13:26:52 -07:00
Scott Frederick
1a3f810cd8 Prevent serialization exception from Env actuator
When `EnvironmentEndpoint` is building a response to return to the
web infrastructure, it creates a data structure containing all
property values from all property sources. Prior to this commit, it
was possible for the response data structure to contain property
values that were not serializable to JSON by Jackson, which would
cause an exception to be thrown by the web infrastructure. This
commit ensures the data structure is serializable to JSON by
ensuring property values are primitives or Strings, and returning
a placeholder value if a property value is of any other type.

Fixes gh-23805
2020-10-26 14:26:41 -05:00
Phillip Webb
5e26954068 Provide default charset properties
Fixed gh-23827
2020-10-26 08:57:06 -07:00
Andy Wilkinson
abfdfc3e5f Merge branch '2.3.x'
Closes gh-23908
2020-10-26 14:45:18 +00:00
Stephane Nicoll
9ab3abb728 Add support for SAML2 relying party registration's decryption credentials
Closes gh-23705
2020-10-26 15:43:35 +01:00
Andy Wilkinson
c0bb6ff667 Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23863
2020-10-26 14:41:58 +00:00
Andy Wilkinson
10f887a5ad Introduce management base-path property for servlet and reactive actuator
Previously, the base path of a servlet-based management server could be
configured using management.server.servlet.context-path but there was no
equivalent property for WebFlux.

This commit introduces a new property, management.server.base-path,
that can be used with both servlet and reactive management servers. The
existing servlet-specific property has been deprecated in favour of the
new general property. When using the servlet stack, if both the general
property and the servlet-specific property are set, the new general
property takes precedence. When using the reactive stack, only the new
general property is considered.

Closes gh-22906
2020-10-26 14:16:29 +00:00
Andy Wilkinson
653e64c4ef Upgrade to SendGrid 4.6.7
Closes gh-23906
2020-10-26 13:39:01 +00:00
Andy Wilkinson
1cf842cbf7 Upgrade to Rabbit AMQP Client 5.10.0
Closes gh-23905
2020-10-26 13:39:01 +00:00
Andy Wilkinson
5a35d3fd3d Upgrade to R2DBC Bom Arabba-SR8
Closes gh-23904
2020-10-26 13:39:01 +00:00
Andy Wilkinson
7fd392e66b Upgrade to Postgresql 42.2.18
Closes gh-23903
2020-10-26 13:39:01 +00:00
Andy Wilkinson
e57b65d719 Upgrade to Oracle Database 19.8.0.0
Closes gh-23902
2020-10-26 13:39:00 +00:00
Andy Wilkinson
b414fd1f3d Upgrade to Nimbus JOSE JWT 9.1.1
Closes gh-23901
2020-10-26 13:39:00 +00:00
Andy Wilkinson
c2df079d96 Upgrade to OAuth2 OIDC SDK 8.23.1
Closes gh-23900
2020-10-26 13:39:00 +00:00
Andy Wilkinson
3a5b2e293c Upgrade to Netty 4.1.53.Final
Closes gh-23899
2020-10-26 13:39:00 +00:00
Andy Wilkinson
f10ed6a05b Upgrade to MySQL 8.0.22
Closes gh-23898
2020-10-26 13:39:00 +00:00
Andy Wilkinson
130735f366 Upgrade to MongoDB 4.1.1
Closes gh-23897
2020-10-26 13:38:59 +00:00
Andy Wilkinson
09a4646280 Upgrade to Mockito 3.5.15
Closes gh-23896
2020-10-26 13:38:59 +00:00
Andy Wilkinson
ad5bd122fe Upgrade to Lombok 1.18.16
Closes gh-23895
2020-10-26 13:38:59 +00:00
Andy Wilkinson
ad75681ab3 Upgrade to jOOQ 3.14.0
Closes gh-23894
2020-10-26 13:38:59 +00:00
Andy Wilkinson
b7c56f205d Upgrade to Jetty 9.4.33.v20201020
Closes gh-23893
2020-10-26 13:38:59 +00:00
Andy Wilkinson
708c43a8d1 Upgrade to Flyway 7.0.4
Closes gh-23892
2020-10-26 13:38:58 +00:00
Andy Wilkinson
7519e199d1 Upgrade to Elasticsearch 7.9.3
Closes gh-23891
2020-10-26 13:01:52 +00:00
Andy Wilkinson
499ba7e0bc Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23890
2020-10-26 13:01:51 +00:00
Andy Wilkinson
47e6063533 Upgrade to Commons Pool2 2.9.0
Closes gh-23889
2020-10-26 13:01:50 +00:00
Andy Wilkinson
54a76199b7 Upgrade to AssertJ 3.18.0
Closes gh-23888
2020-10-26 13:01:48 +00:00
Andy Wilkinson
dedd8e603d Upgrade to Tomcat 9.0.39
Closes gh-23885
2020-10-26 12:58:40 +00:00
Andy Wilkinson
4b6ef6ef44 Upgrade to Spring Security 5.3.5.RELEASE
Closes gh-23884
2020-10-26 12:58:40 +00:00
Andy Wilkinson
1520de773d Upgrade to RxJava2 2.2.20
Closes gh-23883
2020-10-26 12:58:40 +00:00
Andy Wilkinson
74e4d8effb Upgrade to R2DBC Bom Arabba-SR8
Closes gh-23882
2020-10-26 12:58:40 +00:00
Andy Wilkinson
87c6ca0757 Upgrade to Postgresql 42.2.18
Closes gh-23881
2020-10-26 12:58:40 +00:00
Andy Wilkinson
48608896ab Upgrade to Netty 4.1.53.Final
Closes gh-23880
2020-10-26 12:58:40 +00:00
Andy Wilkinson
890e61989f Upgrade to Neo4j OGM 3.2.17
Closes gh-23879
2020-10-26 12:58:39 +00:00
Andy Wilkinson
b41a4970fa Upgrade to MySQL 8.0.22
Closes gh-23878
2020-10-26 12:58:39 +00:00
Andy Wilkinson
47831a3b34 Upgrade to Lombok 1.18.16
Closes gh-23877
2020-10-26 12:58:39 +00:00
Andy Wilkinson
d75288b726 Upgrade to jOOQ 3.13.5
Closes gh-23875
2020-10-26 12:58:39 +00:00
Andy Wilkinson
b7704f5a9c Upgrade to Jetty 9.4.33.v20201020
Closes gh-23874
2020-10-26 12:58:39 +00:00
Andy Wilkinson
08ef732483 Upgrade to Jackson Bom 2.11.3
Closes gh-23873
2020-10-26 12:58:38 +00:00
Andy Wilkinson
fe1560819e Upgrade to HttpClient 4.5.13
Closes gh-23872
2020-10-26 12:58:38 +00:00
Andy Wilkinson
dccc82d729 Upgrade to Hibernate Validator 6.1.6.Final
Closes gh-23871
2020-10-26 12:58:38 +00:00
Andy Wilkinson
eb9dafe4ee Upgrade to Hibernate 5.4.22.Final
Closes gh-23870
2020-10-26 12:58:38 +00:00
Andy Wilkinson
7d0f5ce8fd Upgrade to Hazelcast 3.12.10
Closes gh-23869
2020-10-26 12:58:38 +00:00
Andy Wilkinson
1b0cb179e7 Upgrade to Dropwizard Metrics 4.1.14
Closes gh-23868
2020-10-26 12:58:38 +00:00
Andy Wilkinson
2958ff3b16 Upgrade to Couchbase Client 3.0.9
Closes gh-23867
2020-10-26 12:58:37 +00:00
Andy Wilkinson
5e71a72545 Upgrade to Caffeine 2.8.6
Closes gh-23866
2020-10-26 12:58:37 +00:00