@ -1522,13 +1522,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 * ) ;
@ -1668,7 +1668,7 @@ imap_open_store_authenticate( imap_store_t *ctx )
return ;
}
# endif
imap_open_store_namespace ( ctx ) ;
imap_open_store_compress ( ctx ) ;
}
}
@ -2045,8 +2045,34 @@ 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 )
@ -2063,7 +2089,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
@ -2093,38 +2119,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 )
{