version 1.35, 2000/11/25 17:19:33 |
version 1.37, 2000/12/22 16:49:40 |
|
|
break; |
break; |
} |
} |
snprintf(identity_file, sizeof(identity_file), "%s/%s", pw->pw_dir, name); |
snprintf(identity_file, sizeof(identity_file), "%s/%s", pw->pw_dir, name); |
printf("%s (%s): ", prompt, identity_file); |
fprintf(stderr, "%s (%s): ", prompt, identity_file); |
fflush(stdout); |
fflush(stderr); |
if (fgets(buf, sizeof(buf), stdin) == NULL) |
if (fgets(buf, sizeof(buf), stdin) == NULL) |
exit(1); |
exit(1); |
if (strchr(buf, '\n')) |
if (strchr(buf, '\n')) |
|
|
{ |
{ |
Key *k; |
Key *k; |
int len; |
int len; |
unsigned char *blob; |
u_char *blob; |
struct stat st; |
struct stat st; |
|
|
if (!have_identity) |
if (!have_identity) |
|
|
int bytes = (bits + 7) / 8; |
int bytes = (bits + 7) / 8; |
if (buffer_len(b) < bytes) |
if (buffer_len(b) < bytes) |
fatal("buffer_get_bignum_bits: input buffer too small"); |
fatal("buffer_get_bignum_bits: input buffer too small"); |
BN_bin2bn((unsigned char *)buffer_ptr(b), bytes, value); |
BN_bin2bn((u_char *)buffer_ptr(b), bytes, value); |
buffer_consume(b, bytes); |
buffer_consume(b, bytes); |
} |
} |
|
|
|
|
*p = '\0'; |
*p = '\0'; |
strlcat(encoded, line, sizeof(encoded)); |
strlcat(encoded, line, sizeof(encoded)); |
} |
} |
blen = uudecode(encoded, (unsigned char *)blob, sizeof(blob)); |
blen = uudecode(encoded, (u_char *)blob, sizeof(blob)); |
if (blen < 0) { |
if (blen < 0) { |
fprintf(stderr, "uudecode failed.\n"); |
fprintf(stderr, "uudecode failed.\n"); |
exit(1); |
exit(1); |
|
|
Key *public; |
Key *public; |
char *comment = NULL, *cp, *ep, line[16*1024]; |
char *comment = NULL, *cp, *ep, line[16*1024]; |
int i, skip = 0, num = 1, invalid = 1, success = 0; |
int i, skip = 0, num = 1, invalid = 1, success = 0; |
unsigned int ignore; |
u_int ignore; |
struct stat st; |
struct stat st; |
|
|
if (!have_identity) |
if (!have_identity) |