From 8d4bf17036562678cb54653c3167d95f68ac9f09 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sat, 14 Jul 2001 12:13:49 +1000 Subject: - OpenBSD CVS Sync - markus@cvs.openbsd.org 2001/07/04 23:39:07 [ssh-agent.c] for smartcards remove both RSA1/2 keys --- ChangeLog | 5 ++++- ssh-agent.c | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7eacb0ec3..bd9d59726 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,9 @@ - markus@cvs.openbsd.org 2001/07/04 23:13:10 [scard.c scard.h ssh-agent.c] handle card removal more gracefully, add sc_close() to scard.h + - markus@cvs.openbsd.org 2001/07/04 23:39:07 + [ssh-agent.c] + for smartcards remove both RSA1/2 keys 20010711 - (djm) dirname(3) may modify its argument on glibc and other systems. @@ -5985,4 +5988,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1388 2001/07/14 02:13:26 djm Exp $ +$Id: ChangeLog,v 1.1389 2001/07/14 02:13:49 djm Exp $ diff --git a/ssh-agent.c b/ssh-agent.c index 61e79c5fc..044710a43 100644 --- a/ssh-agent.c +++ b/ssh-agent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-agent.c,v 1.62 2001/07/04 23:13:10 markus Exp $ */ +/* $OpenBSD: ssh-agent.c,v 1.63 2001/07/04 23:39:07 markus Exp $ */ /* * Author: Tatu Ylonen @@ -36,7 +36,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-agent.c,v 1.62 2001/07/04 23:13:10 markus Exp $"); +RCSID("$OpenBSD: ssh-agent.c,v 1.63 2001/07/04 23:39:07 markus Exp $"); #include #include @@ -515,6 +515,7 @@ process_remove_smartcard_key(SocketEntry *e) if ((k = sc_get_key(sc_reader_num)) == NULL) { error("sc_get_pubkey failed"); } else { + k->type = KEY_RSA1; private = lookup_private_key(k, &idx, 1); if (private != NULL) { Idtab *tab = idtab_lookup(1); @@ -525,6 +526,7 @@ process_remove_smartcard_key(SocketEntry *e) tab->nentries--; success = 1; } + k->type = KEY_RSA; private = lookup_private_key(k, &idx, 2); if (private != NULL) { Idtab *tab = idtab_lookup(2); @@ -536,7 +538,6 @@ process_remove_smartcard_key(SocketEntry *e) success = 1; } key_free(k); - sc_close(); } buffer_put_int(&e->output, 1); -- cgit v1.2.3