Disconnects from Cisco router ssh sessions.

Darren Tucker dtucker at zip.com.au
Thu Jun 9 18:13:01 EST 2005


Hi.

I don't do much with routers any more but recently I was configuring a
Cisco via SSH when my session disconnected while pasting large amounts
of text.  I'm told this is common.

I've had this patch for a while but I've not been able to test it. If
anyone is regularly experiencing this kind of issue could you please
tell me if the attached patch helps?

(The buffer size limit is from me, the IGNOREMSG flag is because PuTTY
thinks that particular version has it.)

Thanks.

Index: compat.c
===================================================================
RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/compat.c,v
retrieving revision 1.71
diff -u -p -r1.71 compat.c
--- compat.c	1 Mar 2005 10:24:33 -0000	1.71
+++ compat.c	9 Jun 2005 07:54:45 -0000
@@ -151,6 +151,8 @@ compat_datafellows(const char *version)
 		  "OSU_1.5alpha3*",	SSH_BUG_PASSWORDPAD },
 		{ "*SSH_Version_Mapper*",
 					SSH_BUG_SCANNER },
+		{ "Cisco-1.25",
+					SSH_BUG_BIGV1PACKET|SSH_BUG_IGNOREMSG },
 		{ "Probe-*",
 					SSH_BUG_PROBE },
 		{ NULL,			0 }
Index: compat.h
===================================================================
RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/compat.h,v
retrieving revision 1.37
diff -u -p -r1.37 compat.h
--- compat.h	1 Mar 2005 10:24:33 -0000	1.37
+++ compat.h	9 Jun 2005 07:55:01 -0000
@@ -56,6 +56,7 @@
 #define SSH_BUG_PROBE		0x00400000
 #define SSH_BUG_FIRSTKEX	0x00800000
 #define SSH_OLD_FORWARD_ADDR	0x01000000
+#define SSH_BUG_BIGV1PACKET	0x02000000
 
 void     enable_compat13(void);
 void     enable_compat20(void);
Index: sshconnect.c
===================================================================
RCS file: /usr/local/src/security/openssh/cvs/openssh_cvs/sshconnect.c,v
retrieving revision 1.130
diff -u -p -r1.130 sshconnect.c
--- sshconnect.c	26 May 2005 02:23:44 -0000	1.130
+++ sshconnect.c	9 Jun 2005 07:55:14 -0000
@@ -514,6 +514,11 @@ ssh_exchange_identification(void)
 	chop(client_version_string);
 	chop(server_version_string);
 	debug("Local version string %.100s", client_version_string);
+
+	if (datafellows & SSH_BUG_BIGV1PACKET) {
+		debug("Found big SSHv1 packet bug, limiting packet size");
+		packet_set_maxsize(4 * 1024);
+	}
 }
 
 /* defaults to 'no' */

-- 
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.




More information about the openssh-unix-dev mailing list