diff options
author | djm <djm> | 2008-11-03 08:20:10 +0000 |
---|---|---|
committer | djm <djm> | 2008-11-03 08:20:10 +0000 |
commit | be171ab2144a353f73c6d57b593e21aa09b3d2ed (patch) | |
tree | cd480644b7e85c4f11ce005e55e32edb8873fdc6 | |
parent | 8fcf8c53f225ef5a63151ffcd8d7f421f7834c46 (diff) | |
download | openssh-be171ab2144a353f73c6d57b593e21aa09b3d2ed.tar.gz |
- markus@cvs.openbsd.org 2008/09/11 14:22:37
[compat.c compat.h nchan.c ssh.c]
only send eow and no-more-sessions requests to openssh 5 and newer;
fixes interop problems with broken ssh v2 implementations; ok djm@
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | compat.c | 5 | ||||
-rw-r--r-- | compat.h | 3 | ||||
-rw-r--r-- | nchan.c | 4 | ||||
-rw-r--r-- | ssh.c | 5 |
5 files changed, 16 insertions, 7 deletions
@@ -27,6 +27,10 @@ OpenSSL 0.9.8h supplies a real EVP_sha256 so we do not need our replacement anymore (ID sync only for portable - we still need this) + - markus@cvs.openbsd.org 2008/09/11 14:22:37 + [compat.c compat.h nchan.c ssh.c] + only send eow and no-more-sessions requests to openssh 5 and newer; + fixes interop problems with broken ssh v2 implementations; ok djm@ 20080906 - (dtucker) [config.guess config.sub] Update to latest versions from @@ -4761,4 +4765,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.5105 2008/11/03 08:19:12 djm Exp $ +$Id: ChangeLog,v 1.5106 2008/11/03 08:20:10 djm Exp $ @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.77 2006/12/12 03:58:42 djm Exp $ */ +/* $OpenBSD: compat.c,v 1.78 2008/09/11 14:22:37 markus Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -91,7 +91,8 @@ compat_datafellows(const char *version) "OpenSSH_3.1*", SSH_BUG_EXTEOF|SSH_OLD_FORWARD_ADDR}, { "OpenSSH_3.*", SSH_OLD_FORWARD_ADDR }, { "Sun_SSH_1.0*", SSH_BUG_NOREKEY|SSH_BUG_EXTEOF}, - { "OpenSSH*", 0 }, + { "OpenSSH_4*", 0 }, + { "OpenSSH*", SSH_NEW_OPENSSH }, { "*MindTerm*", 0 }, { "2.1.0*", SSH_BUG_SIGBLOB|SSH_BUG_HMAC| SSH_OLD_SESSIONID|SSH_BUG_DEBUG| @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.h,v 1.41 2006/12/12 03:58:42 djm Exp $ */ +/* $OpenBSD: compat.h,v 1.42 2008/09/11 14:22:37 markus Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. @@ -57,6 +57,7 @@ #define SSH_BUG_FIRSTKEX 0x00800000 #define SSH_OLD_FORWARD_ADDR 0x01000000 #define SSH_BUG_RFWD_ADDR 0x02000000 +#define SSH_NEW_OPENSSH 0x04000000 void enable_compat13(void); void enable_compat20(void); @@ -1,4 +1,4 @@ -/* $OpenBSD: nchan.c,v 1.60 2008/06/30 12:16:02 djm Exp $ */ +/* $OpenBSD: nchan.c,v 1.61 2008/09/11 14:22:37 markus Exp $ */ /* * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. * @@ -387,6 +387,8 @@ chan_send_eow2(Channel *c) c->self); return; } + if (!(datafellows & SSH_NEW_OPENSSH)) + return; packet_start(SSH2_MSG_CHANNEL_REQUEST); packet_put_int(c->remote_id); packet_put_cstring("eow@openssh.com"); @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.318 2008/07/02 13:47:39 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.319 2008/09/11 14:22:37 markus Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1200,7 +1200,8 @@ ssh_session2(void) id = ssh_session2_open(); /* If we don't expect to open a new session, then disallow it */ - if (options.control_master == SSHCTL_MASTER_NO) { + if (options.control_master == SSHCTL_MASTER_NO && + (datafellows & SSH_NEW_OPENSSH)) { debug("Requesting no-more-sessions@openssh.com"); packet_start(SSH2_MSG_GLOBAL_REQUEST); packet_put_cstring("no-more-sessions@openssh.com"); |