From 3d10cdc8033ee985a80cca87d3519679ae384155 Mon Sep 17 00:00:00 2001 From: Xuu Date: Fri, 31 Jul 2020 13:19:01 -0600 Subject: [PATCH 1/4] add primary-match --- data/schema/AS-BLOCK-SCHEMA | 1 + data/schema/AS-SET-SCHEMA | 1 + data/schema/AUT-NUM-SCHEMA | 1 + data/schema/DNS-SCHEMA | 1 + data/schema/INET6NUM-SCHEMA | 1 + data/schema/INETNUM-SCHEMA | 1 + data/schema/KEY-CERT-SCHEMA | 1 + data/schema/MNTNER-SCHEMA | 1 + data/schema/ORGANISATION-SCHEMA | 1 + data/schema/PERSON-SCHEMA | 1 + data/schema/ROLE-SCHEMA | 1 + data/schema/ROUTE-SCHEMA | 1 + data/schema/ROUTE-SET-SCHEMA | 1 + data/schema/ROUTE6-SCHEMA | 1 + data/schema/SCHEMA-SCHEMA | 2 ++ data/schema/TINC-KEY-SCHEMA | 1 + 16 files changed, 17 insertions(+) diff --git a/data/schema/AS-BLOCK-SCHEMA b/data/schema/AS-BLOCK-SCHEMA index 9e68894eb..586771fcd 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]+-AS[0-9]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AS-SET-SCHEMA b/data/schema/AS-SET-SCHEMA index 2078ed9c9..42f03d77b 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: AS[0-9A-Z:-]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AUT-NUM-SCHEMA b/data/schema/AUT-NUM-SCHEMA index c9beeee8e..5cb12466c 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]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/DNS-SCHEMA b/data/schema/DNS-SCHEMA index 75eb4ce57..48a2db52b 100644 --- a/data/schema/DNS-SCHEMA +++ b/data/schema/DNS-SCHEMA @@ -12,5 +12,6 @@ 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-]+.dn42 dn42 ff[0-9a-z]+ 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..40ab2d9d5 100644 --- a/data/schema/KEY-CERT-SCHEMA +++ b/data/schema/KEY-CERT-SCHEMA @@ -11,5 +11,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 +primary-match: PGPKEY-[0-9A-F]+ MTN-[0-9A-Z-]+ 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..824a8c907 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-]+-DN42 [0-9A-Z-]+-NEONETWORK mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROLE-SCHEMA b/data/schema/ROLE-SCHEMA index cba3b88ac..ad30eddc6 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-]+-DN42 mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/ROUTE-SCHEMA b/data/schema/ROUTE-SCHEMA index 29d6a7d7e..a6ad4e41f 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 e209aa730..a32a92161 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..86e993749 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 optional single > [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 From e85ab0f13489b2d6ac0dab8694d19f79fcabbb59 Mon Sep 17 00:00:00 2001 From: Xuu Date: Mon, 3 Aug 2020 11:45:40 -0600 Subject: [PATCH 2/4] update primary-matches based on feedback --- data/schema/AS-BLOCK-SCHEMA | 2 +- data/schema/AS-SET-SCHEMA | 2 +- data/schema/AUT-NUM-SCHEMA | 2 +- data/schema/DNS-SCHEMA | 13 ++++++++++++- data/schema/KEY-CERT-SCHEMA | 3 ++- data/schema/PERSON-SCHEMA | 2 +- data/schema/REGISTRY-SCHEMA | 1 + data/schema/ROLE-SCHEMA | 2 +- data/schema/TINC-KEYSET-SCHEMA | 1 + 9 files changed, 21 insertions(+), 7 deletions(-) diff --git a/data/schema/AS-BLOCK-SCHEMA b/data/schema/AS-BLOCK-SCHEMA index 586771fcd..4ceb72975 100644 --- a/data/schema/AS-BLOCK-SCHEMA +++ b/data/schema/AS-BLOCK-SCHEMA @@ -8,6 +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]+-AS[0-9]+ +primary-match: AS[0-9]{1,8}-AS[0-9]{1,8} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AS-SET-SCHEMA b/data/schema/AS-SET-SCHEMA index 42f03d77b..fd41e69d2 100644 --- a/data/schema/AS-SET-SCHEMA +++ b/data/schema/AS-SET-SCHEMA @@ -9,6 +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: AS[0-9A-Z:-]+ +primary-match: [A-Z][0-9A-Z:-]{0,24} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/AUT-NUM-SCHEMA b/data/schema/AUT-NUM-SCHEMA index 5cb12466c..0437d1af4 100644 --- a/data/schema/AUT-NUM-SCHEMA +++ b/data/schema/AUT-NUM-SCHEMA @@ -19,6 +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]+ +primary-match: AS[0-9]{1,8} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/DNS-SCHEMA b/data/schema/DNS-SCHEMA index 48a2db52b..03c7fff0d 100644 --- a/data/schema/DNS-SCHEMA +++ b/data/schema/DNS-SCHEMA @@ -12,6 +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-]+.dn42 dn42 ff[0-9a-z]+ adm fmie hack helgo icvpn mueritz neo rzl 020 +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/KEY-CERT-SCHEMA b/data/schema/KEY-CERT-SCHEMA index 40ab2d9d5..5c9966311 100644 --- a/data/schema/KEY-CERT-SCHEMA +++ b/data/schema/KEY-CERT-SCHEMA @@ -11,6 +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]+ MTN-[0-9A-Z-]+ +primary-match: PGPKEY-[0-9A-F]{8} +primary-match: MTN-[0-9A-Z-]+ mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/PERSON-SCHEMA b/data/schema/PERSON-SCHEMA index 824a8c907..c1d90cf8b 100644 --- a/data/schema/PERSON-SCHEMA +++ b/data/schema/PERSON-SCHEMA @@ -15,6 +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-]+-DN42 [0-9A-Z-]+-NEONETWORK +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 ad30eddc6..a93bc45e3 100644 --- a/data/schema/ROLE-SCHEMA +++ b/data/schema/ROLE-SCHEMA @@ -11,6 +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-]+-DN42 +primary-match: [0-9A-Z-]+-[0-9A-Z]+ 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 From 0fdf69cd7b62a07444d19b85f533561a63cad84e Mon Sep 17 00:00:00 2001 From: Xuu Date: Mon, 3 Aug 2020 13:34:05 -0600 Subject: [PATCH 3/4] update primary-matches based on feedback --- data/schema/AS-BLOCK-SCHEMA | 2 +- data/schema/AS-SET-SCHEMA | 2 +- data/schema/AUT-NUM-SCHEMA | 2 +- data/schema/KEY-CERT-SCHEMA | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/schema/AS-BLOCK-SCHEMA b/data/schema/AS-BLOCK-SCHEMA index 4ceb72975..6c9551d51 100644 --- a/data/schema/AS-BLOCK-SCHEMA +++ b/data/schema/AS-BLOCK-SCHEMA @@ -8,6 +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,8}-AS[0-9]{1,8} +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 fd41e69d2..85d919c5e 100644 --- a/data/schema/AS-SET-SCHEMA +++ b/data/schema/AS-SET-SCHEMA @@ -9,6 +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,24} +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 0437d1af4..09b3568b8 100644 --- a/data/schema/AUT-NUM-SCHEMA +++ b/data/schema/AUT-NUM-SCHEMA @@ -19,6 +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,8} +primary-match: AS[0-9]{1,11} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/KEY-CERT-SCHEMA b/data/schema/KEY-CERT-SCHEMA index 5c9966311..b2c3ca486 100644 --- a/data/schema/KEY-CERT-SCHEMA +++ b/data/schema/KEY-CERT-SCHEMA @@ -12,6 +12,6 @@ key: tech-c optional multiple lookup=dn42.person,dn42.rol 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-]+ + MTN-[0-9A-Z-]{1,58} mnt-by: DN42-MNT source: DN42 From 6a863d454480a8e9af152f5e57fd6398a5a86c4f Mon Sep 17 00:00:00 2001 From: Xuu Date: Tue, 4 Aug 2020 16:58:04 -0600 Subject: [PATCH 4/4] add require and multiple primary-match --- data/schema/KEY-CERT-SCHEMA | 2 +- data/schema/SCHEMA-SCHEMA | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/schema/KEY-CERT-SCHEMA b/data/schema/KEY-CERT-SCHEMA index b2c3ca486..9d5a9b5e0 100644 --- a/data/schema/KEY-CERT-SCHEMA +++ b/data/schema/KEY-CERT-SCHEMA @@ -12,6 +12,6 @@ key: tech-c optional multiple lookup=dn42.person,dn42.rol key: mnt-by required multiple lookup=dn42.mntner key: source required single primary-match: PGPKEY-[0-9A-F]{8} - MTN-[0-9A-Z-]{1,58} +primary-match: MTN-[0-9A-Z-]{1,58} mnt-by: DN42-MNT source: DN42 diff --git a/data/schema/SCHEMA-SCHEMA b/data/schema/SCHEMA-SCHEMA index 86e993749..6bf07ba1f 100644 --- a/data/schema/SCHEMA-SCHEMA +++ b/data/schema/SCHEMA-SCHEMA @@ -14,7 +14,7 @@ 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 optional single > [match]... +key: primary-match required multiple > [match] key: key required multiple > [key-name] {required|optional|recommend|deprecate} {single|multiple} {primary|} {schema|}