summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2002-02-05 02:12:49 +0100
committerDamien Miller <djm@mindrot.org>2002-02-05 02:12:49 +0100
commit43cba34b649a2df8c170e17a5655d060830a386e (patch)
tree03dc88912275602b19053499ff0939854e383896
parent - stevesk@cvs.openbsd.org 2002/01/27 18:08:17 (diff)
downloadopenssh-43cba34b649a2df8c170e17a5655d060830a386e.tar.xz
openssh-43cba34b649a2df8c170e17a5655d060830a386e.zip
- markus@cvs.openbsd.org 2002/01/29 14:27:57
[ssh-add.c] exit 2 if no agent, exit 1 if list fails; debian#61078; ok djm@
-rw-r--r--ChangeLog5
-rw-r--r--ssh-add.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b31c8063..ad3371601 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,9 @@
- stevesk@cvs.openbsd.org 2002/01/27 18:08:17
[ssh.c]
handle simple case to identify FamilyLocal display; ok markus@
+ - markus@cvs.openbsd.org 2002/01/29 14:27:57
+ [ssh-add.c]
+ exit 2 if no agent, exit 1 if list fails; debian#61078; ok djm@
20020130
- (djm) Delay PRNG seeding until we need it in ssh-keygen, from markus@
@@ -7430,4 +7433,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1806 2002/02/05 01:12:09 djm Exp $
+$Id: ChangeLog,v 1.1807 2002/02/05 01:12:49 djm Exp $
diff --git a/ssh-add.c b/ssh-add.c
index 6d79357cc..b057a0892 100644
--- a/ssh-add.c
+++ b/ssh-add.c
@@ -35,7 +35,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh-add.c,v 1.49 2001/12/24 07:29:43 deraadt Exp $");
+RCSID("$OpenBSD: ssh-add.c,v 1.50 2002/01/29 14:27:57 markus Exp $");
#include <openssl/evp.h>
@@ -187,7 +187,7 @@ update_card(AuthenticationConnection *ac, int add, const char *id)
}
}
-static void
+static int
list_identities(AuthenticationConnection *ac, int do_fp)
{
Key *key;
@@ -215,8 +215,11 @@ list_identities(AuthenticationConnection *ac, int do_fp)
xfree(comment);
}
}
- if (!had_identities)
+ if (!had_identities) {
printf("The agent has no identities.\n");
+ return -1;
+ }
+ return 0;
}
static int
@@ -266,13 +269,14 @@ main(int argc, char **argv)
ac = ssh_get_authentication_connection();
if (ac == NULL) {
fprintf(stderr, "Could not open a connection to your authentication agent.\n");
- exit(1);
+ exit(2);
}
while ((ch = getopt(argc, argv, "lLdDe:s:")) != -1) {
switch (ch) {
case 'l':
case 'L':
- list_identities(ac, ch == 'l' ? 1 : 0);
+ if (list_identities(ac, ch == 'l' ? 1 : 0) == -1)
+ ret = 1;
goto done;
break;
case 'd':