aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-10-01 23:29:43 +0000
committerRob Austein <sra@hactrn.net>2007-10-01 23:29:43 +0000
commitef6450b92617e755c9cb5039ba2aa94972dc52bc (patch)
treec943b94ef50a1e88890f49e9a88cabc095371908 /scripts
parenta6748e3876136dc252061a09e16c828eb45c1842 (diff)
Fold roa table into route_origin table.
svn path=/docs/rpki-db-schema.pdf; revision=1069
Diffstat (limited to 'scripts')
-rw-r--r--scripts/rpki/left_right.py15
-rw-r--r--scripts/rpki/relaxng.py2
2 files changed, 3 insertions, 14 deletions
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py
index fd6a17ce..2ec3544a 100644
--- a/scripts/rpki/left_right.py
+++ b/scripts/rpki/left_right.py
@@ -411,7 +411,7 @@ class route_origin_elt(data_elt):
attributes = ("action", "type", "self_id", "route_origin_id", "as_number", "ipv4", "ipv6")
booleans = ("suppress_publication",)
- sql_template = rpki.sql.template("route_origin", "route_origin_id", "self_id", "as_number")
+ sql_template = rpki.sql.template("route_origin", "route_origin_id", "self_id", "as_number", "ca_detail_id", "roa")
ca_detail_id = None
roa = None
@@ -423,25 +423,14 @@ class route_origin_elt(data_elt):
self.ipv6 = rpki.resource_set.resource_set_ipv6.from_sql(cur,
"SELECT start_ip, end_ip FROM route_origin_range WHERE route_origin_id = %s AND start_ip LIKE '%:%'",
self.route_origin_id)
- cur.execute("SELECT roa, ca_detail_id FROM roa WHERE route_origin_id = %s", self.route_origin_id)
- roas = cur.fetchall()
- if len(roas) == 1:
- roa = roas[0][0]
- ca_detail_id = roas[0][1]
- elif len(roas) > 0:
- raise rpki.exceptions.DBConsistancyError, "Multiple ROAs found for route_origin %s, mapping should be one-to-one" % self.route_origin_id
-
+
def sql_insert_hook(self, db, cur):
if self.ipv4 + self.ipv6:
cur.executemany("INSERT route_origin_range (route_origin_id, start_ip, end_ip) VALUES (%s, %s, %s)",
((self.route_origin_id, x.min, x.max) for x in self.ipv4 + self.ipv6))
- if self.roa:
- cur.execute("INSERT roa (route_origin_id, roa, ca_detail_id) VALUES (%s, %s, %s)",
- self.route_origin_id, self.roa, self.ca_detail_id)
def sql_delete_hook(self, db, cur):
cur.execute("DELETE FROM route_origin_range WHERE route_origin_id = %s", self.route_origin_id)
- cur.execute("DELETE FROM roa WHERE route_origin_id = %s", self.route_origin_id)
def serve_post_save_hook(self, q_pdu, r_pdu):
if self.suppress_publication:
diff --git a/scripts/rpki/relaxng.py b/scripts/rpki/relaxng.py
index 502be9ee..8a5817d0 100644
--- a/scripts/rpki/relaxng.py
+++ b/scripts/rpki/relaxng.py
@@ -4,7 +4,7 @@ import lxml.etree
left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" encoding="UTF-8"?>
<!--
- $Id: left-right-schema.rnc 995 2007-09-19 20:42:31Z sra $
+ $Id: left-right-schema.rng 1067 2007-10-01 20:22:57Z sra $
RelaxNG (Compact Syntax) Schema for RPKI left-right protocol.