mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
SFTP: make pwd output result to header callback
Sending "pwd" as a QUOTE command only sent the reply to the DEBUGFUNCTION. Now it also sends an FTP-like header to the header callback to allow similar operations as with FTP, and apps can re-use the same parser.
This commit is contained in:
parent
ae29142198
commit
1ad5764feb
10
lib/ssh.c
10
lib/ssh.c
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -1046,14 +1046,18 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
|
|||||||
*/
|
*/
|
||||||
if(curl_strequal("pwd", sshc->quote_item->data)) {
|
if(curl_strequal("pwd", sshc->quote_item->data)) {
|
||||||
/* output debug output if that is requested */
|
/* output debug output if that is requested */
|
||||||
if(data->set.verbose) {
|
|
||||||
char tmp[PATH_MAX+1];
|
char tmp[PATH_MAX+1];
|
||||||
|
|
||||||
Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"PWD\n", 4, conn);
|
|
||||||
snprintf(tmp, PATH_MAX, "257 \"%s\" is current directory.\n",
|
snprintf(tmp, PATH_MAX, "257 \"%s\" is current directory.\n",
|
||||||
sftp_scp->path);
|
sftp_scp->path);
|
||||||
|
if(data->set.verbose) {
|
||||||
|
Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"PWD\n", 4, conn);
|
||||||
Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp), conn);
|
Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp), conn);
|
||||||
}
|
}
|
||||||
|
/* this sends an FTP-like "header" to the header callback so that the
|
||||||
|
current directory can be read very similar to how it is read when
|
||||||
|
using ordinary FTP. */
|
||||||
|
result = Curl_client_write(conn, CLIENTWRITE_HEADER, tmp, strlen(tmp));
|
||||||
state(conn, SSH_SFTP_NEXT_QUOTE);
|
state(conn, SSH_SFTP_NEXT_QUOTE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user