diff options
author | Steve Holme <steve_holme@hotmail.com> | 2013-01-18 21:55:19 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2013-01-18 21:55:19 +0000 |
commit | 7b5be79908ee5171553ffb37813eb75e9be91a53 (patch) | |
tree | ee988b5a29f53df656104412b83c90e2ae0f893e | |
parent | 446afec71a7aee3f8c5af08c8247db74196a5ef6 (diff) |
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.
-rw-r--r-- | lib/pop3.c | 7 |
1 files changed, 6 insertions, 1 deletions
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; |