summaryrefslogtreecommitdiff
path: root/libproto/imap/folder.c
diff options
context:
space:
mode:
Diffstat (limited to 'libproto/imap/folder.c')
-rw-r--r--libproto/imap/folder.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libproto/imap/folder.c b/libproto/imap/folder.c
index d99b5bc65..8df52b94f 100644
--- a/libproto/imap/folder.c
+++ b/libproto/imap/folder.c
@@ -138,14 +138,16 @@ _mu_imap_folder_open (mu_folder_t folder, int flags)
if (tls)
{
mu_stream_t tlsstream;
-
- rc = mu_tls_client_stream_create (&tlsstream, transport, transport, 0);
+
+ rc = mu_tlsfd_stream_convert (&tlsstream, transport, NULL,
+ MU_TLS_CLIENT);
mu_stream_unref (transport);
if (rc)
{
+ if (rc == MU_ERR_TRANSPORT_SET)
+ mu_stream_destroy (&tlsstream);
mu_debug (MU_DEBCAT_FOLDER, MU_DEBUG_ERROR,
- (_("cannot create TLS stream: %s"),
- mu_strerror (rc)));
+ ("cannot create TLS stream: %s", mu_strerror (rc)));
return rc;
}
transport = tlsstream;
@@ -153,7 +155,8 @@ _mu_imap_folder_open (mu_folder_t folder, int flags)
#endif
mu_imap_set_carrier (imap, transport);
-
+ mu_stream_unref (transport);
+
if (mu_debug_level_p (MU_DEBCAT_FOLDER, MU_DEBUG_PROT) ||
mu_debug_level_p (MU_DEBCAT_MAILBOX, MU_DEBUG_PROT))
mu_imap_trace (imap, MU_IMAP_TRACE_SET);

Return to:

Send suggestions and report system problems to the System administrator.