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

View file

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