- OpenBSD CVS Sync

- markus@cvs.openbsd.org 2001/07/04 23:39:07
     [ssh-agent.c]
     for smartcards remove both RSA1/2 keys
This commit is contained in:
Damien Miller 2001-07-14 12:13:49 +10:00
parent 694be4b1d5
commit 8d4bf17036
2 changed files with 8 additions and 4 deletions

View File

@ -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 $

View File

@ -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 <ylo@cs.hut.fi>
@ -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 <openssl/evp.h>
#include <openssl/md5.h>
@ -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);