- PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv);
This function performs the task of authenticating the user.
Valid flags, which may be logically OR'd with PAM_SILENT, are:
- Do not emit any messages.
- Return PAM_AUTH_ERR if the database of authentication tokens for this authentication mechanism has a NULL entry for the user. Without this flag, such a NULL token will lead to a success without the user being prompted.
- Authentication failure.
- For some reason the application does not have sufficient credentials to authenticate the user.
- The modules were not able to access the authentication information. This might be due to a network or hardware failure etc.
- The authentication token was successfully updated.
- The supplied username is not known to the authentication service.
- One or more of the authentication modules has reached its limit of tries authenticating the user. Do not try again.