Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 28 Feb 2003 11:57:30 -0600
From: Thomas Hays <thays@...isgroup.com>
To: popa3d-users@...ts.openwall.com
Subject: Outlook 2002 duplicate emails

I have a problem that results in Outlook 2002 duplicating messages.
The problem only appears to manifest itself when a person receives the
same exact message (ie. same message id) more than once. This can
happen if an email is sent to two server defined email groups that
have overlapping members (this is using Postfix with the groups
defined in the aliases database). For example, if an email is sent to
testgroup@....com and test@....com and test is a user who belongs to
testgroup, then the user should receive two copies of the message.
Indeed, under Outlook Express 6, with fetchmail, or with Mozilla the
user receives two copies. However, with Outlook 2002 the user receives
three copies. 

This is from the logs:

Feb 28 11:07:56 tdh popa3d[6535]: Authentication passed for test
Feb 28 11:07:56 tdh popa3d[6535]: 2 messages (1370 bytes) loaded
Feb 28 11:07:58 tdh popa3d[6535]: 1 (685) deleted, 1 (685) left
Feb 28 11:08:01 tdh popa3d[6538]: Authentication passed for test
Feb 28 11:08:01 tdh popa3d[6538]: 1 message (685 bytes) loaded
Feb 28 11:08:02 tdh popa3d[6538]: 1 (685) deleted, 0 (0) left

In Outlook 2002 if you press Send/Receive you will get two copies,
then if you wait a few seconds and press Send/Receive again, you will
get the third copy. MS does have a Knowledge Base article (Q317945) 
that would seem to imply this is fixed with SP2 for Office XP.
Unfortunately, I have applied SP2 and that has not fixed the problem.

The versions of POPA3D that I've this problem with are 0.6 and 0.5.1.
Also, this problem does not happen if I use ipop3d from the University
of Washington. I've done a little debugging and I believe a clue to
the problem is that the pop_trans_dele() fails when it tries to
delete one of the messages (not sure which one). It fails because
db_delete() fails, and db_delete() fails at this test:

if (msg->flags & MSG_DELETED) return 1;

If I add a syslog print to pop_handle_state() and print the value of
'line' after the 'while (pop_get_line(line, sizeof(line))) {', I see
this sequence of commands (note this is after doing two Send/Receive's
in Outlook):

STAT
UIDL
LIST
RETR 1
RETR 1
DELE 1
DELE 1
QUIT
STAT
UIDL
LIST
RETR 1
DELE 1
QUIT

Here is a sample mbox file that I am using to reproduce the error:
http://gold.aegisgroup.com/test.bad.gz

I'll keep looking at this, but if someone has any ideas or workarounds 
(other than telling my users  not to use Outlook, which I can't do), 
I'd appreciate it.

Thomas Hays
thays@...isgroup.com

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.