[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-mailutils] Problem with timeout interaction
From: |
Sergey Poznyakoff |
Subject: |
Re: [bug-mailutils] Problem with timeout interaction |
Date: |
Wed, 08 Oct 2003 12:05:30 +0300 |
Hi Jeff,
> if (state != AUTHORIZATION)
> {
> pop3d_unlock ();
> - mailbox_flush (mbox, 0);
> mailbox_close (mbox);
> mailbox_destroy (&mbox);
> }
No, that would break the UIDL functionality:
RFC1939, Section 7, Page 11:
The unique-id of a message is an arbitrary server-determined
string, consisting of one to 70 characters in the range 0x21
to 0x7E, which uniquely identifies a message within a
maildrop and which persists across sessions. This
persistence is required even if a session ends without
entering the UPDATE state.
RFC1939 does not explicitly specify whether DELE marks are persistent
across the invocations. The description of the UPDATE state in Section
6 only tells that POP3 must not enter UPDATE state and *remove* the
marked messages on timeout. However it does not say that it must clear
the deletion marks as well.
The real reason for the behaviour you describe is that libmailbox uses
Status: header to store deletion marks. I do not say that this is wrong,
right on the contrary, my guess is that it is OK.
However, we should decide if deletion marks should or should not be
persistent. If they should, pop3d must not use attribute_set_deleted
to mark deleted messages.
By the way, even if we make it so, there remains yet another way to get
a deleted message in a mailbox: simply add the header "Status: D" when
sending your message :^)
Opinions?
Regards,
Sergey
Re: [bug-mailutils] Problem with timeout interaction, Alain Magloire, 2003/10/08
Message not available