4884 Commits

Author SHA1 Message Date
Scott Frederick
428434c873 Polish SslOptions usage
Change getter methods to return arrays, as this is how most client
library usages need the options.

See gh-34814
2023-04-27 16:37:46 -05:00
Scott Frederick
226c3005d4 Add SSL bundle support to Redis auto-configuration
Update Redis auto-configuration with Lettuce and Jedis drivers to
allow SSL configuration with an SSL bundle.

Closes gh-34815
2023-04-27 15:24:55 -05:00
Andy Wilkinson
9a0b5e0178 Merge branch '3.0.x'
Closes gh-35173
2023-04-26 12:48:50 +01:00
Andy Wilkinson
7ee1622995 Merge branch '2.7.x' into 3.0.x
Closes gh-35172
2023-04-26 12:48:16 +01:00
Andy Wilkinson
6b9bc012a5 Check that BPP and BFPP bean methods won't cause eager initialization
Closes gh-35164
2023-04-26 11:47:03 +01:00
Phillip Webb
b5c9e7c06a Polish SslOptions usage
Add helper method and tighten usage so that exceptions are thrown when
options cannot be applied.

See gh-34814
2023-04-25 22:39:47 -07:00
Phillip Webb
423c60acfa Add SSL bundle support to Elasticsearch auto-configuration
Update Elasticsearch RestClient auto-configuration so that an SSL
can be configured via an SSL bundle.

Closes gh-35155
2023-04-25 17:20:05 -07:00
Phillip Webb
19221f00f3 Deprecate spring.cassandra.ssl configuration property
Deprecate the `spring.cassandra.ssl` configuration property in favor
of `spring.cassandra.ssl.enabled`.

See gh-25602
2023-04-24 16:39:55 -07:00
Scott Frederick
ff35cc80d7 Allow Couchbase SSL to be enabled without custom trust material
Closes gh-35147
2023-04-24 14:51:58 -05:00
Scott Frederick
1d44b45b5d Deprecate Couchbase SSL keyStore properties
The properties `spring.couchbase.env.ssl.key-store`
and `spring.couchbase.env.ssl.key-store-password`
are deprecated in favor of configuring an SSL bundle with
`spring.couchbase.env.ssl.bundle`. The older properties
have somewhat confusing names, since they are used to
configure a trust store in Couchbase, and they don't
provide all the options that an SSL bundle provides.

Closes gh-35135
2023-04-24 14:45:40 -05:00
Andy Wilkinson
9cd04c55fb Merge branch '3.0.x'
Closes gh-35132
2023-04-24 16:01:51 +01:00
Andy Wilkinson
598e090e8f Merge branch '2.7.x' into 3.0.x
Closes gh-35131
2023-04-24 15:07:43 +01:00
Andy Wilkinson
90952a2dd9 Do not turn a null Flyway-specific password into an empty string
It prevents using PGPASS for authentication with Postgres.

Fixes gh-35110
2023-04-24 14:44:04 +01:00
Andy Wilkinson
7ffacf43f3 Use main DataSource when there are no migration-specific conn details
Fixes gh-35109
2023-04-24 13:18:56 +01:00
Phillip Webb
6ea2547de4 Add SSL bundle support to WebClient auto-configuration
Introduce `WebClientSsl` interface and auto-configuration to allow a
WebClient builder to have custom SSL configuration applied.

The previous `ClientHttpConnectorConfiguration` has been been changed
to now create `ClientHttpConnectorFactory` instances which can be used
directly or by `AutoConfiguredWebClientSsl`.

Closes gh-18556
2023-04-21 20:39:18 -07:00
Phillip Webb
c59c8cc674 Change SslOptions to use null for defaults rather than empty sets
Update `SslOptions` so that `null` is used for default values rather
than empty sets. Most libraries use `null` to indicate defaults so
aligning our class makes things easier.

See gh-34814
2023-04-21 16:18:44 -07:00
Scott Frederick
fd5fd1491a Add SSL bundle support to MongoDB auto-configuration
Update MongoDB auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-35042
2023-04-21 01:13:09 -07:00
Scott Frederick
1618aa2dac Add SSL bundle support to Couchbase auto-configuration
Update Couchbase auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-34811
2023-04-21 01:13:09 -07:00
Scott Frederick
682457377a Add SSL bundle support to Cassandra auto-configuration
Update Cassandra auto-configuration so that an SSL can be configured
via an SSL bundle.

Closes gh-25602
2023-04-21 01:13:09 -07:00
Scott Frederick
66db13b962 Refactor web server support to use SslBundles
Update Tomcat, Jetty, Undertow and Netty servers so that an SslBundle
is used to apply SSL configuration. Existing `Ssl` properties are
internally adapted to an `SslBundle` using the `WebServerSslBundle`
class. Additionally, if `Ssl.getBundle()` returns a non-null value the
the `SslBundles` bean will be used to find a registered bundle by name.

See gh-34814
2023-04-21 01:02:47 -07:00
Scott Frederick
8e1f24f98f Add SSL bundle auto-configuration support
Add auto-configuration for SSL bundles including new configuration
properties that can be used to define a bundle.

SSL bundle properties are provided under the `spring.ssl.bundle` key.
Currently `jks` and `pem` variants are support. Both are configured
as a `Map` where the bundle name is the key.

A typical example would be:

    spring:
      ssl:
        bundle:
          pem:
            mybundle
              key:
                password: secret
              keystore:
                certificate: classpath:mycert.pem
                private-key: classpath:mykey.pem

A `SslBundleRegistrar` interface is also provided to allow programmatic
contributions to the auto-configured `SslBundleRegistry`.

See gh-34814
2023-04-21 01:01:54 -07:00
Andy Wilkinson
cbc03783d0 Allow startup to contiune when ConnectionDetailsFactory load fails
Prior to this commit, a failure to load a ConnectionDetailsFactory
caused startup to fail. This causes problems when some of a
factory's required classes were not available, for examle when using
spring-boot-docker-compose without Actuator.

Fixes gh-35100
2023-04-20 15:00:46 +01:00
Andy Wilkinson
a03fe8befc Enable customization of JWK Set URI decoder builders
Closes gh-20750
2023-04-19 17:23:53 +01:00
Stephane Nicoll
366f7a85c9 Merge branch '3.0.x'
Closes gh-35069
2023-04-19 18:01:43 +02:00
Stephane Nicoll
6933796f2a Merge branch '2.7.x' into 3.0.x
Closes gh-35068
2023-04-19 18:01:16 +02:00
Stephane Nicoll
1b832d82f8 Polish "Back off if a custom ApplicationAvailability bean is present"
See gh-34347
2023-04-19 17:25:10 +02:00
Taeik Lim
5e95ba8448 Back off if a custom ApplicationAvailability bean is present
See gh-34347
2023-04-19 17:24:59 +02:00
Andy Wilkinson
f5e654748c Polish "Add customizer for conversion service used by Spring Batch"
See gh-34769
2023-04-19 14:15:08 +01:00
Claudio Nave
cafa6f5d9c Add customizer for conversion service used by Spring Batch
See gh-34769
2023-04-19 13:25:31 +01:00
Stephane Nicoll
a323bd90a8 Polish "Reintroduce support for ActiveMQ"
See gh-35048
2023-04-19 13:08:14 +02:00
Martin BENDA
3e9908a797 Reintroduce support for ActiveMQ
See gh-35048
2023-04-19 11:00:40 +02:00
Andy Wilkinson
7b3e687f05 Deprecate OAuth2ClientPropertiesRegistrationAdapter
This commit deprecates OAuth2ClientPropertiesRegistrationAdapter as
it wasn't really an adapter because it provides a static utility
method rather than adapting one contract to another. A replacement,
OAuth2ClientPropertiesMapper, is introduced that maps the OAuth2
client properties to the required types.

Closes gh-34714
2023-04-18 20:43:34 +01:00
Andy Wilkinson
4eb7558707 Polish "Add properties to support device grant"
See gh-34957
2023-04-18 19:34:13 +01:00
Steve Riesenberg
25b582c822 Add properties to support device grant
This commit adds the following properties under
spring.security.oauth2.authorizationserver.client.[registration-id]:

* endpoint.device-authorization-uri
* endpoint.device-verification-uri
* token.device-code-time-to-live

See gh-34957
2023-04-18 19:15:12 +01:00
Andy Wilkinson
e2ee1ed50d Fix password handling in Flyway auto-configuration
Previously, FlywayProperties returned an empty string when its
password had not been set. This prevented the desired fallback to
JdbcConnectionDetails.

Fixes gh-35046
2023-04-18 11:52:50 +01:00
Phillip Webb
81a972af8d Refactor testcontainers service connections
Update restcontainers service connections support so that
technology specific `@ServiceConnector` annotations are not longer
required.

A single `@ServiceConnector` annotation can now be used to create
all `ConnectionDetail` beans.

Closes gh-35017
2023-04-17 00:45:39 -07:00
Phillip Webb
2951cc7594 Polish 2023-04-17 00:42:28 -07:00
Phillip Webb
1849b82334 Don't apply configuration-properties from auto-configuration plugin
Update the auto-configuration gradle plugin so that the
configuration-properties plugin is not longer automatically applied.
This  allows us to have auto-configuration modules that don't ship
configuration properties.

Closes gh-35028
2023-04-17 00:41:25 -07:00
Phillip Webb
053c968fb4 Polish 2023-04-14 17:44:15 -07:00
Phillip Webb
00dc942e94 Migrate to Spring Security lambda config
Closes gh-35011
2023-04-14 17:39:48 -07:00
Andy Wilkinson
397f16ce2d Upgrade to Flyway 9.16.3
Closes gh-34990
2023-04-14 17:59:46 +01:00
Stephane Nicoll
c4c4eb93ae Start building against Spring Security 6.1.0-RC1 snapshots
See gh-34969
2023-04-14 14:52:57 +02:00
Andy Wilkinson
d4980ea993 Always define connection details beans
Closes gh-34776
2023-04-13 18:02:35 +01:00
Andy Wilkinson
466b81f13d Merge branch '3.0.x' 2023-04-13 14:41:40 +01:00
Andy Wilkinson
0e51cd583a Merge branch '2.7.x' into 3.0.x 2023-04-13 14:27:00 +01:00
Andy Wilkinson
e70226b48e Adapt to breaking changes in Spring Security internals
See gh-34948
2023-04-13 14:11:20 +01:00
Phillip Webb
e9a198a68f Merge branch '3.0.x' 2023-04-12 22:16:35 -07:00
Stephane Nicoll
9a4a522004 Polish "Start building against Spring Security 6.0.3 snapshots"
See gh-34952
2023-04-12 12:29:58 +02:00
Stephane Nicoll
3f022867f4 Polish "Start building against Spring Security 5.7.8 snapshots"
See gh-34948
2023-04-12 12:26:43 +02:00
Stephane Nicoll
2dcb849c0f Merge branch '3.0.x'
Closes gh-34939
2023-04-11 16:39:00 +02:00