From 36f8fff888684d479debd1ce5ff59d8c4eb86453 Mon Sep 17 00:00:00 2001 From: Nick Daly Date: Wed, 16 May 2012 21:09:29 -0500 Subject: [PATCH] Encrypt the data store instead of signing it. --- ugly_hacks/santiago/pgpprocessor.py | 1 - ugly_hacks/santiago/santiago.py | 20 +++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ugly_hacks/santiago/pgpprocessor.py b/ugly_hacks/santiago/pgpprocessor.py index 43960f765..778650716 100644 --- a/ugly_hacks/santiago/pgpprocessor.py +++ b/ugly_hacks/santiago/pgpprocessor.py @@ -157,7 +157,6 @@ class Unwrapper(object): self.type = msg_type self.message = "".join(Unwrapper.unwrap(self.body, self.type)).lstrip() - self.gpg_data.message = self.message return self.gpg_data diff --git a/ugly_hacks/santiago/santiago.py b/ugly_hacks/santiago/santiago.py index cfb1170bf..3a9019b9e 100644 --- a/ugly_hacks/santiago/santiago.py +++ b/ugly_hacks/santiago/santiago.py @@ -500,13 +500,16 @@ class Santiago(object): except KeyError as e: logging.exception(e) data = dict() + else: + for message in pgpprocessor.Unwrapper(data, gpg=self.gpg): + # iterations end when unwrapping complete. + pass - for message in pgpprocessor.Unwrapper(data, gpg=self.gpg): try: - data = dict(ast.literal_eval(message.message)) - except ValueError as e: + data = dict(ast.literal_eval(str(message))) + except (ValueError, SyntaxError) as e: logging.exception(e) - continue + data = dict() logging.debug("santiago.Santiago.load_data: found {0}: {1}".format( key, data)) @@ -537,10 +540,17 @@ class Santiago(object): data = Santiago.convert_data(data, list) - data = str(self.gpg.sign(str(data), keyid=self.me)) + logging.debug( + "santiago.Santiago.save_data: saving {0}: {1}".format(key, data)) + + data = str(self.gpg.encrypt(str(data), recipients=[self.me], + sign=self.me)) self.shelf[key] = data + logging.debug( + "santiago.Santiago.save_data: saved {0}: {1}".format(key, data)) + @classmethod def convert_data(cls, data, acallable): """Convert the data in the sub-dictionary by calling callable on it.