Skip to content

Commit 8bf7224

Browse files
author
steve
committed
Finally put the last active option for zone statement: update-policy.
1 parent e7071a1 commit 8bf7224

File tree

2 files changed

+174
-9
lines changed

2 files changed

+174
-9
lines changed

syntax/bind-named.vim

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2853,6 +2853,166 @@ syn keyword namedZ_DnssecPolicy contained dnssec-policy
28532853
\ skipwhite skipnl skipempty
28542854
\ nextgroup=named_E_Domain_SC
28552855

2856+
" update-policy local
2857+
" update-policy { ( deny | grant )
2858+
" <key_name>
2859+
" ( 6to4-self | external | krb5-self | krb5-selfsub |
2860+
" krb5-subdomain | ms-self | ms-selfsub | ms-subdomain |
2861+
" name | self | selfsub | selfwild | subdomain |
2862+
" tcp-self | wildcard | zonesub )
2863+
" [ <domain_name> ]
2864+
" <rrtypelist>;
2865+
" ...
2866+
" };
2867+
" Most broadest pattern first
2868+
hi link namedZ_UP_DomainName namedHL_DomainName
2869+
syn match namedZ_UP_DomainName contained /\<[0-9A-Za-z][_\-0-9A-Za-z\.]\{1,256}\>/
2870+
\ skipwhite skipnl skipempty
2871+
\ nextgroup=
2872+
\ namedZ_UP_RRTypeList
2873+
2874+
" From IANA DNS Assignment Parameter List
2875+
" https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
2876+
hi link namedZ_UP_RRTypeList namedHL_Type
2877+
" Reordered from largest fixed to smallest fixed, then alphanumeric order
2878+
" 1-char RRTYpe name
2879+
syn match namedZ_UP_RRTypeList contained
2880+
\ /\c\<[A\*]\{1,1}\>/
2881+
\ nextgroup=namedSemicolon
2882+
" 2-char RRTYpe name
2883+
syn match namedZ_UP_RRTypeList contained
2884+
\ /\c\<\(A6\)\|\(DS\)\|\(KX\)\|\(LP\)\|\(MB\)\|\(MD\)\>/
2885+
\ nextgroup=namedSemicolon
2886+
" 2-char RRTYpe name
2887+
syn match namedZ_UP_RRTypeList contained
2888+
\ /\c\<\(MF\)\|\(MG\)\|\(MP\)\|\(MR\)\|\(MX\)\|\(NS\)\>/
2889+
\ nextgroup=namedSemicolon
2890+
" 2-char RRTYpe name
2891+
syn match namedZ_UP_RRTypeList contained
2892+
\ /\c\<\(PX\)\|\(RP\)\|\(RT\)\|\(TA\)\>/
2893+
\ nextgroup=namedSemicolon
2894+
" 3-char RRTYpe name
2895+
syn match namedZ_UP_RRTypeList contained
2896+
\ /\c\<\(APL\)\|\(AVC\)\|\(CAA\)\|\(CDS\)\|\(DOA\)\|\(DLV\)\>/
2897+
\ nextgroup=namedSemicolon
2898+
" 3-char RRTYpe name
2899+
syn match namedZ_UP_RRTypeList contained
2900+
\ /\c\<\(EID\)\|\(GID\)\|\(HIP\)\|\(L32\)\|\(L64\)\|\(LOC\)\>/
2901+
\ nextgroup=namedSemicolon
2902+
" 3-char RRTYpe name
2903+
syn match namedZ_UP_RRTypeList contained
2904+
\ /\c\<\(KEY\)\|\(OPT\)\|\(NID\)\|\(NXT\)\|\(PTR\)\|\(SIG\)\>/
2905+
\ nextgroup=namedSemicolon
2906+
" 3-char RRTYpe name
2907+
syn match namedZ_UP_RRTypeList contained
2908+
\ /\c\<\(SOA\)\|\(SPF\)\|\(SRV\)\|\(TXT\)\|\(UID\)\|\(URI\)\>/
2909+
\ nextgroup=namedSemicolon
2910+
" 3-char RRTYpe name
2911+
syn match namedZ_UP_RRTypeList contained
2912+
\ /\c\<\(X25\)\|\(WKS\)\|\(ANY\)\>/
2913+
\ nextgroup=namedSemicolon
2914+
" 4-char RRTYpe name
2915+
syn match namedZ_UP_RRTypeList contained
2916+
\ /\c\<\(AAAA\)\|\(ATMA\)\|\(AXFR\)\|\(CERT\)\|\(GPOS\)\>/
2917+
\ nextgroup=namedSemicolon
2918+
" 4-char RRTYpe name
2919+
syn match namedZ_UP_RRTypeList contained
2920+
\ /\c\<\(ISDN\)\|\(IXFR\)\|\(NSAP\)\|\(NSEC\)\|\(NULL\)\>/
2921+
\ nextgroup=namedSemicolon
2922+
" 4-char RRTYpe name
2923+
syn match namedZ_UP_RRTypeList contained
2924+
\ /\c\<\(RKEY\)\|\(SINK\)\|\(TKEY\)\|\(TLSA\)\|\(TSIG\)\>/
2925+
\ nextgroup=namedSemicolon
2926+
" 5-char RRTYpe name
2927+
syn match namedZ_UP_RRTypeList contained
2928+
\ /\c\<\(AFSDB\)\|\(CNAME\)\|\(CSYNC\)\|\(DHCID\)\|\(DNAME\)\>/
2929+
\ nextgroup=namedSemicolon
2930+
" 5-char RRTYpe name
2931+
syn match namedZ_UP_RRTypeList contained
2932+
\ /\c\<\(EUI48\)\|\(EUI64\)\|\(HINFO\)\|\(MAILA\)\|\(MAILB\)\>/
2933+
\ nextgroup=namedSemicolon
2934+
" 5-char RRTYpe name
2935+
syn match namedZ_UP_RRTypeList contained
2936+
\ /\c\<\(MINFO\)\|\(NAPTR\)\|\(NINFO\)\|\(NSEC3\)\|\(RRSIG\)\>/
2937+
\ nextgroup=namedSemicolon
2938+
" 5-char RRTYpe name
2939+
syn match namedZ_UP_RRTypeList contained
2940+
\ /\c\<\(SSHFP\)\|\(UINFO\)\>/
2941+
\ nextgroup=namedSemicolon
2942+
" 6-char RRTYpe name
2943+
syn match namedZ_UP_RRTypeList contained
2944+
\ /\c\<\(DNSKEY\)\|\(NIMLOC\)\|\(SMIMEA\)\|\(TALINK\)\|\(UNSPEC\)\|\(ZONEMD\)\>/
2945+
\ nextgroup=namedSemicolon
2946+
" 7-char RRType name
2947+
syn match namedZ_UP_RRTypeList contained
2948+
\ /\c\<\(CDNSKEY\)\>/
2949+
\ nextgroup=namedSemicolon
2950+
" 8-char RRType name
2951+
syn match namedZ_UP_RRTypeList contained
2952+
\ /\c\<\(AMTRELAY\)\|\(IPSECKEY\)\|\(NSAP\-PTR\)\>/
2953+
\ nextgroup=namedSemicolon
2954+
" 10 or more char RRType name
2955+
syn match namedZ_UP_RRTypeList contained
2956+
\ /\c\<\(NSEC3PARAM\)\|\(OPENPGPKEY\)\>/
2957+
\ nextgroup=namedSemicolon
2958+
2959+
hi link namedZ_UP_KeyType namedHL_Type
2960+
syn match namedZ_UP_KeyType contained skipwhite skipnl skipempty
2961+
\ /\<\(6to4\-self\)\|\(krb5\-self\)\|\(krb5\-selfsub\)\|\(krb5\-subdomain\)\>/
2962+
\ nextgroup=
2963+
\ namedZ_UP_RRTypeList,
2964+
\ namedZ_UP_DomainName,
2965+
syn keyword namedZ_UP_KeyType contained skipwhite skipnl skipempty
2966+
\ external
2967+
\ ms-self
2968+
\ ms-selfsub
2969+
\ ms-subdomain
2970+
\ name
2971+
\ self
2972+
\ selfsub
2973+
\ selfwild
2974+
\ subdomain
2975+
\ tcp-self wildcard zonesub
2976+
\ nextgroup=
2977+
\ namedZ_UP_RRTypeList,
2978+
\ namedZ_UP_DomainName,
2979+
2980+
hi link namedZ_UP_KeyName namedHL_KeyName
2981+
syn match namedZ_UP_KeyName contained
2982+
\ /\<[0-9A-Za-z][-0-9A-Za-z\.\-_]\+\>/
2983+
\ skipwhite skipnl skipempty
2984+
\ nextgroup=namedZ_UP_KeyType
2985+
2986+
hi link namedZ_UP_Action namedHL_Builtin
2987+
syn keyword namedZ_UP_Action contained skipwhite skipnl skipempty
2988+
\ deny
2989+
\ grant
2990+
\ nextgroup=
2991+
\ namedZ_UP_KeyName
2992+
2993+
syn region namedZ_UP_Section contained start=+{+ end=+}+
2994+
\ skipwhite skipnl skipempty
2995+
\ contains=
2996+
\ namedZ_UP_Action,
2997+
\ namedComment,
2998+
\ namedInclude
2999+
\ nextgroup=
3000+
\ namedSemicolon
3001+
3002+
hi link namedZ_UP_Local namedHL_Builtin
3003+
syn keyword namedZ_UP_Local contained local skipwhite skipnl skipempty
3004+
\ nextgroup=
3005+
\ namedSemicolon
3006+
3007+
hi link namedZ_UpdatePolicy namedHL_Option
3008+
syn keyword namedZ_UpdatePolicy contained update-policy
3009+
\ skipwhite skipnl skipempty
3010+
\ nextgroup=
3011+
\ namedZ_UP_Local,
3012+
\ namedZ_UP_Section,
3013+
\ namedComment,
3014+
\ namedInclude
3015+
28563016
" syn keyword namedZ_Keywords update-policy
28573017

28583018
" syn keyword namedO_KeywordsObsoleted acache-cleaning-interval
@@ -6097,6 +6257,7 @@ syn region namedStmt_ZoneSection contained start=+{+ end=+}+
60976257
\ namedOVZ_SigSigning,
60986258
\ namedOSVZ_TransferSource,
60996259
\ namedOSVZ_TransferSourceIP6,
6260+
\ namedZ_UpdatePolicy,
61006261
\ namedOVZ_ZoneStat,
61016262
\ namedZ_ZoneType,
61026263
\ namedParenError

test/example-9.16-named.conf

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,11 +1325,6 @@ view "redview" {
13251325
# trust-anchor-telemtry { string integer integer integer quoted_string; };
13261326
try-tcp-refresh yes;
13271327
update-check-ksk yes;
1328-
# update-policy {
1329-
# grant ddns-sha256-arca-a-key self arca.example.com A;
1330-
# grant ddns-sha256-arca-a-key self example.com SOA;
1331-
# grant ddns-sha256-arca-a-key self arca.example.com PTR;
1332-
# };
13331328
use-alt-transfer-source yes;
13341329
v6-bias 5;
13351330
validate-except { example.net; };
@@ -1414,10 +1409,10 @@ zone zone-red {
14141409
dnssec-secure-to-insecure no;
14151410
dnssec-update-mode no-resign;
14161411
file "/var/log/pittance.log";
1417-
files *; // obsoleted?
1418-
files default; // obsoleted?
1419-
files unlimited; // obsoleted?
1420-
files 99; // obsoleted?
1412+
files *;
1413+
files default;
1414+
files unlimited;
1415+
files 99;
14211416
forward only; // only in top-level zone statement, and not inside view?
14221417
forwarders port 53 dscp 53 { 1.1.1.1 port 53 dscp 53; };
14231418
/* ZZZ ZONE */
@@ -1473,6 +1468,15 @@ zone zone-red {
14731468
type secondary;
14741469
update-check-ksk yes;
14751470
update-policy local;
1471+
update-policy {
1472+
grant ddns-sha256-arca-a-key self nsec3;
1473+
grant ddns-sha256-arca-a-key self A;
1474+
grant ddns-sha256-arca-a-key self ANY;
1475+
grant ddns-sha256-arca-a-key self arca.example.com Any;
1476+
grant ddns-sha256-arca-a-key self arca.example.com A6;
1477+
grant ddns-sha256-arca-a-key self example.com SOA;
1478+
grant ddns-sha256-arca-a-key self arca.example.com PTR;
1479+
};
14761480
use-alt-transfer-source yes;
14771481
zero-no-soa-ttl yes;
14781482
zone-statistics full;

0 commit comments

Comments
 (0)