isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit 0a8f19294cba78e10223f5fd847166e3b303e9b5
parent 6f2160f136f16683f43f7472147d0e10486bf2a4
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sun, 26 Aug 2012 15:17:38 +0200

pre-release doc updates

Diffstat:
MNEWS | 12++++++++++++
MREADME | 2+-
MTODO | 35++++++++++++++++-------------------
Mdebian/control | 2+-
Msrc/compat/isync.1 | 2+-
Msrc/mbsync.1 | 6+++---
6 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/NEWS b/NEWS @@ -1,3 +1,15 @@ +[1.1.0] + +Support for hierarchical mailboxes in Patterns. + +Full support for IMAP pipelining (streaming, parallelization) added. +This is considerably faster especially with high-latency networks. + +Faster and hopefully more reliable support for IMAP servers without the +UIDPLUS extension (e.g., M$ Exchange). + +More automatic handling of SSL certificates. + [1.0.0] Essentially a rewrite. Synchronization state storage concept, configuration diff --git a/README b/README @@ -34,7 +34,7 @@ isync executable still exists; it is a compatibility wrapper around mbsync. * Supports TLS/SSL via imaps: (port 993) and STARTTLS (RFC2595) * Supports CRAM-MD5 (RFC2195) for authentication * Supports NAMESPACE (RFC2342) for simplified configuration - * Pipelining for maximum speed (currently only partially implemented) + * Pipelining for maximum speed * Compatibility diff --git a/TODO b/TODO @@ -1,33 +1,32 @@ -have a look at libpathfinder. - find out why mutt's message size calc is confused. add some marker about message being already [remotely] trashed. real transactions would be certainly not particularly useful ... -!srec->msg[t] || (srec->msg[t]->status & M_DEAD) - -use UID EXPUNGE! (rfc4315 (obsoletes rfc2359)) - -quotas are weird, they make close() fail. +check whether disappearing (M_DEAD) messages (due to maildir rescans) are +properly accounted for by the syncing code. -clarify error cases of transactions. +make sync_chans() aware of servers, so a bad server (e.g., wrong password) +won't cause the same error message for every attached store. -clarify UID 0 vs. < 0 returns vor store_msg & find_msg. +make SSL (connect) timeouts produce a bit more than "Unidentified socket error". -create dbg_srec(srec, fmt, ...). +network timeout handling in general would be a good idea. +unify maildir locking between the two UID storage schemes. +re-opening the db may be expensive, so keep it open. +but keeping lock for too long (e.g., big message downloads) may block other +clients. auto-release lock after 500 ms? -make SSL certificate validation more automatic. - -allow excluding particular boxes from a wildcard spec. +kill the concept of an INBOX, it is a relic from single-channel operation. +if somebody needs it, he can have two stores with different Paths. the path +can name a single (in-)box (curr. broken with maildir). an empty box name +actually means empty, so the IMAP mailbox should use INBOX for Path (can't +make that the default, as it would mess up the NAMESPACE). add daemon mode. primary goal: keep imap password in memory. also: idling mode. -add asynchronous operation to remote mailbox drivers. this is actually -what prevents us from simply using c-client and thus becoming mailsync. - parallel fetching of multiple mailboxes. set_flags: @@ -39,9 +38,7 @@ add streaming from fetching to storing. handle custom flags (keywords). -fix maildir_{open_store,list} to handle partial names (last char not slash). - -add a way to automatically create and sync subfolders. +handle google IMAP extensions. use MULTIAPPEND and FETCH with multiple messages. diff --git a/debian/control b/debian/control @@ -31,4 +31,4 @@ Description: Synchronize Maildir and IMAP4 mailboxes * Supports TLS/SSL via imaps: (port 993) and STARTTLS (RFC2595) * Supports CRAM-MD5 (RFC2195) for authentication * Supports NAMESPACE (RFC2342) for simplified configuration - * Pipelining for maximum speed (currently only partially implemented) + * Pipelining for maximum speed diff --git a/src/compat/isync.1 b/src/compat/isync.1 @@ -17,7 +17,7 @@ \" along with this program. If not, see <http://www.gnu.org/licenses/>. \" .. -.TH isync 1 "2004 Mar 29" +.TH isync 1 "2010 Feb 7" .. .SH NAME isync - synchronize IMAP4 and Maildir mailboxes diff --git a/src/mbsync.1 b/src/mbsync.1 @@ -1,7 +1,7 @@ .ig \" mbsync - mailbox synchronizer \" Copyright (C) 2000-2002 Michael R. Elkins <me@mutt.org> -\" Copyright (C) 2002-2004 Oswald Buddenhagen <ossi@users.sf.net> +\" Copyright (C) 2002-2004,2011-2012 Oswald Buddenhagen <ossi@users.sf.net> \" Copyright (C) 2004 Theodore Y. Ts'o <tytso@mit.edu> \" \" This program is free software; you can redistribute it and/or modify @@ -20,7 +20,7 @@ \" As a special exception, mbsync may be linked with the OpenSSL library, \" despite that library's more restrictive license. .. -.TH mbsync 1 "2004 Mar 27" +.TH mbsync 1 "2012 Aug 25" .. .SH NAME mbsync - synchronize IMAP4 and Maildir mailboxes @@ -93,7 +93,7 @@ All keywords (including those used as arguments) are case-insensitive. There are a few global options, the rest applies to particular sections. Sections are started by a section keyword and are terminated by an empty line or end of file. -Every section defines an object with a an identifier unique within that +Every section defines an object with an identifier unique within that object class. .P There are two basic object classes: Stores and Channels. A Store defines