summaryrefslogtreecommitdiff
path: root/lib/libpam/pam_strerror.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpam/pam_strerror.c')
-rw-r--r--lib/libpam/pam_strerror.c70
1 files changed, 5 insertions, 65 deletions
diff --git a/lib/libpam/pam_strerror.c b/lib/libpam/pam_strerror.c
index 8621ad6c3dd4a..2f6fd70a25ba1 100644
--- a/lib/libpam/pam_strerror.c
+++ b/lib/libpam/pam_strerror.c
@@ -1,6 +1,6 @@
/*-
* Copyright (c) 2002-2003 Networks Associates Technology, Inc.
- * Copyright (c) 2004-2011 Dag-Erling Smørgrav
+ * Copyright (c) 2004-2017 Dag-Erling Smørgrav
* All rights reserved.
*
* This software was developed for the FreeBSD Project by ThinkSec AS and
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: pam_strerror.c 648 2013-03-05 17:54:27Z des $
+ * $OpenPAM: pam_strerror.c 938 2017-04-30 21:34:42Z des $
*/
#ifdef HAVE_CONFIG_H
@@ -59,69 +59,9 @@ pam_strerror(const pam_handle_t *pamh,
static char unknown[16];
(void)pamh;
-
- switch (error_number) {
- case PAM_SUCCESS:
- return ("success");
- case PAM_OPEN_ERR:
- return ("failed to load module");
- case PAM_SYMBOL_ERR:
- return ("invalid symbol");
- case PAM_SERVICE_ERR:
- return ("error in service module");
- case PAM_SYSTEM_ERR:
- return ("system error");
- case PAM_BUF_ERR:
- return ("memory buffer error");
- case PAM_CONV_ERR:
- return ("conversation failure");
- case PAM_PERM_DENIED:
- return ("permission denied");
- case PAM_MAXTRIES:
- return ("maximum number of tries exceeded");
- case PAM_AUTH_ERR:
- return ("authentication error");
- case PAM_NEW_AUTHTOK_REQD:
- return ("new authentication token required");
- case PAM_CRED_INSUFFICIENT:
- return ("insufficient credentials");
- case PAM_AUTHINFO_UNAVAIL:
- return ("authentication information is unavailable");
- case PAM_USER_UNKNOWN:
- return ("unknown user");
- case PAM_CRED_UNAVAIL:
- return ("failed to retrieve user credentials");
- case PAM_CRED_EXPIRED:
- return ("user credentials have expired");
- case PAM_CRED_ERR:
- return ("failed to set user credentials");
- case PAM_ACCT_EXPIRED:
- return ("user account has expired");
- case PAM_AUTHTOK_EXPIRED:
- return ("password has expired");
- case PAM_SESSION_ERR:
- return ("session failure");
- case PAM_AUTHTOK_ERR:
- return ("authentication token failure");
- case PAM_AUTHTOK_RECOVERY_ERR:
- return ("failed to recover old authentication token");
- case PAM_AUTHTOK_LOCK_BUSY:
- return ("authentication token lock busy");
- case PAM_AUTHTOK_DISABLE_AGING:
- return ("authentication token aging disabled");
- case PAM_NO_MODULE_DATA:
- return ("module data not found");
- case PAM_IGNORE:
- return ("ignore this module");
- case PAM_ABORT:
- return ("general failure");
- case PAM_TRY_AGAIN:
- return ("try again");
- case PAM_MODULE_UNKNOWN:
- return ("unknown module type");
- case PAM_DOMAIN_UNKNOWN:
- return ("unknown authentication domain");
- default:
+ if (error_number >= 0 && error_number < PAM_NUM_ERRORS) {
+ return (pam_err_text[error_number]);
+ } else {
snprintf(unknown, sizeof unknown, "#%d", error_number);
return (unknown);
}