diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2001-04-05 23:28:36 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2001-04-05 23:28:36 +0000 |
commit | a8baf36d41b0dc49451faa1e6fb074f70124527e (patch) | |
tree | 2d9b8fb1724dbeaa2e47eb3a54bb3901e5bd47df | |
parent | a3700050ec681277bcdf76a02b0c2e304ff317c7 (diff) |
- markus@cvs.openbsd.org 2001/04/05 11:09:17
[clientloop.c compat.c compat.h]
add SSH_BUG_NOREKEY and detect broken (=all old) openssh versions.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | clientloop.c | 4 | ||||
-rw-r--r-- | compat.c | 16 | ||||
-rw-r--r-- | compat.h | 3 |
4 files changed, 18 insertions, 10 deletions
@@ -17,6 +17,9 @@ | |||
17 | sftp-glob.h sftp-int.c sftp-server.c sftp.c ssh-keygen.c sshconnect.c | 17 | sftp-glob.h sftp-int.c sftp-server.c sftp.c ssh-keygen.c sshconnect.c |
18 | sshconnect2.c sshd.c] | 18 | sshconnect2.c sshd.c] |
19 | fix whitespace: unexpand + trailing spaces. | 19 | fix whitespace: unexpand + trailing spaces. |
20 | - markus@cvs.openbsd.org 2001/04/05 11:09:17 | ||
21 | [clientloop.c compat.c compat.h] | ||
22 | add SSH_BUG_NOREKEY and detect broken (=all old) openssh versions. | ||
20 | 23 | ||
21 | 20010405 | 24 | 20010405 |
22 | - OpenBSD CVS Sync | 25 | - OpenBSD CVS Sync |
@@ -4889,4 +4892,4 @@ | |||
4889 | - Wrote replacements for strlcpy and mkdtemp | 4892 | - Wrote replacements for strlcpy and mkdtemp |
4890 | - Released 1.0pre1 | 4893 | - Released 1.0pre1 |
4891 | 4894 | ||
4892 | $Id: ChangeLog,v 1.1067 2001/04/05 23:26:32 mouring Exp $ | 4895 | $Id: ChangeLog,v 1.1068 2001/04/05 23:28:36 mouring Exp $ |
diff --git a/clientloop.c b/clientloop.c index 71eda80e6..41920e0f3 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -59,7 +59,7 @@ | |||
59 | */ | 59 | */ |
60 | 60 | ||
61 | #include "includes.h" | 61 | #include "includes.h" |
62 | RCSID("$OpenBSD: clientloop.c,v 1.57 2001/04/05 10:42:49 markus Exp $"); | 62 | RCSID("$OpenBSD: clientloop.c,v 1.58 2001/04/05 11:09:15 markus Exp $"); |
63 | 63 | ||
64 | #include "ssh.h" | 64 | #include "ssh.h" |
65 | #include "ssh1.h" | 65 | #include "ssh1.h" |
@@ -554,7 +554,7 @@ process_escapes(Buffer *bin, Buffer *bout, Buffer *berr, char *buf, int len) | |||
554 | continue; | 554 | continue; |
555 | 555 | ||
556 | case 'R': | 556 | case 'R': |
557 | if (compat20) | 557 | if (compat20 && !(datafellows && SSH_BUG_NOREKEY)) |
558 | need_rekeying = 1; | 558 | need_rekeying = 1; |
559 | continue; | 559 | continue; |
560 | 560 | ||
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: compat.c,v 1.44 2001/04/05 10:00:06 markus Exp $"); | 26 | RCSID("$OpenBSD: compat.c,v 1.45 2001/04/05 11:09:16 markus Exp $"); |
27 | 27 | ||
28 | #ifdef HAVE_LIBPCRE | 28 | #ifdef HAVE_LIBPCRE |
29 | # include <pcreposix.h> | 29 | # include <pcreposix.h> |
@@ -69,14 +69,18 @@ compat_datafellows(const char *version) | |||
69 | } check[] = { | 69 | } check[] = { |
70 | { "^OpenSSH[-_]2\\.[012]", | 70 | { "^OpenSSH[-_]2\\.[012]", |
71 | SSH_OLD_SESSIONID|SSH_BUG_BANNER| | 71 | SSH_OLD_SESSIONID|SSH_BUG_BANNER| |
72 | SSH_OLD_DHGEX }, | 72 | SSH_OLD_DHGEX|SSH_BUG_NOREKEY }, |
73 | { "^OpenSSH_2\\.3\\.0", SSH_BUG_BANNER|SSH_BUG_BIGENDIANAES| | 73 | { "^OpenSSH_2\\.3\\.0", SSH_BUG_BANNER|SSH_BUG_BIGENDIANAES| |
74 | SSH_OLD_DHGEX}, | 74 | SSH_OLD_DHGEX|SSH_BUG_NOREKEY}, |
75 | { "^OpenSSH_2\\.3\\.", SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX}, | 75 | { "^OpenSSH_2\\.3\\.", SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX| |
76 | SSH_BUG_NOREKEY}, | ||
76 | { "^OpenSSH_2\\.5\\.[01]p1", | 77 | { "^OpenSSH_2\\.5\\.[01]p1", |
77 | SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX }, | 78 | SSH_BUG_BIGENDIANAES|SSH_OLD_DHGEX| |
79 | SSH_BUG_NOREKEY }, | ||
78 | { "^OpenSSH_2\\.5\\.[012]", | 80 | { "^OpenSSH_2\\.5\\.[012]", |
79 | SSH_OLD_DHGEX }, | 81 | SSH_OLD_DHGEX|SSH_BUG_NOREKEY }, |
82 | { "^OpenSSH_2\\.5\\.3", | ||
83 | SSH_BUG_NOREKEY }, | ||
80 | { "^OpenSSH", 0 }, | 84 | { "^OpenSSH", 0 }, |
81 | { "MindTerm", 0 }, | 85 | { "MindTerm", 0 }, |
82 | { "^2\\.1\\.0", SSH_BUG_SIGBLOB|SSH_BUG_HMAC| | 86 | { "^2\\.1\\.0", SSH_BUG_SIGBLOB|SSH_BUG_HMAC| |
@@ -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.21 2001/03/27 17:46:49 provos Exp $"); */ | 24 | /* RCSID("$OpenBSD: compat.h,v 1.22 2001/04/05 11:09:17 markus Exp $"); */ |
25 | 25 | ||
26 | #ifndef COMPAT_H | 26 | #ifndef COMPAT_H |
27 | #define COMPAT_H | 27 | #define COMPAT_H |
@@ -46,6 +46,7 @@ | |||
46 | #define SSH_BUG_BIGENDIANAES 0x1000 | 46 | #define SSH_BUG_BIGENDIANAES 0x1000 |
47 | #define SSH_BUG_RSASIGMD5 0x2000 | 47 | #define SSH_BUG_RSASIGMD5 0x2000 |
48 | #define SSH_OLD_DHGEX 0x4000 | 48 | #define SSH_OLD_DHGEX 0x4000 |
49 | #define SSH_BUG_NOREKEY 0x8000 | ||
49 | 50 | ||
50 | void enable_compat13(void); | 51 | void enable_compat13(void); |
51 | void enable_compat20(void); | 52 | void enable_compat20(void); |