PAM_SM_AUTHENTICATE(3)

  .SH "NAME" pam_sm_authenticate - PAM service function for user authentication
  .SH "SYNOPSIS"

#include <security/pam_modules.h>

      .HP u int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv);

  .SH "DESCRIPTION"

    .PP The pam_sm_authenticate function is the service module's implementation of the pam_authenticate(3) interface.
    .PP This function performs the task of authenticating the user.
    .PP Valid flags, which may be logically OR'd with PAM_SILENT, are:

      .PP PAM_SILENT

               Do not emit any messages.

          .RE
          .PP PAM_DISALLOW_NULL_AUTHTOK

                  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.

              .RE

          .SH "RETURN VALUES"

              .PP PAM_AUTH_ERR

                      Authentication failure.

                  .RE
                  .PP PAM_CRED_INSUFFICIENT

                          For some reason the application does not have sufficient credentials to authenticate the user.

                      .RE
                      .PP PAM_AUTHINFO_UNAVAIL

                              The modules were not able to access the authentication information. This might be due to a network or hardware failure etc.

                          .RE
                          .PP PAM_SUCCESS

                                   The authentication token was successfully updated.

                              .RE
                              .PP PAM_USER_UNKNOWN

                                      The supplied username is not known to the authentication service.

                                  .RE
                                  .PP PAM_MAXTRIES

                                          One or more of the authentication modules has reached its limit of tries authenticating the user. Do not try again.

                                      .RE

                                  .SH "SEE ALSO"

                                    .PP pam(3), pam_authenticate(3), pam_sm_setcred(3), pam_strerror(3), PAM(8)