aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2008-05-30 17:28:12 +0000
committerRob Austein <sra@hactrn.net>2008-05-30 17:28:12 +0000
commitba16ed27191ae62d0ac993910cc0429b3eea9931 (patch)
treea23a5b1bb22ac401af523c2cdc61cf37bf9d0d29
parent70b554a2fb041a11bdeb59c82e3f05f8a67f2aaa (diff)
Initial version of publication protocol and pubd seem to be working.
Not yet seriously tested. BPKI CRLs not right yet. svn path=/rpkid/README; revision=1832
-rw-r--r--rpkid/README5
-rwxr-xr-xrpkid/pubd.py2
-rw-r--r--rpkid/rpki/left_right.py5
-rw-r--r--rpkid/testbed.py4
4 files changed, 9 insertions, 7 deletions
diff --git a/rpkid/README b/rpkid/README
index 308a6228..1568423d 100644
--- a/rpkid/README
+++ b/rpkid/README
@@ -91,7 +91,10 @@ TO DO:
settled, depending on how much of the existing left-right
protocol design and implementation can be reused.
- STATUS: Started
+ STATUS: Started. Initial implementation seems to work, not
+ seriously tested yet. BPKI CRLs don't work right yet,
+ probably need to extend publication control protocol to allow
+ IRBE to stuff new BPKI CRLs into the publication server.
- Resource subsetting (req_* attributes in up-down protocol),
minimal implementation. Recognize this as correct protocol
diff --git a/rpkid/pubd.py b/rpkid/pubd.py
index 30813f33..818370b3 100755
--- a/rpkid/pubd.py
+++ b/rpkid/pubd.py
@@ -75,7 +75,7 @@ class pubd_context(rpki.gctx.global_context):
client = rpki.publication.client_elt.sql_fetch(self, long(client_id))
if client is None:
raise rpki.exceptions.ClientNotFound, "Could not find client %s" % client_id
- return 200, self.handler_common(query, client, (client.bpki_ta, client.irbe_cert))
+ return 200, self.handler_common(query, client, (self.bpki_ta, client.bpki_cert, client.bpki_glue))
except Exception, data:
rpki.log.error(traceback.format_exc())
return 500, "Could not process PDU: %s" % data
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index b44fa547..64519fbf 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -569,7 +569,7 @@ class repository_elt(data_elt):
bpki_https_cert = None
bpki_https_glue = None
- use_pubd = False
+ use_pubd = True
def parents(self):
"""Fetch all parent objects that link to this repository object."""
@@ -651,7 +651,6 @@ class repository_elt(data_elt):
url = self.peer_contact_uri,
msg = q_cms)
r_msg = rpki.publication.cms_msg.unwrap(r_cms, bpki_ta_path)
- r_msg.payload_check_response()
assert len(r_msg) == 1
return r_msg[0]
@@ -669,7 +668,7 @@ class repository_elt(data_elt):
rpki.log.trace()
rpki.log.info("Withdrawing %s from at %s" % (repr(obj), repr(uri)))
if self.use_pubd:
- self.call_pubd(rpki.publication.obj2elt[obj].make_pdu(action = "withdraw", uri = uri))
+ self.call_pubd(rpki.publication.obj2elt[type(obj)].make_pdu(action = "withdraw", uri = uri))
else:
self.object_delete(self.gctx.publication_kludge_base, uri)
diff --git a/rpkid/testbed.py b/rpkid/testbed.py
index 2c6cf53f..8324fc44 100644
--- a/rpkid/testbed.py
+++ b/rpkid/testbed.py
@@ -564,8 +564,8 @@ class allocation(object):
if reverse:
certifier = certificant
- certificant = self.name + "-TA"
- if self.is_leaf():
+ certificant = self.name + "-SELF-1"
+ elif self.is_leaf():
certifier = self.name + "-TA"
else:
certifier = self.name + "-SELF-1"