aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--myrpki.rototill/myirbe.py35
-rw-r--r--myrpki.rototill/myrpki.py34
-rw-r--r--myrpki.rototill/yamltest.py7
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.