diff options
author | Rob Austein <sra@hactrn.net> | 2008-04-29 19:54:33 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-04-29 19:54:33 +0000 |
commit | 245dba96f918cd17873029a6209479b4ec03f75e (patch) | |
tree | 9b7ce1926160f8d68fc8febf5aab463fbd3aa3d7 /rpkid | |
parent | 62182b421f39a94f7a6222d6d8ac60b1270edcbc (diff) |
Clean up old silliness of having the .sql files in the docs/ directory.
svn path=/docs/Makefile; revision=1721
Diffstat (limited to 'rpkid')
-rw-r--r-- | rpkid/Makefile | 8 | ||||
-rw-r--r-- | rpkid/apnic-poke-1.sh | 2 | ||||
-rw-r--r-- | rpkid/apnic-poke-2.sh | 2 | ||||
-rw-r--r-- | rpkid/rootd.sh | 2 | ||||
-rw-r--r-- | rpkid/rpki-db-schema.pdf | bin | 0 -> 7493 bytes | |||
-rw-r--r-- | rpkid/rpki-db-schema.sql | 198 | ||||
-rw-r--r-- | rpkid/sample-irdb.pdf | bin | 0 -> 3500 bytes | |||
-rw-r--r-- | rpkid/sample-irdb.sql | 54 | ||||
-rw-r--r-- | rpkid/testbed.py | 4 |
9 files changed, 265 insertions, 5 deletions
diff --git a/rpkid/Makefile b/rpkid/Makefile index 72d559c3..38d48b63 100644 --- a/rpkid/Makefile +++ b/rpkid/Makefile @@ -1,5 +1,10 @@ # $Id$ +.SUFFIXES: .pdf .sql + +.sql.pdf: + -sh ../scripts/graphviz-sql.sh $< + all:: left-right-protocol-samples/.stamp left-right-protocol-samples/.stamp: left-right-protocol-samples.xsl ../docs/left-right-xml @@ -63,6 +68,9 @@ rpki/relaxng.py: left-right-schema.rng up-down-schema.rng make-relaxng.py python make-relaxng.py >$@.tmp mv $@.tmp $@ +all:: rpki-db-schema.pdf +all:: sample-irdb.pdf + # all-tests:: all; sh -x rootd.sh run test all-tests:: all diff --git a/rpkid/apnic-poke-1.sh b/rpkid/apnic-poke-1.sh index 0bd8ff52..b7167220 100644 --- a/rpkid/apnic-poke-1.sh +++ b/rpkid/apnic-poke-1.sh @@ -42,7 +42,7 @@ fi # Blow away old rpkid database (!) so we can start clean -mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql # Clear out any old publication results diff --git a/rpkid/apnic-poke-2.sh b/rpkid/apnic-poke-2.sh index d10c9fa5..4ba1dc9e 100644 --- a/rpkid/apnic-poke-2.sh +++ b/rpkid/apnic-poke-2.sh @@ -23,7 +23,7 @@ set -ex # Blow away old rpkid database (!) so we can start clean -mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql # Clear out any old publication results diff --git a/rpkid/rootd.sh b/rpkid/rootd.sh index 50f2e90f..3c234855 100644 --- a/rpkid/rootd.sh +++ b/rpkid/rootd.sh @@ -39,7 +39,7 @@ fi # Blow away old rpkid database (!) so we can start clean -mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <../docs/rpki-db-schema.sql +mysql -u rpki -p`awk '$1 == "sql-password" {print $3}' rpkid.conf` rpki <rpki-db-schema.sql # Start rpkid so we can configure it, make sure we shut it down on exit diff --git a/rpkid/rpki-db-schema.pdf b/rpkid/rpki-db-schema.pdf Binary files differnew file mode 100644 index 00000000..dc0d37e4 --- /dev/null +++ b/rpkid/rpki-db-schema.pdf diff --git a/rpkid/rpki-db-schema.sql b/rpkid/rpki-db-schema.sql new file mode 100644 index 00000000..d62e0dd2 --- /dev/null +++ b/rpkid/rpki-db-schema.sql @@ -0,0 +1,198 @@ +-- $Id$ + +-- Copyright (C) 2007-2008 American Registry for Internet Numbers ("ARIN") +-- +-- Permission to use, copy, modify, and distribute this software for any +-- purpose with or without fee is hereby granted, provided that the above +-- copyright notice and this permission notice appear in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +-- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +-- AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +-- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +-- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE. + +DROP TABLE IF EXISTS self; + +CREATE TABLE self ( + self_id SERIAL NOT NULL, + use_hsm BOOLEAN, + crl_interval BIGINT unsigned, + regen_margin BIGINT unsigned, + bpki_cert LONGBLOB, + bpki_glue LONGBLOB, + PRIMARY KEY (self_id) +); + +DROP TABLE IF EXISTS self_pref; + +CREATE TABLE self_pref ( + pref_name VARCHAR(100), + pref_value TEXT, + self_id BIGINT unsigned NOT NULL, + PRIMARY KEY (self_id, pref_name), + FOREIGN KEY (self_id) REFERENCES self +); + +DROP TABLE IF EXISTS bsc; + +CREATE TABLE bsc ( + bsc_id SERIAL NOT NULL, + private_key_id LONGBLOB, + pkcs10_request LONGBLOB, + hash_alg ENUM ('sha256'), + self_id BIGINT unsigned NOT NULL, + PRIMARY KEY (bsc_id), + FOREIGN KEY (self_id) REFERENCES self +); + +DROP TABLE IF EXISTS bsc_cert; + +CREATE TABLE bsc_cert ( + bsc_cert_id SERIAL NOT NULL, + cert LONGBLOB, + bsc_id BIGINT unsigned NOT NULL, + PRIMARY KEY (bsc_cert_id), + FOREIGN KEY (bsc_id) REFERENCES bsc +); + +DROP TABLE IF EXISTS repository; + +CREATE TABLE repository ( + repository_id SERIAL NOT NULL, + peer_contact_uri TEXT, + bpki_cms_cert LONGBLOB, + bpki_cms_glue LONGBLOB, + bpki_https_cert LONGBLOB, + bpki_https_glue LONGBLOB, + bsc_id BIGINT unsigned NOT NULL, + self_id BIGINT unsigned NOT NULL, + PRIMARY KEY (repository_id), + FOREIGN KEY (self_id) REFERENCES self, + FOREIGN KEY (bsc_id) REFERENCES bsc +); + +DROP TABLE IF EXISTS parent; + +CREATE TABLE parent ( + parent_id SERIAL NOT NULL, + bpki_cms_cert LONGBLOB, + bpki_cms_glue LONGBLOB, + bpki_https_cert LONGBLOB, + bpki_https_glue LONGBLOB, + peer_contact_uri TEXT, + sia_base TEXT, + sender_name TEXT, + recipient_name TEXT, + self_id BIGINT unsigned NOT NULL, + bsc_id BIGINT unsigned NOT NULL, + repository_id BIGINT unsigned NOT NULL, + PRIMARY KEY (parent_id), + FOREIGN KEY (repository_id) REFERENCES repository, + FOREIGN KEY (bsc_id) REFERENCES bsc, + FOREIGN KEY (self_id) REFERENCES self +); + +DROP TABLE IF EXISTS ca; + +CREATE TABLE ca ( + ca_id SERIAL NOT NULL, + last_crl_sn BIGINT unsigned NOT NULL, + last_manifest_sn BIGINT unsigned NOT NULL, + next_manifest_update DATETIME, + next_crl_update DATETIME, + last_issued_sn BIGINT unsigned NOT NULL, + sia_uri TEXT, + parent_resource_class TEXT, + parent_id BIGINT unsigned, + PRIMARY KEY (ca_id), + FOREIGN KEY (parent_id) REFERENCES parent +); + +DROP TABLE IF EXISTS ca_detail; + +CREATE TABLE ca_detail ( + ca_detail_id SERIAL NOT NULL, + public_key LONGBLOB, + private_key_id LONGBLOB, + latest_crl LONGBLOB, + latest_ca_cert LONGBLOB, + manifest_private_key_id LONGBLOB, + manifest_public_key LONGBLOB, + latest_manifest_cert LONGBLOB, + latest_manifest LONGBLOB, + state ENUM ('pending', 'active', 'deprecated', 'revoked') NOT NULL, + ca_cert_uri TEXT, + ca_id BIGINT unsigned NOT NULL, + PRIMARY KEY (ca_detail_id), + FOREIGN KEY (ca_id) REFERENCES ca +); + +DROP TABLE IF EXISTS child; + +CREATE TABLE child ( + child_id SERIAL NOT NULL, + bpki_cert LONGBLOB, + bpki_glue LONGBLOB, + self_id BIGINT unsigned NOT NULL, + bsc_id BIGINT unsigned NOT NULL, + PRIMARY KEY (child_id), + FOREIGN KEY (bsc_id) REFERENCES bsc, + FOREIGN KEY (self_id) REFERENCES self +); + +DROP TABLE IF EXISTS child_cert; + +CREATE TABLE child_cert ( + child_cert_id SERIAL NOT NULL, + cert LONGBLOB NOT NULL, + ski TINYBLOB NOT NULL, + child_id BIGINT unsigned NOT NULL, + ca_detail_id BIGINT unsigned NOT NULL, + PRIMARY KEY (child_cert_id), + FOREIGN KEY (ca_detail_id) REFERENCES ca_detail, + FOREIGN KEY (child_id) REFERENCES child +); + +DROP TABLE IF EXISTS revoked_cert; + +CREATE TABLE revoked_cert ( + revoked_cert_id SERIAL NOT NULL, + serial BIGINT unsigned NOT NULL, + revoked DATETIME NOT NULL, + expires DATETIME NOT NULL, + ca_detail_id BIGINT unsigned NOT NULL, + PRIMARY KEY (revoked_cert_id), + FOREIGN KEY (ca_detail_id) REFERENCES ca_detail +); + +DROP TABLE IF EXISTS route_origin; + +CREATE TABLE route_origin ( + route_origin_id SERIAL NOT NULL, + as_number DECIMAL(24,0), + exact_match BOOLEAN, + cert LONGBLOB, + roa LONGBLOB, + self_id BIGINT unsigned NOT NULL, + ca_detail_id BIGINT unsigned, + PRIMARY KEY (route_origin_id), + FOREIGN KEY (self_id) REFERENCES self, + FOREIGN KEY (ca_detail_id) REFERENCES ca_detail +); + +DROP TABLE IF EXISTS route_origin_range; + +CREATE TABLE route_origin_range ( + start_ip VARCHAR(40), + end_ip VARCHAR(40), + route_origin_id BIGINT unsigned NOT NULL, + PRIMARY KEY (route_origin_id, start_ip, end_ip), + FOREIGN KEY (route_origin_id) REFERENCES route_origin +); + +-- Local Variables: +-- indent-tabs-mode: nil +-- End: diff --git a/rpkid/sample-irdb.pdf b/rpkid/sample-irdb.pdf Binary files differnew file mode 100644 index 00000000..a2639528 --- /dev/null +++ b/rpkid/sample-irdb.pdf diff --git a/rpkid/sample-irdb.sql b/rpkid/sample-irdb.sql new file mode 100644 index 00000000..f5c8c970 --- /dev/null +++ b/rpkid/sample-irdb.sql @@ -0,0 +1,54 @@ +-- $Id$ + +-- Copyright (C) 2007-2008 American Registry for Internet Numbers ("ARIN") +-- +-- Permission to use, copy, modify, and distribute this software for any +-- purpose with or without fee is hereby granted, provided that the above +-- copyright notice and this permission notice appear in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH +-- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +-- AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, +-- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +-- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE. + +DROP TABLE IF EXISTS registrant; + +CREATE TABLE registrant ( + registrant_id SERIAL NOT NULL, + IRBE_mapped_id TEXT, + subject_name TEXT, + rpki_self_id BIGINT unsigned, + rpki_child_id BIGINT unsigned, + valid_until DATETIME NOT NULL, + PRIMARY KEY (registrant_id) +); + +DROP TABLE IF EXISTS asn; + +CREATE TABLE asn ( + asn_id SERIAL NOT NULL, + start_as BIGINT unsigned NOT NULL, + end_as BIGINT unsigned NOT NULL, + registrant_id BIGINT unsigned NOT NULL, + PRIMARY KEY (asn_id), + FOREIGN KEY (registrant_id) REFERENCES registrant ON DELETE SET NULL ON UPDATE SET NULL +); + +DROP TABLE IF EXISTS net; + +CREATE TABLE net ( + net_id SERIAL NOT NULL, + start_ip VARCHAR(40) NOT NULL, + end_ip VARCHAR(40) NOT NULL, + version TINYINT unsigned NOT NULL, + registrant_id BIGINT unsigned NOT NULL, + PRIMARY KEY (net_id), + FOREIGN KEY (registrant_id) REFERENCES registrant ON DELETE SET NULL ON UPDATE SET NULL +); + +-- Local Variables: +-- indent-tabs-mode: nil +-- End: diff --git a/rpkid/testbed.py b/rpkid/testbed.py index 40fa1455..e18bb1af 100644 --- a/rpkid/testbed.py +++ b/rpkid/testbed.py @@ -108,8 +108,8 @@ prog_rcynic = cfg.get("prog_rcynic", "../../rcynic/rcynic") rcynic_stats = cfg.get("rcynic_stats", "xsltproc --param refresh 0 ../../rcynic/rcynic.xsl %s.xml | w3m -T text/html -dump" % rcynic_name) -rpki_sql_file = cfg.get("rpki_sql_file", "../docs/rpki-db-schema.sql") -irdb_sql_file = cfg.get("irdb_sql_file", "../docs/sample-irdb.sql") +rpki_sql_file = cfg.get("rpki_sql_file", "rpki-db-schema.sql") +irdb_sql_file = cfg.get("irdb_sql_file", "sample-irdb.sql") startup_delay = int(cfg.get("startup_delay", "10")) |