From 7b5be79908ee5171553ffb37813eb75e9be91a53 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Fri, 18 Jan 2013 21:55:19 +0000 Subject: [PATCH] pop3.c: Fixed a problem with pop3s connections not connecting properly Fixed an issue where Curl_ssl_connect_nonblocking() wouldn't complete correctly and the ssldone flag wouldn't be set to true for pop3s based connections. Bug introduced in commit: 4ffb8a6398ed. --- lib/pop3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/pop3.c b/lib/pop3.c index b5ea7c23f..05a8114e8 100644 --- a/lib/pop3.c +++ b/lib/pop3.c @@ -1229,7 +1229,12 @@ static CURLcode pop3_statemach_act(struct connectdata *conn) static CURLcode pop3_multi_statemach(struct connectdata *conn, bool *done) { struct pop3_conn *pop3c = &conn->proto.pop3c; - CURLcode result = Curl_pp_multi_statemach(&pop3c->pp); + CURLcode result; + + if((conn->handler->flags & PROTOPT_SSL) && !pop3c->ssldone) + result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, &pop3c->ssldone); + else + result = Curl_pp_multi_statemach(&pop3c->pp); *done = (pop3c->state == POP3_STOP) ? TRUE : FALSE;