Ensure not all syslog messages are EMERG level

This commit is contained in:
Peter Onyisi 2020-07-29 16:18:53 -05:00
parent a776c49ade
commit d4623b6031

View file

@ -31,11 +31,14 @@ def doAuth(pamh):
if any("closed" in open(f).read() for f in glob.glob("/proc/acpi/button/lid/*/state")):
return pamh.PAM_AUTHINFO_UNAVAIL
# Set up syslog
syslog.openlog("[HOWDY]", 0, syslog.LOG_AUTH)
# Alert the user that we are doing face detection
if config.getboolean("core", "detection_notice"):
pamh.conversation(pamh.Message(pamh.PAM_TEXT_INFO, "Attempting face detection"))
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Attempting facial authentication for user " + pamh.get_user())
syslog.syslog(syslog.LOG_INFO, "Attempting facial authentication for user " + pamh.get_user())
# Run compare as python3 subprocess to circumvent python version and import issues
status = subprocess.call(["/usr/bin/python3", os.path.dirname(os.path.abspath(__file__)) + "/compare.py", pamh.get_user()])
@ -45,23 +48,23 @@ def doAuth(pamh):
if not config.getboolean("core", "suppress_unknown"):
pamh.conversation(pamh.Message(pamh.PAM_ERROR_MSG, "No face model known"))
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Failure, no face model known")
syslog.syslog(syslog.LOG_ERROR, "Failure, no face model known")
return pamh.PAM_USER_UNKNOWN
# Status 11 means we exceded the maximum retry count
elif status == 11:
pamh.conversation(pamh.Message(pamh.PAM_ERROR_MSG, "Face detection timeout reached"))
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Failure, timeout reached")
syslog.syslog(syslog.LOG_WARNING, "Failure, timeout reached")
return pamh.PAM_AUTH_ERR
# Status 12 means we aborted
elif status == 12:
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Failure, general abort")
syslog.syslog(syslog.LOG_ERROR, "Failure, general abort")
return pamh.PAM_AUTH_ERR
# Status 13 means the image was too dark
elif status == 13:
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Failure, image too dark")
syslog.syslog(syslog.LOG_WARNING, "Failure, image too dark")
pamh.conversation(pamh.Message(pamh.PAM_ERROR_MSG, "Face detection image too dark"))
return pamh.PAM_AUTH_ERR
# Status 0 is a successful exit
@ -70,12 +73,12 @@ def doAuth(pamh):
if not config.getboolean("core", "no_confirmation"):
pamh.conversation(pamh.Message(pamh.PAM_TEXT_INFO, "Identified face as " + pamh.get_user()))
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Login approved")
syslog.syslog(syslog.LOG_INFO, "Login approved")
return pamh.PAM_SUCCESS
# Otherwise, we can't discribe what happend but it wasn't successful
pamh.conversation(pamh.Message(pamh.PAM_ERROR_MSG, "Unknown error: " + str(status)))
syslog.syslog(syslog.LOG_AUTH, "[HOWDY] Failure, unknown error" + str(status))
syslog.syslog(syslog.LOG_ERROR, "Failure, unknown error" + str(status))
return pamh.PAM_SYSTEM_ERR