isync

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

commit d8225390fcd3d31577d3d74ab3d18b8762c5008b
parent bd0f3af578076db4d11b6c3b4174314917411c67
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Mon, 23 Mar 2015 20:16:47 +0100

don't refuse to strip Path just because it's INBOX/

no ambiguity can result from this, so there is no reason to treat
sub-folders of INBOX differently from any other namespace.

Diffstat:
MNEWS | 3+++
Msrc/drv_imap.c | 18++++++++++--------
2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/NEWS b/NEWS @@ -2,6 +2,9 @@ The 'isync' compatibility wrapper is now deprecated. +An IMAP Path/NAMESPACE rooted in INBOX won't be handled specially any more. +This means that some Patterns may need adjustment. + The SSL/TLS configuration has been re-designed. SSL is now explicitly enabled or disabled - "use SSL if available" is gone. Notice: Tunnels are assumed to be secure and thus default to no SSL. diff --git a/src/drv_imap.c b/src/drv_imap.c @@ -1149,14 +1149,16 @@ parse_list_rsp_p2( imap_store_t *ctx, list_t *list, char *cmd ATTR_UNUSED ) } arg = list->val; argl = list->len; - if (!is_inbox( ctx, arg, argl ) && (l = strlen( ctx->prefix ))) { - if (!starts_with( arg, argl, ctx->prefix, l )) - goto skip; - arg += l; - argl -= l; - if (is_inbox( ctx, arg, argl )) { - if (!arg[5]) - warn( "IMAP warning: ignoring INBOX in %s\n", ctx->prefix ); + if ((l = strlen( ctx->prefix ))) { + if (starts_with( arg, argl, ctx->prefix, l )) { + arg += l; + argl -= l; + if (is_inbox( ctx, arg, argl )) { + if (!arg[5]) + warn( "IMAP warning: ignoring INBOX in %s\n", ctx->prefix ); + goto skip; + } + } else if (!is_inbox( ctx, arg, argl )) { goto skip; } }