diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2005-07-25 11:59:41 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2005-07-25 11:59:41 +0000 |
commit | 5acdc59b80474dc1722a5c5439df2d68aabe7a52 (patch) | |
tree | b304c202e9538accc7a5b0e32cc52dc686895b5b /usr.bin/ssh/kex.c | |
parent | 2f607a7a619756469ae9a60b6d90b3e01706222e (diff) |
add a new compression method that delays compression until the user
has been authenticated successfully and set compression to 'delayed'
for sshd.
this breaks older openssh clients (< 3.5) if they insist on
compression, so you have to re-enable compression in sshd_config.
ok djm@
Diffstat (limited to 'usr.bin/ssh/kex.c')
-rw-r--r-- | usr.bin/ssh/kex.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.bin/ssh/kex.c b/usr.bin/ssh/kex.c index 06a3ad4ccd0..5dce335fe5f 100644 --- a/usr.bin/ssh/kex.c +++ b/usr.bin/ssh/kex.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: kex.c,v 1.63 2005/07/17 07:17:55 djm Exp $"); +RCSID("$OpenBSD: kex.c,v 1.64 2005/07/25 11:59:39 markus Exp $"); #include <openssl/crypto.h> @@ -275,10 +275,12 @@ choose_comp(Comp *comp, char *client, char *server) char *name = match_list(client, server, NULL); if (name == NULL) fatal("no matching comp found: client %s server %s", client, server); - if (strcmp(name, "zlib") == 0) { - comp->type = 1; + if (strcmp(name, "zlib@openssh.com") == 0) { + comp->type = COMP_DELAYED; + } else if (strcmp(name, "zlib") == 0) { + comp->type = COMP_ZLIB; } else if (strcmp(name, "none") == 0) { - comp->type = 0; + comp->type = COMP_NONE; } else { fatal("unsupported comp %s", name); } |