diff options
author | Damien Miller <djm@mindrot.org> | 2000-05-09 11:02:59 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-05-09 11:02:59 +1000 |
commit | 30c3d429306bb4afe71c18db92816b981f7b6d9d (patch) | |
tree | a65f45e0073cb55ad42957a36b4636ff21405108 /compat.c | |
parent | 61e50f10c276009bf9472fdd797bf6be60fc2a83 (diff) |
- OpenBSD CVS update
- markus@cvs.openbsd.org
[cipher.h myproposal.h readconf.c readconf.h servconf.c ssh.1 ssh.c]
[ssh.h sshconnect1.c sshconnect2.c sshd.8]
- complain about invalid ciphers in SSH1 (e.g. arcfour is SSH2 only)
- hugh@cvs.openbsd.org
[ssh.1]
- zap typo
[ssh-keygen.1]
- One last nit fix. (markus approved)
[sshd.8]
- some markus certified spelling adjustments
- markus@cvs.openbsd.org
[auth2.c channels.c clientloop.c compat compat.h dsa.c kex.c]
[sshconnect2.c ]
- bug compat w/ ssh-2.0.13 x11, split out bugs
[nchan.c]
- no drain if ibuf_empty, fixes x11fwd problems; tests by fries@
[ssh-keygen.c]
- handle escapes in real and original key format, ok millert@
[version.h]
- OpenSSH-2.1
Diffstat (limited to 'compat.c')
-rw-r--r-- | compat.c | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -28,7 +28,7 @@ | |||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include "includes.h" | 30 | #include "includes.h" |
31 | RCSID("$Id: compat.c,v 1.9 2000/04/29 13:57:10 damien Exp $"); | 31 | RCSID("$Id: compat.c,v 1.10 2000/05/09 01:03:00 damien Exp $"); |
32 | 32 | ||
33 | #include "ssh.h" | 33 | #include "ssh.h" |
34 | #include "packet.h" | 34 | #include "packet.h" |
@@ -57,17 +57,20 @@ compat_datafellows(const char *version) | |||
57 | { | 57 | { |
58 | int i; | 58 | int i; |
59 | size_t len; | 59 | size_t len; |
60 | static const char *check[] = { | 60 | struct { |
61 | "2.0.1", | 61 | char *version; |
62 | "2.1.0", | 62 | int bugs; |
63 | NULL | 63 | } check[] = { |
64 | {"2.1.0", SSH_BUG_SIGBLOB|SSH_BUG_HMAC}, | ||
65 | {"2.0.1", SSH_BUG_SIGBLOB|SSH_BUG_HMAC|SSH_BUG_PUBKEYAUTH|SSH_BUG_X11FWD}, | ||
66 | {NULL, 0} | ||
64 | }; | 67 | }; |
65 | for (i = 0; check[i]; i++) { | 68 | for (i = 0; check[i].version; i++) { |
66 | len = strlen(check[i]); | 69 | len = strlen(check[i].version); |
67 | if (strlen(version) >= len && | 70 | if (strlen(version) >= len && |
68 | (strncmp(version, check[i], len) == 0)) { | 71 | (strncmp(version, check[i].version, len) == 0)) { |
69 | verbose("datafellows: %.200s", version); | 72 | verbose("datafellows: %.200s", version); |
70 | datafellows = 1; | 73 | datafellows = check[i].bugs; |
71 | return; | 74 | return; |
72 | } | 75 | } |
73 | } | 76 | } |