]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: make ssh-keyscan return a non-zero exit status if it
authordjm@openbsd.org <djm@openbsd.org>
Sat, 26 Jan 2019 22:35:01 +0000 (22:35 +0000)
committerDamien Miller <djm@mindrot.org>
Sat, 26 Jan 2019 22:42:19 +0000 (09:42 +1100)
finds no keys. bz#2903

OpenBSD-Commit-ID: 89f1081fb81d950ebb48e6e73d21807b2723d488

ssh-keyscan.c

index 144daa6df6305cc70f63f609d3079e16f69fd96b..2ed041559958749e2350389272c38ce713172451 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keyscan.c,v 1.125 2019/01/21 10:38:54 djm Exp $ */
+/* $OpenBSD: ssh-keyscan.c,v 1.126 2019/01/26 22:35:01 djm Exp $ */
 /*
  * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
  *
@@ -70,6 +70,8 @@ int hash_hosts = 0;           /* Hash hostname on output */
 
 int print_sshfp = 0;           /* Print SSHFP records instead of known_hosts */
 
+int found_one = 0;             /* Successfully found a key */
+
 #define MAXMAXFD 256
 
 /* The number of seconds after which to give up on a TCP connection */
@@ -287,6 +289,8 @@ keyprint_one(const char *host, struct sshkey *key)
        char *hostport;
        const char *known_host, *hashed;
 
+       found_one = 1;
+
        if (print_sshfp) {
                export_dns_rr(host, key, stdout, 0);
                return;
@@ -802,5 +806,5 @@ main(int argc, char **argv)
        while (ncon > 0)
                conloop();
 
-       return (0);
+       return found_one ? 0 : 1;
 }