diff --git a/data/schema/AS-BLOCK-SCHEMA b/data/schema/AS-BLOCK-SCHEMA index 9e68894eb..6c9551d51 100644 --- a/data/schema/AS-BLOCK-SCHEMA +++ b/data/schema/AS-BLOCK-SCHEMA @@ -8,5 +8,6 @@ key: admin-c optional multiple lookup=dn42.person,dn42.role key: tech-c optional multiple lookup=dn42.person,dn42.role key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: AS[0-9]{1,11}-AS[0-9]{1,11} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AS-SET-SCHEMA b/data/schema/AS-SET-SCHEMA index c8eadf0e6..01d8d4c91 100644 --- a/data/schema/AS-SET-SCHEMA +++ b/data/schema/AS-SET-SCHEMA @@ -9,5 +9,6 @@ key: admin-c optional multiple lookup=dn42.person,dn42.role key: tech-c optional multiple lookup=dn42.person,dn42.role key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [A-Z][0-9A-Z:-]{0,62} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AUT-NUM-SCHEMA b/data/schema/AUT-NUM-SCHEMA index c9beeee8e..09b3568b8 100644 --- a/data/schema/AUT-NUM-SCHEMA +++ b/data/schema/AUT-NUM-SCHEMA @@ -19,5 +19,6 @@ key: mp-default optional multiple key: geo-loc optional multiple > [lat-c] [long-c] [name] key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: AS[0-9]{1,11} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/DNS-SCHEMA b/data/schema/DNS-SCHEMA index 75eb4ce57..03c7fff0d 100644 --- a/data/schema/DNS-SCHEMA +++ b/data/schema/DNS-SCHEMA @@ -12,5 +12,17 @@ key: country optional single key: ds-rdata optional multiple key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9a-z-]{1,58}.dn42 + dn42 + ff[0-9a-z]{0,8} + adm + fmie + hack + helgo + icvpn + mueritz + neo + rzl + 020 mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/INET6NUM-SCHEMA b/data/schema/INET6NUM-SCHEMA index 7280b5aab..aa1dbfff0 100644 --- a/data/schema/INET6NUM-SCHEMA +++ b/data/schema/INET6NUM-SCHEMA @@ -18,6 +18,7 @@ key: mnt-routes optional multiple lookup=dn42.mntner key: org optional single lookup=dn42.organisation key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9a-f:\.]+/[0-9]+ network-owner: inet6num mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/INETNUM-SCHEMA b/data/schema/INETNUM-SCHEMA index 5c21f8a5f..6f7f49a09 100644 --- a/data/schema/INETNUM-SCHEMA +++ b/data/schema/INETNUM-SCHEMA @@ -18,6 +18,7 @@ key: mnt-routes optional multiple lookup=dn42.mntner key: org optional single lookup=dn42.organisation key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9\.]+/[0-9]+ network-owner: inet6num network-owner: inetnum mnt-by: DN42-MNT diff --git a/data/schema/KEY-CERT-SCHEMA b/data/schema/KEY-CERT-SCHEMA index 555e97918..9d5a9b5e0 100644 --- a/data/schema/KEY-CERT-SCHEMA +++ b/data/schema/KEY-CERT-SCHEMA @@ -11,5 +11,7 @@ key: admin-c optional multiple lookup=dn42.person,dn42.rol key: tech-c optional multiple lookup=dn42.person,dn42.role key: mnt-by required multiple lookup=dn42.mntner key: source required single +primary-match: PGPKEY-[0-9A-F]{8} +primary-match: MTN-[0-9A-Z-]{1,58} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/MNTNER-SCHEMA b/data/schema/MNTNER-SCHEMA index 6dfbaa2cc..5c7b38800 100644 --- a/data/schema/MNTNER-SCHEMA +++ b/data/schema/MNTNER-SCHEMA @@ -10,5 +10,6 @@ key: org optional multiple lookup=dn42.organisation key: abuse-mailbox optional single key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9A-Z-]+-MNT mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ORGANISATION-SCHEMA b/data/schema/ORGANISATION-SCHEMA index 6c5fa4865..38792f31c 100644 --- a/data/schema/ORGANISATION-SCHEMA +++ b/data/schema/ORGANISATION-SCHEMA @@ -18,5 +18,6 @@ key: language optional multiple key: remarks optional multiple key: address optional multiple key: source required single lookup=dn42.registry +primary-match: ORG-[0-9A-Z-]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/PERSON-SCHEMA b/data/schema/PERSON-SCHEMA index d034c2acf..c1d90cf8b 100644 --- a/data/schema/PERSON-SCHEMA +++ b/data/schema/PERSON-SCHEMA @@ -15,5 +15,6 @@ key: fax-no optional multiple key: address optional multiple key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9A-Z-]+-[0-9A-Z]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/REGISTRY-SCHEMA b/data/schema/REGISTRY-SCHEMA index 9f380726d..0dcdd4ed2 100644 --- a/data/schema/REGISTRY-SCHEMA +++ b/data/schema/REGISTRY-SCHEMA @@ -7,5 +7,6 @@ key: mnt-by required multiple lookup=dn42.mntner key: admin-c optional multiple lookup=dn42.person,dn42.role key: tech-c optional multiple lookup=dn42.person,dn42.role key: source required single lookup=dn42.registry +primary-match: [A-Z0-9]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROLE-SCHEMA b/data/schema/ROLE-SCHEMA index cba3b88ac..a93bc45e3 100644 --- a/data/schema/ROLE-SCHEMA +++ b/data/schema/ROLE-SCHEMA @@ -11,5 +11,6 @@ key: abuse-mailbox optional multiple key: descr optional single key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: [0-9A-Z-]+-[0-9A-Z]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROUTE-SCHEMA b/data/schema/ROUTE-SCHEMA index 228411a9f..4a09c188d 100644 --- a/data/schema/ROUTE-SCHEMA +++ b/data/schema/ROUTE-SCHEMA @@ -11,6 +11,7 @@ key: remarks optional multiple key: source required single lookup=dn42.registry key: pingable optional multiple key: max-length optional single +primary-match: [0-9\.]+/[0-9]+ network-owner: inetnum mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROUTE-SET-SCHEMA b/data/schema/ROUTE-SET-SCHEMA index 1a5f8ba96..f6e60fea4 100644 --- a/data/schema/ROUTE-SET-SCHEMA +++ b/data/schema/ROUTE-SET-SCHEMA @@ -10,5 +10,6 @@ key: admin-c optional multiple lookup=dn42.person,dn42.rol key: tech-c optional multiple lookup=dn42.person,dn42.role key: remarks optional multiple key: source required single lookup=dn42.registry +primary-match: RS-[0-9A-Z-]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROUTE6-SCHEMA b/data/schema/ROUTE6-SCHEMA index 8d4390169..b000e28f1 100644 --- a/data/schema/ROUTE6-SCHEMA +++ b/data/schema/ROUTE6-SCHEMA @@ -11,6 +11,7 @@ key: remarks optional multiple key: source required single lookup=dn42.registry key: pingable optional multiple key: max-length optional single +primary-match: [0-9a-f:\.]+/[0-9]+ network-owner: inet6num mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/SCHEMA-SCHEMA b/data/schema/SCHEMA-SCHEMA index c4925ba96..6bf07ba1f 100644 --- a/data/schema/SCHEMA-SCHEMA +++ b/data/schema/SCHEMA-SCHEMA @@ -14,10 +14,12 @@ key: mnt-by required multiple lookup=dn42.mntner > [m key: remarks optional multiple > [text]... key: source required single lookup=dn42.registry key: network-owner optional multiple > [parent-schema] +key: primary-match required multiple > [match] key: key required multiple > [key-name] {required|optional|recommend|deprecate} {single|multiple} {primary|} {schema|} lookup=str '>' [spec]... +primary-match: [0-9A-Z-]+-SCHEMA mnt-by: DN42-MNT source: DN42 remarks: # option descriptions diff --git a/data/schema/TINC-KEY-SCHEMA b/data/schema/TINC-KEY-SCHEMA index 41e1e0d94..35c111a30 100644 --- a/data/schema/TINC-KEY-SCHEMA +++ b/data/schema/TINC-KEY-SCHEMA @@ -13,5 +13,6 @@ key: admin-c optional multiple lookup=dn42.person,dn42.ro key: tech-c optional multiple lookup=dn42.person,dn42.role key: mnt-by required multiple lookup=dn42.mntner key: source required single lookup=dn42.registry +primary-match: [0-9A-Z-]+-TINC mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/TINC-KEYSET-SCHEMA b/data/schema/TINC-KEYSET-SCHEMA index 227069caf..474d2afdf 100644 --- a/data/schema/TINC-KEYSET-SCHEMA +++ b/data/schema/TINC-KEYSET-SCHEMA @@ -8,5 +8,6 @@ key: admin-c optional multiple lookup=dn42.person,dn42.rol key: tech-c optional multiple lookup=dn42.person,dn42.role key: mnt-by required multiple lookup=dn42.mntner key: source required single lookup=dn42.registry +primary-match: [0-9A-Z-]+-TINC-KEYSET mnt-by: DN42-MNT source: DN42