From: Ismaƫl Bouya Date: Mon, 11 Nov 2019 09:10:06 +0000 (+0100) Subject: Fix rspamc-dovecot deliver X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;ds=sidebyside;h=dc6d3af99aba4a81a2578cd10ccbc63603381ac5;hp=ec9b656476d4af2784aea29b846bead85dc46e16;p=perso%2FImmae%2FConfig%2FNix.git Fix rspamc-dovecot deliver --- 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