aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-09-30 15:25:04 +0000
committerRob Austein <sra@hactrn.net>2012-09-30 15:25:04 +0000
commit759e1e309a4efa7a0de64f9376980d379fd301b1 (patch)
treef2e34195d6d911bd2ca72d6600fa0a751bd30b7f
parent8a0d5c46589a8189e63f64fa8bec7c04cdcd7a3b (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.py3
-rw-r--r--rpkid/rpki/x509.py15
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)