https://bugs.openldap.org/show_bug.cgi?id=9517
--- Comment #10 from gilbert.kowarzyk@servicenow.com --- (In reply to Quanah Gibson-Mount from comment #7)
(In reply to gilbert.kowarzyk from comment #6)
I was not able to find documentation listing `libsodium` and `libargon2` as being both supported when building slapd, only some references in the building scripts. On the topic of documentation, it could be beneficial to explain that this choice is available, and maybe a short explanation of why one would pick one over the other. Some of the supported libraries are listed here (https://openldap.org/doc/admin24/install.html).
For 2.4, it's literally documented in its contrib Makefile. Anyone building it is going to have to read the Makefile to get anywhere to start with.
But generally I'd suggest looking at OpenLDAP 2.5, where argon2 is fully integrated in with configure:
./configure --help | grep argon --enable-argon2 Argon2 password hashing module no|yes [no] --with-argon2 with argon2 support library auto|libsodum|libargon2 [auto]
--Quanah
For 2.4, I looked here:
- https://github.com/openldap/openldap/blob/OPENLDAP_REL_ENG_2_4_58/contrib/RE... - https://github.com/openldap/openldap/blob/OPENLDAP_REL_ENG_2_4_58/contrib/sl... - https://github.com/openldap/openldap/blob/OPENLDAP_REL_ENG_2_4_58/contrib/sl... - https://github.com/openldap/openldap/blob/OPENLDAP_REL_ENG_2_4_58/contrib/sl...
and I did not find a mention for libsodium v.s. libargon2.
I did not search for 2.5, but I searched in the `master` branch using:
- `grep -R -i libsodium .` - `grep -R -i libargon2 .`
and was not able to find any documentation references of libargon2 v.s. libsodium support (or the why one would pick one over the other). I was able to find a references in the build scripts (e.g. the `./configure` file mentioned), but no information in the documentation.
Unless I am looking in the wrong places (which is very possible), I think it would be beneficial to provide this information in the documentation of the project (particularly for people external to the project). Finding up-to-date documentation has been a bit of a challenge so far (from my external point of view).