Index: clientloop.c
===================================================================
RCS file: /home/cjwatson/cvs/openssh/openssh/clientloop.c,v
retrieving revision 1.18
diff -p -u -r1.18 clientloop.c
--- clientloop.c	1 Feb 2008 21:53:32 -0000	1.18
+++ clientloop.c	12 Jun 2008 00:52:50 -0000
@@ -1980,7 +1980,8 @@ client_session2_setup(int id, int want_t
 	}
 
 	/* Transfer any environment variables from client to server */
-	if (options.num_send_env != 0 && env != NULL) {
+	if (options.num_send_env != 0 && env != NULL &&
+	    !(datafellows & SSH_BUG_SENDENV)) {
 		int i, j, matched;
 		char *name, *val;
 
Index: compat.c
===================================================================
RCS file: /home/cjwatson/cvs/openssh/openssh/compat.c,v
retrieving revision 1.1.1.7
diff -p -u -r1.1.1.7 compat.c
--- compat.c	12 Jun 2007 11:03:10 -0000	1.1.1.7
+++ compat.c	12 Jun 2008 00:52:50 -0000
@@ -160,6 +160,7 @@ compat_datafellows(const char *version)
 					SSH_BUG_SCANNER },
 		{ "Probe-*",
 					SSH_BUG_PROBE },
+		{ "mpSSH_0.0.1*",	SSH_BUG_SENDENV },
 		{ NULL,			0 }
 	};
 
Index: compat.h
===================================================================
RCS file: /home/cjwatson/cvs/openssh/openssh/compat.h,v
retrieving revision 1.1.1.8
diff -p -u -r1.1.1.8 compat.h
--- compat.h	12 Jun 2007 11:03:10 -0000	1.1.1.8
+++ compat.h	12 Jun 2008 00:52:50 -0000
@@ -57,6 +57,7 @@
 #define SSH_BUG_FIRSTKEX	0x00800000
 #define SSH_OLD_FORWARD_ADDR	0x01000000
 #define SSH_BUG_RFWD_ADDR	0x02000000
+#define SSH_BUG_SENDENV		0x04000000
 
 void     enable_compat13(void);
 void     enable_compat20(void);
Index: ssh.c
===================================================================
RCS file: /home/cjwatson/cvs/openssh/openssh/ssh.c,v
retrieving revision 1.17
diff -p -u -r1.17 ssh.c
--- ssh.c	2 Jun 2008 13:04:55 -0000	1.17
+++ ssh.c	12 Jun 2008 00:52:50 -0000
@@ -1426,7 +1426,8 @@ control_client(const char *path)
 	buffer_append(&command, "\0", 1);
 	buffer_put_cstring(&m, buffer_ptr(&command));
 
-	if (options.num_send_env == 0 || environ == NULL) {
+	if (options.num_send_env == 0 || environ == NULL ||
+	    (datafellows & SSH_BUG_SENDENV)) {
 		buffer_put_int(&m, 0);
 	} else {
 		/* Pass environment */
