From 7b5be79908ee5171553ffb37813eb75e9be91a53 Mon Sep 17 00:00:00 2001
From: Steve Holme <steve_holme@hotmail.com>
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 b5ea7c23f0..05a8114e82 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;
 
-- 
GitLab