summaryrefslogtreecommitdiff
path: root/libproto/pop/pop3_stls.c
diff options
context:
space:
mode:
Diffstat (limited to 'libproto/pop/pop3_stls.c')
-rw-r--r--libproto/pop/pop3_stls.c62
1 files changed, 1 insertions, 61 deletions
diff --git a/libproto/pop/pop3_stls.c b/libproto/pop/pop3_stls.c
index a5a292776..d4653ca25 100644
--- a/libproto/pop/pop3_stls.c
+++ b/libproto/pop/pop3_stls.c
@@ -28,55 +28,6 @@
#include <mailutils/tls.h>
#include <mailutils/list.h>
-static int
-pop3_get_streams (mu_pop3_t pop3, mu_stream_t *streams)
-{
- int rc;
-
- if (MU_POP3_FISSET (pop3, MU_POP3_TRACE))
- rc = mu_stream_ioctl (pop3->carrier, MU_IOCTL_SUBSTREAM,
- MU_IOCTL_OP_GET, streams);
- else
- {
- streams[0] = pop3->carrier;
- mu_stream_ref (streams[0]);
- streams[1] = pop3->carrier;
- mu_stream_ref (streams[1]);
- rc = 0;
- }
- return rc;
-}
-
-static int
-pop3_set_streams (mu_pop3_t pop3, mu_stream_t *streams)
-{
- int rc;
-
- if (MU_POP3_FISSET (pop3, MU_POP3_TRACE))
- rc = mu_stream_ioctl (pop3->carrier, MU_IOCTL_SUBSTREAM,
- MU_IOCTL_OP_SET, streams);
- else
- {
- mu_stream_t tmp;
-
- if (streams[0] == streams[1])
- {
- tmp = streams[0];
- mu_stream_ref (tmp);
- mu_stream_ref (tmp);
- rc = 0;
- }
- else
- rc = mu_iostream_create (&tmp, streams[0], streams[1]);
- if (rc == 0)
- {
- mu_stream_unref (pop3->carrier);
- pop3->carrier = tmp;
- }
- }
- return rc;
-}
-
/*
* STLS
* We have to assume that the caller check the CAPA and TLS was supported.
@@ -86,7 +37,6 @@ mu_pop3_stls (mu_pop3_t pop3)
{
#ifdef WITH_TLS
int status;
- mu_stream_t tlsstream, streams[2];
/* Sanity checks. */
if (pop3 == NULL)
@@ -107,17 +57,7 @@ mu_pop3_stls (mu_pop3_t pop3)
pop3->state = MU_POP3_STLS_CONNECT;
case MU_POP3_STLS_CONNECT:
- status = pop3_get_streams (pop3, streams);
- MU_POP3_CHECK_EAGAIN (pop3, status);
- status = mu_tls_client_stream_create (&tlsstream,
- streams[0], streams[1], 0);
- mu_stream_unref (streams[0]);
- mu_stream_unref (streams[1]);
- MU_POP3_CHECK_EAGAIN (pop3, status);
- streams[0] = streams[1] = tlsstream;
- status = pop3_set_streams (pop3, streams);
- mu_stream_unref (streams[0]);
- mu_stream_unref (streams[1]);
+ status = mu_starttls (&pop3->carrier, NULL, MU_TLS_CLIENT);
MU_POP3_CHECK_EAGAIN (pop3, status);
/* Invalidate the capability list */
mu_list_destroy (&pop3->capa);

Return to:

Send suggestions and report system problems to the System administrator.