nixos/stalwart-mail: fix incorrect config for webadmin and spam-filter (#412054)

This commit is contained in:
Yt 2025-06-01 07:17:22 -04:00 committed by GitHub
commit bd63862b59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 15 deletions

View file

@ -107,21 +107,17 @@ in
resolver.public-suffix = lib.mkDefault [ resolver.public-suffix = lib.mkDefault [
"file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" "file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
]; ];
config = { spam-filter.resource = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml";
spam-filter.resource = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml"; webadmin =
webadmin = let
let hasHttpListener = builtins.any (listener: listener.protocol == "http") (
hasHttpListener = builtins.any (listener: listener.protocol == "http") ( lib.attrValues (cfg.settings.server.listener or { })
lib.attrValues cfg.settings.server.listener );
); in
in {
{ path = "/var/cache/stalwart-mail";
path = "/var/cache/stalwart-mail"; resource = lib.mkIf (hasHttpListener) (lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip");
} };
// lib.optionalAttrs ((builtins.hasAttr "listener" cfg.settings.server) && hasHttpListener) {
resource = lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip";
};
};
}; };
# This service stores a potentially large amount of data. # This service stores a potentially large amount of data.

View file

@ -42,6 +42,11 @@ in
bind = [ "[::]:143" ]; bind = [ "[::]:143" ];
protocol = "imap"; protocol = "imap";
}; };
"http" = {
bind = [ "[::]:80" ];
protocol = "http";
};
}; };
session.auth.mechanisms = "[plain]"; session.auth.mechanisms = "[plain]";
@ -125,6 +130,7 @@ in
main.wait_for_unit("stalwart-mail.service") main.wait_for_unit("stalwart-mail.service")
main.wait_for_open_port(587) main.wait_for_open_port(587)
main.wait_for_open_port(143) main.wait_for_open_port(143)
main.wait_for_open_port(80)
main.succeed("test-smtp-submission") main.succeed("test-smtp-submission")
@ -134,6 +140,9 @@ in
main.wait_for_open_port(143) main.wait_for_open_port(143)
main.succeed("test-imap-read") main.succeed("test-imap-read")
main.succeed("test -d /var/cache/stalwart-mail/STALWART_WEBADMIN")
main.succeed("curl --fail http://localhost")
''; '';
meta = { meta = {