[Dovecot] Empty/corrupt mail leads to duplicate delivery
Marc Herbrechter
mh at zebroc.de
Mon Oct 27 21:12:22 EET 2008
Hi,
when the attached mail was stored in a maildir, fetching mail via POP3
lead to multiple delivery of mails in that maildir to the client
(Outlook). I replaced the domain with dots.
This is the dovecot configuration:
--snip--
protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
ssl_cert_file = /etc/ssl/dovecot/server.pem
ssl_key_file = /etc/ssl/dovecot/server.key
mail_location = maildir:~/.maildir
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
auth default {
mechanisms = plain
passdb pam {
args = "*"
}
userdb passwd {
}
user = root
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
--snip--
Version: dovecot-1.1.4-r1 (Gentoo)
Gentoo applies the attached "expire" patch.
I tried to reproduce the behavior, but when I send an empty mail via
telnet, nothing happens.
The box is running Amavis, don't know if that helps.
--
Mit freundlichen Grüßen,
with kind regards,
Marc Herbrechter <mh at zebroc.de>
-------------- next part --------------
# HG changeset patch
# User Timo Sirainen <tss at iki.fi>
# Date 1223320000 -10800
# Node ID 96dfe8fb57b8e061b4339cbf3d50fc8067dc50ec
# Parent 9f95b3c28cc392b6c9534a69e6a2aa75ea54f5eb
Expire plugin was crashing because of previous change.
--- a/src/plugins/expire/expire-plugin.c Mon Oct 06 19:24:03 2008 +0300
+++ b/src/plugins/expire/expire-plugin.c Mon Oct 06 22:06:40 2008 +0300
@@ -99,6 +99,7 @@ expire_mailbox_transaction_commit(struct
{
struct expire_mailbox *xpr_box = EXPIRE_CONTEXT(t->box);
struct expire_transaction_context *xt = EXPIRE_CONTEXT(t);
+ struct mailbox *box = t->box;
time_t new_stamp;
bool update_dict = FALSE;
int ret;
@@ -117,13 +118,14 @@ expire_mailbox_transaction_commit(struct
i_free(xt);
return -1;
}
+ /* transaction is freed now */
+ t = NULL;
if (xt->first_expunged || xt->saves) T_BEGIN {
const char *key, *value;
key = t_strconcat(DICT_PATH_SHARED, expire.username, "/",
- t->box->storage->ns->prefix,
- t->box->name, NULL);
+ box->storage->ns->prefix, box->name, NULL);
if (!xt->first_expunged && xt->saves) {
/* saved new mails. dict needs to be updated only if
this is the first mail in the database */
-------------- next part --------------
Return-Path: <htefunny at dionis.r35.nalog.ru>
X-Original-To: wolf at ................de
Delivered-To: wolf at ................de
Received: from localhost (localhost [127.0.0.1])
by mail.................de (Postfix) with ESMTP id 07E27B8047D
for <wolf at ................de>; Mon, 27 Oct 2008 14:08:41 +0100 (CET)
Message-Id: <20081027130845.07E27B8047D at mail.................de>
Date: Mon, 27 Oct 2008 14:08:41 +0100 (CET)
From: htefunny at dionis.r35.nalog.ru
To: undisclosed-recipients:;
Content-Length: 0
Lines: 0
More information about the dovecot
mailing list