PWauth [status codes] (https://code.google.com/p/pwauth/wiki/StatusCodes) are mapped to java exceptions:
| Status Code | PWauth Description | Exception | Base Exception |
|---|---|---|---|
| 0 | Login OK. | ||
| 1 | Nonexistant login or (for some configurations) incorrect password. | PWauthUnknownException | AccountNotFoundException |
| 2 | Incorrect password (for some configurations). | PWauthInvalidException | FailedLoginException |
| 3 | Uid number is below MIN_UNIX_UID value configured in config.h. | PWauthBlockedException | AccountLockedException |
| 4 | Login ID has expired. | PWauthExpiredException | AccountExpiredException |
| 5 | Login's password has expired. | PWauthPwExpiredException | LoginException |
| 6 | Logins to system have been turned off (usually by /etc/nologin file). | PWauthNologinException | LoginException |
| 7 | Limit on number of bad logins exceeded. | PWauthManyfailesException | LoginException |
| 50 | pwauth was invoked by a uid not on the SERVER_UIDS list. If you get this error code, you probably have SERVER_UIDS set incorrectly in pwauth's config.h file. | PWauthIntUserException | LoginException |
| 51 | pwauth was not given a login & password to check. The means the passing of data from mod_auth_external to pwauth is messed up. Most likely one is trying to pass data via environment variables, while the other is trying to pass data via a pipe. | PWauthIntArgsException | LoginException |
| 52 | one of several rare and unlikely internal errors occurred. You'll have to read the source code to figure these out. | PWauthIntErrException | LoginException |
| 53 | pwauth was not able to read the password database. Usually this means it is not running as root. (PAM and login.conf configurations will return 1 in this case.) | PWauthIntNorootException | LoginException |