]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2001/12/10 20:34:31
authordjm <djm>
Fri, 21 Dec 2001 01:45:43 +0000 (01:45 +0000)
committerdjm <djm>
Fri, 21 Dec 2001 01:45:43 +0000 (01:45 +0000)
     [ssh-keyscan.c]
     check that server supports v1 for -t rsa1, report from wirth@dfki.de

ChangeLog
ssh-keyscan.c

index 216b35d31b760402ab7c2194ce7bbe78c8f921d2..c8291525633161d94e9612213c422fb126488282 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,9 @@
    - stevesk@cvs.openbsd.org 2001/12/10 16:45:04
      [sshd.c]
      possible fd leak on error; ok markus@
+   - markus@cvs.openbsd.org 2001/12/10 20:34:31
+     [ssh-keyscan.c]
+     check that server supports v1 for -t rsa1, report from wirth@dfki.de
 
 20011219
  - (stevesk) OpenBSD CVS sync X11 localhost display
index fb061253c101f0c349f241c2fbe57d1fef437512..80eab26927f734240bbfe6d8034a271ac46242d5 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keyscan.c,v 1.32 2001/11/22 05:27:29 stevesk Exp $");
+RCSID("$OpenBSD: ssh-keyscan.c,v 1.33 2001/12/10 20:34:31 markus Exp $");
 
 #if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H)
 #include <sys/queue.h>
@@ -493,8 +493,9 @@ static void
 congreet(int s)
 {
        char buf[256], *cp;
+       char remote_version[sizeof buf];
        size_t bufsiz;
-       int n = 0;
+       int remote_major, remote_minor, n = 0;
        con *c = &fdcon[s];
 
        bufsiz = sizeof(buf);
@@ -516,20 +517,21 @@ congreet(int s)
                return;
        }
        *cp = '\0';
+       if (sscanf(buf, "SSH-%d.%d-%[^\n]\n",
+           &remote_major, &remote_minor, remote_version) == 3)
+               compat_datafellows(remote_version);
+       else
+               datafellows = 0;
        if (c->c_keytype != KT_RSA1) {
-               int remote_major, remote_minor;
-               char remote_version[sizeof buf];
-
-               if (sscanf(buf, "SSH-%d.%d-%[^\n]\n",
-                   &remote_major, &remote_minor, remote_version) == 3)
-                       compat_datafellows(remote_version);
-               else
-                       datafellows = 0;
                if (!ssh2_capable(remote_major, remote_minor)) {
                        debug("%s doesn't support ssh2", c->c_name);
                        confree(s);
                        return;
                }
+       } else if (remote_major != 1) {
+               debug("%s doesn't support ssh1", c->c_name);
+               confree(s);
+               return;
        }
        fprintf(stderr, "# %s %s\n", c->c_name, chop(buf));
        n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",
This page took 0.167357 seconds and 5 git commands to generate.