Merge branch 'isync_1_2_branch'

This commit is contained in:
Oswald Buddenhagen 2015-05-24 14:50:01 +02:00
commit 1aaf713ffe

View File

@ -1529,13 +1529,13 @@ static void imap_open_store_authenticate_p3( imap_store_t *, struct imap_cmd *,
#endif
static void imap_open_store_authenticate2( imap_store_t * );
static void imap_open_store_authenticate2_p2( imap_store_t *, struct imap_cmd *, int );
static void imap_open_store_namespace( imap_store_t * );
static void imap_open_store_namespace_p2( imap_store_t *, struct imap_cmd *, int );
static void imap_open_store_namespace2( imap_store_t * );
static void imap_open_store_compress( imap_store_t * );
#ifdef HAVE_LIBZ
static void imap_open_store_compress_p2( imap_store_t *, struct imap_cmd *, int );
#endif
static void imap_open_store_namespace( imap_store_t * );
static void imap_open_store_namespace_p2( imap_store_t *, struct imap_cmd *, int );
static void imap_open_store_namespace2( imap_store_t * );
static void imap_open_store_finalize( imap_store_t * );
#ifdef HAVE_LIBSSL
static void imap_open_store_ssl_bail( imap_store_t * );
@ -1680,7 +1680,7 @@ imap_open_store_authenticate( imap_store_t *ctx )
return;
}
#endif
imap_open_store_namespace( ctx );
imap_open_store_compress( ctx );
}
}
@ -2057,9 +2057,35 @@ imap_open_store_authenticate2_p2( imap_store_t *ctx, struct imap_cmd *cmd ATTR_U
if (response == RESP_NO)
imap_open_store_bail( ctx, FAIL_FINAL );
else if (response == RESP_OK)
imap_open_store_compress( ctx );
}
static void
imap_open_store_compress( imap_store_t *ctx )
{
#ifdef HAVE_LIBZ
if (CAP(COMPRESS_DEFLATE)) {
imap_exec( ctx, 0, imap_open_store_compress_p2, "COMPRESS DEFLATE" );
return;
}
#endif
imap_open_store_namespace( ctx );
}
#ifdef HAVE_LIBZ
static void
imap_open_store_compress_p2( imap_store_t *ctx, struct imap_cmd *cmd ATTR_UNUSED, int response )
{
if (response == RESP_NO) {
/* We already reported an error, but it's not fatal to us. */
imap_open_store_namespace( ctx );
} else if (response == RESP_OK) {
socket_start_deflate( &ctx->conn );
imap_open_store_namespace( ctx );
}
}
#endif
static void
imap_open_store_namespace( imap_store_t *ctx )
{
@ -2075,7 +2101,7 @@ imap_open_store_namespace( imap_store_t *ctx )
imap_open_store_namespace2( ctx );
return;
}
imap_open_store_compress( ctx );
imap_open_store_finalize( ctx );
}
static void
@ -2105,38 +2131,12 @@ imap_open_store_namespace2( imap_store_t *ctx )
ctx->prefix = nsp_1st_ns->val;
if (!ctx->delimiter)
ctx->delimiter = nfstrdup( nsp_1st_dl->val );
imap_open_store_compress( ctx );
imap_open_store_finalize( ctx );
} else {
imap_open_store_bail( ctx, FAIL_FINAL );
}
}
static void
imap_open_store_compress( imap_store_t *ctx )
{
#ifdef HAVE_LIBZ
if (CAP(COMPRESS_DEFLATE)) { /* XXX make that configurable */
imap_exec( ctx, 0, imap_open_store_compress_p2, "COMPRESS DEFLATE" );
return;
}
#endif
imap_open_store_finalize( ctx );
}
#ifdef HAVE_LIBZ
static void
imap_open_store_compress_p2( imap_store_t *ctx, struct imap_cmd *cmd ATTR_UNUSED, int response )
{
if (response == RESP_NO) {
/* We already reported an error, but it's not fatal to us. */
imap_open_store_finalize( ctx );
} else if (response == RESP_OK) {
socket_start_deflate( &ctx->conn );
imap_open_store_finalize( ctx );
}
}
#endif
static void
imap_open_store_finalize( imap_store_t *ctx )
{