aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2009-07-12 20:16:17 +0000
committerRob Austein <sra@hactrn.net>2009-07-12 20:16:17 +0000
commit92d42270121e35bdfe589f788e7cb1bc0f22ce3d (patch)
tree6dfadc8e9e008a287acaf93fbcd6ab635f1db77e
parent2b68c6f5cd1c6c0fac27fad4942ba82130370713 (diff)
URL cleanup
svn path=/myrpki/myirbe.py; revision=2609
-rw-r--r--myrpki/myirbe.py8
-rw-r--r--myrpki/yaml-to-myrpki.py27
2 files changed, 22 insertions, 13 deletions
diff --git a/myrpki/myirbe.py b/myrpki/myirbe.py
index 4c8929a1..076c02b7 100644
--- a/myrpki/myirbe.py
+++ b/myrpki/myirbe.py
@@ -120,7 +120,7 @@ rpkid_base = cfg.get("rpkid_base")
# Nasty regexp for parsing rpkid's up-down service URLs
-updown_regexp = re.compile(re.escape(rpkid_base) + "/up-down/([-A-Z0-9_]+)/([-A-Z0-9_]+)$", re.I)
+updown_regexp = re.compile(re.escape(rpkid_base) + "up-down/([-A-Z0-9_]+)/([-A-Z0-9_]+)$", re.I)
# Wrappers to simplify calling rpkid and pubd
@@ -130,7 +130,7 @@ call_rpkid = rpki.async.sync_wrapper(caller(
client_cert = rpki.x509.X509(PEM_file = bpki_rpkid.dir + "/irbe_cli.cer"),
server_ta = rpki.x509.X509(PEM_file = bpki_rpkid.cer),
server_cert = rpki.x509.X509(PEM_file = bpki_rpkid.dir + "/rpkid.cer"),
- url = rpkid_base + "/left-right"))
+ url = rpkid_base + "left-right"))
call_pubd = rpki.async.sync_wrapper(caller(
proto = rpki.publication,
@@ -138,7 +138,7 @@ call_pubd = rpki.async.sync_wrapper(caller(
client_cert = rpki.x509.X509(PEM_file = bpki_pubd.dir + "/irbe_cli.cer"),
server_ta = rpki.x509.X509(PEM_file = bpki_pubd.cer),
server_cert = rpki.x509.X509(PEM_file = bpki_pubd.dir + "/pubd.cer"),
- url = pubd_base + "/control"))
+ url = pubd_base + "control"))
# Make sure that pubd's BPKI CRL is up to date.
@@ -318,7 +318,7 @@ for xmlfile in xmlfiles:
if repository_cert:
repository_pdu = repository_pdus.pop(repository_handle, None)
- repository_uri = pubd_base + "/client/" + handle
+ repository_uri = pubd_base + "client/" + handle
if (repository_pdu is None or
repository_pdu.bsc_handle != bsc_handle or
diff --git a/myrpki/yaml-to-myrpki.py b/myrpki/yaml-to-myrpki.py
index 769ac94f..400e2c06 100644
--- a/myrpki/yaml-to-myrpki.py
+++ b/myrpki/yaml-to-myrpki.py
@@ -50,6 +50,8 @@ def allocate_port():
base_port += 1
return p
+rootd_port = allocate_port()
+
class roa_request(object):
def __init__(self, asn, ipv4, ipv6):
@@ -112,6 +114,10 @@ class allocation(object):
crl_interval = None
regen_margin = None
+ rsync_port = 0
+ rpkid_port = 0
+ pubd_port = 0
+
def __init__(self, yaml, db, parent = None):
db.append(self)
self.name = yaml["name"]
@@ -144,10 +150,6 @@ class allocation(object):
self.rsync_port = allocate_port()
self.rpkid_port = allocate_port()
self.pubd_port = allocate_port()
- else:
- self.rsync_port = 0
- self.rpkid_port = 0
- self.pubd_port = 0
def closure(self):
resources = self.base
@@ -181,6 +183,13 @@ class allocation(object):
def outfile(self, filename):
return open(self.path(filename), "w")
+ def up_down_url(self):
+ if self.is_root():
+ return "https://localhost:%d/" % rootd_port
+ else:
+ parent_port = self.parent.hosted_by.rpkid_port if self.parent.is_hosted() else self.parent.rpkid_port
+ return "https://localhost:%d/up-down/%s/%s" % (parent_port, self.parent.name, self.name)
+
def dump_asns(self, fn):
f = self.outfile(fn)
for k in self.kids:
@@ -195,7 +204,7 @@ class allocation(object):
def dump_parents(self, fn):
f = self.outfile(fn)
if not self.is_root():
- f.write("%s\t%s\t%s\n" % (self.parent.name, "https://some.where.example/", self.parent.path("bpki.myrpki/ca.cer")))
+ f.write("%s\t%s\t%s\n" % (self.parent.name, self.up_down_url(), self.parent.path("bpki.myrpki/ca.cer")))
def dump_prefixes(self, fn):
f = self.outfile(fn)
@@ -212,10 +221,10 @@ class allocation(object):
def dump_conf(self, fn):
replacements = {
- ("myrpki", "handle") : self.name,
- ("myirbe", "rsync_base") : "rsync://localhost:%d/" % self.rsync_port,
- ("myirbe", "pubd_base") : "https://localhost:%d" % self.pubd_port,
- ("myirbe", "rpkid_base") : "https://localhost:%d" % self.rpkid_port }
+ ("myrpki", "handle") : self.name,
+ ("myirbe", "rsync_base") : "rsync://localhost:%d/" % self.rsync_port,
+ ("myirbe", "pubd_base") : "https://localhost:%d/" % self.pubd_port,
+ ("myirbe", "rpkid_base") : "https://localhost:%d/" % self.rpkid_port }
f = self.outfile(fn)
f.write("# Automatically generated, do not edit\n")