aboutsummaryrefslogtreecommitdiff
path: root/rpki/rpkic.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpki/rpkic.py')
-rw-r--r--rpki/rpkic.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/rpki/rpkic.py b/rpki/rpkic.py
index 199a685d..51a4d6d2 100644
--- a/rpki/rpkic.py
+++ b/rpki/rpkic.py
@@ -64,6 +64,16 @@ class swap_uids(object):
return False
+def read_xml_swapped_uids(filename):
+ """
+ Read an XML file with UIDs swapped.
+ """
+
+ from lxml.etree import ElementTree
+
+ with swap_uids():
+ return ElementTree(file = filename).getroot()
+
class main(Cmd):
prompt = "rpkic> "
@@ -368,7 +378,7 @@ class main(Cmd):
up-down protocol service URI.
"""
- r, child_handle = self.zoo.configure_child(args.child_xml, args.child_handle, args.valid_until)
+ r, child_handle = self.zoo.configure_child(read_xml_swapped_uids(args.child_xml), args.child_handle, args.valid_until)
with swap_uids():
r.save("%s.%s.parent-response.xml" % (self.zoo.handle, child_handle), sys.stdout)
self.zoo.synchronize_ca()
@@ -415,7 +425,7 @@ class main(Cmd):
synchronize here, run the synchronize command yourself.
"""
- r, parent_handle = self.zoo.configure_parent(args.parent_xml, args.parent_handle)
+ r, parent_handle = self.zoo.configure_parent(read_xml_swapped_uids(args.parent_xml), args.parent_handle)
with swap_uids():
r.save("%s.%s.repository-request.xml" % (self.zoo.handle, parent_handle), sys.stdout)
@@ -486,7 +496,7 @@ class main(Cmd):
message containing the repository's BPKI data and service URI.
"""
- r, client_handle = self.zoo.configure_publication_client(args.client_xml, args.sia_base, args.flat)
+ r, client_handle = self.zoo.configure_publication_client(read_xml_swapped_uids(args.client_xml), args.sia_base, args.flat)
with swap_uids():
r.save("%s.repository-response.xml" % client_handle.replace("/", "."), sys.stdout)
try:
@@ -527,7 +537,7 @@ class main(Cmd):
corresponding parent data in our local database.
"""
- self.zoo.configure_repository(args.repository_xml, args.parent_handle)
+ self.zoo.configure_repository(read_xml_swapped_uids(args.repository_xml), args.parent_handle)
self.zoo.synchronize_ca()
@@ -773,7 +783,7 @@ class main(Cmd):
Load router certificate request(s) into IRDB from XML file.
"""
- self.zoo.add_router_certificate_request(args.router_certificate_request_xml, args.valid_until)
+ self.zoo.add_router_certificate_request(read_xml_swapped_uids(args.router_certificate_request_xml), args.valid_until)
if self.autosync:
self.zoo.run_rpkid_now()