diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_cfgable.h | 1 | ||||
-rw-r--r-- | src/tool_getparam.c | 4 | ||||
-rw-r--r-- | src/tool_help.c | 2 | ||||
-rw-r--r-- | src/tool_operate.c | 4 |
4 files changed, 11 insertions, 0 deletions
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h index 254805c8c..2b436657f 100644 --- a/src/tool_cfgable.h +++ b/src/tool_cfgable.h @@ -247,6 +247,7 @@ struct OperationConfig { from user callbacks */ curl_error synthetic_error; /* if non-zero, it overrides any libcurl error */ + bool ssh_compression; /* enable/disable SSH compression */ struct GlobalConfig *global; struct OperationConfig *prev; struct OperationConfig *next; /* Always last in the struct */ 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 */ diff --git a/src/tool_help.c b/src/tool_help.c index a5bfaba24..04d84dd7a 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -68,6 +68,8 @@ static const struct helptxt helptext[] = { "SSL ciphers to use"}, {" --compressed", "Request compressed response"}, + {" --compressed-ssh", + "Enable SSH compression"}, {"-K, --config <file>", "Read config from a file"}, {" --connect-timeout <seconds>", diff --git a/src/tool_operate.c b/src/tool_operate.c index 1e8d0073c..3c8c6ed2f 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1091,6 +1091,10 @@ static CURLcode operate_do(struct GlobalConfig *global, to fail if we are not talking to who we think we should */ my_setopt_str(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, config->hostpubmd5); + + /* new in libcurl 7.56.0 */ + if(config->ssh_compression) + my_setopt(curl, CURLOPT_SSH_COMPRESSION, 1L); } if(config->cacert) |