mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
When doing FTP-SSL, advance to the next state properly when the response to
AUTH has been received successfully.
This commit is contained in:
parent
84b4e9ff7c
commit
371ef80dc3
11
lib/ftp.c
11
lib/ftp.c
@ -2375,22 +2375,23 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
|
|||||||
if((ftpcode == 234) || (ftpcode == 334)) {
|
if((ftpcode == 234) || (ftpcode == 334)) {
|
||||||
/* Curl_SSLConnect is BLOCKING */
|
/* Curl_SSLConnect is BLOCKING */
|
||||||
result = Curl_SSLConnect(conn, FIRSTSOCKET);
|
result = Curl_SSLConnect(conn, FIRSTSOCKET);
|
||||||
if(result)
|
if(CURLE_OK == result) {
|
||||||
return result;
|
|
||||||
conn->protocol |= PROT_FTPS;
|
conn->protocol |= PROT_FTPS;
|
||||||
conn->ssl[SECONDARYSOCKET].use = FALSE; /* clear-text data */
|
conn->ssl[SECONDARYSOCKET].use = FALSE; /* clear-text data */
|
||||||
|
result = ftp_state_user(conn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(ftp->count3 < 1) {
|
else if(ftp->count3 < 1) {
|
||||||
ftp->count3++;
|
ftp->count3++;
|
||||||
ftp->count1 += ftp->count2; /* get next attempt */
|
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 */
|
/* remain in this same state */
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
result = ftp_state_user(conn);
|
result = ftp_state_user(conn);
|
||||||
|
|
||||||
if(result)
|
if(result)
|
||||||
return result;
|
return result;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FTP_USER:
|
case FTP_USER:
|
||||||
|
Loading…
Reference in New Issue
Block a user