Re: [Evolution] Expunging not working on INBOX (IMAP).



I'm curious if this has anything to do with bug 17694. 

On Thu, 2002-03-07 at 17:40, Zot O'Connor wrote:
I was able to expunge via telnet.

Both with the UID statement, and with the simplier

A101 EXPUNGE

So now I am wondering why is evolution adding the UID and ranges? 
Looking at the RFC "UID EXPUNGE" is not a legitimate command (Only COPY,
FETCH, or STORE).  OK strike that, under RFC2539, there is an extension
to UID.

Looking at the server responses:

* CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
X-NON-HIERARCHICAL-RENAME NO_ATOMIC_RENAME AUTH=DIGEST-MD5 UNSELECT ID


UIDPLUS is listed. 

So now I wonder if the message range is "too big" for cyrus, I mean it
is 1760 chars big.  Or is it evolution not waiting long enough?


At a minimum it seems like evolution needs to look for the BAD response
and then either send a full expunge, or send partial lists.

It might be nicer to allow the user to day "expunge these deleted
notes."


So looking around I see other people with this error:

...
command\r\n 
Is Entourage using a non-standard IMAP command or one not implemented
in
Communigate?

It's "half-standard", it was there, but due to our error it was removed.
Please see:

3.5.2 05-Jan-02
Bug Fix: IMAP: 3.5x versions did not support the UID EXPUNGE command. 

So, plz upgrade to 3.5.2 or later.

...
According to RFC2359 if the server does not support the UID EXPUNGE the
client is supposed to fall back to STOR or old EXPUNGE command. So it
looks like Entourage is not falling back. Yes?

...


http://asg.web.cmu.edu/rfc/rfc2359.html#sec-4.1

4.1 UID EXPUNGE Command

    Arguments: message set

Data:       untagged responses: EXPUNGE

   Result:     OK - expunge completed
               NO - expunge failure (e.g. permission denied)
               BAD - command unknown or arguments invalid

Page 3

    The UID EXPUNGE command permanently removes from the currently
selected mailbox all messages that both have the \Deleted flag set and
have a UID that is included in the specified message set. If a message
either does not have the \Deleted flag set or is has a UID that is not
included in the specified message set, it is not affected.

    This command may be used to ensure that a replayed EXPUNGE command
does not remove any messages that have been marked as \Deleted between
the time that the user requested the expunge operation and the time the
server processes the command.

    If the server does not support the UIDPLUS capability, the client
should fall back to using the STORE command to temporarily remove the
\Deleted flag from messages it does not want to remove. The client could
alternatively fall back to using the EXPUNGE command, risking the
unintended removal of some messages.

Example:    C: A003 UID EXPUNGE 3000:3002
               S: * 3 EXPUNGE
               S: * 3 EXPUNGE
               S: * 3 EXPUNGE
               S: A003 OK UID EXPUNGE completed



From  http://asg.web.cmu.edu/rfc/rfc1730.html#sec-6.3.1

6.4.9 UID Command

    Arguments: command name
    command arguments

Data:       untagged responses: FETCH, SEARCH

   Result:     OK - UID command completed
               NO - UID command error
               BAD - command unknown or arguments invalid

    The UID command has two forms. In the first form, it takes as its
arguments a COPY, FETCH, or STORE command with arguments appropriate for
the associated command. However, the numbers in the message set argument
are unique identifiers instead of message sequence numbers.




6.4.3 EXPUNGE Command

    Arguments: none

Data:       untagged responses: EXPUNGE

   Result:     OK - expunge completed
               NO - expunge failure: can't expunge (e.g. permission
                    denied)
               BAD - command unknown or arguments invalid

    The EXPUNGE command permanently removes from the currently selected
mailbox all messages that have the \Deleted flag set. Before returning
an OK to the client, an untagged EXPUNGE response is sent for each
message that is removed.

Example:    C: A202 EXPUNGE
               S: * 3 EXPUNGE
               S: * 3 EXPUNGE
               S: * 5 EXPUNGE
               S: * 8 EXPUNGE
               S: A202 OK EXPUNGE completed

    Note: in this example, messages 3, 4, 7, and 11 had the \Deleted
flag set. See the description of the EXPUNGE response for further
explanation.



-- 
Zot O'Connor

http://www.ZotConsulting.com
http://www.WhiteKnightHackers.com
-- 
Zot O'Connor

http://www.ZotConsulting.com
http://www.WhiteKnightHackers.com


_______________________________________________
evolution maillist  -  evolution ximian com
http://lists.ximian.com/mailman/listinfo/evolution
-- 
Austin Gonyou
Systems Architect, CCNA
Coremetrics, Inc.
Phone: 512-698-7250
email: austin coremetrics com

"It is the part of a good shepherd to shear his flock, not to skin it."
Latin Proverb




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]