mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Upgrade syntax using `pyupgrade --py36-plus` . Manually drop several `six` imports. Also: - Remove broken pr_cache in scripts/bootstrap_history.py - Fix broken prefix removal in lib/galaxy/tool_util/deps/mulled/mulled_build.py
42 lines
933 B
Python
Executable File
42 lines
933 B
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import logging
|
|
import signal
|
|
import sys
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
TIMEOUT = 5
|
|
|
|
try:
|
|
import pam
|
|
except ImportError:
|
|
log.debug('PAM auth helper: Could not import pam module')
|
|
sys.exit(1)
|
|
|
|
|
|
def handle_timeout(signum, stack):
|
|
raise OSError("Timed out reading input")
|
|
|
|
|
|
# set timeout so we don't block on reading stdin
|
|
signal.alarm(TIMEOUT)
|
|
|
|
pam_service = sys.stdin.readline().strip()
|
|
pam_username = sys.stdin.readline().strip()
|
|
pam_password = sys.stdin.readline().strip()
|
|
|
|
# cancel the alarm
|
|
signal.alarm(0)
|
|
|
|
p_auth = pam.pam()
|
|
authenticated = p_auth.authenticate(pam_username, pam_password, service=pam_service)
|
|
if authenticated:
|
|
log.debug(f'PAM auth helper: authentication successful for {pam_username}')
|
|
sys.stdout.write('True\n')
|
|
sys.exit(0)
|
|
else:
|
|
log.debug(f'PAM auth helper: authentication failed for {pam_username}')
|
|
sys.stdout.write('False\n')
|
|
sys.exit(1)
|