Fork of isync with filter support
Go to file
Oswald Buddenhagen 416ced25dd fix repeated listing of same Store with different flags
multiple Channels can call driver_t::list_store() with different LIST_*
flags. assuming the flags are actually taken into consideration, using a
single boolean 'listed' flag to track whether the Store still needs to
be listed obviously wouldn't cut it - if INBOX does not live right under
Path and the Channels used entirely disjoint Patterns (say, * and
INBOX*), the second Channel in a single run (probably a Group) would
fail to match anything.

to fix this, make store_t::listed more granular. this also requires
moving its handling back into the drivers (thus reverting c66afdc0),
because the actually performed queries and their possible implicit
results are driver-specific.

note that this slightly pessimizes some cases - e.g., an IMAP Store with
Path "" will now list the entire namespace even if there is only one
Channel with Pattern "INBOX*" (because a hypothetical Pattern "*" would
also include INBOX*, and the queries are kept disjoint to avoid the need
for de-duplication). this isn't expected to be a problem, as listing
mailboxes is generally cheap.
2017-04-02 17:12:50 +02:00
debian improve .gitignore files 2015-11-08 12:31:20 +01:00
src fix repeated listing of same Store with different flags 2017-04-02 17:12:50 +02:00
.gitignore improve .gitignore files 2015-11-08 12:31:20 +01:00
acinclude.m4 update fsf's postal address. i think it's sort of useless nowadays 2006-02-09 17:44:22 +00:00
AUTHORS reshuffle for "contact priority's" sake 2008-02-23 08:53:39 +00:00
autogen.sh use autoreconf instead of calling separate tools 2013-12-01 13:36:26 +01:00
configure.ac abstract growable arrays somewhat 2016-11-05 17:32:34 +01:00
COPYING added missing files 2000-12-20 22:00:25 +00:00
get-cert update fsf's postal address. i think it's sort of useless nowadays 2006-02-09 17:44:22 +00:00
isync.spec.in fix rpm packaging 2012-09-01 21:15:53 +02:00
Makefile.am add cov-scan target 2015-04-03 14:03:07 +02:00
NEWS implement Message-Id based UIDVALIDITY recovery 2017-01-21 12:09:01 +01:00
README implement Message-Id based UIDVALIDITY recovery 2017-01-21 12:09:01 +01:00
TODO wrap message trashing into simple transactions 2016-11-06 09:26:16 +01:00

 _                      
(_)___ _   _ _ __   ___ 
| / __| | | | '_ \ / __|
| \__ \ |_| | | | | (__ 
|_|___/\__, |_| |_|\___|
       |___/            
isync/mbsync - free (GPL) mailbox synchronization program
http://isync.sf.net/

See AUTHORS for contact information.

``mbsync'' is a command line application which synchronizes mailboxes;
currently Maildir and IMAP4 mailboxes are supported. New messages, message
deletions and flag changes can be propagated both ways.
``mbsync'' is suitable for use in IMAP-disconnected mode.

Synchronization is based on unique message identifiers (UIDs), so
no identification conflicts can occur (unlike with some other mail
synchronizers).
Synchronization state is kept in one local text file per mailbox pair;
these files are protected against concurrent ``mbsync'' processes.
Mailboxes can be safely modified while ``mbsync'' operates.
Multiple replicas of each mailbox can be maintained.

isync is the project name, while mbsync is the current executable name; this
change was necessary because of massive changes in the user interface. An
isync executable still exists; it is a compatibility wrapper around mbsync.

* Features

    * Fine-grained selection of synchronization operations to perform
    * Synchronizes single mailboxes or entire mailbox collections
    * Partial mirrors possible: keep only the latest messages locally
    * Trash functionality: backup messages before removing them
    * IMAP features:
	* Supports TLS/SSL via imaps: (port 993) and STARTTLS
	* Supports SASL for authentication
	* Pipelining for maximum speed

* Compatibility

    isync should work fairly well with any IMAP4 compliant server;
    servers that support the UIDPLUS and LITERAL+ extensions are most
    efficient.

    Courier 1.4.3 is known to be buggy, version 1.7.3 works fine.

    M$ Exchange (2013 at least) needs DisableExtension MOVE to be compatible
    with the Trash functionality.

* Platforms

    At some point, ``isync'' has successfully run on:
    Linux, Solaris 2.7, OpenBSD 2.8, FreeBSD 4.3.

* Requirements

    Berkeley DB 4.1+ (optional)
    OpenSSL for TLS/SSL support (optional)
    Cyrus SASL (optional)
    zlib (optional)

* Installation

    ./autogen.sh (only when building from git)
    ./configure
    make
    sudo make install

* Help

    Please see the man page for complete documentation.