[Dovecot] dovecot-antispam plugin problem with multiple messages
Richard Platel
rplatel at tucows.com
Fri Nov 29 21:46:24 EET 2013
This seems to fix the issue
--- a/dovecot-antispam-plugin/src/antispam-storage-2.0.c
+++ b/dovecot-antispam-plugin/src/antispam-storage-2.0.c
@@ -91,15 +91,6 @@ antispam_copy(struct mail_save_context *ctx, struct mail *mai
int ret;
bool src_trash, dst_trash;
- if (!ctx->dest_mail) {
- /* always need mail */
- if (!ast->mail)
- ast->mail = mail_alloc(t, MAIL_FETCH_STREAM_HEADER |
- MAIL_FETCH_STREAM_BODY,
- NULL);
- ctx->dest_mail = ast->mail;
- }
-
i_assert(mail->box);
asbox->save_hack = FALSE;
@@ -145,7 +136,7 @@ antispam_copy(struct mail_save_context *ctx, struct mail *ma
else
ret = asbox->cfg->backend->handle_mail(
asbox->cfg, t, ast->backendctx,
- ctx->dest_mail,
+ mail,
move_to_class(asbox->movetype));
/*
On Nov 27, 2013, at 4:17 PM, Richard Platel <rplatel at tucows.com> wrote:
> Hi
>
> With dovecot 2.2.5, and dovecot-antispam built from a recent HEAD pull, when copying multiple messages to or from a Spam folder, the plugin sends multiple copies of the first message to the backend. I've tried this with the pipe and spool2dir backends.
>
> For example with the spool2dir backend, via IMAP doing
>
> A COPY 1:3 Spam
>
> yields 3 copies of message id 1 in the dir:
> dev:imap-8.1 rplatel at imap01:/var/run/dovecot_as_tmp$ sudo -u mail md5sum *
> 28ad0a215eb7ecbd3a814a8a334d85bf 00000000001385586164-rplatel at ff-dev.com-00001s
> 28ad0a215eb7ecbd3a814a8a334d85bf 00000000001385586164-rplatel at ff-dev.com-00002s
> 28ad0a215eb7ecbd3a814a8a334d85bf 00000000001385586164-rplatel at ff-dev.com-00003s
>
> I see the same behaviour with the pipe backend, the pipe program is invoked 3 times, but with the same message content.
>
>
More information about the dovecot
mailing list