From dc6d3af99aba4a81a2578cd10ccbc63603381ac5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Mon, 11 Nov 2019 10:10:06 +0100 Subject: [PATCH] Fix rspamc-dovecot deliver --- modules/private/mail/postfix.nix | 13 +++++++++++-- overlays/environments/immae-eu.nix | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/private/mail/postfix.nix b/modules/private/mail/postfix.nix index 1386f85..fcb0ce2 100644 --- a/modules/private/mail/postfix.nix +++ b/modules/private/mail/postfix.nix @@ -249,10 +249,19 @@ # its checks "per user" (milter is not yet dispatched to # users), so we wrap dovecot-lda inside rspamc per recipient # here. - dovecot_exe = "${pkgs.dovecot}/libexec/dovecot/dovecot-lda -f \${sender} -a \${original_recipient} -d \${user}@\${nexthop}"; + rspamc_dovecot = pkgs.writeScriptBin "rspamc_dovecot" '' + #! ${pkgs.stdenv.shell} + sender="$1" + original_recipient="$2" + user="$3" + + ${pkgs.coreutils}/bin/cat - | \ + (${pkgs.rspamd}/bin/rspamc -h ${config.myServices.mail.rspamd.sockets.worker-controller} -c bayes -d "$user" --mime || true) | \ + ${pkgs.dovecot}/libexec/dovecot/dovecot-lda -f "$sender" -a "$original_recipient" -d "$user" + ''; in [ "flags=DRhu" "user=vhost:vhost" - "argv=${pkgs.rspamd}/bin/rspamc -h ${config.myServices.mail.rspamd.sockets.worker-controller} -c bayes -d \${user}@\${nexthop} --mime --exec {${dovecot_exe}}" + "argv=${rspamc_dovecot}/bin/rspamc_dovecot \${sender} \${original_recipient} \${user}@\${nexthop}" ]; }; }; diff --git a/overlays/environments/immae-eu.nix b/overlays/environments/immae-eu.nix index cc2e5c3..8a98526 100644 --- a/overlays/environments/immae-eu.nix +++ b/overlays/environments/immae-eu.nix @@ -33,6 +33,7 @@ let notmuch-python2 notmuch-python3 notmuch-vim neomutt mairix notmuch bogofilter fetchmail + sieve-connect # git vcsh gitRepo gitAndTools.stgit tig ripgrep -- 2.41.0