mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
Merge pull request #208 from YunoHost/better_debug_gpg
Better debug information related to gpg for storing session
This commit is contained in:
commit
bce7aee510
2 changed files with 15 additions and 13 deletions
|
@ -31,7 +31,7 @@
|
||||||
"server_already_running": "A server is already running on that port",
|
"server_already_running": "A server is already running on that port",
|
||||||
"success": "Success!",
|
"success": "Success!",
|
||||||
"unable_authenticate": "Unable to authenticate",
|
"unable_authenticate": "Unable to authenticate",
|
||||||
"unable_retrieve_session": "Unable to retrieve the session",
|
"unable_retrieve_session": "Unable to retrieve the session because '{exception}'",
|
||||||
"unknown_group": "Unknown '{group}' group",
|
"unknown_group": "Unknown '{group}' group",
|
||||||
"unknown_user": "Unknown '{user}' user",
|
"unknown_user": "Unknown '{user}' user",
|
||||||
"values_mismatch": "Values don't match",
|
"values_mismatch": "Values don't match",
|
||||||
|
|
|
@ -93,8 +93,8 @@ class BaseAuthenticator(object):
|
||||||
try:
|
try:
|
||||||
# Extract id and hash from token
|
# Extract id and hash from token
|
||||||
s_id, s_hash = token
|
s_id, s_hash = token
|
||||||
except TypeError:
|
except TypeError as e:
|
||||||
logger.error("unable to extract token parts from '%s'", token)
|
logger.error("unable to extract token parts from '%s' because '%s'", token, e)
|
||||||
if password is None:
|
if password is None:
|
||||||
raise MoulinetteError('error_see_log')
|
raise MoulinetteError('error_see_log')
|
||||||
|
|
||||||
|
@ -110,17 +110,19 @@ class BaseAuthenticator(object):
|
||||||
self.authenticate(password)
|
self.authenticate(password)
|
||||||
except MoulinetteError:
|
except MoulinetteError:
|
||||||
raise
|
raise
|
||||||
except:
|
except Exception as e:
|
||||||
logger.exception("authentication (name: '%s', vendor: '%s') fails",
|
logger.exception("authentication (name: '%s', vendor: '%s') fails because '%s'",
|
||||||
self.name, self.vendor)
|
self.name, self.vendor, e)
|
||||||
raise MoulinetteError('unable_authenticate')
|
raise MoulinetteError('unable_authenticate')
|
||||||
|
|
||||||
# Store session
|
# Store session
|
||||||
if store_session:
|
if store_session:
|
||||||
try:
|
try:
|
||||||
self._store_session(s_id, s_hash, password)
|
self._store_session(s_id, s_hash, password)
|
||||||
except:
|
except Exception as e:
|
||||||
logger.exception("unable to store session")
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
logger.exception("unable to store session because %s", e)
|
||||||
else:
|
else:
|
||||||
logger.debug("session has been stored")
|
logger.debug("session has been stored")
|
||||||
|
|
||||||
|
@ -150,16 +152,16 @@ class BaseAuthenticator(object):
|
||||||
try:
|
try:
|
||||||
with self._open_sessionfile(session_id, 'r') as f:
|
with self._open_sessionfile(session_id, 'r') as f:
|
||||||
enc_pwd = f.read()
|
enc_pwd = f.read()
|
||||||
except IOError:
|
except IOError as e:
|
||||||
logger.debug("unable to retrieve session", exc_info=1)
|
logger.debug("unable to retrieve session", exc_info=1)
|
||||||
raise MoulinetteError('unable_retrieve_session')
|
raise MoulinetteError('unable_retrieve_session', exception=e)
|
||||||
else:
|
else:
|
||||||
gpg = gnupg.GPG()
|
gpg = gnupg.GPG()
|
||||||
gpg.encoding = 'utf-8'
|
gpg.encoding = 'utf-8'
|
||||||
|
|
||||||
decrypted = gpg.decrypt(enc_pwd, passphrase=session_hash)
|
decrypted = gpg.decrypt(enc_pwd, passphrase=session_hash)
|
||||||
if decrypted.ok is not True:
|
if decrypted.ok is not True:
|
||||||
logger.error("unable to decrypt password for the session: %s",
|
error_message = "unable to decrypt password for the session: %s", decrypted.status
|
||||||
decrypted.status)
|
logger.error(error_message)
|
||||||
raise MoulinetteError('unable_retrieve_session')
|
raise MoulinetteError('unable_retrieve_session', exception=error_message)
|
||||||
return decrypted.data
|
return decrypted.data
|
||||||
|
|
Loading…
Add table
Reference in a new issue