From b7b4dc0d49543175ab0d9bb1cdc257a2d7f7cf0a Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 5 Aug 2017 09:26:04 +0000 Subject: 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 --- src/tool_getparam.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/tool_getparam.c') diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 40b39a8aa..3dd1dec3f 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -188,6 +188,7 @@ static const struct LongShort aliases[]= { {"$W", "abstract-unix-socket", ARG_STRING}, {"$X", "tls-max", ARG_STRING}, {"$Y", "suppress-connect-headers", ARG_BOOL}, + {"$Z", "compressed-ssh", ARG_BOOL}, {"0", "http1.0", ARG_NONE}, {"01", "http1.1", ARG_NONE}, {"02", "http2", ARG_NONE}, @@ -1076,6 +1077,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */ case 'Y': /* --suppress-connect-headers */ config->suppress_connect_headers = toggle; break; + case 'Z': /* --compressed-ssh */ + config->ssh_compression = toggle; + break; } break; case '#': /* --progress-bar */ -- cgit v1.2.3