diff options
-rw-r--r-- | myrpki.rototill/myirbe.py | 35 | ||||
-rw-r--r-- | myrpki.rototill/myrpki.py | 34 | ||||
-rw-r--r-- | myrpki.rototill/yamltest.py | 7 |
3 files changed, 34 insertions, 42 deletions
diff --git a/myrpki.rototill/myirbe.py b/myrpki.rototill/myirbe.py index 3fc4cedd..c792383f 100644 --- a/myrpki.rototill/myirbe.py +++ b/myrpki.rototill/myirbe.py @@ -43,7 +43,7 @@ PERFORMANCE OF THIS SOFTWARE. from __future__ import with_statement -import lxml.etree, base64, subprocess, sys, os, time, re, getopt, warnings +import lxml.etree, base64, subprocess, sys, os, time, re, getopt, warnings, glob import rpki.https, rpki.config, rpki.resource_set, rpki.relaxng import rpki.exceptions, rpki.left_right, rpki.log, rpki.x509, rpki.async import myrpki, schema @@ -423,22 +423,23 @@ for xmlfile in xmlfiles: if run_pubd: - for client_handle, client_bpki_cert, client_base_uri in myrpki.csv_open(cfg.get("pubclients_csv", "pubclients.csv")): - - if os.path.exists(client_bpki_cert): - - client_pdu = client_pdus.pop(client_handle, None) - - client_bpki_cert = rpki.x509.X509(PEM_file = bpki.xcert(client_bpki_cert)) - - if (client_pdu is None or - client_pdu.base_uri != client_base_uri or - client_pdu.bpki_cert != client_bpki_cert): - pubd_query.append(rpki.publication.client_elt.make_pdu( - action = "create" if client_pdu is None else "set", - client_handle = client_handle, - bpki_cert = client_bpki_cert, - base_uri = client_base_uri)) + # Need something like setup.py's entitydb() function. Wire in pathnames for now. + for f in glob.iglob("entitydb/pubclients/*.xml"): + c = myrpki.etree_read(f) + + client_handle = c.get("client_handle") + client_base_uri = c.get("sia_base") + client_bpki_cert = rpki.x509.X509(PEM_file = bpki.fxcert(c.findtext("bpki_client_ta"))) + client_pdu = client_pdus.pop(client_handle, None) + + if (client_pdu is None or + client_pdu.base_uri != client_base_uri or + client_pdu.bpki_cert != client_bpki_cert): + pubd_query.append(rpki.publication.client_elt.make_pdu( + action = "create" if client_pdu is None else "set", + client_handle = client_handle, + bpki_cert = client_bpki_cert, + base_uri = client_base_uri)) pubd_query.extend(rpki.publication.client_elt.make_pdu( action = "destroy", client_handle = p) for p in client_pdus) diff --git a/myrpki.rototill/myrpki.py b/myrpki.rototill/myrpki.py index 7c8642aa..74f9304a 100644 --- a/myrpki.rototill/myrpki.py +++ b/myrpki.rototill/myrpki.py @@ -363,28 +363,18 @@ class parents(dict): Parse parent data from CSV file. """ self = cls() - if False: - # parentname service_uri parent_bpki_cms_pemfile parent_bpki_https_pemfile myhandle sia_base - for handle, service_uri, parent_cms_pemfile, parent_https_pemfile, myhandle, sia_base in csv_open(parents_csv_file): - self.add(handle = handle, - service_uri = service_uri, - bpki_cms_certificate = xcert(parent_cms_pemfile), - bpki_https_certificate = xcert(parent_https_pemfile), - myhandle = myhandle, - sia_base = sia_base) - else: - # Need something like setup.py's entitydb() function. Wire in pathnames for now. - for f in glob.iglob("entitydb/parents/*.xml"): - h = os.path.splitext(os.path.split(f)[-1])[0] - p = etree_read(f) - r = etree_read(f.replace("/parents/", "/repositories/")) - assert r.get("type") == "confirmed" - self.add(handle = h, - service_uri = p.get("service_uri"), - bpki_cms_certificate = fxcert(p.findtext("bpki_resource_ta")), - bpki_https_certificate = fxcert(p.findtext("bpki_server_ta")), - myhandle = p.get("child_handle"), - sia_base = r.get("sia_base")) + # Need something like setup.py's entitydb() function. Wire in pathnames for now. + for f in glob.iglob("entitydb/parents/*.xml"): + h = os.path.splitext(os.path.split(f)[-1])[0] + p = etree_read(f) + r = etree_read(f.replace("/parents/", "/repositories/")) + assert r.get("type") == "confirmed" + self.add(handle = h, + service_uri = p.get("service_uri"), + bpki_cms_certificate = fxcert(p.findtext("bpki_resource_ta")), + bpki_https_certificate = fxcert(p.findtext("bpki_server_ta")), + myhandle = p.get("child_handle"), + sia_base = r.get("sia_base")) return self def csv_open(filename): diff --git a/myrpki.rototill/yamltest.py b/myrpki.rototill/yamltest.py index 131df947..e909053d 100644 --- a/myrpki.rototill/yamltest.py +++ b/myrpki.rototill/yamltest.py @@ -606,13 +606,14 @@ db.dump() for d in db: os.makedirs(d.path()) d.dump_asns("asns.csv") - d.dump_children("children.csv") - d.dump_parents("parents.csv") d.dump_prefixes("prefixes.csv") d.dump_roas("roas.csv") d.dump_conf("myrpki.conf") - d.dump_clients("pubclients.csv", db) d.dump_rsyncd("rsyncd.conf") + if False: + d.dump_children("children.csv") + d.dump_parents("parents.csv") + d.dump_clients("pubclients.csv", db) # Initialize BPKI and generate self-descriptor for each entity. |