1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Uppity: option to disallow SSH-1 compression.

With this and the ciphers, I think we've now got the full range of
SSH-1 config options (such as they are) that correspond to varying the
KEXINIT strings in SSH-2.
This commit is contained in:
Simon Tatham 2019-04-01 20:15:49 +01:00
parent cbff2d1960
commit f9e2c7b1fe
3 changed files with 6 additions and 1 deletions

View File

@ -97,7 +97,7 @@ bool ssh1_handle_direction_specific_packet(
return true;
case SSH1_CMSG_REQUEST_COMPRESSION:
if (s->compressing) {
if (s->compressing || !s->ssc->ssh1_allow_compression) {
pktout = ssh_bpp_new_pktout(s->ppl.bpp, SSH1_SMSG_FAILURE);
pq_push(s->ppl.out_pq, pktout);
} else {

View File

@ -15,6 +15,7 @@ struct SshServerConfig {
bool exit_signal_numeric; /* mimic an old server bug */
unsigned long ssh1_cipher_mask;
bool ssh1_allow_compression;
};
Plug *ssh_server_plug(

View File

@ -338,6 +338,7 @@ static void show_help(FILE *fp)
" --kexinit-sccomp STR override list of SSH-2 "
"s->c compression types\n"
" --ssh1-ciphers STR override list of SSH-1 ciphers\n"
" --ssh1-no-compression forbid compression in SSH-1\n"
" --exitsignum send buggy numeric \"exit-signal\" "
"message\n"
" --verbose print event log messages to standard "
@ -539,6 +540,7 @@ int main(int argc, char **argv)
ssc.session_starting_dir = getenv("HOME");
ssc.ssh1_cipher_mask = SSH1_SUPPORTED_CIPHER_MASK;
ssc.ssh1_allow_compression = true;
if (argc <= 1) {
/*
@ -760,6 +762,8 @@ int main(int argc, char **argv)
exit(1);
}
ssc.ssh1_cipher_mask = mask;
} else if (longoptnoarg(arg, "--ssh1-no-compression")) {
ssc.ssh1_allow_compression = false;
} else if (longoptnoarg(arg, "--exitsignum")) {
ssc.exit_signal_numeric = true;
} else if (longoptarg(arg, "--sshlog", &val, &argc, &argv) ||