aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorViktor Szakats <vszakats@users.noreply.github.com>2017-08-05 09:26:04 +0000
committerJay Satiro <raysatiro@yahoo.com>2017-08-17 03:32:00 -0400
commitb7b4dc0d49543175ab0d9bb1cdc257a2d7f7cf0a (patch)
tree40a6f41fe368481822bc8807ef219cf279d7a500 /lib/url.c
parentd18941ea175503ba0cf0792c1622c7a4a7c4b880 (diff)
ssh: add the ability to enable compression (for SCP/SFTP)
The required low-level logic was already available as part of `libssh2` (via `LIBSSH2_FLAG_COMPRESS` `libssh2_session_flag()`[1] option.) This patch adds the new `libcurl` option `CURLOPT_SSH_COMPRESSION` (boolean) and the new `curl` command-line option `--compressed-ssh` to request this `libssh2` feature. To have compression enabled, it is required that the SSH server supports a (zlib) compatible compression method and that `libssh2` was built with `zlib` support enabled. [1] https://www.libssh2.org/libssh2_session_flag.html Ref: https://github.com/curl/curl/issues/1732 Closes https://github.com/curl/curl/pull/1735
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/url.c b/lib/url.c
index 71d4d8bb7..32623abe5 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -2936,6 +2936,9 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
case CURLOPT_SUPPRESS_CONNECT_HEADERS:
data->set.suppress_connect_headers = (0 != va_arg(param, long))?TRUE:FALSE;
break;
+ case CURLOPT_SSH_COMPRESSION:
+ data->set.ssh_compression = (0 != va_arg(param, long))?TRUE:FALSE;
+ break;
default:
/* unknown tag and its companion, just ignore: */
result = CURLE_UNKNOWN_OPTION;