X-Git-Url: https://git.armaanb.net/?p=opendoas.git;a=blobdiff_plain;f=pam.c;h=01f82b3048ac208a9733811a0883c5929c5d516e;hp=a9e203658e1093b3d9b675e818205106d2672df2;hb=edb30a0b44cff296d3e948a38a99d425201a8f2e;hpb=9a25a6d7b6be3ed4ffb822c5a3fa178057d18329 diff --git a/pam.c b/pam.c index a9e2036..01f82b3 100644 --- a/pam.c +++ b/pam.c @@ -39,6 +39,7 @@ #include "openbsd.h" #include "doas.h" +#include "insults.h" #ifndef HOST_NAME_MAX #define HOST_NAME_MAX _POSIX_HOST_NAME_MAX @@ -245,7 +246,7 @@ pamauth(const char *user, const char *myname, int interactive, int nopass, int p #endif if (!user || !myname) - errx(1, "Authentication failed"); + authfail(); ret = pam_start(PAM_SERVICE_NAME, myname, &conv, &pamh); if (ret != PAM_SUCCESS) @@ -277,7 +278,7 @@ pamauth(const char *user, const char *myname, int interactive, int nopass, int p if (!nopass) { if (!interactive) - errx(1, "Authentication required"); + authfail(); /* doas style prompt for pam */ char host[HOST_NAME_MAX + 1]; @@ -291,7 +292,7 @@ pamauth(const char *user, const char *myname, int interactive, int nopass, int p if (ret != PAM_SUCCESS) { pamcleanup(ret, sess, cred); syslog(LOG_AUTHPRIV | LOG_NOTICE, "failed auth for %s", myname); - errx(1, "Authentication failed"); + authfail(); } } @@ -304,7 +305,7 @@ pamauth(const char *user, const char *myname, int interactive, int nopass, int p if (ret != PAM_SUCCESS) { pamcleanup(ret, sess, cred); syslog(LOG_AUTHPRIV | LOG_NOTICE, "failed auth for %s", myname); - errx(1, "Authentication failed"); + authfail(); } /* set PAM_USER to the user we want to be */