rabbitmq-server/deps/rabbitmq_auth_backend_ldap
Luke Bakken 55e95f466a Remove all usage of `cacerts` from configuration schemas
As mentioned in discussion #14426, the way that `cacerts` is handled by
cuttlefish schemas simply will not work if set.

If `cacerts` were set to a string value containing one X509 certificate,
it would eventually result in a crash because the `cacerts` ssl option
must be of [this type](https://www.erlang.org/doc/apps/ssl/ssl.html#t:client_option_cert/0):

```
{cacerts, CACerts :: [public_key:der_encoded()] | [public_key:combined_cert()]}
```

Neither of those are strings, of course.

This PR removes all use of `cacerts` in cuttlefish schemas. In addition,
it filters out `cacerts` and `certs_keys` from being JSON-encoded by an
HTTP API call to `/api/overview`. It _is_ technically possible to set
`cacerts` via `advanced.config`, so, if set, it would crash this API
call, as would `certs_keys`.

(cherry picked from commit ce86fb989e)
2025-10-02 17:44:01 +00:00
..
example Setup olcBackend in global ldap example config 2024-05-01 10:31:17 -04:00
include Switch from Lager to the new Erlang Logger API for logging 2021-03-11 15:17:36 +01:00
priv/schema Remove all usage of `cacerts` from configuration schemas 2025-10-02 17:44:01 +00:00
src Revert "Implement LDAP credentials validation via HTTP API (backport #14414)" 2025-09-30 13:10:18 -04:00
test Revert "Implement LDAP credentials validation via HTTP API (backport #14414)" 2025-09-30 13:10:18 -04:00
.gitignore Cleanup .gitignore files for the monorepo 2024-06-28 12:00:52 +02:00
CODE_OF_CONDUCT.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
CONTRIBUTING.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
LICENSE Replace @rabbitmq.com addresses with rabbitmq-core@groups.vmware.com 2023-06-20 15:40:13 +04:00
LICENSE-MPL-RabbitMQ Revert drop of Exhibit B on MPL 2.0 2020-07-20 16:56:59 +01:00
Makefile Revert "Implement LDAP credentials validation via HTTP API (backport #14414)" 2025-09-30 13:10:18 -04:00
README-authorisation.md URL Cleanup 2019-03-20 03:11:50 -05:00
README.md More missed license header updates #9969 2024-02-05 12:26:25 -05:00
TESTING.md system_SUITE: Setup slapd(8) at the beginning of the testsuite 2020-03-26 16:07:08 +01:00

README.md

RabbitMQ LDAP Authentication Backend

This plugin provides authentication and authorisation backends for RabbitMQ that use LDAP.

Under a heavy load this plugin can put a higher than expected amount of load on it's backing LDAP service. We recommend using it together with rabbitmq_auth_backend_cache with a reasonable caching interval (e.g. 2-3 minutes).

Installation

This plugin ships with reasonably recent RabbitMQ versions (e.g. 3.3.0 or later). Enable it with

rabbitmq-plugins enable rabbitmq_auth_backend_ldap

Documentation

See LDAP guide on rabbitmq.com.

Building from Source

See Plugin Development guide.

TL;DR: running

make dist

will build the plugin and put build artifacts under the ./plugins directory.

(c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.

Released under the MPL, the same license as RabbitMQ.