summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-04-29 19:52:00 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-04-29 19:52:00 +0000
commitf343674d5e297f16aafe24f68620b22656a27ba1 (patch)
tree521d8f0522d150f47be13c129c139cf69e044577
parent2f0304c768a2f44b78471a258b2dd7ce9acc199b (diff)
- markus@cvs.openbsd.org 2001/04/29 19:16:52
[channels.c clientloop.c compat.c compat.h serverloop.c] more ssh.com-2.0.x bug-compat; from per@appgate.com
-rw-r--r--ChangeLog5
-rw-r--r--channels.c4
-rw-r--r--clientloop.c8
-rw-r--r--compat.c6
-rw-r--r--compat.h37
-rw-r--r--serverloop.c8
6 files changed, 38 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 1cb100afc..295e87f36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
3 - markus@cvs.openbsd.org 2001/04/29 18:32:52 3 - markus@cvs.openbsd.org 2001/04/29 18:32:52
4 [serverloop.c] 4 [serverloop.c]
5 fix whitespace 5 fix whitespace
6 - markus@cvs.openbsd.org 2001/04/29 19:16:52
7 [channels.c clientloop.c compat.c compat.h serverloop.c]
8 more ssh.com-2.0.x bug-compat; from per@appgate.com
6 9
720010429 1020010429
8 - (bal) Updated INSTALL. PCRE moved to a new place. 11 - (bal) Updated INSTALL. PCRE moved to a new place.
@@ -5277,4 +5280,4 @@
5277 - Wrote replacements for strlcpy and mkdtemp 5280 - Wrote replacements for strlcpy and mkdtemp
5278 - Released 1.0pre1 5281 - Released 1.0pre1
5279 5282
5280$Id: ChangeLog,v 1.1181 2001/04/29 19:49:14 mouring Exp $ 5283$Id: ChangeLog,v 1.1182 2001/04/29 19:52:00 mouring Exp $
diff --git a/channels.c b/channels.c
index 57890aec9..cd73bd726 100644
--- a/channels.c
+++ b/channels.c
@@ -40,7 +40,7 @@
40 */ 40 */
41 41
42#include "includes.h" 42#include "includes.h"
43RCSID("$OpenBSD: channels.c,v 1.109 2001/04/17 12:55:03 markus Exp $"); 43RCSID("$OpenBSD: channels.c,v 1.110 2001/04/29 19:16:52 markus Exp $");
44 44
45#include <openssl/rsa.h> 45#include <openssl/rsa.h>
46#include <openssl/dsa.h> 46#include <openssl/dsa.h>
@@ -1534,7 +1534,7 @@ channel_input_open_failure(int type, int plen, void *ctxt)
1534 "non-opening channel %d.", id); 1534 "non-opening channel %d.", id);
1535 if (compat20) { 1535 if (compat20) {
1536 reason = packet_get_int(); 1536 reason = packet_get_int();
1537 if (packet_remaining() > 0) { 1537 if (!(datafellows & SSH_BUG_OPENFAILURE)) {
1538 msg = packet_get_string(NULL); 1538 msg = packet_get_string(NULL);
1539 lang = packet_get_string(NULL); 1539 lang = packet_get_string(NULL);
1540 } 1540 }
diff --git a/clientloop.c b/clientloop.c
index 369ffe4ac..d76189738 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -59,7 +59,7 @@
59 */ 59 */
60 60
61#include "includes.h" 61#include "includes.h"
62RCSID("$OpenBSD: clientloop.c,v 1.65 2001/04/20 07:17:51 djm Exp $"); 62RCSID("$OpenBSD: clientloop.c,v 1.66 2001/04/29 19:16:52 markus Exp $");
63 63
64#include "ssh.h" 64#include "ssh.h"
65#include "ssh1.h" 65#include "ssh1.h"
@@ -1154,8 +1154,10 @@ client_input_channel_open(int type, int plen, void *ctxt)
1154 packet_start(SSH2_MSG_CHANNEL_OPEN_FAILURE); 1154 packet_start(SSH2_MSG_CHANNEL_OPEN_FAILURE);
1155 packet_put_int(rchan); 1155 packet_put_int(rchan);
1156 packet_put_int(SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED); 1156 packet_put_int(SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED);
1157 packet_put_cstring("bla bla"); 1157 if (!(datafellows & SSH_BUG_OPENFAILURE)) {
1158 packet_put_cstring(""); 1158 packet_put_cstring("bla bla");
1159 packet_put_cstring("");
1160 }
1159 packet_send(); 1161 packet_send();
1160 } 1162 }
1161 xfree(ctype); 1163 xfree(ctype);
diff --git a/compat.c b/compat.c
index f5eeda0eb..683da100f 100644
--- a/compat.c
+++ b/compat.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: compat.c,v 1.47 2001/04/18 23:43:25 markus Exp $"); 26RCSID("$OpenBSD: compat.c,v 1.48 2001/04/29 19:16:52 markus Exp $");
27 27
28#ifdef HAVE_LIBPCRE 28#ifdef HAVE_LIBPCRE
29# include <pcreposix.h> 29# include <pcreposix.h>
@@ -93,12 +93,12 @@ compat_datafellows(const char *version)
93 SSH_OLD_SESSIONID|SSH_BUG_DEBUG| 93 SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
94 SSH_BUG_PKSERVICE|SSH_BUG_X11FWD| 94 SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|
95 SSH_BUG_PKOK|SSH_BUG_RSASIGMD5| 95 SSH_BUG_PKOK|SSH_BUG_RSASIGMD5|
96 SSH_BUG_HBSERVICE }, 96 SSH_BUG_HBSERVICE|SSH_BUG_OPENFAILURE },
97 { "^2\\.0\\.", SSH_BUG_SIGBLOB|SSH_BUG_HMAC| 97 { "^2\\.0\\.", SSH_BUG_SIGBLOB|SSH_BUG_HMAC|
98 SSH_OLD_SESSIONID|SSH_BUG_DEBUG| 98 SSH_OLD_SESSIONID|SSH_BUG_DEBUG|
99 SSH_BUG_PKSERVICE|SSH_BUG_X11FWD| 99 SSH_BUG_PKSERVICE|SSH_BUG_X11FWD|
100 SSH_BUG_PKAUTH|SSH_BUG_PKOK| 100 SSH_BUG_PKAUTH|SSH_BUG_PKOK|
101 SSH_BUG_RSASIGMD5 }, 101 SSH_BUG_RSASIGMD5|SSH_BUG_OPENFAILURE },
102 { "^2\\.[23]\\.0", SSH_BUG_HMAC|SSH_BUG_RSASIGMD5 }, 102 { "^2\\.[23]\\.0", SSH_BUG_HMAC|SSH_BUG_RSASIGMD5 },
103 { "^2\\.3\\.", SSH_BUG_RSASIGMD5 }, 103 { "^2\\.3\\.", SSH_BUG_RSASIGMD5 },
104 { "^2\\.[2-9]\\.", 0 }, 104 { "^2\\.[2-9]\\.", 0 },
diff --git a/compat.h b/compat.h
index fc6f3344f..fa509c247 100644
--- a/compat.h
+++ b/compat.h
@@ -21,7 +21,7 @@
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */ 23 */
24/* RCSID("$OpenBSD: compat.h,v 1.23 2001/04/12 19:15:24 markus Exp $"); */ 24/* RCSID("$OpenBSD: compat.h,v 1.24 2001/04/29 19:16:52 markus Exp $"); */
25 25
26#ifndef COMPAT_H 26#ifndef COMPAT_H
27#define COMPAT_H 27#define COMPAT_H
@@ -31,23 +31,24 @@
31#define SSH_PROTO_1_PREFERRED 0x02 31#define SSH_PROTO_1_PREFERRED 0x02
32#define SSH_PROTO_2 0x04 32#define SSH_PROTO_2 0x04
33 33
34#define SSH_BUG_SIGBLOB 0x0001 34#define SSH_BUG_SIGBLOB 0x00000001
35#define SSH_BUG_PKSERVICE 0x0002 35#define SSH_BUG_PKSERVICE 0x00000002
36#define SSH_BUG_HMAC 0x0004 36#define SSH_BUG_HMAC 0x00000004
37#define SSH_BUG_X11FWD 0x0008 37#define SSH_BUG_X11FWD 0x00000008
38#define SSH_OLD_SESSIONID 0x0010 38#define SSH_OLD_SESSIONID 0x00000010
39#define SSH_BUG_PKAUTH 0x0020 39#define SSH_BUG_PKAUTH 0x00000020
40#define SSH_BUG_DEBUG 0x0040 40#define SSH_BUG_DEBUG 0x00000040
41#define SSH_BUG_BANNER 0x0080 41#define SSH_BUG_BANNER 0x00000080
42#define SSH_BUG_IGNOREMSG 0x0100 42#define SSH_BUG_IGNOREMSG 0x00000100
43#define SSH_BUG_PKOK 0x0200 43#define SSH_BUG_PKOK 0x00000200
44#define SSH_BUG_PASSWORDPAD 0x0400 44#define SSH_BUG_PASSWORDPAD 0x00000400
45#define SSH_BUG_SCANNER 0x0800 45#define SSH_BUG_SCANNER 0x00000800
46#define SSH_BUG_BIGENDIANAES 0x1000 46#define SSH_BUG_BIGENDIANAES 0x00001000
47#define SSH_BUG_RSASIGMD5 0x2000 47#define SSH_BUG_RSASIGMD5 0x00002000
48#define SSH_OLD_DHGEX 0x4000 48#define SSH_OLD_DHGEX 0x00004000
49#define SSH_BUG_NOREKEY 0x8000 49#define SSH_BUG_NOREKEY 0x00008000
50#define SSH_BUG_HBSERVICE 0x10000 50#define SSH_BUG_HBSERVICE 0x00010000
51#define SSH_BUG_OPENFAILURE 0x00020000
51 52
52void enable_compat13(void); 53void enable_compat13(void);
53void enable_compat20(void); 54void enable_compat20(void);
diff --git a/serverloop.c b/serverloop.c
index 1687fd102..2ca892e5d 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -35,7 +35,7 @@
35 */ 35 */
36 36
37#include "includes.h" 37#include "includes.h"
38RCSID("$OpenBSD: serverloop.c,v 1.62 2001/04/29 18:32:52 markus Exp $"); 38RCSID("$OpenBSD: serverloop.c,v 1.63 2001/04/29 19:16:52 markus Exp $");
39 39
40#include "xmalloc.h" 40#include "xmalloc.h"
41#include "packet.h" 41#include "packet.h"
@@ -894,8 +894,10 @@ server_input_channel_open(int type, int plen, void *ctxt)
894 packet_start(SSH2_MSG_CHANNEL_OPEN_FAILURE); 894 packet_start(SSH2_MSG_CHANNEL_OPEN_FAILURE);
895 packet_put_int(rchan); 895 packet_put_int(rchan);
896 packet_put_int(SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED); 896 packet_put_int(SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED);
897 packet_put_cstring("bla bla"); 897 if (!(datafellows & SSH_BUG_OPENFAILURE)) {
898 packet_put_cstring(""); 898 packet_put_cstring("bla bla");
899 packet_put_cstring("");
900 }
899 packet_send(); 901 packet_send();
900 } 902 }
901 xfree(ctype); 903 xfree(ctype);