mirror of
git://anongit.mindrot.org/openssh.git
synced 2025-02-16 22:06:55 +00:00
upstream: Make "ssh-add -q" do what it says on the tin: silence
output from successful operations. Based on patch from Thijs van Dijk; ok dtucker@ deraadt@ OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1
This commit is contained in:
parent
5e532320e9
commit
f80e68ea7d
52
ssh-add.c
52
ssh-add.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ssh-add.c,v 1.135 2018/02/23 15:58:37 markus Exp $ */
|
/* $OpenBSD: ssh-add.c,v 1.136 2018/09/19 02:03:02 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@ -166,7 +166,7 @@ delete_file(int agent_fd, const char *filename, int key_only, int qflag)
|
|||||||
|
|
||||||
/* Send a request to remove all identities. */
|
/* Send a request to remove all identities. */
|
||||||
static int
|
static int
|
||||||
delete_all(int agent_fd)
|
delete_all(int agent_fd, int qflag)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -180,10 +180,10 @@ delete_all(int agent_fd)
|
|||||||
/* ignore error-code for ssh1 */
|
/* ignore error-code for ssh1 */
|
||||||
ssh_remove_all_identities(agent_fd, 1);
|
ssh_remove_all_identities(agent_fd, 1);
|
||||||
|
|
||||||
if (ret == 0)
|
if (ret != 0)
|
||||||
fprintf(stderr, "All identities removed.\n");
|
|
||||||
else
|
|
||||||
fprintf(stderr, "Failed to remove all identities.\n");
|
fprintf(stderr, "Failed to remove all identities.\n");
|
||||||
|
else if (!qflag)
|
||||||
|
fprintf(stderr, "All identities removed.\n");
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -310,14 +310,19 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag)
|
|||||||
|
|
||||||
if ((r = ssh_add_identity_constrained(agent_fd, private, comment,
|
if ((r = ssh_add_identity_constrained(agent_fd, private, comment,
|
||||||
lifetime, confirm, maxsign)) == 0) {
|
lifetime, confirm, maxsign)) == 0) {
|
||||||
fprintf(stderr, "Identity added: %s (%s)\n", filename, comment);
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
if (lifetime != 0)
|
if (!qflag) {
|
||||||
|
fprintf(stderr, "Identity added: %s (%s)\n",
|
||||||
|
filename, comment);
|
||||||
|
if (lifetime != 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Lifetime set to %d seconds\n", lifetime);
|
"Lifetime set to %d seconds\n", lifetime);
|
||||||
if (confirm != 0)
|
}
|
||||||
fprintf(stderr,
|
if (confirm != 0) {
|
||||||
"The user must confirm each use of the key\n");
|
fprintf(stderr, "The user must confirm "
|
||||||
|
"each use of the key\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Could not add identity \"%s\": %s\n",
|
fprintf(stderr, "Could not add identity \"%s\": %s\n",
|
||||||
filename, ssh_err(r));
|
filename, ssh_err(r));
|
||||||
@ -362,12 +367,20 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag)
|
|||||||
private->cert->key_id, ssh_err(r));
|
private->cert->key_id, ssh_err(r));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
/* success */
|
||||||
|
if (!qflag) {
|
||||||
fprintf(stderr, "Certificate added: %s (%s)\n", certpath,
|
fprintf(stderr, "Certificate added: %s (%s)\n", certpath,
|
||||||
private->cert->key_id);
|
private->cert->key_id);
|
||||||
if (lifetime != 0)
|
if (lifetime != 0) {
|
||||||
fprintf(stderr, "Lifetime set to %d seconds\n", lifetime);
|
fprintf(stderr, "Lifetime set to %d seconds\n",
|
||||||
if (confirm != 0)
|
lifetime);
|
||||||
fprintf(stderr, "The user must confirm each use of the key\n");
|
}
|
||||||
|
if (confirm != 0) {
|
||||||
|
fprintf(stderr, "The user must confirm each use "
|
||||||
|
"of the key\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(certpath);
|
free(certpath);
|
||||||
free(comment);
|
free(comment);
|
||||||
@ -377,7 +390,7 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
update_card(int agent_fd, int add, const char *id)
|
update_card(int agent_fd, int add, const char *id, int qflag)
|
||||||
{
|
{
|
||||||
char *pin = NULL;
|
char *pin = NULL;
|
||||||
int r, ret = -1;
|
int r, ret = -1;
|
||||||
@ -390,9 +403,11 @@ update_card(int agent_fd, int add, const char *id)
|
|||||||
|
|
||||||
if ((r = ssh_update_card(agent_fd, add, id, pin == NULL ? "" : pin,
|
if ((r = ssh_update_card(agent_fd, add, id, pin == NULL ? "" : pin,
|
||||||
lifetime, confirm)) == 0) {
|
lifetime, confirm)) == 0) {
|
||||||
|
ret = 0;
|
||||||
|
if (!qflag) {
|
||||||
fprintf(stderr, "Card %s: %s\n",
|
fprintf(stderr, "Card %s: %s\n",
|
||||||
add ? "added" : "removed", id);
|
add ? "added" : "removed", id);
|
||||||
ret = 0;
|
}
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Could not %s card \"%s\": %s\n",
|
fprintf(stderr, "Could not %s card \"%s\": %s\n",
|
||||||
add ? "add" : "remove", id, ssh_err(r));
|
add ? "add" : "remove", id, ssh_err(r));
|
||||||
@ -630,7 +645,7 @@ main(int argc, char **argv)
|
|||||||
ret = 1;
|
ret = 1;
|
||||||
goto done;
|
goto done;
|
||||||
} else if (Dflag) {
|
} else if (Dflag) {
|
||||||
if (delete_all(agent_fd) == -1)
|
if (delete_all(agent_fd, qflag) == -1)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -638,7 +653,8 @@ main(int argc, char **argv)
|
|||||||
argc -= optind;
|
argc -= optind;
|
||||||
argv += optind;
|
argv += optind;
|
||||||
if (pkcs11provider != NULL) {
|
if (pkcs11provider != NULL) {
|
||||||
if (update_card(agent_fd, !deleting, pkcs11provider) == -1)
|
if (update_card(agent_fd, !deleting, pkcs11provider,
|
||||||
|
qflag) == -1)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user