version 1.6, 2004/01/19 21:25:15 |
version 1.6.2.1, 2004/08/19 04:13:26 |
|
|
found = key_new(key->type); |
found = key_new(key->type); |
|
|
while (fgets(line, sizeof(line), f)) { |
while (fgets(line, sizeof(line), f)) { |
char *cp, *options = NULL; |
char *cp, *key_options = NULL; |
linenum++; |
linenum++; |
/* Skip leading whitespace, empty and comment lines. */ |
/* Skip leading whitespace, empty and comment lines. */ |
for (cp = line; *cp == ' ' || *cp == '\t'; cp++) |
for (cp = line; *cp == ' ' || *cp == '\t'; cp++) |
|
|
/* no key? check if there are options for this key */ |
/* no key? check if there are options for this key */ |
int quoted = 0; |
int quoted = 0; |
debug2("user_key_allowed: check options: '%s'", cp); |
debug2("user_key_allowed: check options: '%s'", cp); |
options = cp; |
key_options = cp; |
for (; *cp && (quoted || (*cp != ' ' && *cp != '\t')); cp++) { |
for (; *cp && (quoted || (*cp != ' ' && *cp != '\t')); cp++) { |
if (*cp == '\\' && cp[1] == '"') |
if (*cp == '\\' && cp[1] == '"') |
cp++; /* Skip both */ |
cp++; /* Skip both */ |
|
|
} |
} |
} |
} |
if (key_equal(found, key) && |
if (key_equal(found, key) && |
auth_parse_options(pw, options, file, linenum) == 1) { |
auth_parse_options(pw, key_options, file, linenum) == 1) { |
found_key = 1; |
found_key = 1; |
debug("matching key found: file %s, line %lu", |
debug("matching key found: file %s, line %lu", |
file, linenum); |
file, linenum); |