Lines Matching refs:state

304 /* This is the ONLY way to change SSH state! */
305 static void state(struct Curl_easy *data, sshstate nowstate)
377 if(sshc->state != nowstate) {
378 infof(data, "SFTP %p state change from %s to %s",
379 (void *)sshc, names[sshc->state], names[nowstate]);
383 sshc->state = nowstate;
593 state(data, SSH_SESSION_FREE);
596 /* DEFER means bail out but keep the SSH_HOSTKEY state */
681 state(data, SSH_SESSION_FREE);
690 state(data, SSH_SESSION_FREE);
697 state(data, SSH_SESSION_FREE);
724 state(data, SSH_SESSION_FREE);
764 state(data, SSH_SESSION_FREE);
786 state(data, SSH_SESSION_FREE);
792 state(data, SSH_SESSION_FREE);
959 * ssh_statemach_act() runs the SSH state machine as far as it can without
980 switch(sshc->state) {
992 state(data, SSH_SESSION_FREE);
997 state(data, SSH_S_STARTUP);
1010 state(data, SSH_SESSION_FREE);
1015 state(data, SSH_HOSTKEY);
1026 state(data, SSH_AUTHLIST);
1027 /* ssh_check_fingerprint sets state appropriately on error */
1049 state(data, SSH_AUTH_DONE);
1056 state(data, SSH_SESSION_FREE);
1064 state(data, SSH_AUTH_PKEY_INIT);
1136 state(data, SSH_SESSION_FREE);
1149 state(data, SSH_AUTH_PKEY);
1152 state(data, SSH_AUTH_PASS_INIT);
1175 state(data, SSH_AUTH_DONE);
1190 state(data, SSH_AUTH_PASS_INIT);
1198 state(data, SSH_AUTH_PASS);
1201 state(data, SSH_AUTH_HOST_INIT);
1218 state(data, SSH_AUTH_DONE);
1221 state(data, SSH_AUTH_HOST_INIT);
1229 state(data, SSH_AUTH_HOST);
1232 state(data, SSH_AUTH_AGENT_INIT);
1237 state(data, SSH_AUTH_AGENT_INIT);
1253 state(data, SSH_AUTH_KEY_INIT);
1263 state(data, SSH_AUTH_KEY_INIT);
1267 state(data, SSH_AUTH_AGENT_LIST);
1272 state(data, SSH_AUTH_KEY_INIT);
1283 state(data, SSH_AUTH_KEY_INIT);
1287 state(data, SSH_AUTH_AGENT);
1325 state(data, SSH_AUTH_DONE);
1328 state(data, SSH_AUTH_KEY_INIT);
1337 state(data, SSH_AUTH_KEY);
1340 state(data, SSH_AUTH_DONE);
1358 state(data, SSH_AUTH_DONE);
1364 state(data, SSH_SESSION_FREE);
1380 state(data, SSH_SFTP_INIT);
1384 state(data, SSH_STOP);
1403 state(data, SSH_SESSION_FREE);
1407 state(data, SSH_SFTP_REALPATH);
1427 state(data, SSH_SFTP_CLOSE);
1431 data->state.most_recent_ftp_entrypath = sshc->homedir;
1445 state(data, SSH_STOP);
1454 state(data, SSH_STOP);
1462 state(data, SSH_STOP);
1469 state(data, SSH_SFTP_QUOTE);
1472 state(data, SSH_SFTP_GETINFO);
1480 state(data, SSH_SFTP_QUOTE);
1483 state(data, SSH_STOP);
1496 * switched to this state.
1517 state(data, SSH_SFTP_CLOSE);
1530 state(data, SSH_SFTP_CLOSE);
1535 state(data, SSH_SFTP_NEXT_QUOTE);
1547 state(data, SSH_SFTP_CLOSE);
1563 state(data, SSH_SFTP_CLOSE);
1591 state(data, SSH_SFTP_CLOSE);
1597 state(data, SSH_SFTP_QUOTE_STAT);
1613 state(data, SSH_SFTP_CLOSE);
1618 state(data, SSH_SFTP_QUOTE_SYMLINK);
1623 state(data, SSH_SFTP_QUOTE_MKDIR);
1637 state(data, SSH_SFTP_CLOSE);
1642 state(data, SSH_SFTP_QUOTE_RENAME);
1647 state(data, SSH_SFTP_QUOTE_RMDIR);
1651 state(data, SSH_SFTP_QUOTE_UNLINK);
1656 state(data, SSH_SFTP_QUOTE_STATVFS);
1664 state(data, SSH_SFTP_CLOSE);
1677 state(data, SSH_SFTP_QUOTE);
1681 state(data, sshc->nextstate);
1685 state(data, SSH_SFTP_GETINFO);
1723 state(data, SSH_SFTP_CLOSE);
1739 state(data, SSH_SFTP_CLOSE);
1754 state(data, SSH_SFTP_CLOSE);
1768 state(data, SSH_SFTP_CLOSE);
1793 state(data, SSH_SFTP_CLOSE);
1807 state(data, SSH_SFTP_QUOTE_SETSTAT);
1825 state(data, SSH_SFTP_CLOSE);
1830 state(data, SSH_SFTP_NEXT_QUOTE);
1848 state(data, SSH_SFTP_CLOSE);
1853 state(data, SSH_SFTP_NEXT_QUOTE);
1868 state(data, SSH_SFTP_CLOSE);
1873 state(data, SSH_SFTP_NEXT_QUOTE);
1894 state(data, SSH_SFTP_CLOSE);
1899 state(data, SSH_SFTP_NEXT_QUOTE);
1913 state(data, SSH_SFTP_CLOSE);
1918 state(data, SSH_SFTP_NEXT_QUOTE);
1931 state(data, SSH_SFTP_CLOSE);
1936 state(data, SSH_SFTP_NEXT_QUOTE);
1955 state(data, SSH_SFTP_CLOSE);
1986 state(data, SSH_SFTP_CLOSE);
1994 state(data, SSH_SFTP_CLOSE);
1999 state(data, SSH_SFTP_NEXT_QUOTE);
2006 state(data, SSH_SFTP_FILETIME);
2009 state(data, SSH_SFTP_TRANS_INIT);
2028 state(data, SSH_SFTP_TRANS_INIT);
2033 if(data->state.upload)
2034 state(data, SSH_SFTP_UPLOAD_INIT);
2037 state(data, SSH_SFTP_READDIR_INIT);
2039 state(data, SSH_SFTP_DOWNLOAD_INIT);
2053 if(data->state.resume_from) {
2055 if(data->state.resume_from < 0) {
2063 data->state.resume_from = 0;
2071 data->state.resume_from = attrs.filesize;
2079 else if(data->state.resume_from > 0)
2106 state(data, SSH_SFTP_CLOSE);
2121 state(data, SSH_SFTP_CREATE_DIRS_INIT);
2124 state(data, SSH_SFTP_CLOSE);
2143 if(data->state.resume_from > 0) {
2147 seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
2163 (data->state.resume_from - passed >
2165 sizeof(scratch) : curlx_sotouz(data->state.resume_from - passed);
2169 actuallyread = data->state.fread_func(scratch, 1,
2171 data->state.in);
2181 } while(passed < data->state.resume_from);
2185 if(data->state.infilesize > 0) {
2186 data->state.infilesize -= data->state.resume_from;
2187 data->req.size = data->state.infilesize;
2188 Curl_pgrsSetUploadSize(data, data->state.infilesize);
2191 SFTP_SEEK(sshc->sftp_handle, data->state.resume_from);
2193 if(data->state.infilesize > 0) {
2194 data->req.size = data->state.infilesize;
2195 Curl_pgrsSetUploadSize(data, data->state.infilesize);
2204 state(data, SSH_SFTP_CLOSE);
2215 data->state.select_bits = CURL_CSELECT_OUT;
2218 state machine to move on as soon as possible so we set a very short
2222 state(data, SSH_STOP);
2230 state(data, SSH_SFTP_CREATE_DIRS);
2233 state(data, SSH_SFTP_UPLOAD_INIT);
2243 state(data, SSH_SFTP_CREATE_DIRS_MKDIR);
2246 state(data, SSH_SFTP_UPLOAD_INIT);
2270 state(data, SSH_SFTP_CLOSE);
2276 state(data, SSH_SFTP_CREATE_DIRS);
2282 state(data, SSH_STOP);
2304 state(data, SSH_SFTP_CLOSE);
2311 state(data, SSH_SFTP_CLOSE);
2318 state(data, SSH_SFTP_CLOSE);
2323 state(data, SSH_SFTP_READDIR);
2348 state(data, SSH_STOP);
2363 state(data, SSH_SFTP_READDIR_LINK);
2368 state(data, SSH_SFTP_READDIR_BOTTOM);
2373 state(data, SSH_SFTP_CLOSE);
2380 state(data, SSH_SFTP_READDIR_DONE);
2392 state(data, SSH_SFTP_CLOSE);
2415 state(data, SSH_SFTP_CLOSE);
2420 state(data, SSH_SFTP_READDIR_BOTTOM);
2432 state(data, SSH_STOP);
2436 state(data, SSH_SFTP_READDIR);
2452 state(data, SSH_STOP);
2473 state(data, SSH_SFTP_CLOSE);
2478 state(data, SSH_SFTP_DOWNLOAD_STAT);
2511 if(data->state.use_range) {
2518 from_t = curlx_strtoofft(data->state.range, &ptr, 10, &from);
2558 if(data->state.resume_from) {
2559 if(data->state.resume_from < 0) {
2561 if((curl_off_t)attrs.filesize < -data->state.resume_from) {
2565 data->state.resume_from, (curl_off_t)attrs.filesize);
2569 data->state.resume_from += attrs.filesize;
2572 if((curl_off_t)attrs.filesize < data->state.resume_from) {
2575 data->state.resume_from, (curl_off_t)attrs.filesize);
2580 data->req.size = attrs.filesize - data->state.resume_from;
2581 data->req.maxdownload = attrs.filesize - data->state.resume_from;
2583 attrs.filesize - data->state.resume_from);
2584 SFTP_SEEK(sshc->sftp_handle, data->state.resume_from);
2593 state(data, SSH_STOP);
2604 data->state.select_bits = CURL_CSELECT_IN;
2607 /* this should never occur; the close state should be entered
2609 state(data, SSH_SFTP_CLOSE);
2613 state(data, SSH_STOP);
2641 state(data, sshc->nextstate);
2645 state(data, SSH_STOP);
2680 data->state.most_recent_ftp_entrypath = NULL;
2682 state(data, SSH_SESSION_DISCONNECT);
2689 state(data, SSH_STOP);
2693 if(data->state.upload) {
2694 if(data->state.infilesize < 0) {
2697 state(data, SSH_SCP_CHANNEL_FREE);
2700 state(data, SSH_SCP_UPLOAD_INIT);
2703 state(data, SSH_SCP_DOWNLOAD_INIT);
2716 data->state.infilesize);
2730 state(data, SSH_SCP_CHANNEL_FREE);
2740 data->req.size = data->state.infilesize;
2741 Curl_pgrsSetUploadSize(data, data->state.infilesize);
2748 state(data, SSH_SCP_CHANNEL_FREE);
2759 data->state.select_bits = CURL_CSELECT_OUT;
2761 state(data, SSH_STOP);
2805 state(data, SSH_SCP_CHANNEL_FREE);
2821 data->state.select_bits = CURL_CSELECT_IN;
2824 state(data, SSH_SCP_CHANNEL_FREE);
2828 state(data, SSH_STOP);
2833 if(data->state.upload)
2834 state(data, SSH_SCP_SEND_EOF);
2836 state(data, SSH_SCP_CHANNEL_FREE);
2853 state(data, SSH_SCP_WAIT_EOF);
2869 state(data, SSH_SCP_WAIT_CLOSE);
2885 state(data, SSH_SCP_CHANNEL_FREE);
2905 state(data, SSH_SESSION_DISCONNECT);
2907 state(data, SSH_STOP);
2913 is still alive when we reach this state and we MUST kill the channel
2945 data->state.most_recent_ftp_entrypath = NULL;
2947 state(data, SSH_SESSION_FREE);
3020 sshc->state = SSH_SESSION_FREE; /* current */
3022 state(data, SSH_STOP);
3029 state(data, SSH_STOP);
3033 } while(!rc && (sshc->state != SSH_STOP));
3100 *done = (sshc->state == SSH_STOP) ? TRUE : FALSE;
3117 while((sshc->state != SSH_STOP) && !result) {
3388 state(data, SSH_INIT);
3416 state(data, SSH_SCP_TRANS_INIT);
3418 /* run the state-machine */
3460 sshc->secondCreateDirs = 0; /* reset the create dir attempt state
3476 /* BLOCKING, but the function is using the state machine so the only reason
3489 state(data, SSH_SESSION_DISCONNECT);
3505 /* run the state-machine */
3529 state(data, SSH_SCP_DONE);
3605 state(data, SSH_SFTP_QUOTE_INIT);
3607 /* run the state-machine */
3631 /* BLOCKING, but the function is using the state machine so the only reason
3645 state(data, SSH_SFTP_SHUTDOWN);
3662 /* Post quote commands are executed after the SFTP_CLOSE state to avoid
3667 state(data, SSH_SFTP_CLOSE);