From: djm Date: Sun, 18 Jan 2015 21:51:19 +0000 (+0000) Subject: some feedback from markus@: comment hostkeys_foreach() X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=c37828218a816e1f3c836b4f79295241c6e05fad;p=openbsd some feedback from markus@: comment hostkeys_foreach() context and avoid a member in it. --- diff --git a/usr.bin/ssh/ssh-keygen.c b/usr.bin/ssh/ssh-keygen.c index 64519d23568..11ab355f150 100644 --- a/usr.bin/ssh/ssh-keygen.c +++ b/usr.bin/ssh/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.256 2015/01/18 21:49:42 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.257 2015/01/18 21:51:19 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -1013,9 +1013,11 @@ do_gen_all_hostkeys(struct passwd *pw) } struct known_hosts_ctx { - FILE *out; - const char *host; - int has_unhashed, found_key, inplace, invalid; + const char *host; /* Hostname searched for in find/delete case */ + FILE *out; /* Output file, stdout for find_hosts case */ + int has_unhashed; /* When hashing, original had unhashed hosts */ + int found_key; /* For find/delete, host was found */ + int invalid; /* File contained invalid items; don't delete */ }; static int @@ -1043,7 +1045,6 @@ known_hosts_hash(struct hostkey_foreach_line *l, void *_ctx) fprintf(stderr, "%s:%ld: ignoring host name " "with wildcard: %.64s\n", l->path, l->linenum, l->hosts); - ctx->has_unhashed = 1; } return 0; } @@ -1114,7 +1115,7 @@ static void do_known_hosts(struct passwd *pw, const char *name) { char *cp, tmp[MAXPATHLEN], old[MAXPATHLEN]; - int r, fd, oerrno; + int r, fd, oerrno, inplace = 0; struct known_hosts_ctx ctx; if (!have_identity) { @@ -1148,7 +1149,7 @@ do_known_hosts(struct passwd *pw, const char *name) unlink(tmp); fatal("fdopen: %s", strerror(oerrno)); } - ctx.inplace = 1; + inplace = 1; } /* XXX support identity_file == "-" for stdin */ @@ -1157,13 +1158,13 @@ do_known_hosts(struct passwd *pw, const char *name) name, find_host ? HKF_WANT_MATCH_HOST : 0)) != 0) fatal("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r)); - if (ctx.inplace) + if (inplace) fclose(ctx.out); if (ctx.invalid) { fprintf(stderr, "%s is not a valid known_hosts file.\n", identity_file); - if (ctx.inplace) { + if (inplace) { fprintf(stderr, "Not replacing existing known_hosts " "file because of errors\n"); unlink(tmp); @@ -1173,7 +1174,7 @@ do_known_hosts(struct passwd *pw, const char *name) fprintf(stderr, "Host %s not found in %s\n", name, identity_file); unlink(tmp); - } else if (ctx.inplace) { + } else if (inplace) { /* Backup existing file */ if (unlink(old) == -1 && errno != ENOENT) fatal("unlink %.100s: %s", old, strerror(errno));