summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan Lahfa <masterancpp@gmail.com>2023-05-22 18:20:52 +0200
committerGitHub <noreply@github.com>2023-05-22 18:20:52 +0200
commit2e1e1f8765e892b4b64fcf7473e72e411a13e6b9 (patch)
treededfe8528319b5ffc6d6d5a89d801154c4d28c35
parentf704248a9a83c9d76ba9d097974b389bb8368ba1 (diff)
parent00000006e9812e28fecc192a3883e01e88053f89 (diff)
Merge pull request #231502 from SuperSandro2000/portunus-openldap
nixos/portunus: use openldap compiled with libxcrypt-legacy 
-rw-r--r--nixos/modules/services/misc/portunus.nix5
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/portunus.nix18
3 files changed, 22 insertions, 2 deletions
diff --git a/nixos/modules/services/misc/portunus.nix b/nixos/modules/services/misc/portunus.nix
index 5504fb942968f..d188819869702 100644
--- a/nixos/modules/services/misc/portunus.nix
+++ b/nixos/modules/services/misc/portunus.nix
@@ -107,8 +107,9 @@ in
     ldap = {
       package = mkOption {
         type = types.package;
-        default = pkgs.openldap;
-        defaultText = lib.literalExpression "pkgs.openldap";
+        # needs openldap built with a libxcrypt that support crypt sha256 until https://github.com/majewsky/portunus/issues/2 is solved
+        default = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
+        defaultText = lib.literalExpression "pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }";
         description = lib.mdDoc "The OpenLDAP package to use.";
       };
 
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 3718eea4228ad..ec012522f0a30 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -603,6 +603,7 @@ in {
   podman-tls-ghostunnel = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/tls-ghostunnel.nix {};
   polaris = handleTest ./polaris.nix {};
   pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
+  portunus = handleTest ./portunus.nix { };
   postfix = handleTest ./postfix.nix {};
   postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {};
   postfixadmin = handleTest ./postfixadmin.nix {};
diff --git a/nixos/tests/portunus.nix b/nixos/tests/portunus.nix
new file mode 100644
index 0000000000000..6fcae7e1c4cea
--- /dev/null
+++ b/nixos/tests/portunus.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+{
+  name = "portunus";
+  meta.maintainers = with lib.maintainers; [ SuperSandro2000 ];
+
+  nodes.machine = _: {
+    services.portunus = {
+      enable = true;
+      ldap.suffix = "dc=example,dc=org";
+    };
+  };
+
+  testScript = ''
+    machine.wait_for_unit("portunus.service")
+    machine.succeed("curl --fail -vvv http://localhost:8080/")
+  '';
+})