version 1.55.2.1, 2004/08/19 04:13:26 |
version 1.55.2.2, 2005/03/10 17:15:04 |
|
|
#include "log.h" |
#include "log.h" |
#include "authfile.h" |
#include "authfile.h" |
#include "rsa.h" |
#include "rsa.h" |
|
#include "misc.h" |
|
|
/* Version identification string for SSH v1 identity files. */ |
/* Version identification string for SSH v1 identity files. */ |
static const char authfile_id_string[] = |
static const char authfile_id_string[] = |
|
|
filename, strerror(errno)); |
filename, strerror(errno)); |
return NULL; |
return NULL; |
} |
} |
if (st.st_size > 1*1024*1024) |
if (st.st_size > 1*1024*1024) { |
close(fd); |
error("key file %.200s too large", filename); |
|
return NULL; |
|
} |
len = (size_t)st.st_size; /* truncated */ |
len = (size_t)st.st_size; /* truncated */ |
|
|
buffer_init(&buffer); |
buffer_init(&buffer); |
|
|
return NULL; |
return NULL; |
} |
} |
if (st.st_size > 1*1024*1024) { |
if (st.st_size > 1*1024*1024) { |
|
error("key file %.200s too large", filename); |
close(fd); |
close(fd); |
return (NULL); |
return (NULL); |
} |
} |
|
|
key_try_load_public(Key *k, const char *filename, char **commentp) |
key_try_load_public(Key *k, const char *filename, char **commentp) |
{ |
{ |
FILE *f; |
FILE *f; |
char line[4096]; |
char line[SSH_MAX_PUBKEY_BYTES]; |
char *cp; |
char *cp; |
|
u_long linenum = 0; |
|
|
f = fopen(filename, "r"); |
f = fopen(filename, "r"); |
if (f != NULL) { |
if (f != NULL) { |
while (fgets(line, sizeof(line), f)) { |
while (read_keyfile_line(f, filename, line, sizeof(line), |
line[sizeof(line)-1] = '\0'; |
&linenum) != -1) { |
cp = line; |
cp = line; |
switch (*cp) { |
switch (*cp) { |
case '#': |
case '#': |