[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 :^)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]