aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-04-07 21:25:15 +0000
committerRob Austein <sra@hactrn.net>2014-04-07 21:25:15 +0000
commit440687c9d13a28b902bd9594f88eea6f42be686e (patch)
treed239056a195315c9c55b3c67103f9b1771aab0c2
parent8f81bbe3c5f76eda26bea1cf4b455de8faec0449 (diff)
Whack test code to work with new tree, fix relaxng.py.
svn path=/branches/tk685/; revision=5765
-rw-r--r--Makefile.in9
-rw-r--r--ca/Makefile.in64
-rw-r--r--ca/doc/README16
-rw-r--r--ca/doc/mainpage.py71
-rw-r--r--ca/tests/revoke.yaml60
-rw-r--r--ca/tests/smoketest.1.yaml4
-rw-r--r--ca/tests/smoketest.3.yaml12
-rw-r--r--ca/tests/smoketest.7.yaml4
-rw-r--r--ca/tests/smoketest.py8
-rw-r--r--ca/tests/yamltest-test-all.sh6
-rwxr-xr-xconfigure12
-rw-r--r--configure.ac10
-rw-r--r--doc/pubd-bpki.dot (renamed from ca/doc/pubd-bpki.dot)0
-rw-r--r--doc/rpkid-bpki.dot (renamed from ca/doc/rpkid-bpki.dot)0
-rw-r--r--rp/Makefile.in2
-rw-r--r--rp/rpki-rtr/Makefile.in (renamed from rp/rtr-origin/Makefile.in)0
-rw-r--r--rp/rpki-rtr/README (renamed from rp/rtr-origin/README)0
-rwxr-xr-xrp/rpki-rtr/rtr-origin (renamed from rp/rtr-origin/rtr-origin)0
-rw-r--r--rp/rpki-rtr/rules.darwin.mk (renamed from rp/rtr-origin/rules.darwin.mk)0
-rw-r--r--rp/rpki-rtr/rules.freebsd.mk (renamed from rp/rtr-origin/rules.freebsd.mk)0
-rw-r--r--rp/rpki-rtr/rules.linux.mk (renamed from rp/rtr-origin/rules.linux.mk)0
-rw-r--r--rp/rpki-rtr/rules.unknown.mk (renamed from rp/rtr-origin/rules.unknown.mk)0
-rwxr-xr-xrp/rpki-rtr/server.sh (renamed from rp/rtr-origin/server.sh)0
-rw-r--r--rp/rpki-rtr/sshd.conf23
-rw-r--r--rp/rtr-origin/sshd.conf23
-rw-r--r--rpki/relaxng.py1198
-rw-r--r--schemas/Makefile.in2
27 files changed, 698 insertions, 826 deletions
diff --git a/Makefile.in b/Makefile.in
index 71dab019..4465ef9e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -97,3 +97,12 @@ ${POW_SO}: .FORCE setup_autoconf.py
build/stamp: .FORCE setup_autoconf.py
${PYTHON} setup.py build
touch $@
+
+lint:
+ find rpki -name '*.py' | xargs pylint --rcfile ${abs_top_srcdir}/buildtools/pylint.rc
+
+tags: Makefile
+ find rpki rp ca schemas -type f \
+ \( -name '*.[ch] -o -name '*.py' -o -name '*.sql' -o -name '*.rnc' \) \
+ ! -name relaxng.py ! -name sql_schemas.py -print | \
+ etags -
diff --git a/ca/Makefile.in b/ca/Makefile.in
index 0764edc1..317b8395 100644
--- a/ca/Makefile.in
+++ b/ca/Makefile.in
@@ -55,73 +55,23 @@ uninstall deinstall::
distclean::
rm -f installed
-dont-run-trang:
- touch *.rng
-
-relaxng: left-right-schema.rng up-down-schema.rng publication-schema.rng
+relaxng:
cd tests; $(MAKE) protocol-samples
- xmllint --noout --relaxng left-right-schema.rng tests/left-right-protocol-samples/*.xml
- xmllint --noout --relaxng up-down-schema.rng tests/up-down-protocol-samples/*.xml
- xmllint --noout --relaxng publication-schema.rng tests/publication-protocol-samples/*.xml
+ xmllint --noout --relaxng ../schemas/relaxng/left-right-schema.rng tests/left-right-protocol-samples/*.xml
+ xmllint --noout --relaxng ../schemas/relaxng/up-down-schema.rng tests/up-down-protocol-samples/*.xml
+ xmllint --noout --relaxng ../schemas/relaxng/publication-schema.rng tests/publication-protocol-samples/*.xml
unit-tests: all
PWD=`pwd`; for i in rpki/*.py; do echo "[$$i]"; PYTHONPATH=$$PWD ${PYTHON} $$i; done
-all-tests:: unit-tests
-
-all-tests:: relaxng
+all-tests:: unit-tests relaxng
test all-tests parse-test profile yamltest yamlconf:: all
cd tests; $(MAKE) $@
-tags: Makefile
- find . -type d -name build -prune -o -type f \( -name '*.py' -o -name '*.sql' -o -name '*.rnc' -o -name '*.py.in' \) ! -name relaxng.py ! -name sql_schemas.py -print | etags -
-
-lint:
- pylint --rcfile ${abs_top_srcdir}/buildtools/pylint.rc rpki/*.py rpki/irdb/*.py *.py tests/*.py
-
-# Documentation
-
-doc/pubd.dot: pubd.sql
- sh ${abs_top_srcdir}/buildtools/graphviz-sql.sh $? >$@
-
-doc/rpkid.dot: rpkid.sql
- sh ${abs_top_srcdir}/buildtools/graphviz-sql.sh $? >$@
-
-.SUFFIXES: .dot .png .pdf .eps
-
-.dot.pdf:
- dot -Tps2 $? | ps2pdf - $@
-
-.dot.eps:
- dot -o $@ -Teps $?
-
-.dot.png:
- dot -o $@ -Tpng $?
-
-dot: doc/pubd.dot doc/rpkid.dot
-
-eps: doc/pubd.eps doc/rpkid.eps doc/rpkid-bpki.eps doc/pubd-bpki.eps
-
-png: doc/pubd.png doc/rpkid.png doc/rpkid-bpki.png doc/pubd-bpki.png
-
-pdf: doc/pubd.pdf doc/rpkid.pdf doc/rpkid-bpki.pdf doc/pubd-bpki.pdf
-
-docclean:
- rm -rf doc/html doc/latex doc/xml
- rm -f doc/*.eps doc/*.pdf doc/*.png
- rm -f doc/pubd.dot doc/rpkid.dot
-
-html: dot eps png
- TZ='' IMAGE_PATH=${abs_builddir}/doc doxygen
-
-docs: dot eps png html pdf
-
-##
-
-distclean:: clean docclean
+distclean:: clean
cd tests; ${MAKE} $@
- rm -f TAGS Makefile
+ rm -f Makefile
all:: examples/rpki.conf
diff --git a/ca/doc/README b/ca/doc/README
deleted file mode 100644
index 33902d7e..00000000
--- a/ca/doc/README
+++ /dev/null
@@ -1,16 +0,0 @@
-$Id$
-
-Internals documentation for the RPKI CA tools.
-
-Once upon a time this included the hand-written documentation for the
-CA tools, but that is now part of the overall package documentation.
-What's left here is just what Doxygen generates from the source code
-and a few Graphviz diagrams.
-
-At the moment the control for the stuff generated here is still
-../Makefile, that may change at some point.
-
-We no longer generate the documentation here automatically, as it's
-kind of large and we're not sure anybody else cares about it, so if
-you want this manual you'll have to install Doxygen and build it
-yourself.
diff --git a/ca/doc/mainpage.py b/ca/doc/mainpage.py
deleted file mode 100644
index 4570547b..00000000
--- a/ca/doc/mainpage.py
+++ /dev/null
@@ -1,71 +0,0 @@
-## @file
-# @details
-# Doxygen documentation source, expressed as Python comments to make Doxygen happy.
-#
-# $Id$
-#
-# Copyright (C) 2009--2012 Internet Systems Consortium ("ISC")
-#
-# 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 ISC DISCLAIMS ALL WARRANTIES WITH
-# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-# AND FITNESS. IN NO EVENT SHALL ISC 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.
-#
-# Portions 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.
-
-## @mainpage RPKI Engine Reference Manual
-#
-# This collection of Python modules implements an RPKI CA engine.
-#
-# See http://trac.rpki.net/ for the RPKI tools package documentation.
-#
-# The documentation you're reading is generated automatically by
-# Doxygen from comments and documentation in
-# <a href="http://trac.rpki.net/browser/trunk">the code</a>.
-#
-# At one point this manual also included documentation for the CA
-# tools, but that has been integrated into the overall package
-# documentation. This manual is now just the CA tools internals.
-
-## @page sql-schemas SQL database schemas
-#
-# @li @subpage rpkid-sql "rpkid database schema"
-# @li @subpage pubd-sql "pubd database schema"
-
-## @page rpkid-sql rpkid SQL schema
-#
-# @image html rpkid.png "Diagram of rpkid.sql"
-# @image latex rpkid.eps "Diagram of rpkid.sql" height=\textheight
-#
-# @verbinclude rpkid.sql
-
-## @page pubd-sql pubd SQL Schema
-#
-# @image html pubd.png "Diagram of pubd.sql"
-# @image latex pubd.eps "Diagram of pubd.sql" width=\textwidth
-#
-# @verbinclude pubd.sql
-
-# Local Variables:
-# mode:python
-# compile-command: "cd ../.. && ./config.status && cd rpkid && make docs"
-# End:
diff --git a/ca/tests/revoke.yaml b/ca/tests/revoke.yaml
index 2edb8335..ae53f0d8 100644
--- a/ca/tests/revoke.yaml
+++ b/ca/tests/revoke.yaml
@@ -54,7 +54,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -67,7 +67,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
@@ -81,7 +81,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -92,7 +92,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -105,7 +105,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -118,7 +118,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -129,7 +129,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -142,7 +142,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -155,7 +155,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -166,7 +166,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -179,7 +179,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -192,7 +192,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -203,7 +203,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -216,7 +216,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -229,7 +229,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -240,7 +240,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -253,7 +253,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -266,7 +266,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -277,7 +277,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -290,7 +290,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -303,7 +303,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -314,7 +314,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -327,7 +327,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -340,7 +340,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -351,7 +351,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -364,7 +364,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -377,7 +377,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
@@ -388,7 +388,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -401,7 +401,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- name: R0
@@ -414,7 +414,7 @@ kids:
cd rcynic-data;
pax -rwl . ../$dir; find . -type f -name '*.cer' |
sort |
- xargs ../../../../utils/uri/uri -s
+ xargs ../../../../rp/utils/uri -s
>../${dir%.data}.uris;
sleep 1
- sleep 30
diff --git a/ca/tests/smoketest.1.yaml b/ca/tests/smoketest.1.yaml
index 914aaae4..81bc887a 100644
--- a/ca/tests/smoketest.1.yaml
+++ b/ca/tests/smoketest.1.yaml
@@ -52,7 +52,7 @@ kids:
---
- shell set -x;
- rtr_origin='python ../../../rtr-origin/rtr-origin.py';
+ rtr_origin='python ../../../rp/rpki-rtr/rtr-origin.py';
$rtr_origin --cronjob rcynic-data/authenticated &&
$rtr_origin --show
---
@@ -70,7 +70,7 @@ kids:
ipv4: 10.3.0.1/32, 10.0.0.44/32
---
- shell set -x;
- rtr_origin='python ../../../rtr-origin/rtr-origin.py';
+ rtr_origin='python ../../../rp/rpki-rtr/rtr-origin.py';
$rtr_origin --cronjob rcynic-data/authenticated &&
$rtr_origin --show
---
diff --git a/ca/tests/smoketest.3.yaml b/ca/tests/smoketest.3.yaml
index e6a10a12..41a88643 100644
--- a/ca/tests/smoketest.3.yaml
+++ b/ca/tests/smoketest.3.yaml
@@ -51,17 +51,17 @@ kids:
ipv4: 10.3.0.0/23
---
#- shell find publication -type f -name '*.roa'
-# -print -exec ../../../utils/print_roa/print_roa {} \;
+# -print -exec ../../../rp/utils/print_roa {} \;
#- shell find publication -type f -name '*.mft'
-# -print -exec ../../../utils/print_manifest/print_manifest {} \;
+# -print -exec ../../../rp/utils/print_manifest {} \;
#---
#- shell find publication -type f -name '*.roa'
-# -print -exec ../../../utils/print_roa/print_roa {} \;
+# -print -exec ../../../rp/utils/print_roa {} \;
#- shell find publication -type f -name '*.mft'
-# -print -exec ../../../utils/print_manifest/print_manifest {} \;
+# -print -exec ../../../rp/utils/print_manifest {} \;
#---
- shell set -x;
- rtr_origin=../../../rtr-origin/rtr-origin;
+ rtr_origin=../../../rp/rpki-rtr/rtr-origin;
$rtr_origin --cronjob rcynic-data/authenticated &&
$rtr_origin --show
---
@@ -76,6 +76,6 @@ kids:
ipv6: 2002:0a00::/32-128
---
- shell set -x;
- rtr_origin=../../../rtr-origin/rtr-origin;
+ rtr_origin=../../../rp/rpki-rtr/rtr-origin;
$rtr_origin --cronjob rcynic-data/authenticated &&
$rtr_origin --show
diff --git a/ca/tests/smoketest.7.yaml b/ca/tests/smoketest.7.yaml
index fedd2fff..7c808552 100644
--- a/ca/tests/smoketest.7.yaml
+++ b/ca/tests/smoketest.7.yaml
@@ -70,8 +70,8 @@ roa_request:
---
- shell set -x;
find publication -type f -name '*.roa'
- -print -exec ../../../utils/print_roa/print_roa {} \;
+ -print -exec ../../../rp/utils/print_roa {} \;
;
- rtr_origin=../../../rtr-origin/rtr-origin;
+ rtr_origin=../../../rp/rpki-rtr/rtr-origin;
$rtr_origin --cronjob rcynic-data/authenticated &&
$rtr_origin --show
diff --git a/ca/tests/smoketest.py b/ca/tests/smoketest.py
index 28bedaa4..e5f5a754 100644
--- a/ca/tests/smoketest.py
+++ b/ca/tests/smoketest.py
@@ -115,14 +115,14 @@ prog_poke = cfg.get("prog_poke", "../testpoke.py")
prog_rootd = cfg.get("prog_rootd", "../../rootd")
prog_pubd = cfg.get("prog_pubd", "../../pubd")
prog_rsyncd = cfg.get("prog_rsyncd", "rsync")
-prog_rcynic = cfg.get("prog_rcynic", "../../../rcynic/rcynic")
+prog_rcynic = cfg.get("prog_rcynic", "../../../rp/rcynic/rcynic")
prog_openssl = cfg.get("prog_openssl", "../../../openssl/openssl/apps/openssl")
-rcynic_stats = cfg.get("rcynic_stats", "echo ; ../../../rcynic/rcynic-text %s.xml ; echo" % rcynic_name)
+rcynic_stats = cfg.get("rcynic_stats", "echo ; ../../../rp/rcynic/rcynic-text %s.xml ; echo" % rcynic_name)
-rpki_sql_file = cfg.get("rpki_sql_file", "../rpkid.sql")
+rpki_sql_file = cfg.get("rpki_sql_file", "../../schemas/sql/rpkid.sql")
irdb_sql_file = cfg.get("irdb_sql_file", "old_irdbd.sql")
-pub_sql_file = cfg.get("pub_sql_file", "../pubd.sql")
+pub_sql_file = cfg.get("pub_sql_file", "../../schemas/sql/pubd.sql")
startup_delay = int(cfg.get("startup_delay", "10"))
diff --git a/ca/tests/yamltest-test-all.sh b/ca/tests/yamltest-test-all.sh
index 8daea04e..4bd5c560 100644
--- a/ca/tests/yamltest-test-all.sh
+++ b/ca/tests/yamltest-test-all.sh
@@ -43,9 +43,9 @@ do
do
sleep 30
date
- ../../rcynic/rcynic
- ../../rcynic/rcynic-text rcynic.xml
- ../../utils/scan_roas/scan_roas rcynic-data/authenticated
+ ../../rp/rcynic/rcynic
+ ../../rp/rcynic/rcynic-text rcynic.xml
+ ../../rp/utils/scan_roas rcynic-data/authenticated
date
echo "$title"
done
diff --git a/configure b/configure
index 921affbf..f701ab4c 100755
--- a/configure
+++ b/configure
@@ -4576,22 +4576,22 @@ $as_echo "$enable_target_installation" >&6; }
case $host_os in
darwin*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.darwin.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.darwin.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.darwin.mk'
CA_MAKE_RULES='ca/rules.darwin.mk'
;;
freebsd*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.freebsd.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.freebsd.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.freebsd.mk'
CA_MAKE_RULES='ca/rules.freebsd.mk'
;;
linux*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.linux.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.linux.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.linux.mk'
CA_MAKE_RULES='ca/rules.linux.mk'
;;
*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.unknown.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.unknown.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.unknown.mk'
CA_MAKE_RULES='ca/rules.unknown.mk'
;;
esac
@@ -5056,7 +5056,7 @@ fi
if test $build_rp_tools = yes
then
- ac_config_files="$ac_config_files rp/Makefile rp/rcynic/Makefile rp/rcynic/static-rsync/Makefile rp/utils/Makefile rp/rtr-origin/Makefile"
+ ac_config_files="$ac_config_files rp/Makefile rp/rcynic/Makefile rp/rcynic/static-rsync/Makefile rp/utils/Makefile rp/rpki-rtr/Makefile"
fi
@@ -5810,7 +5810,7 @@ do
"rp/rcynic/Makefile") CONFIG_FILES="$CONFIG_FILES rp/rcynic/Makefile" ;;
"rp/rcynic/static-rsync/Makefile") CONFIG_FILES="$CONFIG_FILES rp/rcynic/static-rsync/Makefile" ;;
"rp/utils/Makefile") CONFIG_FILES="$CONFIG_FILES rp/utils/Makefile" ;;
- "rp/rtr-origin/Makefile") CONFIG_FILES="$CONFIG_FILES rp/rtr-origin/Makefile" ;;
+ "rp/rpki-rtr/Makefile") CONFIG_FILES="$CONFIG_FILES rp/rpki-rtr/Makefile" ;;
"ca/Makefile") CONFIG_FILES="$CONFIG_FILES ca/Makefile" ;;
"ca/tests/Makefile") CONFIG_FILES="$CONFIG_FILES ca/tests/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index ff25b982..c8f153d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -388,22 +388,22 @@ AC_MSG_RESULT([$enable_target_installation])
case $host_os in
darwin*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.darwin.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.darwin.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.darwin.mk'
CA_MAKE_RULES='ca/rules.darwin.mk'
;;
freebsd*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.freebsd.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.freebsd.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.freebsd.mk'
CA_MAKE_RULES='ca/rules.freebsd.mk'
;;
linux*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.linux.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.linux.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.linux.mk'
CA_MAKE_RULES='ca/rules.linux.mk'
;;
*)
RCYNIC_MAKE_RULES='rp/rcynic/rules.unknown.mk'
- RTR_ORIGIN_MAKE_RULES='rp/rtr-origin/rules.unknown.mk'
+ RTR_ORIGIN_MAKE_RULES='rp/rpki-rtr/rules.unknown.mk'
CA_MAKE_RULES='ca/rules.unknown.mk'
;;
esac
@@ -818,7 +818,7 @@ then
rp/rcynic/Makefile
rp/rcynic/static-rsync/Makefile
rp/utils/Makefile
- rp/rtr-origin/Makefile])
+ rp/rpki-rtr/Makefile])
fi
if test $build_ca_tools = yes
diff --git a/ca/doc/pubd-bpki.dot b/doc/pubd-bpki.dot
index 44ad8a90..44ad8a90 100644
--- a/ca/doc/pubd-bpki.dot
+++ b/doc/pubd-bpki.dot
diff --git a/ca/doc/rpkid-bpki.dot b/doc/rpkid-bpki.dot
index 651591cb..651591cb 100644
--- a/ca/doc/rpkid-bpki.dot
+++ b/doc/rpkid-bpki.dot
diff --git a/rp/Makefile.in b/rp/Makefile.in
index ceeef9f1..2c770a46 100644
--- a/rp/Makefile.in
+++ b/rp/Makefile.in
@@ -1,6 +1,6 @@
# $Id$
-SUBDIRS = rcynic rtr-origin utils
+SUBDIRS = rcynic rpki-rtr utils
all clean test distclean install deinstall uninstall::
@for i in ${SUBDIRS}; do echo "Making $@ in $$i"; (cd $$i && ${MAKE} $@); done
diff --git a/rp/rtr-origin/Makefile.in b/rp/rpki-rtr/Makefile.in
index e587305b..e587305b 100644
--- a/rp/rtr-origin/Makefile.in
+++ b/rp/rpki-rtr/Makefile.in
diff --git a/rp/rtr-origin/README b/rp/rpki-rtr/README
index dae53010..dae53010 100644
--- a/rp/rtr-origin/README
+++ b/rp/rpki-rtr/README
diff --git a/rp/rtr-origin/rtr-origin b/rp/rpki-rtr/rtr-origin
index e1e82ccf..e1e82ccf 100755
--- a/rp/rtr-origin/rtr-origin
+++ b/rp/rpki-rtr/rtr-origin
diff --git a/rp/rtr-origin/rules.darwin.mk b/rp/rpki-rtr/rules.darwin.mk
index 1230db92..1230db92 100644
--- a/rp/rtr-origin/rules.darwin.mk
+++ b/rp/rpki-rtr/rules.darwin.mk
diff --git a/rp/rtr-origin/rules.freebsd.mk b/rp/rpki-rtr/rules.freebsd.mk
index df99da47..df99da47 100644
--- a/rp/rtr-origin/rules.freebsd.mk
+++ b/rp/rpki-rtr/rules.freebsd.mk
diff --git a/rp/rtr-origin/rules.linux.mk b/rp/rpki-rtr/rules.linux.mk
index 23f90f69..23f90f69 100644
--- a/rp/rtr-origin/rules.linux.mk
+++ b/rp/rpki-rtr/rules.linux.mk
diff --git a/rp/rtr-origin/rules.unknown.mk b/rp/rpki-rtr/rules.unknown.mk
index fb16e93a..fb16e93a 100644
--- a/rp/rtr-origin/rules.unknown.mk
+++ b/rp/rpki-rtr/rules.unknown.mk
diff --git a/rp/rtr-origin/server.sh b/rp/rpki-rtr/server.sh
index 7ccf2f38..7ccf2f38 100755
--- a/rp/rtr-origin/server.sh
+++ b/rp/rpki-rtr/server.sh
diff --git a/rp/rpki-rtr/sshd.conf b/rp/rpki-rtr/sshd.conf
new file mode 100644
index 00000000..df32ca67
--- /dev/null
+++ b/rp/rpki-rtr/sshd.conf
@@ -0,0 +1,23 @@
+# $Id$
+#
+# sshd config file for testing. Invoke thusly:
+#
+# /usr/sbin/sshd -f $top/rpki-rtr/sshd.conf -d
+
+Port 2222
+Protocol 2
+ListenAddress 127.0.0.1
+ListenAddress ::1
+HostKey /u/sra/rpki/subvert-rpki.hactrn.net/rpki-rtr/ssh_host_rsa_key
+PermitRootLogin no
+PubkeyAuthentication yes
+AuthorizedKeysFile /u/sra/rpki/subvert-rpki.hactrn.net/rpki-rtr/authorized_keys
+PasswordAuthentication no
+PermitEmptyPasswords no
+ChallengeResponseAuthentication no
+UsePAM no
+AllowTcpForwarding no
+X11Forwarding no
+UseDNS no
+PidFile /u/sra/rpki/subvert-rpki.hactrn.net/rpki-rtr/sshd.pid
+Subsystem rpki-rtr /u/sra/rpki/subvert-rpki.hactrn.net/rpki-rtr/server.sh
diff --git a/rp/rtr-origin/sshd.conf b/rp/rtr-origin/sshd.conf
deleted file mode 100644
index 0124fc4c..00000000
--- a/rp/rtr-origin/sshd.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id$
-#
-# sshd config file for testing. Invoke thusly:
-#
-# /usr/sbin/sshd -f /u/sra/rpki/subvert-rpki.hactrn.net/rtr-origin/sshd.conf -d
-
-Port 2222
-Protocol 2
-ListenAddress 127.0.0.1
-ListenAddress ::1
-HostKey /u/sra/rpki/subvert-rpki.hactrn.net/rtr-origin/ssh_host_rsa_key
-PermitRootLogin no
-PubkeyAuthentication yes
-AuthorizedKeysFile /u/sra/rpki/subvert-rpki.hactrn.net/rtr-origin/authorized_keys
-PasswordAuthentication no
-PermitEmptyPasswords no
-ChallengeResponseAuthentication no
-UsePAM no
-AllowTcpForwarding no
-X11Forwarding no
-UseDNS no
-PidFile /u/sra/rpki/subvert-rpki.hactrn.net/rtr-origin/sshd.pid
-Subsystem rpki-rtr /u/sra/rpki/subvert-rpki.hactrn.net/rtr-origin/server.sh
diff --git a/rpki/relaxng.py b/rpki/relaxng.py
index 917ed6ed..3dcf3d4f 100644
--- a/rpki/relaxng.py
+++ b/rpki/relaxng.py
@@ -2,9 +2,9 @@
import lxml.etree
-## @var relaxng/left_right
-## Parsed RelaxNG relaxng/left_right schema
-relaxng/left_right = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
+## @var left_right
+## Parsed RelaxNG left_right schema
+left_right = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: left-right-schema.rnc 5757 2014-04-05 22:42:12Z sra $
@@ -1095,277 +1095,379 @@ relaxng/left_right = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version=
-->
'''))
-## @var relaxng/up_down
-## Parsed RelaxNG relaxng/up_down schema
-relaxng/up_down = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
+## @var myrpki
+## Parsed RelaxNG myrpki schema
+myrpki = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
<!--
- $Id: up-down-schema.rnc 5757 2014-04-05 22:42:12Z sra $
-
- RelaxNG schema for the up-down protocol, extracted from RFC 6492.
+ $Id: myrpki.rnc 5757 2014-04-05 22:42:12Z sra $
- Copyright (c) 2012 IETF Trust and the persons identified as authors
- of the code. All rights reserved.
+ RelaxNG schema for MyRPKI XML messages.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
+ This message protocol is on its way out, as we're in the process of
+ moving on from the user interface model that produced it, but even
+ after we finish replacing it we'll still need the schema for a while
+ to validate old messages when upgrading.
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
+ libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so
+ run the compact syntax through trang to get XML syntax.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
+ Copyright (C) 2009-2011 Internet Systems Consortium ("ISC")
- * Neither the name of Internet Society, IETF or IETF Trust, nor the
- names of specific contributors, may be used to endorse or promote
- products derived from this software without specific prior written
- permission.
+ 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.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
+ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL ISC 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.
-->
-<grammar ns="http://www.apnic.net/specs/rescerts/up-down/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
- <define name="resource_set_as">
- <data type="string">
+<grammar ns="http://www.hactrn.net/uris/rpki/myrpki/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="version">
+ <value>2</value>
+ </define>
+ <define name="base64">
+ <data type="base64Binary">
<param name="maxLength">512000</param>
- <param name="pattern">[\-,0-9]*</param>
</data>
</define>
- <define name="resource_set_ip4">
+ <define name="object_handle">
<data type="string">
- <param name="maxLength">512000</param>
- <param name="pattern">[\-,/.0-9]*</param>
+ <param name="maxLength">255</param>
+ <param name="pattern">[\-_A-Za-z0-9]+</param>
</data>
</define>
- <define name="resource_set_ip6">
+ <define name="pubd_handle">
<data type="string">
- <param name="maxLength">512000</param>
- <param name="pattern">[\-,/:0-9a-fA-F]*</param>
+ <param name="maxLength">255</param>
+ <param name="pattern">[\-_A-Za-z0-9/]+</param>
</data>
</define>
- <define name="class_name">
- <data type="token">
- <param name="minLength">1</param>
- <param name="maxLength">1024</param>
+ <define name="uri">
+ <data type="anyURI">
+ <param name="maxLength">4096</param>
</data>
</define>
- <define name="ski">
- <data type="token">
- <param name="minLength">27</param>
- <param name="maxLength">1024</param>
- </data>
+ <define name="asn">
+ <data type="positiveInteger"/>
</define>
- <define name="label">
- <data type="token">
- <param name="minLength">1</param>
- <param name="maxLength">1024</param>
+ <define name="asn_list">
+ <data type="string">
+ <param name="maxLength">512000</param>
+ <param name="pattern">[\-,0-9]+</param>
</data>
</define>
- <define name="cert_url">
+ <define name="ipv4_list">
<data type="string">
- <param name="minLength">10</param>
- <param name="maxLength">4096</param>
+ <param name="maxLength">512000</param>
+ <param name="pattern">[\-,0-9/.]+</param>
</data>
</define>
- <define name="base64_binary">
- <data type="base64Binary">
- <param name="minLength">4</param>
+ <define name="ipv6_list">
+ <data type="string">
<param name="maxLength">512000</param>
+ <param name="pattern">[\-,0-9/:a-fA-F]+</param>
</data>
</define>
- <start>
- <element name="message">
- <attribute name="version">
- <data type="positiveInteger">
- <param name="maxInclusive">1</param>
- </data>
- </attribute>
- <attribute name="sender">
- <ref name="label"/>
- </attribute>
- <attribute name="recipient">
- <ref name="label"/>
- </attribute>
- <ref name="payload"/>
- </element>
- </start>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>list</value>
- </attribute>
- <ref name="list_request"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>list_response</value>
- </attribute>
- <ref name="list_response"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>issue</value>
- </attribute>
- <ref name="issue_request"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>issue_response</value>
- </attribute>
- <ref name="issue_response"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>revoke</value>
- </attribute>
- <ref name="revoke_request"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>revoke_response</value>
- </attribute>
- <ref name="revoke_response"/>
- </define>
- <define name="payload" combine="choice">
- <attribute name="type">
- <value>error_response</value>
- </attribute>
- <ref name="error_response"/>
- </define>
- <define name="list_request">
- <empty/>
- </define>
- <define name="list_response">
- <zeroOrMore>
- <ref name="class"/>
- </zeroOrMore>
+ <define name="timestamp">
+ <data type="dateTime">
+ <param name="pattern">.*Z</param>
+ </data>
</define>
- <define name="class">
- <element name="class">
- <attribute name="class_name">
- <ref name="class_name"/>
- </attribute>
- <attribute name="cert_url">
- <ref name="cert_url"/>
- </attribute>
- <attribute name="resource_set_as">
- <ref name="resource_set_as"/>
- </attribute>
- <attribute name="resource_set_ipv4">
- <ref name="resource_set_ip4"/>
- </attribute>
- <attribute name="resource_set_ipv6">
- <ref name="resource_set_ip6"/>
+ <!--
+ Message formate used between configure_resources and
+ configure_daemons.
+ -->
+ <start combine="choice">
+ <element name="myrpki">
+ <attribute name="version">
+ <ref name="version"/>
</attribute>
- <attribute name="resource_set_notafter">
- <data type="dateTime"/>
+ <attribute name="handle">
+ <ref name="object_handle"/>
</attribute>
<optional>
- <attribute name="suggested_sia_head">
- <data type="anyURI">
- <param name="maxLength">1024</param>
- <param name="pattern">rsync://.+</param>
- </data>
+ <attribute name="service_uri">
+ <ref name="uri"/>
</attribute>
</optional>
<zeroOrMore>
- <element name="certificate">
- <attribute name="cert_url">
- <ref name="cert_url"/>
+ <element name="roa_request">
+ <attribute name="asn">
+ <ref name="asn"/>
+ </attribute>
+ <attribute name="v4">
+ <ref name="ipv4_list"/>
+ </attribute>
+ <attribute name="v6">
+ <ref name="ipv6_list"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="child">
+ <attribute name="handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <attribute name="valid_until">
+ <ref name="timestamp"/>
</attribute>
<optional>
- <attribute name="req_resource_set_as">
- <ref name="resource_set_as"/>
+ <attribute name="asns">
+ <ref name="asn_list"/>
</attribute>
</optional>
<optional>
- <attribute name="req_resource_set_ipv4">
- <ref name="resource_set_ip4"/>
+ <attribute name="v4">
+ <ref name="ipv4_list"/>
</attribute>
</optional>
<optional>
- <attribute name="req_resource_set_ipv6">
- <ref name="resource_set_ip6"/>
+ <attribute name="v6">
+ <ref name="ipv6_list"/>
</attribute>
</optional>
- <ref name="base64_binary"/>
+ <optional>
+ <element name="bpki_certificate">
+ <ref name="base64"/>
+ </element>
+ </optional>
</element>
</zeroOrMore>
- <element name="issuer">
- <ref name="base64_binary"/>
+ <zeroOrMore>
+ <element name="parent">
+ <attribute name="handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <optional>
+ <attribute name="service_uri">
+ <ref name="uri"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="myhandle">
+ <ref name="object_handle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="sia_base">
+ <ref name="uri"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="bpki_cms_certificate">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="repository">
+ <attribute name="handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <optional>
+ <attribute name="service_uri">
+ <ref name="uri"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="bpki_certificate">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="bpki_ca_certificate">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="bpki_crl">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="bpki_bsc_certificate">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="bpki_bsc_pkcs10">
+ <ref name="base64"/>
+ </element>
+ </optional>
+ </element>
+ </start>
+ <!-- Format of an identity.xml file. -->
+ <start combine="choice">
+ <element name="identity">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <attribute name="handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <element name="bpki_ta">
+ <ref name="base64"/>
</element>
</element>
- </define>
- <define name="issue_request">
- <element name="request">
- <attribute name="class_name">
- <ref name="class_name"/>
+ </start>
+ <!--
+ Format of <authorization/> element used in referrals. The Base64
+ text is a <referral/> (q. v.) element signed with CMS.
+ -->
+ <define name="authorization">
+ <element name="authorization">
+ <attribute name="referrer">
+ <ref name="pubd_handle"/>
</attribute>
+ <ref name="base64"/>
+ </element>
+ </define>
+ <!-- Format of <contact_info/> element used in referrals. -->
+ <define name="contact_info">
+ <element name="contact_info">
<optional>
- <attribute name="req_resource_set_as">
- <ref name="resource_set_as"/>
+ <attribute name="uri">
+ <ref name="uri"/>
</attribute>
</optional>
+ <data type="string"/>
+ </element>
+ </define>
+ <!-- Variant payload portion of a <repository/> element. -->
+ <define name="repository_payload">
+ <choice>
+ <attribute name="type">
+ <value>none</value>
+ </attribute>
+ <attribute name="type">
+ <value>offer</value>
+ </attribute>
+ <group>
+ <attribute name="type">
+ <value>referral</value>
+ </attribute>
+ <ref name="authorization"/>
+ <ref name="contact_info"/>
+ </group>
+ </choice>
+ </define>
+ <!-- <parent/> element (response from configure_child). -->
+ <start combine="choice">
+ <element name="parent">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
<optional>
- <attribute name="req_resource_set_ipv4">
- <ref name="resource_set_ip4"/>
+ <attribute name="valid_until">
+ <ref name="timestamp"/>
</attribute>
</optional>
<optional>
- <attribute name="req_resource_set_ipv6">
- <ref name="resource_set_ip6"/>
+ <attribute name="service_uri">
+ <ref name="uri"/>
</attribute>
</optional>
- <ref name="base64_binary"/>
- </element>
- </define>
- <define name="issue_response">
- <ref name="class"/>
- </define>
- <define name="revoke_request">
- <ref name="revocation"/>
- </define>
- <define name="revoke_response">
- <ref name="revocation"/>
- </define>
- <define name="revocation">
- <element name="key">
- <attribute name="class_name">
- <ref name="class_name"/>
+ <attribute name="child_handle">
+ <ref name="object_handle"/>
</attribute>
- <attribute name="ski">
- <ref name="ski"/>
+ <attribute name="parent_handle">
+ <ref name="object_handle"/>
</attribute>
+ <element name="bpki_resource_ta">
+ <ref name="base64"/>
+ </element>
+ <element name="bpki_child_ta">
+ <ref name="base64"/>
+ </element>
+ <optional>
+ <element name="repository">
+ <ref name="repository_payload"/>
+ </element>
+ </optional>
</element>
- </define>
- <define name="error_response">
- <element name="status">
- <data type="positiveInteger">
- <param name="maxInclusive">9999</param>
- </data>
+ </start>
+ <!--
+ <repository/> element, types offer and referral
+ (input to configure_publication_client).
+ -->
+ <start combine="choice">
+ <element name="repository">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <attribute name="handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <attribute name="parent_handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <ref name="repository_payload"/>
+ <element name="bpki_client_ta">
+ <ref name="base64"/>
+ </element>
</element>
- <zeroOrMore>
- <element name="description">
- <attribute name="xml:lang">
- <data type="language"/>
- </attribute>
- <data type="string">
- <param name="maxLength">1024</param>
- </data>
+ </start>
+ <!--
+ <repository/> element, confirmation type (output of
+ configure_publication_client).
+ -->
+ <start combine="choice">
+ <element name="repository">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <attribute name="type">
+ <value>confirmed</value>
+ </attribute>
+ <attribute name="parent_handle">
+ <ref name="object_handle"/>
+ </attribute>
+ <attribute name="client_handle">
+ <ref name="pubd_handle"/>
+ </attribute>
+ <attribute name="service_uri">
+ <ref name="uri"/>
+ </attribute>
+ <attribute name="sia_base">
+ <ref name="uri"/>
+ </attribute>
+ <element name="bpki_server_ta">
+ <ref name="base64"/>
</element>
- </zeroOrMore>
- </define>
+ <element name="bpki_client_ta">
+ <ref name="base64"/>
+ </element>
+ <optional>
+ <ref name="authorization"/>
+ </optional>
+ <optional>
+ <ref name="contact_info"/>
+ </optional>
+ </element>
+ </start>
+ <!--
+ <referral/> element. This is the entirety of a separate message
+ which is signed with CMS then included ase the Base64 content of an
+ <authorization/> element in the main message.
+ -->
+ <start combine="choice">
+ <element name="referral">
+ <attribute name="version">
+ <ref name="version"/>
+ </attribute>
+ <attribute name="authorized_sia_base">
+ <ref name="uri"/>
+ </attribute>
+ <ref name="base64"/>
+ </element>
+ </start>
</grammar>
<!--
Local Variables:
@@ -1376,9 +1478,9 @@ relaxng/up_down = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.
-->
'''))
-## @var relaxng/publication
-## Parsed RelaxNG relaxng/publication schema
-relaxng/publication = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
+## @var publication
+## Parsed RelaxNG publication schema
+publication = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: publication-schema.rnc 5757 2014-04-05 22:42:12Z sra $
@@ -1954,392 +2056,9 @@ relaxng/publication = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version
-->
'''))
-## @var relaxng/myrpki
-## Parsed RelaxNG relaxng/myrpki schema
-relaxng/myrpki = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
-<!--
- $Id: myrpki.rnc 5757 2014-04-05 22:42:12Z sra $
-
- RelaxNG schema for MyRPKI XML messages.
-
- This message protocol is on its way out, as we're in the process of
- moving on from the user interface model that produced it, but even
- after we finish replacing it we'll still need the schema for a while
- to validate old messages when upgrading.
-
- libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so
- run the compact syntax through trang to get XML syntax.
-
- Copyright (C) 2009-2011 Internet Systems Consortium ("ISC")
-
- 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 ISC DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL ISC 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.
--->
-<grammar ns="http://www.hactrn.net/uris/rpki/myrpki/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
- <define name="version">
- <value>2</value>
- </define>
- <define name="base64">
- <data type="base64Binary">
- <param name="maxLength">512000</param>
- </data>
- </define>
- <define name="object_handle">
- <data type="string">
- <param name="maxLength">255</param>
- <param name="pattern">[\-_A-Za-z0-9]+</param>
- </data>
- </define>
- <define name="pubd_handle">
- <data type="string">
- <param name="maxLength">255</param>
- <param name="pattern">[\-_A-Za-z0-9/]+</param>
- </data>
- </define>
- <define name="uri">
- <data type="anyURI">
- <param name="maxLength">4096</param>
- </data>
- </define>
- <define name="asn">
- <data type="positiveInteger"/>
- </define>
- <define name="asn_list">
- <data type="string">
- <param name="maxLength">512000</param>
- <param name="pattern">[\-,0-9]+</param>
- </data>
- </define>
- <define name="ipv4_list">
- <data type="string">
- <param name="maxLength">512000</param>
- <param name="pattern">[\-,0-9/.]+</param>
- </data>
- </define>
- <define name="ipv6_list">
- <data type="string">
- <param name="maxLength">512000</param>
- <param name="pattern">[\-,0-9/:a-fA-F]+</param>
- </data>
- </define>
- <define name="timestamp">
- <data type="dateTime">
- <param name="pattern">.*Z</param>
- </data>
- </define>
- <!--
- Message formate used between configure_resources and
- configure_daemons.
- -->
- <start combine="choice">
- <element name="myrpki">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <optional>
- <attribute name="service_uri">
- <ref name="uri"/>
- </attribute>
- </optional>
- <zeroOrMore>
- <element name="roa_request">
- <attribute name="asn">
- <ref name="asn"/>
- </attribute>
- <attribute name="v4">
- <ref name="ipv4_list"/>
- </attribute>
- <attribute name="v6">
- <ref name="ipv6_list"/>
- </attribute>
- </element>
- </zeroOrMore>
- <zeroOrMore>
- <element name="child">
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <attribute name="valid_until">
- <ref name="timestamp"/>
- </attribute>
- <optional>
- <attribute name="asns">
- <ref name="asn_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="v4">
- <ref name="ipv4_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="v6">
- <ref name="ipv6_list"/>
- </attribute>
- </optional>
- <optional>
- <element name="bpki_certificate">
- <ref name="base64"/>
- </element>
- </optional>
- </element>
- </zeroOrMore>
- <zeroOrMore>
- <element name="parent">
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <optional>
- <attribute name="service_uri">
- <ref name="uri"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="myhandle">
- <ref name="object_handle"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="sia_base">
- <ref name="uri"/>
- </attribute>
- </optional>
- <optional>
- <element name="bpki_cms_certificate">
- <ref name="base64"/>
- </element>
- </optional>
- </element>
- </zeroOrMore>
- <zeroOrMore>
- <element name="repository">
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <optional>
- <attribute name="service_uri">
- <ref name="uri"/>
- </attribute>
- </optional>
- <optional>
- <element name="bpki_certificate">
- <ref name="base64"/>
- </element>
- </optional>
- </element>
- </zeroOrMore>
- <optional>
- <element name="bpki_ca_certificate">
- <ref name="base64"/>
- </element>
- </optional>
- <optional>
- <element name="bpki_crl">
- <ref name="base64"/>
- </element>
- </optional>
- <optional>
- <element name="bpki_bsc_certificate">
- <ref name="base64"/>
- </element>
- </optional>
- <optional>
- <element name="bpki_bsc_pkcs10">
- <ref name="base64"/>
- </element>
- </optional>
- </element>
- </start>
- <!-- Format of an identity.xml file. -->
- <start combine="choice">
- <element name="identity">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <element name="bpki_ta">
- <ref name="base64"/>
- </element>
- </element>
- </start>
- <!--
- Format of <authorization/> element used in referrals. The Base64
- text is a <referral/> (q. v.) element signed with CMS.
- -->
- <define name="authorization">
- <element name="authorization">
- <attribute name="referrer">
- <ref name="pubd_handle"/>
- </attribute>
- <ref name="base64"/>
- </element>
- </define>
- <!-- Format of <contact_info/> element used in referrals. -->
- <define name="contact_info">
- <element name="contact_info">
- <optional>
- <attribute name="uri">
- <ref name="uri"/>
- </attribute>
- </optional>
- <data type="string"/>
- </element>
- </define>
- <!-- Variant payload portion of a <repository/> element. -->
- <define name="repository_payload">
- <choice>
- <attribute name="type">
- <value>none</value>
- </attribute>
- <attribute name="type">
- <value>offer</value>
- </attribute>
- <group>
- <attribute name="type">
- <value>referral</value>
- </attribute>
- <ref name="authorization"/>
- <ref name="contact_info"/>
- </group>
- </choice>
- </define>
- <!-- <parent/> element (response from configure_child). -->
- <start combine="choice">
- <element name="parent">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <optional>
- <attribute name="valid_until">
- <ref name="timestamp"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="service_uri">
- <ref name="uri"/>
- </attribute>
- </optional>
- <attribute name="child_handle">
- <ref name="object_handle"/>
- </attribute>
- <attribute name="parent_handle">
- <ref name="object_handle"/>
- </attribute>
- <element name="bpki_resource_ta">
- <ref name="base64"/>
- </element>
- <element name="bpki_child_ta">
- <ref name="base64"/>
- </element>
- <optional>
- <element name="repository">
- <ref name="repository_payload"/>
- </element>
- </optional>
- </element>
- </start>
- <!--
- <repository/> element, types offer and referral
- (input to configure_publication_client).
- -->
- <start combine="choice">
- <element name="repository">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <attribute name="handle">
- <ref name="object_handle"/>
- </attribute>
- <attribute name="parent_handle">
- <ref name="object_handle"/>
- </attribute>
- <ref name="repository_payload"/>
- <element name="bpki_client_ta">
- <ref name="base64"/>
- </element>
- </element>
- </start>
- <!--
- <repository/> element, confirmation type (output of
- configure_publication_client).
- -->
- <start combine="choice">
- <element name="repository">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <attribute name="type">
- <value>confirmed</value>
- </attribute>
- <attribute name="parent_handle">
- <ref name="object_handle"/>
- </attribute>
- <attribute name="client_handle">
- <ref name="pubd_handle"/>
- </attribute>
- <attribute name="service_uri">
- <ref name="uri"/>
- </attribute>
- <attribute name="sia_base">
- <ref name="uri"/>
- </attribute>
- <element name="bpki_server_ta">
- <ref name="base64"/>
- </element>
- <element name="bpki_client_ta">
- <ref name="base64"/>
- </element>
- <optional>
- <ref name="authorization"/>
- </optional>
- <optional>
- <ref name="contact_info"/>
- </optional>
- </element>
- </start>
- <!--
- <referral/> element. This is the entirety of a separate message
- which is signed with CMS then included ase the Base64 content of an
- <authorization/> element in the main message.
- -->
- <start combine="choice">
- <element name="referral">
- <attribute name="version">
- <ref name="version"/>
- </attribute>
- <attribute name="authorized_sia_base">
- <ref name="uri"/>
- </attribute>
- <ref name="base64"/>
- </element>
- </start>
-</grammar>
-<!--
- Local Variables:
- indent-tabs-mode: nil
- comment-start: "# "
- comment-start-skip: "#[ \t]*"
- End:
--->
-'''))
-
-## @var relaxng/router_certificate
-## Parsed RelaxNG relaxng/router_certificate schema
-relaxng/router_certificate = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
+## @var router_certificate
+## Parsed RelaxNG router_certificate schema
+router_certificate = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
<!--
$Id: router-certificate-schema.rnc 5757 2014-04-05 22:42:12Z sra $
@@ -2439,3 +2158,284 @@ relaxng/router_certificate = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml
-->
'''))
+## @var up_down
+## Parsed RelaxNG up_down schema
+up_down = lxml.etree.RelaxNG(lxml.etree.fromstring(r'''<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ $Id: up-down-schema.rnc 5757 2014-04-05 22:42:12Z sra $
+
+ RelaxNG schema for the up-down protocol, extracted from RFC 6492.
+
+ Copyright (c) 2012 IETF Trust and the persons identified as authors
+ of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ * Neither the name of Internet Society, IETF or IETF Trust, nor the
+ names of specific contributors, may be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+-->
+<grammar ns="http://www.apnic.net/specs/rescerts/up-down/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="resource_set_as">
+ <data type="string">
+ <param name="maxLength">512000</param>
+ <param name="pattern">[\-,0-9]*</param>
+ </data>
+ </define>
+ <define name="resource_set_ip4">
+ <data type="string">
+ <param name="maxLength">512000</param>
+ <param name="pattern">[\-,/.0-9]*</param>
+ </data>
+ </define>
+ <define name="resource_set_ip6">
+ <data type="string">
+ <param name="maxLength">512000</param>
+ <param name="pattern">[\-,/:0-9a-fA-F]*</param>
+ </data>
+ </define>
+ <define name="class_name">
+ <data type="token">
+ <param name="minLength">1</param>
+ <param name="maxLength">1024</param>
+ </data>
+ </define>
+ <define name="ski">
+ <data type="token">
+ <param name="minLength">27</param>
+ <param name="maxLength">1024</param>
+ </data>
+ </define>
+ <define name="label">
+ <data type="token">
+ <param name="minLength">1</param>
+ <param name="maxLength">1024</param>
+ </data>
+ </define>
+ <define name="cert_url">
+ <data type="string">
+ <param name="minLength">10</param>
+ <param name="maxLength">4096</param>
+ </data>
+ </define>
+ <define name="base64_binary">
+ <data type="base64Binary">
+ <param name="minLength">4</param>
+ <param name="maxLength">512000</param>
+ </data>
+ </define>
+ <start>
+ <element name="message">
+ <attribute name="version">
+ <data type="positiveInteger">
+ <param name="maxInclusive">1</param>
+ </data>
+ </attribute>
+ <attribute name="sender">
+ <ref name="label"/>
+ </attribute>
+ <attribute name="recipient">
+ <ref name="label"/>
+ </attribute>
+ <ref name="payload"/>
+ </element>
+ </start>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>list</value>
+ </attribute>
+ <ref name="list_request"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>list_response</value>
+ </attribute>
+ <ref name="list_response"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>issue</value>
+ </attribute>
+ <ref name="issue_request"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>issue_response</value>
+ </attribute>
+ <ref name="issue_response"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>revoke</value>
+ </attribute>
+ <ref name="revoke_request"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>revoke_response</value>
+ </attribute>
+ <ref name="revoke_response"/>
+ </define>
+ <define name="payload" combine="choice">
+ <attribute name="type">
+ <value>error_response</value>
+ </attribute>
+ <ref name="error_response"/>
+ </define>
+ <define name="list_request">
+ <empty/>
+ </define>
+ <define name="list_response">
+ <zeroOrMore>
+ <ref name="class"/>
+ </zeroOrMore>
+ </define>
+ <define name="class">
+ <element name="class">
+ <attribute name="class_name">
+ <ref name="class_name"/>
+ </attribute>
+ <attribute name="cert_url">
+ <ref name="cert_url"/>
+ </attribute>
+ <attribute name="resource_set_as">
+ <ref name="resource_set_as"/>
+ </attribute>
+ <attribute name="resource_set_ipv4">
+ <ref name="resource_set_ip4"/>
+ </attribute>
+ <attribute name="resource_set_ipv6">
+ <ref name="resource_set_ip6"/>
+ </attribute>
+ <attribute name="resource_set_notafter">
+ <data type="dateTime"/>
+ </attribute>
+ <optional>
+ <attribute name="suggested_sia_head">
+ <data type="anyURI">
+ <param name="maxLength">1024</param>
+ <param name="pattern">rsync://.+</param>
+ </data>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <element name="certificate">
+ <attribute name="cert_url">
+ <ref name="cert_url"/>
+ </attribute>
+ <optional>
+ <attribute name="req_resource_set_as">
+ <ref name="resource_set_as"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="req_resource_set_ipv4">
+ <ref name="resource_set_ip4"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="req_resource_set_ipv6">
+ <ref name="resource_set_ip6"/>
+ </attribute>
+ </optional>
+ <ref name="base64_binary"/>
+ </element>
+ </zeroOrMore>
+ <element name="issuer">
+ <ref name="base64_binary"/>
+ </element>
+ </element>
+ </define>
+ <define name="issue_request">
+ <element name="request">
+ <attribute name="class_name">
+ <ref name="class_name"/>
+ </attribute>
+ <optional>
+ <attribute name="req_resource_set_as">
+ <ref name="resource_set_as"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="req_resource_set_ipv4">
+ <ref name="resource_set_ip4"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="req_resource_set_ipv6">
+ <ref name="resource_set_ip6"/>
+ </attribute>
+ </optional>
+ <ref name="base64_binary"/>
+ </element>
+ </define>
+ <define name="issue_response">
+ <ref name="class"/>
+ </define>
+ <define name="revoke_request">
+ <ref name="revocation"/>
+ </define>
+ <define name="revoke_response">
+ <ref name="revocation"/>
+ </define>
+ <define name="revocation">
+ <element name="key">
+ <attribute name="class_name">
+ <ref name="class_name"/>
+ </attribute>
+ <attribute name="ski">
+ <ref name="ski"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="error_response">
+ <element name="status">
+ <data type="positiveInteger">
+ <param name="maxInclusive">9999</param>
+ </data>
+ </element>
+ <zeroOrMore>
+ <element name="description">
+ <attribute name="xml:lang">
+ <data type="language"/>
+ </attribute>
+ <data type="string">
+ <param name="maxLength">1024</param>
+ </data>
+ </element>
+ </zeroOrMore>
+ </define>
+</grammar>
+<!--
+ Local Variables:
+ indent-tabs-mode: nil
+ comment-start: "# "
+ comment-start-skip: "#[ \t]*"
+ End:
+-->
+'''))
+
diff --git a/schemas/Makefile.in b/schemas/Makefile.in
index 6d2a34b0..80ba3b17 100644
--- a/schemas/Makefile.in
+++ b/schemas/Makefile.in
@@ -43,7 +43,7 @@ RNGS = relaxng/left-right-schema.rng \
SQLS = sql/rpkid.sql sql/pubd.sql
${abs_top_srcdir}/rpki/relaxng.py: ${abs_top_srcdir}/buildtools/make-relaxng.py ${RNGS}
- ${PYTHON} ${abs_top_srcdir}/buildtools/make-relaxng.py ${RNGS} >$@.tmp
+ cd relaxng; ${PYTHON} ${abs_top_srcdir}/buildtools/make-relaxng.py *.rng >$@.tmp
mv $@.tmp $@
${abs_top_srcdir}/rpki/sql_schemas.py: ${abs_top_srcdir}/buildtools/make-sql-schemas.py ${SQLS}