diff options
author | Rob Austein <sra@hactrn.net> | 2012-09-30 15:25:04 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-09-30 15:25:04 +0000 |
commit | 759e1e309a4efa7a0de64f9376980d379fd301b1 (patch) | |
tree | f2e34195d6d911bd2ca72d6600fa0a751bd30b7f | |
parent | 8a0d5c46589a8189e63f64fa8bec7c04cdcd7a3b (diff) |
Try dbm if gdbm fails for horrible debug-only RSA key speedup hack.
svn path=/branches/tk274/; revision=4742
-rw-r--r-- | rpkid/rpki/config.py | 3 | ||||
-rw-r--r-- | rpkid/rpki/x509.py | 15 |
2 files changed, 13 insertions, 5 deletions
diff --git a/rpkid/rpki/config.py b/rpkid/rpki/config.py index a10eae69..87f1f52e 100644 --- a/rpkid/rpki/config.py +++ b/rpkid/rpki/config.py @@ -292,4 +292,5 @@ class parser(object): rpki.x509.generate_insecure_debug_only_rsa_key = rpki.x509.insecure_debug_only_rsa_key_generator(*self.get("insecure-debug-only-rsa-key-db").split()) except ConfigParser.NoOptionError: pass - + except: + rpki.log.warn("insecure-debug-only-rsa-key-db configured but initialization failed, check for corrupted database file") diff --git a/rpkid/rpki/x509.py b/rpkid/rpki/x509.py index 67b07097..20013316 100644 --- a/rpkid/rpki/x509.py +++ b/rpkid/rpki/x509.py @@ -985,10 +985,17 @@ generate_insecure_debug_only_rsa_key = None class insecure_debug_only_rsa_key_generator(object): def __init__(self, filename, keyno = 0): - import gdbm - self.keyno = long(keyno) - self.filename = filename - self.db = gdbm.open(filename, "c") + try: + try: + import gdbm as dbm_du_jour + except ImportError: + import dbm as dbm_du_jour + self.keyno = long(keyno) + self.filename = filename + self.db = dbm_du_jour.open(filename, "c") + except: + rpki.log.warn("insecure_debug_only_rsa_key_generator initialization FAILED, hack inoperative") + raise def __call__(self): k = str(self.keyno) |