summaryrefslogtreecommitdiff
path: root/libproto/mailer/smtp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libproto/mailer/smtp.c')
-rw-r--r--libproto/mailer/smtp.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/libproto/mailer/smtp.c b/libproto/mailer/smtp.c
index cb9ac0a6b..783ed5b9b 100644
--- a/libproto/mailer/smtp.c
+++ b/libproto/mailer/smtp.c
@@ -251,20 +251,23 @@ smtp_open (mu_mailer_t mailer, int flags)
if (smtp_mailer->tls == MAILER_TLS_ALWAYS)
{
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)
{
- mu_debug (MU_DEBCAT_MAILER, MU_DEBUG_ERROR,
- (_("cannot create TLS stream: %s"),
- mu_strerror (rc)));
- mu_sockaddr_free (sa);
+ if (rc == MU_ERR_TRANSPORT_SET)
+ {
+ mu_stream_destroy (&tlsstream);
+ mu_tls_enable = 0;
+ }
+ mu_debug (MU_DEBCAT_FOLDER, MU_DEBUG_ERROR,
+ ("cannot create TLS stream: %s", mu_strerror (rc)));
if (mu_tls_enable)
return rc;
}
- else
- transport = tlsstream;
+ transport = tlsstream;
}
#endif
mu_stream_set_buffer (transport, mu_buffer_line, 0);

Return to:

Send suggestions and report system problems to the System administrator.