blob: 365b5c72bba53d95f4ad15195ac4afcdbdbd1d85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
skey_haskey returns 0 if the user exists, 1 if the user doesn't exist,
and -1 on file error. Distinguish between these conditions.
--- pam_skey-1.1.5/pam_skey.c
+++ pam_skey/pam_skey.c
@@ -96,7 +96,11 @@
}
/* Check whether or not this user has an S/Key */
- if (skey_haskey(username) != 0) {
+ status = skey_haskey(username);
+ if (status == -1) {
+ syslog(LOG_ERR, "error accessing S/Key database for user [%s]", username);
+ return PAM_AUTHINFO_UNAVAIL;
+ } else if (status != 0) {
LOGDEBUG((LOG_DEBUG, "user [%s] has no S/Key entry", username));
return PAM_IGNORE;
}
|