Commit graph

21 commits

Author SHA1 Message Date
Dan Callaghan
b30534eb02 openldap: load client config from /etc, not the nix store
We want Openldap clients to load /etc/ldap.conf at runtime, not
${pkgs.openldap}/etc/ldap.conf which is always a sample config.

Pass sysconfdir=/etc at compile time, so that /etc/krb5.conf is embedded
in the library as the path of its config file.

Pass sysconfdir=${out}/etc at install time, so that the sample configs
and schema files are correctly included in the build output.

This hack works because the Makefiles are not smart enough to notice
that the sysconfdir variable has changed across invocations -- because
nobody ever writes their Makefiles to be that smart. :-)

Fixes #181937.
2022-07-22 03:19:46 +02:00
Kai Wohlfahrt
334d622ec7 openldap: test starting with empty DB
This addresses the original concern behind #92544
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt
8a7193fc0a openldap: test and fix mutable config 2022-06-29 19:59:29 +02:00
Kai Wohlfahrt
ad5acb9b0e openldap: use specialisations for tests
This speeds up tests a bit. Also, ensure that mutable config works for
manual config dir.
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt
fd7d901133 openldap: run under systemd-defined user/group
This improves security, by starting the service as an unprivileged user,
rather than starting as root and relying on the service to drop
privileges. This requires a significant cleanup of pre-init scripts, to
make use of StateDirectory and RuntimeDirectory for permissions.
2022-06-29 19:59:29 +02:00
Kai Wohlfahrt
d1f55ce0a4 openldap: change default ldapi directory
By default, this is /run/ldapi, which is not compatible with systemd's
runtime directories. Change it to /run/slapd/ldapi (in library and
server). This makes `ldapi:///` work as a default socket again.
2022-06-29 19:59:06 +02:00
Kai Wohlfahrt
6e6f33ad83 openldap: remove deprecated options 2022-06-29 19:59:06 +02:00
Robert Hensing
aa0f27abb0 treewide: machine -> nodes.machine 2022-03-28 14:11:58 +02:00
sternenseemann
281a2401b2 nixos/tests/openldap: make openldap test auto-callable
The NixOS manual documents that you can invoke every tests using

    nix-build path/to/nixos/tests/test.nix

which was not the case for openldap since it is not autocallable, but
requires pkgs and system as arguments. Usually, make-test-pythons.nix
takes care of this if it is imported at the top-level, but since
openldap.nix contains multiple tests, this was not the case.

This is however easily fixed by:

* Adding default values for the pkgs and system arguments based on the
  definition in make-test-python.nix
* Passing pkgs and system explicitly to make-test-python.nix to ensure
  the pkgs and system values passed from all-tests.nix are used.
2021-02-18 13:04:08 +01:00
Kai Wohlfahrt
c96f18feee nixos/openldap: migrate sssd-ldap to new settings 2020-11-21 16:13:03 +00:00
Kai Wohlfahrt
db5bb4e26b nixos/openldap: Fix sssd-ldap test
Use this as a test of the migration warnings/functionality.
2020-11-21 16:13:03 +00:00
Kai Wohlfahrt
fefc26f844 nixos/openldap: use mkRenamedOptionModule
This offers less helpful warnings, but makes the implementation
considerably more straightforward.
2020-11-21 16:13:03 +00:00
Kai Wohlfahrt
ce1acd97a7 nixos/openldap: fix path + base64 value types 2020-11-21 16:13:03 +00:00
Kai Wohlfahrt
3f892c2174 nixos/openldap: Remove extraConfig options
Instead of deprecating, as per PR feedback
2020-11-21 16:13:03 +00:00
Kai Wohlfahrt
9528faf182 nixos/openldap: Allow declarativeContents for multiple databases 2020-11-21 15:39:19 +00:00
Kai Wohlfahrt
1fde3c3561 nixos/openldap: switch to slapd.d configuration
The old slapd.conf is deprecated. Replace with slapd.d, and use this
opportunity to write some structured settings.

Incidentally, this fixes the fact that openldap is reported up before
any checks have completed, by using forking mode.
2020-11-21 15:39:19 +00:00
Jacek Galowicz
5d91b29e0d nixosTests.openldap: port test to python 2019-12-04 16:22:26 +01:00
Simon Lackerbauer
88c31ae57c
nixos/openldap: add new options 2019-04-01 17:24:33 +02:00
Tuomas Tynkkynen
bbc80227ab nixos/tests/openldap: Fix name 2018-04-04 18:26:41 +03:00
Tim Steinbach
5fbf9dbf9b
openldap: Fix test 2018-03-07 18:13:55 -05:00
Jörg Thalheim
b2acbe58b2 nixos/openldap: add test 2018-03-03 18:53:52 +00:00