Commit Graph
920 Commits
Author SHA1 Message Date
Tran Ngoc Nhan 338ac4b490 Remove unnecessary backtick in author tag
See gh-51719

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2026-09-13 17:14:27 +02:00
Andy Wilkinson d08d6d053a Merge pull request #51666 from ohchanKyu
Closes gh-51666

* gh-51666:
  Polish "Use TLS port for Docker Compose RabbitMQ connection when SSL is configured"
  Use TLS port for Docker Compose RabbitMQ connection when SSL is configured
2026-09-11 12:47:17 +01:00
Andy Wilkinson 18295bf297 Polish "Use TLS port for Docker Compose RabbitMQ connection when SSL is configured"
See gh-51666

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-11 12:42:51 +01:00
ohchanKyu 458ed72f55 Use TLS port for Docker Compose RabbitMQ connection when SSL is configured
When a rabbitmq Docker Compose service has SSL bundle labels,
RabbitDockerComposeConnectionDetailsFactory created an SslBundle but
still resolved the address from container port 5672, the plain AMQP
listener. As the connection factory enables SSL when an SslBundle is
present, the TLS handshake was attempted against the non-TLS listener
and the connection failed.

The address is now resolved from container port 5671 when an SslBundle
is present, matching RabbitStreamDockerComposeConnectionDetailsFactory
and the Testcontainers-based RabbitContainerConnectionDetailsFactory.
The SSL integration test now opens a connection using the resolved
address and SslBundle so that it fails without this fix.

Signed-off-by: ohchanKyu <okc0202@naver.com>

See gh-51666
2026-09-11 12:35:40 +01:00
Andy Wilkinson a9fbd4a24c Polish "Remove redundant whitespace"
See gh-51644

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-09 10:00:36 +01:00
Tran Ngoc Nhan fd7a52b954 Remove redundant whitespace
Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>

See gh-51644
2026-09-09 10:00:23 +01:00
Andy Wilkinson 06c0fa8d5c Retain WebFlux's default SameSite when property not set
Fixes gh-51636
2026-09-09 08:18:47 +01:00
Stéphane Nicoll 4fc987180d Polish "Add support for creating a container from a TestImage value"
See gh-51082
2026-09-08 18:30:35 +02:00
ohchanKyu afc3178f33 Fix typo in deprecated Pushgateway base-url property metadata
The deprecation entry for
management.prometheus.metrics.export.pushgateway.base-url was declared
as "management.promethus", so the deprecation was never reported.

Signed-off-by: ohchanKyu <okc0202@naver.com>

See gh-51627
2026-09-08 16:54:18 +01:00
JaeHyunAn 537c80dbb9 Honor authorities-claim-delimiter when set on its own
See gh-51619

Signed-off-by: JaeHyunAn <98042706+yyuneu@users.noreply.github.com>
2026-09-08 16:39:54 +01:00
Stéphane Nicoll b1e91c942e Add support for creating a container from a TestImage value
This commit improves TestImage so that an explicit image can trigger
the creation of the container, with optional additional setup. This
removes the need of creating additional container types for images that
have multiple flavors, and to please the static method that can only
create a container based on a single match.

Closes gh-51082
2026-09-08 16:46:48 +02:00
Andy Wilkinson 23275d826b Polish "Preserve firewall in reactive CF security auto-configuration"
See gh-51549

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-08 09:18:26 +01:00
aashikantkumar 4f3d0349f3 Preserve firewall in reactive CF security auto-configuration
Prior to this commit, CloudFoundryReactiveActuatorAutoConfiguration
registered a BeanPostProcessor replaced the WebFilterChainProxy bean
with one that handled CF security and delegated to the existing
chain.

Constructing a new WebFilterChainProxy resulted in the loss of any
firewall customization on the existing chain as Spring Security does
not provide an API to retreive the firewall from the existing chain
and apply it to the new chain.

This commit changes the approach and aligns it with its Servlet
counterpart. Instead of post-processing the filter chain proxy, a new
SecurityWebFilterChain that handles cloudfoundryapplication/**
is defined. This chain becomes part of the existing
WebFilterChainProxy, preserving any firewall customization.

Signed-off-by: aashikantkumar <aashikantkumar2@gmail.com>

See gh-51549
2026-09-08 08:56:38 +01:00
Andy Wilkinson 1d79f56ad7 Return 503 for missing application ID or cloud controller URL
Previously, the CloudFoundryAuthorizationExceptions thrown for a
missing application ID or cloud controller URL were not routed
through the error handling that turned them into a SecurityResponse
with a 503 status code. As a result, they were processed by the
general exception handling which resulted in a 500 response.

This commit updates the reactive SecurityInterceptor so that the
exceptions are processed through
SecurityInterceptor::getErrorResponse. This aligns the behavior of
the Cloud Foundry security intergration in a reactive application
more closely with that of a Servlet application.

Fixes gh-51613
2026-09-08 08:51:58 +01:00
Hyunwoo Jung 528c8bd1ea Fix typos
Signed-off-by: Hyunwoo Jung <hyunwoojung@kakao.com>

See gh-51590
2026-09-07 11:53:30 +01:00
Fabio Grassi b49f9e2c32 Switch to Java 17 variants of Oracle JDBC dependencies
Signed-off-by: Fabio Grassi <40345396+fabio-grassi@users.noreply.github.com>

See gh-51593
2026-09-07 08:31:23 +01:00
Manu Sridharan 25a3f8feb9 Remove unnecessary NullAway suppressions
Signed-off-by: Manu Sridharan <msridhar@gmail.com>

See gh-51591
2026-09-07 08:18:11 +01:00
Manu Sridharan 1c50b1cb7c Fix new warnings from NullAway 0.14.1
Signed-off-by: Manu Sridharan <msridhar@gmail.com>

See gh-51507
2026-09-04 12:56:34 +01:00
Andy Wilkinson a833fe58f9 Merge pull request #51546 from yyuneu
Closes gh-51546

* gh-51546:
  Apply RabbitMQ credential fallbacks for null values
2026-09-04 10:12:14 +01:00
Vladimir Sitnikov ff3086700b Fix unrecognized JSpecify nullable annotations
Signed-off-by: Vladimir Sitnikov <sitnikov.vladimir@gmail.com>

See gh-51555
2026-09-04 09:40:47 +01:00
kdomo 3d037f9df6 Correct Assert messages that name the wrong parameter
Three Assert messages named a parameter that does not exist on the
method. In each case the correct name is already used by neighbouring
code in the same class.

Signed-off-by: kdomo <dongho5088@naver.com>

See gh-51568
2026-09-04 09:10:05 +01:00
JaeHyunAn 7fd64281e0 Apply RabbitMQ credential fallbacks for null values
Docker records an environment variable that is declared without a value
as a bare name, which DockerEnv maps to a null value rather than
omitting the key. Map.getOrDefault only falls back when the key is
absent, so both the fallback key and the guest default were skipped.

See gh-51546

Signed-off-by: JaeHyunAn <98042706+yyuneu@users.noreply.github.com>
2026-09-02 22:40:57 +09:00
Andy Wilkinson d6c2e687b0 Polish "Use constructor injection in classes that partipate in @Import"
See gh-51490

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-09-02 14:16:07 +01:00
piyushrajyadav e161167450 Use constructor injection in classes that partipate in @Import
See gh-51490

Signed-off-by: piyushrajyadav <piyushyadavrajyadav@gmail.com>
2026-09-02 14:15:45 +01:00
Stéphane Nicoll 60445a5069 Polish "Fix null customizer checks in HTTP client builders"
See gh-51509
2026-08-30 20:21:43 +02:00
kdomo 93a24eabb1 Fix null customizer checks in HTTP client builders
AbstractClientHttpRequestFactoryBuilder.mergedCustomizers and its
reactive counterpart asserted on the customizers field rather than
the customizer parameter. The field is never null since the
constructor defaults it to an empty list, so the assertion always
passed and a null customizer was not rejected.

See gh-51509

Signed-off-by: kdomo <dongho5088@naver.com>
2026-08-30 20:16:15 +02:00
Stéphane Nicoll b1b145de21 Polish contribution
See gh-51466
2026-08-30 19:59:11 +02:00
Scott Frederick 4ca8304959 Retain SSL host config customizations during Tomcat initialization
Applying an SSL bundle to a Tomcat server replaced any `SSLHostConfig`
already registered on the connector for a host name, so an
`SSLHostConfig` could not be configured before Spring Boot applied a
bundle to it.

Reuse any existing `SSLHostConfig` during initial configuration, so an
`SSLHostConfig` registered on the connector before the bundle is
applied retains settings such as `trustManagerClassName`,
`truststoreProvider`, or `truststoreAlgorithm`.

Client authentication settings are only applied when creating a new
`SSLHostConfig`, so the `certificateVerification` of an existing
`SSLHostConfig` is retained rather than being overwritten with the
value derived from the `server.ssl.client-auth` property.

See gh-51466

Signed-off-by: Scott Frederick <scottyfred@gmail.com>
2026-08-30 19:54:00 +02:00
2heunxun 9847c9613e Honor existing 'encrypt' JDBC parameter for SQL Server Docker Compose
Signed-off-by: 2heunxun <seapeon@naver.com>

See gh-51467
2026-08-27 14:32:40 +01:00
Phillip Webb fa163d4f2d Polish "Retain SSL host config customizations when reloading SSL bundles"
See gh-51290
2026-08-25 18:53:05 -07:00
Scott Frederick cbbe588d1f Retain SSL host config customizations when reloading SSL bundles
Tomcat's SSL configuration is applied to an `SSLHostConfig` for each
host name. When an SSL bundle was updated, a new `SSLHostConfig` was
created and used to replace the existing one for that host name,
discarding any customizations that had been applied to it (for example
by a `TomcatConnectorCustomizer`).

Reuse the existing `SSLHostConfig` for the host name when one is
present, applying the updated bundle to it rather than replacing it. The
existing `SSLHostConfigCertificate` is also reused, as adding a second
certificate with an undefined type to an `SSLHostConfig` is rejected by
Tomcat.

See gh-51290

Signed-off-by: Scott Frederick <scottyfred@gmail.com>
2026-08-25 18:52:34 -07:00
Phillip Webb 5a21e0d698 Upgrade to spring-javaformat 0.0.48
Closes gh-51452
2026-08-25 13:58:58 -07:00
Phillip Webb 53c04499b4 Create properties despite used-defined ClientRegistrationRepository
Update `OAuth2ClientConfigurations` so that properties are created
regardless of a user-defined `ClientRegistrationRepository` bean.

Fixes gh-51447
2026-08-25 12:41:23 -07:00
2heunxun d00566ae5d Fix watchdog thread leak in JmsHealthIndicator on start failure
See gh-51412

Signed-off-by: 2heunxun <seapeon@naver.com>
2026-08-25 09:07:25 +02:00
Stéphane Nicoll ada7ac7c48 Apply consumer-specific security protocol
Closes gh-51365
2026-08-11 17:46:39 +02:00
Stéphane Nicoll 481f6f03fe Polish "Fix exception type documented by resolveConfigLocation"
This removes the throws entry altogether as we don't usually document
such exception.

See gh-51175
2026-08-05 11:38:43 +02:00
wantaek 010bc3c307 Fix exception type documented by resolveConfigLocation
The javadoc promises an IllegalArgumentException, but the method asserts
with Assert.state, which throws an IllegalStateException.

See gh-51175

Signed-off-by: wantaek <wantaekchoi@gmail.com>
2026-08-05 11:38:43 +02:00
vvzvvv e02521d12b Remove unnecessary null check in GroovyTemplateAutoConfigurationTests
The context field is final and eagerly initialized, so it can
never be null at teardown time.

See gh-51147

Signed-off-by: vvzvvv <tmdgusv@gmail.com>
2026-07-30 08:41:53 +02:00
Moritz Halbritter 19153b69a4 Polish "Prevent Micrometer global registry from pinning application contexts"
See gh-50886
2026-07-28 10:14:06 +02:00
LordKay-sudo 7f8a75a6fb Prevent Micrometer global registry from pinning application contexts
Track meter registries added to Metrics.globalRegistry and remove them
on context close.

Disable use of the global registry in tests by default to avoid pinning
cached test contexts.

See gh-50886

Signed-off-by: LordKay-sudo <lkandiro@gmail.com>
2026-07-28 10:14:06 +02:00
Stéphane Nicoll 578aca2b08 Polish "Use RestClient in tests and infrastructure code"
See gh-51120
2026-07-25 07:22:03 +02:00
Stéphane Nicoll 648e2fb5f9 Polish deprecation message
Unfortunately it is too late to flag HttpMessageConverters for removal
as it would be a breaking change in a patch release.

See gh-46411
2026-07-24 15:26:50 +02:00
Stéphane Nicoll b9ebff0084 Use RestClient in tests and infrastructure code
Closes gh-51120
2026-07-24 15:10:43 +02:00
wantaek 8f832b659b Fix declared type of spring.test.mockmvc.htmlunit.url
The manual metadata entry declares java.lang.Boolean while its
description and default value ("http://localhost") describe a URL
string, and MockMvcWebClientAutoConfiguration and
MockMvcWebDriverAutoConfiguration read the property as a string.

See gh-51110

Signed-off-by: wantaek <wantaekchoi@gmail.com>
2026-07-24 08:51:46 +02:00
Stéphane Nicoll 3d0ec60c8d Fix servlet-api dependency scope for spring-boot-h2-console
Closes gh-51094
2026-07-22 11:40:12 +02:00
Manu Sridharan 428806d71f Adapt to improvements in Nullaway 0.13.8
This commit adapts @Nullable when calling Map#remove as it correctly
handles nullability.

See gh-50972

Signed-off-by: Manu Sridharan <msridhar@gmail.com>
2026-07-21 14:45:29 +02:00
Stéphane Nicoll 9f8f4da563 Polish "Preserve nested Flyway migration paths in native images"
See gh-50433
2026-07-16 15:38:24 +02:00
Dongliang Xie d9ffeee4b7 Preserve nested Flyway migration paths in native images
This commit preserves the classpath-relative path for Flyway migration
discovered by the native image resource provider so nested migrations
remain readable.

See gh-50433

Signed-off-by: Dongliang Xie <dragonfsky@gmail.com>
2026-07-16 15:38:19 +02:00
Dmitry Sulman f83576eb29 Order kotlinxJsonCodecCustomizer so user-provided customizer can go after it
Closes gh-50428

Signed-off-by: Dmitry Sulman <dmitry.sulman@gmail.com>
2026-07-16 14:52:42 +02:00
Stéphane Nicoll bbacbc6291 Do not require WebClient.Builder in CloudFoundry auto-configuration
Closes gh-50928
2026-07-14 15:37:40 +02:00