From: Steve Holme Date: Fri, 18 Jan 2013 21:55:19 +0000 (+0000) Subject: pop3.c: Fixed a problem with pop3s connections not connecting properly X-Git-Tag: curl-7_29_0~86 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b5be79908ee5171553ffb37813eb75e9be91a53;p=curl 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. --- 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;