version 1.409.2.1, 2020/05/18 19:02:13 |
version 1.410, 2020/05/13 09:55:57 |
|
|
int r, fd, oerrno, inplace = 0; |
int r, fd, oerrno, inplace = 0; |
struct known_hosts_ctx ctx; |
struct known_hosts_ctx ctx; |
u_int foreach_options; |
u_int foreach_options; |
|
struct stat sb; |
|
|
if (!have_identity) { |
if (!have_identity) { |
cp = tilde_expand_filename(_PATH_SSH_USER_HOSTFILE, pw->pw_uid); |
cp = tilde_expand_filename(_PATH_SSH_USER_HOSTFILE, pw->pw_uid); |
|
|
free(cp); |
free(cp); |
have_identity = 1; |
have_identity = 1; |
} |
} |
|
if (stat(identity_file, &sb) != 0) |
|
fatal("Cannot stat %s: %s", identity_file, strerror(errno)); |
|
|
memset(&ctx, 0, sizeof(ctx)); |
memset(&ctx, 0, sizeof(ctx)); |
ctx.out = stdout; |
ctx.out = stdout; |
|
|
unlink(tmp); |
unlink(tmp); |
fatal("fdopen: %s", strerror(oerrno)); |
fatal("fdopen: %s", strerror(oerrno)); |
} |
} |
|
fchmod(fd, sb.st_mode & 0644); |
inplace = 1; |
inplace = 1; |
} |
} |
/* XXX support identity_file == "-" for stdin */ |
/* XXX support identity_file == "-" for stdin */ |
|
|
&keys, &nkeys)) != 0) { |
&keys, &nkeys)) != 0) { |
if (i == 0 && r == SSH_ERR_KEY_WRONG_PASSPHRASE) |
if (i == 0 && r == SSH_ERR_KEY_WRONG_PASSPHRASE) |
continue; |
continue; |
if (pin != NULL) |
freezero(pin, strlen(pin)); |
freezero(pin, strlen(pin)); |
|
error("Unable to load resident keys: %s", ssh_err(r)); |
error("Unable to load resident keys: %s", ssh_err(r)); |
return -1; |
return -1; |
} |
} |
} |
} |
if (nkeys == 0) |
if (nkeys == 0) |
logit("No keys to download"); |
logit("No keys to download"); |
if (pin != NULL) |
freezero(pin, strlen(pin)); |
freezero(pin, strlen(pin)); |
|
|
|
for (i = 0; i < nkeys; i++) { |
for (i = 0; i < nkeys; i++) { |
if (keys[i]->type != KEY_ECDSA_SK && |
if (keys[i]->type != KEY_ECDSA_SK && |