summaryrefslogtreecommitdiff
path: root/ssh-add.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2013-12-29 17:44:07 +1100
committerDamien Miller <djm@mindrot.org>2013-12-29 17:44:07 +1100
commitef275ead3dcadde4db1efe7a0aa02b5e618ed40c (patch)
tree284098fbf7f6ab1ab6b7480502a1762bdf42a0d3 /ssh-add.c
parent7d97fd9a1cae778c3eacf16e09f5da3689d616c6 (diff)
- djm@cvs.openbsd.org 2013/12/19 00:10:30
[ssh-add.c] skip requesting smartcard PIN when removing keys from agent; bz#2187 patch from jay AT slushpupie.com; ok dtucker
Diffstat (limited to 'ssh-add.c')
-rw-r--r--ssh-add.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/ssh-add.c b/ssh-add.c
index 89658448..63ce7208 100644
--- a/ssh-add.c
+++ b/ssh-add.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-add.c,v 1.107 2013/12/15 18:17:26 pascal Exp $ */
+/* $OpenBSD: ssh-add.c,v 1.108 2013/12/19 00:10:30 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -293,14 +293,17 @@ add_file(AuthenticationConnection *ac, const char *filename, int key_only)
static int
update_card(AuthenticationConnection *ac, int add, const char *id)
{
- char *pin;
+ char *pin = NULL;
int ret = -1;
- pin = read_passphrase("Enter passphrase for PKCS#11: ", RP_ALLOW_STDIN);
- if (pin == NULL)
- return -1;
+ if (add) {
+ if ((pin = read_passphrase("Enter passphrase for PKCS#11: ",
+ RP_ALLOW_STDIN)) == NULL)
+ return -1;
+ }
- if (ssh_update_card(ac, add, id, pin, lifetime, confirm)) {
+ if (ssh_update_card(ac, add, id, pin == NULL ? "" : pin,
+ lifetime, confirm)) {
fprintf(stderr, "Card %s: %s\n",
add ? "added" : "removed", id);
ret = 0;