#include #include #include #include static struct pam_conv conv = { misc_conv, NULL }; /* Check that errors of optional modules are ignored and that required modules after a sufficient one are not executed. */ int main(int argc, char *argv[]) { pam_handle_t *pamh=NULL; const char *user="nobody"; int retval; int debug = 0; if (argc > 1 && strcmp (argv[1], "-d") == 0) debug = 1; retval = pam_start("tst-pam_dispatch3", user, &conv, &pamh); if (retval != PAM_SUCCESS) { if (debug) fprintf (stderr, "test3: pam_start returned %d\n", retval); return 1; } retval = pam_authenticate(pamh, 0); if (retval != PAM_SUCCESS) { if (debug) fprintf (stderr, "test3: pam_authenticate returned %d\n", retval); return 1; } retval = pam_end(pamh,retval); if (retval != PAM_SUCCESS) { if (debug) fprintf (stderr, "test3: pam_end returned %d\n", retval); return 1; } return 0; }