aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ftp.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index be4ff413e..3967d119f 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -2375,22 +2375,23 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
if((ftpcode == 234) || (ftpcode == 334)) {
/* Curl_SSLConnect is BLOCKING */
result = Curl_SSLConnect(conn, FIRSTSOCKET);
- if(result)
- return result;
- conn->protocol |= PROT_FTPS;
- conn->ssl[SECONDARYSOCKET].use = FALSE; /* clear-text data */
+ if(CURLE_OK == result) {
+ conn->protocol |= PROT_FTPS;
+ conn->ssl[SECONDARYSOCKET].use = FALSE; /* clear-text data */
+ result = ftp_state_user(conn);
+ }
}
else if(ftp->count3 < 1) {
ftp->count3++;
ftp->count1 += ftp->count2; /* get next attempt */
- NBFTPSENDF(conn, "AUTH %s", ftpauth[ftp->count1]);
+ result = Curl_nbftpsendf(conn, "AUTH %s", ftpauth[ftp->count1]);
/* remain in this same state */
}
- else {
+ else
result = ftp_state_user(conn);
- if(result)
- return result;
- }
+
+ if(result)
+ return result;
break;
case FTP_USER: