From 11bbbe3ac6a0842599ab2e5110427758ebaa5573 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Fri, 4 Sep 2015 19:37:34 +0200 Subject: [PATCH] Implement cleanup for OpenIDStore Signed-off-by: Patrick Uiterwijk Reviewed-by: Rob Crittenden --- ipsilon/providers/openid/store.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ipsilon/providers/openid/store.py b/ipsilon/providers/openid/store.py index 0eaee0a..3a45f19 100644 --- a/ipsilon/providers/openid/store.py +++ b/ipsilon/providers/openid/store.py @@ -65,18 +65,29 @@ class OpenIDStore(Store, OpenIDStoreInterface): return True + def _cleanup(self): + res1 = self.cleanupNonces() + res2 = self.cleanupAssociations() + return res1 + res2 + def cleanupNonces(self): nonces = self.get_unique_data('nonce') + cleaned = 0 for iden in nonces: if nonces[iden]['timestamp'] < (time() - NonceSKEW): + cleaned += 1 self.del_unique_data('nonce', iden) + return cleaned def cleanupAssociations(self): assocs = self.get_unique_data('association') + cleaned = 0 for iden in assocs: if ((int(assocs[iden]['issued']) + int(assocs[iden]['lifetime'])) < time()): + cleaned += 1 self.del_unique_data('association', iden) + return cleaned def _initialize_schema(self): q = self._query(self._db, 'association', UNIQUE_DATA_TABLE, -- 2.20.1