1 --- Linux-PAM-0.99.7.1/modules/pam_exec/pam_exec.8.xml~ 2006-06-09 18:44:06.000000000 +0200
2 +++ Linux-PAM-0.99.7.1/modules/pam_exec/pam_exec.8.xml 2007-02-09 22:35:07.000000000 +0100
10 log=<replaceable>file</replaceable>
19 + <option>failok</option>
23 + Return success regardles of the exit code returned
32 --- Linux-PAM-0.99.7.1/modules/pam_exec/pam_exec.c.orig 2007-02-09 22:30:39.000000000 +0100
33 +++ Linux-PAM-0.99.7.1/modules/pam_exec/pam_exec.c 2007-02-09 22:37:07.000000000 +0100
39 int expose_authtok = 0;
41 const char *logfile = NULL;
44 else if (strcasecmp (argv[optargc], "expose_authtok") == 0)
46 + else if (strcasecmp (argv[optargc], "failok") == 0)
49 break; /* Unknown option, assume program to execute. */
53 pam_syslog (pamh, LOG_ERR, "%s failed: exit code %d",
54 argv[optargc], WEXITSTATUS(status));
56 + if (!quiet && !fail_ok)
57 pam_error (pamh, _("%s failed: exit code %d"),
58 argv[optargc], WEXITSTATUS(status));
60 else if (WIFSIGNALED(status))
62 pam_syslog (pamh, LOG_ERR, "%s failed: caught signal %d%s",
63 argv[optargc], WTERMSIG(status),
64 WCOREDUMP(status) ? " (core dumped)" : "");
66 + if (!quiet && !fail_ok)
67 pam_error (pamh, _("%s failed: caught signal %d%s"),
68 argv[optargc], WTERMSIG(status),
69 WCOREDUMP(status) ? " (core dumped)" : "");
73 pam_syslog (pamh, LOG_ERR, "%s failed: unknown status 0x%x",
74 argv[optargc], status);
76 + if (!quiet && !fail_ok)
77 pam_error (pamh, _("%s failed: unknown status 0x%x"),
78 argv[optargc], status);
80 - return PAM_SYSTEM_ERR;
82 + return PAM_SYSTEM_ERR;