version 1.46.2.1, 2002/03/07 17:37:47 |
version 1.46.2.2, 2002/05/17 00:03:24 |
|
|
static char *default_files[] = { |
static char *default_files[] = { |
_PATH_SSH_CLIENT_ID_RSA, |
_PATH_SSH_CLIENT_ID_RSA, |
_PATH_SSH_CLIENT_ID_DSA, |
_PATH_SSH_CLIENT_ID_DSA, |
_PATH_SSH_CLIENT_IDENTITY, |
_PATH_SSH_CLIENT_IDENTITY, |
NULL |
NULL |
}; |
}; |
|
|
|
|
static int |
static int |
update_card(AuthenticationConnection *ac, int add, const char *id) |
update_card(AuthenticationConnection *ac, int add, const char *id) |
{ |
{ |
if (ssh_update_card(ac, add, id)) { |
char *pin; |
|
|
|
pin = read_passphrase("Enter passphrase for smartcard: ", RP_ALLOW_STDIN); |
|
if (pin == NULL) |
|
return -1; |
|
|
|
if (ssh_update_card(ac, add, id, pin)) { |
fprintf(stderr, "Card %s: %s\n", |
fprintf(stderr, "Card %s: %s\n", |
add ? "added" : "removed", id); |
add ? "added" : "removed", id); |
return 0; |
return 0; |
|
|
if (argc == 0) { |
if (argc == 0) { |
char buf[MAXPATHLEN]; |
char buf[MAXPATHLEN]; |
struct passwd *pw; |
struct passwd *pw; |
|
struct stat st; |
|
int count = 0; |
|
|
if ((pw = getpwuid(getuid())) == NULL) { |
if ((pw = getpwuid(getuid())) == NULL) { |
fprintf(stderr, "No user found with uid %u\n", |
fprintf(stderr, "No user found with uid %u\n", |
|
|
} |
} |
|
|
for(i = 0; default_files[i]; i++) { |
for(i = 0; default_files[i]; i++) { |
snprintf(buf, sizeof(buf), "%s/%s", pw->pw_dir, |
snprintf(buf, sizeof(buf), "%s/%s", pw->pw_dir, |
default_files[i]); |
default_files[i]); |
|
if (stat(buf, &st) < 0) |
|
continue; |
if (do_file(ac, deleting, buf) == -1) |
if (do_file(ac, deleting, buf) == -1) |
ret = 1; |
ret = 1; |
|
else |
|
count++; |
} |
} |
|
if (count == 0) |
|
ret = 1; |
} else { |
} else { |
for(i = 0; i < argc; i++) { |
for(i = 0; i < argc; i++) { |
if (do_file(ac, deleting, argv[i]) == -1) |
if (do_file(ac, deleting, argv[i]) == -1) |