From 1e5d2ca7df87c5365908106fce493cf81edbec75 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Mon, 16 May 2011 20:18:38 -0400 Subject: Catch exception when handling base64 strings --- server/user.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/user.py b/server/user.py index 383085d..1cb2d63 100644 --- a/server/user.py +++ b/server/user.py @@ -12,7 +12,7 @@ class User: def __init__(self, jid): self.jid = jid #self.hash = hashlib.sha1(jid).hexdigest() - self.hash = base64.encodestring(jid) + self.hash = base64.b64encode(jid) def register(self, registration): ObjectWriter(self.hash).create_root_object(self.jid, registration) @@ -37,7 +37,10 @@ class UserHandler: result = [] for stem in os.listdir(self.root): for leaf in os.listdir(os.path.join(self.root, stem)): - result.append(base64.decodestring(stem + leaf)) + try: + result.append(base64.b64decode(stem + leaf)) + except TypeError: + logger.error("User tree corrupted") return result if __name__ == '__main__': -- cgit v1.2.3-70-g09d2