Skip to content

Add missing CRL cache support to rabbitmq.conf configuration (backport #15160)#15161

Merged
michaelklishin merged 1 commit intov4.2.xfrom
mergify/bp/v4.2.x/pr-15160
Dec 18, 2025
Merged

Add missing CRL cache support to rabbitmq.conf configuration (backport #15160)#15161
michaelklishin merged 1 commit intov4.2.xfrom
mergify/bp/v4.2.x/pr-15160

Conversation

@mergify
Copy link
Copy Markdown

@mergify mergify bot commented Dec 18, 2025

Add crl_cache support to rabbitmq.conf configuration RabbitMQ's modern rabbitmq.conf format does not support the crl_cache SSL option, forcing users to fall back to the legacy Erlang-style advanced.config file for this single setting. This creates an inconsistent configuration experience when using Certificate Revocation List (CRL) validation.

This adds schema mappings for ssl_options.crl_sources using indexed syntax. The implementation translates these settings into the required Erlang term format {crl_cache, {ssl_crl_cache, {internal, [Options]}}}. Two CRL source types are supported: http with an optional timeout parameter (defaults to 5000ms), and dir with a required path parameter. Validation ensures that only appropriate options are used with each source type.

Users can now configure multiple CRL sources using indexed syntax:

ssl_options.crl_sources.0 = http
ssl_options.crl_sources.0.timeout = 5000
ssl_options.crl_sources.1 = dir
ssl_options.crl_sources.1.path = /var/lib/rabbitmq/crls

Fixes #2338


This is an automatic backport of pull request #15160 done by Mergify.

RabbitMQ's modern `rabbitmq.conf` format does not support the
`crl_cache` SSL option, forcing users to fall back to the legacy
Erlang-style `advanced.config` file for this single setting. This
creates an inconsistent configuration experience when using Certificate
Revocation List (CRL) validation.

This adds schema mappings for `ssl_options.crl_sources` using indexed
syntax. The implementation translates these settings into the required
Erlang term format `{crl_cache, {ssl_crl_cache, {internal,
[Options]}}}`. Two CRL source types are supported: `http` with an
optional `timeout` parameter (defaults to 5000ms), and `dir` with a
required `path` parameter. Validation ensures that only appropriate
options are used with each source type.

Users can now configure multiple CRL sources using indexed syntax:

```
ssl_options.crl_sources.0 = http
ssl_options.crl_sources.0.timeout = 5000
ssl_options.crl_sources.1 = dir
ssl_options.crl_sources.1.path = /var/lib/rabbitmq/crls
```
Fixes #2338

(cherry picked from commit 4fb58bc)
@michaelklishin michaelklishin added this to the 4.2.3 milestone Dec 18, 2025
@michaelklishin michaelklishin merged commit 0af1723 into v4.2.x Dec 18, 2025
565 of 577 checks passed
@michaelklishin michaelklishin deleted the mergify/bp/v4.2.x/pr-15160 branch December 18, 2025 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants