version 1.6.2.1, 2000/06/12 02:37:33 |
version 1.6.2.2, 2000/09/01 18:23:20 |
|
|
*/ |
*/ |
|
|
#include "includes.h" |
#include "includes.h" |
RCSID("$Id$"); |
RCSID("$OpenBSD$"); |
|
|
#include "ssh.h" |
#include "ssh.h" |
#include "ssh2.h" |
#include "ssh2.h" |
|
|
get_match(char *client, char *server) |
get_match(char *client, char *server) |
{ |
{ |
char *sproposals[MAX_PROP]; |
char *sproposals[MAX_PROP]; |
char *c, *s, *p, *ret; |
char *c, *s, *p, *ret, *cp, *sp; |
int i, j, nproposals; |
int i, j, nproposals; |
|
|
c = xstrdup(client); |
c = cp = xstrdup(client); |
s = xstrdup(server); |
s = sp = xstrdup(server); |
|
|
for ((p = strtok(s, SEP)), i=0; p; (p = strtok(NULL, SEP)), i++) { |
for ((p = strsep(&sp, SEP)), i=0; p && *p != '\0'; |
|
(p = strsep(&sp, SEP)), i++) { |
if (i < MAX_PROP) |
if (i < MAX_PROP) |
sproposals[i] = p; |
sproposals[i] = p; |
else |
else |
|
|
} |
} |
nproposals = i; |
nproposals = i; |
|
|
for ((p = strtok(c, SEP)), i=0; p; (p = strtok(NULL, SEP)), i++) { |
for ((p = strsep(&cp, SEP)), i=0; p && *p != '\0'; |
|
(p = strsep(&cp, SEP)), i++) { |
for (j = 0; j < nproposals; j++) { |
for (j = 0; j < nproposals; j++) { |
if (strcmp(p, sproposals[j]) == 0) { |
if (strcmp(p, sproposals[j]) == 0) { |
ret = xstrdup(p); |
ret = xstrdup(p); |