Merge branch 'testing-common-ssh'
Conflicts: src/protocols/rdp/client.c
This commit is contained in:
commit
48bbc6a898
@ -138,6 +138,7 @@ const char* GUAC_CLIENT_ARGS[] = {
|
|||||||
"sftp-password",
|
"sftp-password",
|
||||||
"sftp-private-key",
|
"sftp-private-key",
|
||||||
"sftp-passphrase",
|
"sftp-passphrase",
|
||||||
|
"sftp-directory",
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NULL
|
NULL
|
||||||
@ -186,6 +187,7 @@ enum RDP_ARGS_IDX {
|
|||||||
IDX_SFTP_PASSWORD,
|
IDX_SFTP_PASSWORD,
|
||||||
IDX_SFTP_PRIVATE_KEY,
|
IDX_SFTP_PRIVATE_KEY,
|
||||||
IDX_SFTP_PASSPHRASE,
|
IDX_SFTP_PASSPHRASE,
|
||||||
|
IDX_SFTP_DIRECTORY,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
RDP_ARGS_COUNT
|
RDP_ARGS_COUNT
|
||||||
@ -304,10 +306,15 @@ BOOL rdp_freerdp_pre_connect(freerdp* instance) {
|
|||||||
|
|
||||||
/* Load filesystem if drive enabled */
|
/* Load filesystem if drive enabled */
|
||||||
if (guac_client_data->settings.drive_enabled) {
|
if (guac_client_data->settings.drive_enabled) {
|
||||||
|
|
||||||
|
/* Allocate filesystem */
|
||||||
guac_client_data->filesystem =
|
guac_client_data->filesystem =
|
||||||
guac_rdp_fs_alloc(client, guac_client_data->settings.drive_path,
|
guac_rdp_fs_alloc(client, guac_client_data->settings.drive_path);
|
||||||
guac_client_data->settings.create_drive_path);
|
|
||||||
|
/* Use for basic uploads if no other handler set */
|
||||||
|
if (client->file_handler == NULL)
|
||||||
client->file_handler = guac_rdp_upload_file_handler;
|
client->file_handler = guac_rdp_upload_file_handler;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If RDPDR required, load it */
|
/* If RDPDR required, load it */
|
||||||
@ -906,8 +913,16 @@ int guac_client_init(guac_client* client, int argc, char** argv) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use SFTP for basic uploads, if drive not enabled */
|
/* Configure destination for basic uploads, if specified */
|
||||||
if (!settings->drive_enabled)
|
if (argv[IDX_SFTP_DIRECTORY][0] != '\0') {
|
||||||
|
client->file_handler = guac_rdp_sftp_file_handler;
|
||||||
|
guac_common_ssh_sftp_set_upload_path(
|
||||||
|
guac_client_data->sftp_filesystem,
|
||||||
|
argv[IDX_SFTP_DIRECTORY]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Otherwise, use SFTP for basic uploads only if drive not enabled */
|
||||||
|
else if (!settings->drive_enabled)
|
||||||
client->file_handler = guac_rdp_sftp_file_handler;
|
client->file_handler = guac_rdp_sftp_file_handler;
|
||||||
|
|
||||||
guac_client_log(client, GUAC_LOG_DEBUG,
|
guac_client_log(client, GUAC_LOG_DEBUG,
|
||||||
|
@ -86,6 +86,7 @@ const char* GUAC_CLIENT_ARGS[] = {
|
|||||||
"sftp-password",
|
"sftp-password",
|
||||||
"sftp-private-key",
|
"sftp-private-key",
|
||||||
"sftp-passphrase",
|
"sftp-passphrase",
|
||||||
|
"sftp-directory",
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NULL
|
NULL
|
||||||
@ -127,6 +128,7 @@ enum VNC_ARGS_IDX {
|
|||||||
IDX_SFTP_PASSWORD,
|
IDX_SFTP_PASSWORD,
|
||||||
IDX_SFTP_PRIVATE_KEY,
|
IDX_SFTP_PRIVATE_KEY,
|
||||||
IDX_SFTP_PASSPHRASE,
|
IDX_SFTP_PASSPHRASE,
|
||||||
|
IDX_SFTP_DIRECTORY,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VNC_ARGS_COUNT
|
VNC_ARGS_COUNT
|
||||||
@ -501,6 +503,12 @@ int guac_client_init(guac_client* client, int argc, char** argv) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Configure destination for basic uploads, if specified */
|
||||||
|
if (argv[IDX_SFTP_DIRECTORY][0] != '\0')
|
||||||
|
guac_common_ssh_sftp_set_upload_path(
|
||||||
|
guac_client_data->sftp_filesystem,
|
||||||
|
argv[IDX_SFTP_DIRECTORY]);
|
||||||
|
|
||||||
/* Set file handler for basic uploads */
|
/* Set file handler for basic uploads */
|
||||||
client->file_handler = guac_vnc_sftp_file_handler;
|
client->file_handler = guac_vnc_sftp_file_handler;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user