mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-11-28 07:14:31 +08:00
upstream commit
store compat flags in struct ssh; ok djm@
This commit is contained in:
parent
57d10cbe86
commit
48b3b2ba75
15
compat.c
15
compat.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: compat.c,v 1.86 2014/10/08 22:15:27 djm Exp $ */
|
/* $OpenBSD: compat.c,v 1.87 2015/01/19 20:20:20 markus Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
|
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@ -57,7 +57,7 @@ enable_compat13(void)
|
|||||||
compat13 = 1;
|
compat13 = 1;
|
||||||
}
|
}
|
||||||
/* datafellows bug compatibility */
|
/* datafellows bug compatibility */
|
||||||
void
|
u_int
|
||||||
compat_datafellows(const char *version)
|
compat_datafellows(const char *version)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -174,13 +174,14 @@ compat_datafellows(const char *version)
|
|||||||
for (i = 0; check[i].pat; i++) {
|
for (i = 0; check[i].pat; i++) {
|
||||||
if (match_pattern_list(version, check[i].pat,
|
if (match_pattern_list(version, check[i].pat,
|
||||||
strlen(check[i].pat), 0) == 1) {
|
strlen(check[i].pat), 0) == 1) {
|
||||||
datafellows = check[i].bugs;
|
|
||||||
debug("match: %s pat %s compat 0x%08x",
|
debug("match: %s pat %s compat 0x%08x",
|
||||||
version, check[i].pat, datafellows);
|
version, check[i].pat, check[i].bugs);
|
||||||
return;
|
datafellows = check[i].bugs; /* XXX for now */
|
||||||
|
return check[i].bugs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
debug("no match: %s", version);
|
debug("no match: %s", version);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SEP ","
|
#define SEP ","
|
||||||
@ -192,7 +193,9 @@ proto_spec(const char *spec)
|
|||||||
|
|
||||||
if (spec == NULL)
|
if (spec == NULL)
|
||||||
return ret;
|
return ret;
|
||||||
q = s = xstrdup(spec);
|
q = s = strdup(spec);
|
||||||
|
if (s == NULL)
|
||||||
|
return ret;
|
||||||
for ((p = strsep(&q, SEP)); p && *p != '\0'; (p = strsep(&q, SEP))) {
|
for ((p = strsep(&q, SEP)); p && *p != '\0'; (p = strsep(&q, SEP))) {
|
||||||
switch (atoi(p)) {
|
switch (atoi(p)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
4
compat.h
4
compat.h
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: compat.h,v 1.45 2014/04/18 23:52:25 djm Exp $ */
|
/* $OpenBSD: compat.h,v 1.46 2015/01/19 20:20:20 markus Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved.
|
||||||
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
void enable_compat13(void);
|
void enable_compat13(void);
|
||||||
void enable_compat20(void);
|
void enable_compat20(void);
|
||||||
void compat_datafellows(const char *);
|
u_int compat_datafellows(const char *);
|
||||||
int proto_spec(const char *);
|
int proto_spec(const char *);
|
||||||
char *compat_cipher_proposal(char *);
|
char *compat_cipher_proposal(char *);
|
||||||
char *compat_pkalg_proposal(char *);
|
char *compat_pkalg_proposal(char *);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: sshconnect.c,v 1.254 2014/12/21 22:27:56 djm Exp $ */
|
/* $OpenBSD: sshconnect.c,v 1.255 2015/01/19 20:20:20 markus Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@ -628,7 +628,7 @@ ssh_exchange_identification(int timeout_ms)
|
|||||||
debug("Remote protocol version %d.%d, remote software version %.100s",
|
debug("Remote protocol version %d.%d, remote software version %.100s",
|
||||||
remote_major, remote_minor, remote_version);
|
remote_major, remote_minor, remote_version);
|
||||||
|
|
||||||
compat_datafellows(remote_version);
|
active_state->compat = compat_datafellows(remote_version);
|
||||||
mismatch = 0;
|
mismatch = 0;
|
||||||
|
|
||||||
switch (remote_major) {
|
switch (remote_major) {
|
||||||
|
4
sshd.c
4
sshd.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: sshd.c,v 1.435 2015/01/19 20:16:15 markus Exp $ */
|
/* $OpenBSD: sshd.c,v 1.436 2015/01/19 20:20:20 markus Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@ -485,7 +485,7 @@ sshd_exchange_identification(int sock_in, int sock_out)
|
|||||||
debug("Client protocol version %d.%d; client software version %.100s",
|
debug("Client protocol version %d.%d; client software version %.100s",
|
||||||
remote_major, remote_minor, remote_version);
|
remote_major, remote_minor, remote_version);
|
||||||
|
|
||||||
compat_datafellows(remote_version);
|
active_state->compat = compat_datafellows(remote_version);
|
||||||
|
|
||||||
if ((datafellows & SSH_BUG_PROBE) != 0) {
|
if ((datafellows & SSH_BUG_PROBE) != 0) {
|
||||||
logit("probed from %s with %s. Don't panic.",
|
logit("probed from %s with %s. Don't panic.",
|
||||||
|
Loading…
Reference in New Issue
Block a user