diff options
Diffstat (limited to 'auth2-pubkey.c')
-rw-r--r-- | auth2-pubkey.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 2b3ecb104..7c0ceee55 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c | |||
@@ -257,6 +257,7 @@ match_principals_file(char *file, struct passwd *pw, struct KeyCert *cert) | |||
257 | restore_uid(); | 257 | restore_uid(); |
258 | return 0; | 258 | return 0; |
259 | } | 259 | } |
260 | auth_start_parse_options(); | ||
260 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { | 261 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { |
261 | /* Skip leading whitespace. */ | 262 | /* Skip leading whitespace. */ |
262 | for (cp = line; *cp == ' ' || *cp == '\t'; cp++) | 263 | for (cp = line; *cp == ' ' || *cp == '\t'; cp++) |
@@ -318,6 +319,7 @@ check_authkeys_file(FILE *f, char *file, Key* key, struct passwd *pw) | |||
318 | found_key = 0; | 319 | found_key = 0; |
319 | 320 | ||
320 | found = NULL; | 321 | found = NULL; |
322 | auth_start_parse_options(); | ||
321 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { | 323 | while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { |
322 | char *cp, *key_options = NULL; | 324 | char *cp, *key_options = NULL; |
323 | if (found != NULL) | 325 | if (found != NULL) |
@@ -453,6 +455,7 @@ user_cert_trusted_ca(struct passwd *pw, Key *key) | |||
453 | if (key_cert_check_authority(key, 0, 1, | 455 | if (key_cert_check_authority(key, 0, 1, |
454 | principals_file == NULL ? pw->pw_name : NULL, &reason) != 0) | 456 | principals_file == NULL ? pw->pw_name : NULL, &reason) != 0) |
455 | goto fail_reason; | 457 | goto fail_reason; |
458 | auth_start_parse_options(); | ||
456 | if (auth_cert_options(key, pw) != 0) | 459 | if (auth_cert_options(key, pw) != 0) |
457 | goto out; | 460 | goto out; |
458 | 461 | ||
@@ -647,9 +650,10 @@ user_key_allowed(struct passwd *pw, Key *key) | |||
647 | u_int success, i; | 650 | u_int success, i; |
648 | char *file; | 651 | char *file; |
649 | 652 | ||
650 | if (auth_key_is_revoked(key)) | 653 | if (auth_key_is_revoked(key, 0)) |
651 | return 0; | 654 | return 0; |
652 | if (key_is_cert(key) && auth_key_is_revoked(key->cert->signature_key)) | 655 | if (key_is_cert(key) && |
656 | auth_key_is_revoked(key->cert->signature_key, 0)) | ||
653 | return 0; | 657 | return 0; |
654 | 658 | ||
655 | success = user_cert_trusted_ca(pw, key); | 659 | success = user_cert_trusted_ca(pw, key); |