summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--clientloop.c4
-rw-r--r--compat.c16
-rw-r--r--compat.h3
4 files changed, 18 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index a6b1ee8fa..3b9dd2f2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
2120010405 2420010405
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"
62RCSID("$OpenBSD: clientloop.c,v 1.57 2001/04/05 10:42:49 markus Exp $"); 62RCSID("$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
diff --git a/compat.c b/compat.c
index 85446999a..f96a6c63c 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.44 2001/04/05 10:00:06 markus Exp $"); 26RCSID("$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|
diff --git a/compat.h b/compat.h
index e4ca5c1bc..244cd1aa7 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.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
50void enable_compat13(void); 51void enable_compat13(void);
51void enable_compat20(void); 52void enable_compat20(void);