From ffbb63bc0ced1f379fb5a1b7da27ba3fc48ac8e2 Mon Sep 17 00:00:00 2001 From: aptalca Date: Thu, 20 Feb 2020 17:36:20 -0500 Subject: [PATCH] more py3 fixes --- root/app/ldap-backend-app.py | 1 + root/app/nginx-ldap-auth-daemon.py | 3 ++- root/etc/cont-init.d/30-config | 10 ++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/root/app/ldap-backend-app.py b/root/app/ldap-backend-app.py index 272e0d2..f428df1 100644 --- a/root/app/ldap-backend-app.py +++ b/root/app/ldap-backend-app.py @@ -136,6 +136,7 @@ class AppHandler(BaseHTTPRequestHandler): cipher_suite = Fernet(REPLACEWITHFERNETKEY) enc = cipher_suite.encrypt(ensure_bytes(user + ':' + passwd)) + enc = enc.decode() self.send_header('Set-Cookie', 'nginxauth=' + enc + '; httponly') self.send_header('Location', target) diff --git a/root/app/nginx-ldap-auth-daemon.py b/root/app/nginx-ldap-auth-daemon.py index 9410ab8..80a3364 100644 --- a/root/app/nginx-ldap-auth-daemon.py +++ b/root/app/nginx-ldap-auth-daemon.py @@ -87,7 +87,8 @@ class AuthHandler(BaseHTTPRequestHandler): try: cipher_suite = Fernet(REPLACEWITHFERNETKEY) self.log_message('Trying to dechipher credentials...') - auth_decoded = cipher_suite.decrypt(auth_header[6:]) + auth_decoded = auth_header[6:].encode() + auth_decoded = cipher_suite.decrypt(auth_decoded) auth_decoded = auth_decoded.decode("utf-8") user, passwd = auth_decoded.split(':', 1) except InvalidToken: diff --git a/root/etc/cont-init.d/30-config b/root/etc/cont-init.d/30-config index 477414e..27fcab7 100644 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/cont-init.d/30-config @@ -1,7 +1,9 @@ #!/usr/bin/with-contenv bash # generate fernet key for ldap if it doesn't exist -[[ $(cat /app/ldap-backend-app.py | grep 'REPLACEWITHFERNETKEY') ]] && \ - FERNETKEY=$(python3 /app/fernet-key.py) && \ - sed -i "s/REPLACEWITHFERNETKEY/${FERNETKEY}/" /app/ldap-backend-app.py && \ - sed -i "s/REPLACEWITHFERNETKEY/${FERNETKEY}/" /app/nginx-ldap-auth-daemon.py +if grep -q 'REPLACEWITHFERNETKEY' /app/ldap-backend-app.py; then + FERNETKEY=$(python3 /app/fernet-key.py) + sed -i "s/REPLACEWITHFERNETKEY/${FERNETKEY}/" /app/ldap-backend-app.py + sed -i "s/REPLACEWITHFERNETKEY/${FERNETKEY}/" /app/nginx-ldap-auth-daemon.py + echo "generated fernet key" +fi