X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/6ae2364d36eaebbbc830a417d5a01ebf3cc84e5f..3dc1102ec55da4c4f412db1224270bd3e60962cc:/compat.c diff --git a/compat.c b/compat.c index e4abaa02..0862de20 100644 --- a/compat.c +++ b/compat.c @@ -44,7 +44,6 @@ enable_compat20(void) { verbose("Enabling compatibility mode for protocol 2.0"); compat20 = 1; - packet_set_ssh2_format(); } void enable_compat13(void) @@ -58,17 +57,20 @@ compat_datafellows(const char *version) { int i; size_t len; - static const char *check[] = { - "2.0.1", - "2.1.0", - NULL + struct { + char *version; + int bugs; + } check[] = { + {"2.1.0", SSH_BUG_SIGBLOB|SSH_BUG_HMAC}, + {"2.0.1", SSH_BUG_SIGBLOB|SSH_BUG_HMAC|SSH_BUG_PUBKEYAUTH|SSH_BUG_X11FWD}, + {NULL, 0} }; - for (i = 0; check[i]; i++) { - len = strlen(check[i]); + for (i = 0; check[i].version; i++) { + len = strlen(check[i].version); if (strlen(version) >= len && - (strncmp(version, check[i], len) == 0)) { + (strncmp(version, check[i].version, len) == 0)) { verbose("datafellows: %.200s", version); - datafellows = 1; + datafellows = check[i].bugs; return; } }