closes #1219
When pam returns an error, we were exiting with exit code 10,
which was hardcoded and not documented. Create a name for it,
and document it in the manpage.
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Reported-by: Marc Haber <githubvisible@zugschlus.de>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
if (ret != PAM_SUCCESS) {
fprintf (shadow_logfd,
_("passwd: pam_start() failed, error %d\n"), ret);
- exit (10); /* XXX */
+ exit (E_PAM_ERR);
}
ret = pam_chauthtok (pamh, flags);
fprintf (shadow_logfd, _("passwd: %s\n"), pam_strerror (pamh, ret));
fputs (_("passwd: password unchanged\n"), shadow_logfd);
pam_end (pamh, ret);
- exit (10); /* XXX */
+ exit (E_PAM_ERR);
}
fputs (_("passwd: password updated successfully\n"), shadow_logfd);
<para>invalid argument to option</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><replaceable>10</replaceable></term>
+ <listitem>
+ <para>an error was returned by <refentrytitle>pam</refentrytitle><manvolnum>3</manvolnum></para>
+ </listitem>
+ </varlistentry>
</variablelist>
</para>
</refsect1>
#define E_MISSING 4 /* unexpected failure, passwd file missing */
#define E_PWDBUSY 5 /* passwd file busy, try again later */
#define E_BAD_ARG 6 /* invalid argument to option */
+#define E_PAM_ERR 10 /* PAM returned an error */
/*
* Global variables
*/