[commits] Horde branch imap_client_move created. 9e0cd08276b2034a592878dda79726b19b97a809

Michael M Slusarz slusarz at horde.org
Thu Oct 25 09:09:47 UTC 2012


The branch "imap_client_move" has been created.
        at  9e0cd08276b2034a592878dda79726b19b97a809 (commit)

-----------------------------------------------------------------------
commit 9e0cd08276b2034a592878dda79726b19b97a809
Author: Michael M Slusarz <slusarz at horde.org>
Date:   Thu Oct 25 01:08:27 2012 -0600

    Cleanups/fixes for POP3 driver
    
    Don't throw error if flags are not supported - documentation indicates
    that the return value will simply be empty for these elements.

commit c2c55a27bb382ea5f27d6343467bd10f87258342
Author: Michael M Slusarz <slusarz at horde.org>
Date:   Thu Oct 18 13:59:20 2012 -0600

    [mms] Add support for IMAP MOVE command.
    
    Although not yet an RFC standard, at last count over 11 servers
    support (including Dovecot and Cyrus).  A big performance win wrapping
    three distinct commands (and their corresponding cache writes) into a
    single, atomic command.
    
    Also, the main reason that I discovered our IMAP parsing was lacking in
    some ways.  This command may cause things like COPYUIDs, FETCHs, and
    EXPUNGE untagged responses to all appear in the same command. Thus, we
    need to handle each of these untagged responses as they come up, rather
    than relying on a specific command call to deal with these commands
    after the parent command is done.
    
    It also highlights the vagaries of QRESYNC, which require the client to
    continue to process message sequence numbers as there is no guarantee
    that VANISHED responses will be sent (theoretically, VANISHED and
    EXPUNGE responses could be sent in the same untagged sequence - it is
    critical for a client to be able to handle this sort of output).
    
    Now that our underlying handling has been fixed, the MOVE command is
    trivial to implement, as it should be, since it is nothing more than a
    pseudo-macro of three existing IMAP commands (COPY - STORE - EXPUNGE).

commit b6ace0a8a3ef916a5fe4919305d349bc9fbc2b30
Author: Michael M Slusarz <slusarz at horde.org>
Date:   Wed Oct 24 18:06:00 2012 -0600

    [mms] Fix handling message sequence number actions returned from server when using CONDSTORE/QRESYNC.
    
    [mms] Now that we have accurate sequence numbers for our cached values, we can utilize the known UID set parameter to a QRESYNC EXAMINE/SELECT command.
    [mms] Correctly handle FETCH results intermingled with EXPUNGE/VANISHED requests within a single request.

commit 989e777de919944b6b69ae6073e0d959bd6155f1
Author: Michael M Slusarz <slusarz at horde.org>
Date:   Wed Oct 24 18:03:33 2012 -0600

    Allow duplicate IDs to be stored in Ids object
    
    Would be needed if, for example, we were processing multiple EXPUNGE
    requests at once.
    
    Rarely will be used so we can bury the configuration option (no need to
    make it a part of the constructor, for example).




More information about the commits mailing list