aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/rpki/left_right.py2
-rw-r--r--scripts/rpki/sql.py1
-rwxr-xr-xscripts/rpkid.py21
3 files changed, 17 insertions, 7 deletions
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py
index 18923b3a..5a5b848e 100644
--- a/scripts/rpki/left_right.py
+++ b/scripts/rpki/left_right.py
@@ -179,7 +179,7 @@ class parent_elt(data_elt):
def toXML(self):
"""Generate <bsc/> element."""
elt = self.make_elt()
- if self.peer_ta:
+ if self.peer_ta and not self.peer_ta.empty():
self.make_b64elt(elt, "peer_ta", self.peer_ta.get_DER())
return elt
diff --git a/scripts/rpki/sql.py b/scripts/rpki/sql.py
index 29058174..024ba68d 100644
--- a/scripts/rpki/sql.py
+++ b/scripts/rpki/sql.py
@@ -16,6 +16,7 @@ class template(object):
def __init__(self, table_name, *columns):
index_column = columns[0]
data_columns = columns[1:]
+ self.table = table_name
self.index = index_column
self.columns = columns
self.select = "SELECT %s FROM %s WHERE %s = %%s" % (", ".join(columns), table_name, index_column)
diff --git a/scripts/rpkid.py b/scripts/rpkid.py
index 483ad5be..fda7aed3 100755
--- a/scripts/rpkid.py
+++ b/scripts/rpkid.py
@@ -39,14 +39,23 @@ def left_right_handler(query, path):
setattr(r_pdu, q_pdu.sql_template.index, getattr(q_pdu, q_pdu.sql_template.index))
r_msg.append(r_pdu)
- def get_handler():
+ def get_handler(q_pdu):
+ r_pdu = q_pdu.sql_fetch(db, cur, getattr(q_pdu, q_pdu.sql_template.index))
+ if r_pdu is not None:
+ make_reply(q_pdu, r_pdu)
+ r_msg.append(r_pdu)
+ else:
+ r_msg.append(make_error_report(q_pdu))
+
+ def set_handler(q_pdu):
raise NotImplementedError
- def set_handler():
- raise NotImplementedError
-
- def list_handler():
- raise NotImplementedError
+ def list_handler(q_pdu):
+ for id in rpki.sql.get_column(db, cur, "SELECT %s FROM %s" % (q_pdu.sql_template.index, q_pdu.sql_template.table)):
+ r_pdu = q_pdu.sql_fetch(db, cur, id)
+ assert r_pdu is not None
+ make_reply(q_pdu, r_pdu)
+ r_msg.append(r_pdu)
try:
q_elt = decode(query, cms_ta_irbe)