xref: /minix3/external/bsd/bind/dist/doc/misc/options (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek
2*00b67f09SDavid van MoolenbroekThis is a summary of the named.conf options supported by
3*00b67f09SDavid van Moolenbroekthis version of BIND 9.
4*00b67f09SDavid van Moolenbroek
5*00b67f09SDavid van Moolenbroekacl <string> { <address_match_element>; ... };
6*00b67f09SDavid van Moolenbroek
7*00b67f09SDavid van Moolenbroekcontrols {
8*00b67f09SDavid van Moolenbroek        inet ( <ipv4_address> | <ipv6_address> | * ) [ port ( <integer> | *
9*00b67f09SDavid van Moolenbroek            ) ] allow { <address_match_element>; ... } [ keys { <string>;
10*00b67f09SDavid van Moolenbroek            ... } ];
11*00b67f09SDavid van Moolenbroek        unix <quoted_string> perm <integer> owner <integer> group <integer>
12*00b67f09SDavid van Moolenbroek            [ keys { <string>; ... } ];
13*00b67f09SDavid van Moolenbroek};
14*00b67f09SDavid van Moolenbroek
15*00b67f09SDavid van Moolenbroekdlz <string> {
16*00b67f09SDavid van Moolenbroek        database <string>;
17*00b67f09SDavid van Moolenbroek        search <boolean>;
18*00b67f09SDavid van Moolenbroek};
19*00b67f09SDavid van Moolenbroek
20*00b67f09SDavid van Moolenbroekkey <string> {
21*00b67f09SDavid van Moolenbroek        algorithm <string>;
22*00b67f09SDavid van Moolenbroek        secret <string>;
23*00b67f09SDavid van Moolenbroek};
24*00b67f09SDavid van Moolenbroek
25*00b67f09SDavid van Moolenbroeklogging {
26*00b67f09SDavid van Moolenbroek        category <string> { <string>; ... };
27*00b67f09SDavid van Moolenbroek        channel <string> {
28*00b67f09SDavid van Moolenbroek                file <quoted_string> [ versions ( "unlimited" | <integer> )
29*00b67f09SDavid van Moolenbroek                    ] [ size <size> ];
30*00b67f09SDavid van Moolenbroek                null;
31*00b67f09SDavid van Moolenbroek                print-category <boolean>;
32*00b67f09SDavid van Moolenbroek                print-severity <boolean>;
33*00b67f09SDavid van Moolenbroek                print-time <boolean>;
34*00b67f09SDavid van Moolenbroek                severity <log_severity>;
35*00b67f09SDavid van Moolenbroek                stderr;
36*00b67f09SDavid van Moolenbroek                syslog <optional_facility>;
37*00b67f09SDavid van Moolenbroek        };
38*00b67f09SDavid van Moolenbroek};
39*00b67f09SDavid van Moolenbroek
40*00b67f09SDavid van Moolenbroeklwres {
41*00b67f09SDavid van Moolenbroek        listen-on [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
42*00b67f09SDavid van Moolenbroek            | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
43*00b67f09SDavid van Moolenbroek        ndots <integer>;
44*00b67f09SDavid van Moolenbroek        search { <string>; ... };
45*00b67f09SDavid van Moolenbroek        view <string> <optional_class>;
46*00b67f09SDavid van Moolenbroek};
47*00b67f09SDavid van Moolenbroek
48*00b67f09SDavid van Moolenbroekmanaged-keys { <string> <string> <integer> <integer> <integer>
49*00b67f09SDavid van Moolenbroek    <quoted_string>; ... };
50*00b67f09SDavid van Moolenbroek
51*00b67f09SDavid van Moolenbroekmasters <string> [ port <integer> ] [ dscp <integer> ] { ( <masters> |
52*00b67f09SDavid van Moolenbroek    <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] )
53*00b67f09SDavid van Moolenbroek    [ key <string> ]; ... };
54*00b67f09SDavid van Moolenbroek
55*00b67f09SDavid van Moolenbroekoptions {
56*00b67f09SDavid van Moolenbroek        acache-cleaning-interval <integer>;
57*00b67f09SDavid van Moolenbroek        acache-enable <boolean>;
58*00b67f09SDavid van Moolenbroek        additional-from-auth <boolean>;
59*00b67f09SDavid van Moolenbroek        additional-from-cache <boolean>;
60*00b67f09SDavid van Moolenbroek        allow-new-zones <boolean>;
61*00b67f09SDavid van Moolenbroek        allow-notify { <address_match_element>; ... };
62*00b67f09SDavid van Moolenbroek        allow-query { <address_match_element>; ... };
63*00b67f09SDavid van Moolenbroek        allow-query-cache { <address_match_element>; ... };
64*00b67f09SDavid van Moolenbroek        allow-query-cache-on { <address_match_element>; ... };
65*00b67f09SDavid van Moolenbroek        allow-query-on { <address_match_element>; ... };
66*00b67f09SDavid van Moolenbroek        allow-recursion { <address_match_element>; ... };
67*00b67f09SDavid van Moolenbroek        allow-recursion-on { <address_match_element>; ... };
68*00b67f09SDavid van Moolenbroek        allow-transfer { <address_match_element>; ... };
69*00b67f09SDavid van Moolenbroek        allow-update { <address_match_element>; ... };
70*00b67f09SDavid van Moolenbroek        allow-update-forwarding { <address_match_element>; ... };
71*00b67f09SDavid van Moolenbroek        allow-v6-synthesis { <address_match_element>; ... }; // obsolete
72*00b67f09SDavid van Moolenbroek        also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
73*00b67f09SDavid van Moolenbroek            <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
74*00b67f09SDavid van Moolenbroek            <integer> ] ) [ key <string> ]; ... };
75*00b67f09SDavid van Moolenbroek        alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
76*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
77*00b67f09SDavid van Moolenbroek        alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
78*00b67f09SDavid van Moolenbroek            * ) ] [ dscp <integer> ];
79*00b67f09SDavid van Moolenbroek        attach-cache <string>;
80*00b67f09SDavid van Moolenbroek        auth-nxdomain <boolean>; // default changed
81*00b67f09SDavid van Moolenbroek        auto-dnssec ( allow | maintain | off );
82*00b67f09SDavid van Moolenbroek        automatic-interface-scan <boolean>;
83*00b67f09SDavid van Moolenbroek        avoid-v4-udp-ports { <portrange>; ... };
84*00b67f09SDavid van Moolenbroek        avoid-v6-udp-ports { <portrange>; ... };
85*00b67f09SDavid van Moolenbroek        bindkeys-file <quoted_string>;
86*00b67f09SDavid van Moolenbroek        blackhole { <address_match_element>; ... };
87*00b67f09SDavid van Moolenbroek        cache-file <quoted_string>;
88*00b67f09SDavid van Moolenbroek        check-dup-records ( fail | warn | ignore );
89*00b67f09SDavid van Moolenbroek        check-integrity <boolean>;
90*00b67f09SDavid van Moolenbroek        check-mx ( fail | warn | ignore );
91*00b67f09SDavid van Moolenbroek        check-mx-cname ( fail | warn | ignore );
92*00b67f09SDavid van Moolenbroek        check-names ( master | slave | response ) ( fail | warn | ignore );
93*00b67f09SDavid van Moolenbroek        check-sibling <boolean>;
94*00b67f09SDavid van Moolenbroek        check-spf ( warn | ignore );
95*00b67f09SDavid van Moolenbroek        check-srv-cname ( fail | warn | ignore );
96*00b67f09SDavid van Moolenbroek        check-wildcard <boolean>;
97*00b67f09SDavid van Moolenbroek        cleaning-interval <integer>;
98*00b67f09SDavid van Moolenbroek        clients-per-query <integer>;
99*00b67f09SDavid van Moolenbroek        coresize <size>;
100*00b67f09SDavid van Moolenbroek        datasize <size>;
101*00b67f09SDavid van Moolenbroek        deallocate-on-exit <boolean>; // obsolete
102*00b67f09SDavid van Moolenbroek        deny-answer-addresses { <address_match_element>; ... } [
103*00b67f09SDavid van Moolenbroek            except-from { <quoted_string>; ... } ];
104*00b67f09SDavid van Moolenbroek        deny-answer-aliases { <quoted_string>; ... } [ except-from {
105*00b67f09SDavid van Moolenbroek            <quoted_string>; ... } ];
106*00b67f09SDavid van Moolenbroek        dialup <dialuptype>;
107*00b67f09SDavid van Moolenbroek        directory <quoted_string>;
108*00b67f09SDavid van Moolenbroek        disable-algorithms <string> { <string>; ... };
109*00b67f09SDavid van Moolenbroek        disable-ds-digests <string> { <string>; ... };
110*00b67f09SDavid van Moolenbroek        disable-empty-zone <string>;
111*00b67f09SDavid van Moolenbroek        dns64 <netprefix> {
112*00b67f09SDavid van Moolenbroek                break-dnssec <boolean>;
113*00b67f09SDavid van Moolenbroek                clients { <address_match_element>; ... };
114*00b67f09SDavid van Moolenbroek                exclude { <address_match_element>; ... };
115*00b67f09SDavid van Moolenbroek                mapped { <address_match_element>; ... };
116*00b67f09SDavid van Moolenbroek                recursive-only <boolean>;
117*00b67f09SDavid van Moolenbroek                suffix <ipv6_address>;
118*00b67f09SDavid van Moolenbroek        };
119*00b67f09SDavid van Moolenbroek        dns64-contact <string>;
120*00b67f09SDavid van Moolenbroek        dns64-server <string>;
121*00b67f09SDavid van Moolenbroek        dnssec-accept-expired <boolean>;
122*00b67f09SDavid van Moolenbroek        dnssec-dnskey-kskonly <boolean>;
123*00b67f09SDavid van Moolenbroek        dnssec-enable <boolean>;
124*00b67f09SDavid van Moolenbroek        dnssec-loadkeys-interval <integer>;
125*00b67f09SDavid van Moolenbroek        dnssec-lookaside ( <string> trust-anchor <string> | auto | no );
126*00b67f09SDavid van Moolenbroek        dnssec-must-be-secure <string> <boolean>;
127*00b67f09SDavid van Moolenbroek        dnssec-secure-to-insecure <boolean>;
128*00b67f09SDavid van Moolenbroek        dnssec-update-mode ( maintain | no-resign );
129*00b67f09SDavid van Moolenbroek        dnssec-validation ( yes | no | auto );
130*00b67f09SDavid van Moolenbroek        dscp <integer>;
131*00b67f09SDavid van Moolenbroek        dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
132*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] | <ipv4_address> [ port
133*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] | <ipv6_address> [ port
134*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] ); ... };
135*00b67f09SDavid van Moolenbroek        dump-file <quoted_string>;
136*00b67f09SDavid van Moolenbroek        edns-udp-size <integer>;
137*00b67f09SDavid van Moolenbroek        empty-contact <string>;
138*00b67f09SDavid van Moolenbroek        empty-server <string>;
139*00b67f09SDavid van Moolenbroek        empty-zones-enable <boolean>;
140*00b67f09SDavid van Moolenbroek        fake-iquery <boolean>; // obsolete
141*00b67f09SDavid van Moolenbroek        fetch-glue <boolean>; // obsolete
142*00b67f09SDavid van Moolenbroek        files <size>;
143*00b67f09SDavid van Moolenbroek        filter-aaaa { <address_match_element>; ... }; // not configured
144*00b67f09SDavid van Moolenbroek        filter-aaaa-on-v4 <filter_aaaa>; // not configured
145*00b67f09SDavid van Moolenbroek        filter-aaaa-on-v6 <filter_aaaa>; // not configured
146*00b67f09SDavid van Moolenbroek        flush-zones-on-shutdown <boolean>;
147*00b67f09SDavid van Moolenbroek        forward ( first | only );
148*00b67f09SDavid van Moolenbroek        forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
149*00b67f09SDavid van Moolenbroek            | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
150*00b67f09SDavid van Moolenbroek        geoip-directory ( <quoted_string> | none ); // not configured
151*00b67f09SDavid van Moolenbroek        has-old-clients <boolean>; // obsolete
152*00b67f09SDavid van Moolenbroek        heartbeat-interval <integer>;
153*00b67f09SDavid van Moolenbroek        host-statistics <boolean>; // not implemented
154*00b67f09SDavid van Moolenbroek        host-statistics-max <integer>; // not implemented
155*00b67f09SDavid van Moolenbroek        hostname ( <quoted_string> | none );
156*00b67f09SDavid van Moolenbroek        inline-signing <boolean>;
157*00b67f09SDavid van Moolenbroek        interface-interval <integer>;
158*00b67f09SDavid van Moolenbroek        ixfr-from-differences <ixfrdiff>;
159*00b67f09SDavid van Moolenbroek        key-directory <quoted_string>;
160*00b67f09SDavid van Moolenbroek        lame-ttl <integer>;
161*00b67f09SDavid van Moolenbroek        listen-on [ port <integer> ] [ dscp <integer> ] {
162*00b67f09SDavid van Moolenbroek            <address_match_element>; ... };
163*00b67f09SDavid van Moolenbroek        listen-on-v6 [ port <integer> ] [ dscp <integer> ] {
164*00b67f09SDavid van Moolenbroek            <address_match_element>; ... };
165*00b67f09SDavid van Moolenbroek        maintain-ixfr-base <boolean>; // obsolete
166*00b67f09SDavid van Moolenbroek        managed-keys-directory <quoted_string>;
167*00b67f09SDavid van Moolenbroek        masterfile-format ( text | raw | map );
168*00b67f09SDavid van Moolenbroek        match-mapped-addresses <boolean>;
169*00b67f09SDavid van Moolenbroek        max-acache-size <size_no_default>;
170*00b67f09SDavid van Moolenbroek        max-cache-size <size_no_default>;
171*00b67f09SDavid van Moolenbroek        max-cache-ttl <integer>;
172*00b67f09SDavid van Moolenbroek        max-clients-per-query <integer>;
173*00b67f09SDavid van Moolenbroek        max-ixfr-log-size <size>; // obsolete
174*00b67f09SDavid van Moolenbroek        max-journal-size <size_no_default>;
175*00b67f09SDavid van Moolenbroek        max-ncache-ttl <integer>;
176*00b67f09SDavid van Moolenbroek        max-recursion-depth <integer>;
177*00b67f09SDavid van Moolenbroek        max-recursion-queries <integer>;
178*00b67f09SDavid van Moolenbroek        max-refresh-time <integer>;
179*00b67f09SDavid van Moolenbroek        max-retry-time <integer>;
180*00b67f09SDavid van Moolenbroek        max-rsa-exponent-size <integer>;
181*00b67f09SDavid van Moolenbroek        max-transfer-idle-in <integer>;
182*00b67f09SDavid van Moolenbroek        max-transfer-idle-out <integer>;
183*00b67f09SDavid van Moolenbroek        max-transfer-time-in <integer>;
184*00b67f09SDavid van Moolenbroek        max-transfer-time-out <integer>;
185*00b67f09SDavid van Moolenbroek        max-udp-size <integer>;
186*00b67f09SDavid van Moolenbroek        max-zone-ttl <maxttl_no_default>;
187*00b67f09SDavid van Moolenbroek        memstatistics <boolean>;
188*00b67f09SDavid van Moolenbroek        memstatistics-file <quoted_string>;
189*00b67f09SDavid van Moolenbroek        min-refresh-time <integer>;
190*00b67f09SDavid van Moolenbroek        min-retry-time <integer>;
191*00b67f09SDavid van Moolenbroek        min-roots <integer>; // not implemented
192*00b67f09SDavid van Moolenbroek        minimal-responses <boolean>;
193*00b67f09SDavid van Moolenbroek        multi-master <boolean>;
194*00b67f09SDavid van Moolenbroek        multiple-cnames <boolean>; // obsolete
195*00b67f09SDavid van Moolenbroek        named-xfer <quoted_string>; // obsolete
196*00b67f09SDavid van Moolenbroek        no-case-compress { <address_match_element>; ... };
197*00b67f09SDavid van Moolenbroek        nosit-udp-size <integer>; // not configured
198*00b67f09SDavid van Moolenbroek        notify <notifytype>;
199*00b67f09SDavid van Moolenbroek        notify-delay <integer>;
200*00b67f09SDavid van Moolenbroek        notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
201*00b67f09SDavid van Moolenbroek            dscp <integer> ];
202*00b67f09SDavid van Moolenbroek        notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
203*00b67f09SDavid van Moolenbroek            [ dscp <integer> ];
204*00b67f09SDavid van Moolenbroek        notify-to-soa <boolean>;
205*00b67f09SDavid van Moolenbroek        nsec3-test-zone <boolean>; // test only
206*00b67f09SDavid van Moolenbroek        pid-file ( <quoted_string> | none );
207*00b67f09SDavid van Moolenbroek        port <integer>;
208*00b67f09SDavid van Moolenbroek        preferred-glue <string>;
209*00b67f09SDavid van Moolenbroek        prefetch <integer> [ <integer> ];
210*00b67f09SDavid van Moolenbroek        provide-ixfr <boolean>;
211*00b67f09SDavid van Moolenbroek        query-source <querysource4>;
212*00b67f09SDavid van Moolenbroek        query-source-v6 <querysource6>;
213*00b67f09SDavid van Moolenbroek        querylog <boolean>;
214*00b67f09SDavid van Moolenbroek        queryport-pool-ports <integer>; // obsolete
215*00b67f09SDavid van Moolenbroek        queryport-pool-updateinterval <integer>; // obsolete
216*00b67f09SDavid van Moolenbroek        random-device <quoted_string>;
217*00b67f09SDavid van Moolenbroek        rate-limit {
218*00b67f09SDavid van Moolenbroek                all-per-second <integer>;
219*00b67f09SDavid van Moolenbroek                errors-per-second <integer>;
220*00b67f09SDavid van Moolenbroek                exempt-clients { <address_match_element>; ... };
221*00b67f09SDavid van Moolenbroek                ipv4-prefix-length <integer>;
222*00b67f09SDavid van Moolenbroek                ipv6-prefix-length <integer>;
223*00b67f09SDavid van Moolenbroek                log-only <boolean>;
224*00b67f09SDavid van Moolenbroek                max-table-size <integer>;
225*00b67f09SDavid van Moolenbroek                min-table-size <integer>;
226*00b67f09SDavid van Moolenbroek                nodata-per-second <integer>;
227*00b67f09SDavid van Moolenbroek                nxdomains-per-second <integer>;
228*00b67f09SDavid van Moolenbroek                qps-scale <integer>;
229*00b67f09SDavid van Moolenbroek                referrals-per-second <integer>;
230*00b67f09SDavid van Moolenbroek                responses-per-second <integer>;
231*00b67f09SDavid van Moolenbroek                slip <integer>;
232*00b67f09SDavid van Moolenbroek                window <integer>;
233*00b67f09SDavid van Moolenbroek        };
234*00b67f09SDavid van Moolenbroek        recursing-file <quoted_string>;
235*00b67f09SDavid van Moolenbroek        recursion <boolean>;
236*00b67f09SDavid van Moolenbroek        recursive-clients <integer>;
237*00b67f09SDavid van Moolenbroek        request-ixfr <boolean>;
238*00b67f09SDavid van Moolenbroek        request-nsid <boolean>;
239*00b67f09SDavid van Moolenbroek        request-sit <boolean>; // not configured
240*00b67f09SDavid van Moolenbroek        reserved-sockets <integer>;
241*00b67f09SDavid van Moolenbroek        resolver-query-timeout <integer>;
242*00b67f09SDavid van Moolenbroek        response-policy { zone <quoted_string> [ policy ( given | disabled
243*00b67f09SDavid van Moolenbroek            | passthru | no-op | drop | tcp-only | nxdomain | nodata |
244*00b67f09SDavid van Moolenbroek            cname <quoted_string> ) ] [ recursive-only <boolean> ] [
245*00b67f09SDavid van Moolenbroek            max-policy-ttl <integer> ]; ... } [ recursive-only <boolean> ]
246*00b67f09SDavid van Moolenbroek            [ break-dnssec <boolean> ] [ max-policy-ttl <integer> ] [
247*00b67f09SDavid van Moolenbroek            min-ns-dots <integer> ] [ qname-wait-recurse <boolean> ];
248*00b67f09SDavid van Moolenbroek        rfc2308-type1 <boolean>; // not yet implemented
249*00b67f09SDavid van Moolenbroek        root-delegation-only [ exclude { <quoted_string>; ... } ];
250*00b67f09SDavid van Moolenbroek        rrset-order { [ class <string> ] [ type <string> ] [ name
251*00b67f09SDavid van Moolenbroek            <quoted_string> ] <string> <string>; ... };
252*00b67f09SDavid van Moolenbroek        secroots-file <quoted_string>;
253*00b67f09SDavid van Moolenbroek        serial-queries <integer>; // obsolete
254*00b67f09SDavid van Moolenbroek        serial-query-rate <integer>;
255*00b67f09SDavid van Moolenbroek        serial-update-method ( increment | unixtime );
256*00b67f09SDavid van Moolenbroek        server-id ( <quoted_string> | none | hostname );
257*00b67f09SDavid van Moolenbroek        session-keyalg <string>;
258*00b67f09SDavid van Moolenbroek        session-keyfile ( <quoted_string> | none );
259*00b67f09SDavid van Moolenbroek        session-keyname <string>;
260*00b67f09SDavid van Moolenbroek        sig-signing-nodes <integer>;
261*00b67f09SDavid van Moolenbroek        sig-signing-signatures <integer>;
262*00b67f09SDavid van Moolenbroek        sig-signing-type <integer>;
263*00b67f09SDavid van Moolenbroek        sig-validity-interval <integer> [ <integer> ];
264*00b67f09SDavid van Moolenbroek        sit-secret <string>; // not configured
265*00b67f09SDavid van Moolenbroek        sortlist { <address_match_element>; ... };
266*00b67f09SDavid van Moolenbroek        stacksize <size>;
267*00b67f09SDavid van Moolenbroek        statistics-file <quoted_string>;
268*00b67f09SDavid van Moolenbroek        statistics-interval <integer>; // not yet implemented
269*00b67f09SDavid van Moolenbroek        suppress-initial-notify <boolean>; // not yet implemented
270*00b67f09SDavid van Moolenbroek        tcp-clients <integer>;
271*00b67f09SDavid van Moolenbroek        tcp-listen-queue <integer>;
272*00b67f09SDavid van Moolenbroek        tkey-dhkey <quoted_string> <integer>;
273*00b67f09SDavid van Moolenbroek        tkey-domain <quoted_string>;
274*00b67f09SDavid van Moolenbroek        tkey-gssapi-credential <quoted_string>;
275*00b67f09SDavid van Moolenbroek        tkey-gssapi-keytab <quoted_string>;
276*00b67f09SDavid van Moolenbroek        topology { <address_match_element>; ... }; // not implemented
277*00b67f09SDavid van Moolenbroek        transfer-format ( many-answers | one-answer );
278*00b67f09SDavid van Moolenbroek        transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
279*00b67f09SDavid van Moolenbroek            dscp <integer> ];
280*00b67f09SDavid van Moolenbroek        transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
281*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
282*00b67f09SDavid van Moolenbroek        transfers-in <integer>;
283*00b67f09SDavid van Moolenbroek        transfers-out <integer>;
284*00b67f09SDavid van Moolenbroek        transfers-per-ns <integer>;
285*00b67f09SDavid van Moolenbroek        treat-cr-as-space <boolean>; // obsolete
286*00b67f09SDavid van Moolenbroek        try-tcp-refresh <boolean>;
287*00b67f09SDavid van Moolenbroek        update-check-ksk <boolean>;
288*00b67f09SDavid van Moolenbroek        use-alt-transfer-source <boolean>;
289*00b67f09SDavid van Moolenbroek        use-id-pool <boolean>; // obsolete
290*00b67f09SDavid van Moolenbroek        use-ixfr <boolean>;
291*00b67f09SDavid van Moolenbroek        use-queryport-pool <boolean>; // obsolete
292*00b67f09SDavid van Moolenbroek        use-v4-udp-ports { <portrange>; ... };
293*00b67f09SDavid van Moolenbroek        use-v6-udp-ports { <portrange>; ... };
294*00b67f09SDavid van Moolenbroek        version ( <quoted_string> | none );
295*00b67f09SDavid van Moolenbroek        zero-no-soa-ttl <boolean>;
296*00b67f09SDavid van Moolenbroek        zero-no-soa-ttl-cache <boolean>;
297*00b67f09SDavid van Moolenbroek        zone-statistics <zonestat>;
298*00b67f09SDavid van Moolenbroek};
299*00b67f09SDavid van Moolenbroek
300*00b67f09SDavid van Moolenbroekserver <netprefix> {
301*00b67f09SDavid van Moolenbroek        bogus <boolean>;
302*00b67f09SDavid van Moolenbroek        edns <boolean>;
303*00b67f09SDavid van Moolenbroek        edns-udp-size <integer>;
304*00b67f09SDavid van Moolenbroek        keys <server_key>;
305*00b67f09SDavid van Moolenbroek        max-udp-size <integer>;
306*00b67f09SDavid van Moolenbroek        notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
307*00b67f09SDavid van Moolenbroek            dscp <integer> ];
308*00b67f09SDavid van Moolenbroek        notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
309*00b67f09SDavid van Moolenbroek            [ dscp <integer> ];
310*00b67f09SDavid van Moolenbroek        provide-ixfr <boolean>;
311*00b67f09SDavid van Moolenbroek        query-source <querysource4>;
312*00b67f09SDavid van Moolenbroek        query-source-v6 <querysource6>;
313*00b67f09SDavid van Moolenbroek        request-ixfr <boolean>;
314*00b67f09SDavid van Moolenbroek        request-nsid <boolean>;
315*00b67f09SDavid van Moolenbroek        request-sit <boolean>; // not configured
316*00b67f09SDavid van Moolenbroek        support-ixfr <boolean>; // obsolete
317*00b67f09SDavid van Moolenbroek        transfer-format ( many-answers | one-answer );
318*00b67f09SDavid van Moolenbroek        transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
319*00b67f09SDavid van Moolenbroek            dscp <integer> ];
320*00b67f09SDavid van Moolenbroek        transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
321*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
322*00b67f09SDavid van Moolenbroek        transfers <integer>;
323*00b67f09SDavid van Moolenbroek};
324*00b67f09SDavid van Moolenbroek
325*00b67f09SDavid van Moolenbroekstatistics-channels {
326*00b67f09SDavid van Moolenbroek        inet ( <ipv4_address> | <ipv6_address> | * ) [ port ( <integer> | *
327*00b67f09SDavid van Moolenbroek            ) ] [ allow { <address_match_element>; ... } ];
328*00b67f09SDavid van Moolenbroek};
329*00b67f09SDavid van Moolenbroek
330*00b67f09SDavid van Moolenbroektrusted-keys { <string> <integer> <integer> <integer> <quoted_string>; ... };
331*00b67f09SDavid van Moolenbroek
332*00b67f09SDavid van Moolenbroekview <string> <optional_class> {
333*00b67f09SDavid van Moolenbroek        acache-cleaning-interval <integer>;
334*00b67f09SDavid van Moolenbroek        acache-enable <boolean>;
335*00b67f09SDavid van Moolenbroek        additional-from-auth <boolean>;
336*00b67f09SDavid van Moolenbroek        additional-from-cache <boolean>;
337*00b67f09SDavid van Moolenbroek        allow-new-zones <boolean>;
338*00b67f09SDavid van Moolenbroek        allow-notify { <address_match_element>; ... };
339*00b67f09SDavid van Moolenbroek        allow-query { <address_match_element>; ... };
340*00b67f09SDavid van Moolenbroek        allow-query-cache { <address_match_element>; ... };
341*00b67f09SDavid van Moolenbroek        allow-query-cache-on { <address_match_element>; ... };
342*00b67f09SDavid van Moolenbroek        allow-query-on { <address_match_element>; ... };
343*00b67f09SDavid van Moolenbroek        allow-recursion { <address_match_element>; ... };
344*00b67f09SDavid van Moolenbroek        allow-recursion-on { <address_match_element>; ... };
345*00b67f09SDavid van Moolenbroek        allow-transfer { <address_match_element>; ... };
346*00b67f09SDavid van Moolenbroek        allow-update { <address_match_element>; ... };
347*00b67f09SDavid van Moolenbroek        allow-update-forwarding { <address_match_element>; ... };
348*00b67f09SDavid van Moolenbroek        allow-v6-synthesis { <address_match_element>; ... }; // obsolete
349*00b67f09SDavid van Moolenbroek        also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
350*00b67f09SDavid van Moolenbroek            <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
351*00b67f09SDavid van Moolenbroek            <integer> ] ) [ key <string> ]; ... };
352*00b67f09SDavid van Moolenbroek        alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
353*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
354*00b67f09SDavid van Moolenbroek        alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
355*00b67f09SDavid van Moolenbroek            * ) ] [ dscp <integer> ];
356*00b67f09SDavid van Moolenbroek        attach-cache <string>;
357*00b67f09SDavid van Moolenbroek        auth-nxdomain <boolean>; // default changed
358*00b67f09SDavid van Moolenbroek        auto-dnssec ( allow | maintain | off );
359*00b67f09SDavid van Moolenbroek        cache-file <quoted_string>;
360*00b67f09SDavid van Moolenbroek        check-dup-records ( fail | warn | ignore );
361*00b67f09SDavid van Moolenbroek        check-integrity <boolean>;
362*00b67f09SDavid van Moolenbroek        check-mx ( fail | warn | ignore );
363*00b67f09SDavid van Moolenbroek        check-mx-cname ( fail | warn | ignore );
364*00b67f09SDavid van Moolenbroek        check-names ( master | slave | response ) ( fail | warn | ignore );
365*00b67f09SDavid van Moolenbroek        check-sibling <boolean>;
366*00b67f09SDavid van Moolenbroek        check-spf ( warn | ignore );
367*00b67f09SDavid van Moolenbroek        check-srv-cname ( fail | warn | ignore );
368*00b67f09SDavid van Moolenbroek        check-wildcard <boolean>;
369*00b67f09SDavid van Moolenbroek        cleaning-interval <integer>;
370*00b67f09SDavid van Moolenbroek        clients-per-query <integer>;
371*00b67f09SDavid van Moolenbroek        deny-answer-addresses { <address_match_element>; ... } [
372*00b67f09SDavid van Moolenbroek            except-from { <quoted_string>; ... } ];
373*00b67f09SDavid van Moolenbroek        deny-answer-aliases { <quoted_string>; ... } [ except-from {
374*00b67f09SDavid van Moolenbroek            <quoted_string>; ... } ];
375*00b67f09SDavid van Moolenbroek        dialup <dialuptype>;
376*00b67f09SDavid van Moolenbroek        disable-algorithms <string> { <string>; ... };
377*00b67f09SDavid van Moolenbroek        disable-ds-digests <string> { <string>; ... };
378*00b67f09SDavid van Moolenbroek        disable-empty-zone <string>;
379*00b67f09SDavid van Moolenbroek        dlz <string> {
380*00b67f09SDavid van Moolenbroek                database <string>;
381*00b67f09SDavid van Moolenbroek                search <boolean>;
382*00b67f09SDavid van Moolenbroek        };
383*00b67f09SDavid van Moolenbroek        dns64 <netprefix> {
384*00b67f09SDavid van Moolenbroek                break-dnssec <boolean>;
385*00b67f09SDavid van Moolenbroek                clients { <address_match_element>; ... };
386*00b67f09SDavid van Moolenbroek                exclude { <address_match_element>; ... };
387*00b67f09SDavid van Moolenbroek                mapped { <address_match_element>; ... };
388*00b67f09SDavid van Moolenbroek                recursive-only <boolean>;
389*00b67f09SDavid van Moolenbroek                suffix <ipv6_address>;
390*00b67f09SDavid van Moolenbroek        };
391*00b67f09SDavid van Moolenbroek        dns64-contact <string>;
392*00b67f09SDavid van Moolenbroek        dns64-server <string>;
393*00b67f09SDavid van Moolenbroek        dnssec-accept-expired <boolean>;
394*00b67f09SDavid van Moolenbroek        dnssec-dnskey-kskonly <boolean>;
395*00b67f09SDavid van Moolenbroek        dnssec-enable <boolean>;
396*00b67f09SDavid van Moolenbroek        dnssec-loadkeys-interval <integer>;
397*00b67f09SDavid van Moolenbroek        dnssec-lookaside ( <string> trust-anchor <string> | auto | no );
398*00b67f09SDavid van Moolenbroek        dnssec-must-be-secure <string> <boolean>;
399*00b67f09SDavid van Moolenbroek        dnssec-secure-to-insecure <boolean>;
400*00b67f09SDavid van Moolenbroek        dnssec-update-mode ( maintain | no-resign );
401*00b67f09SDavid van Moolenbroek        dnssec-validation ( yes | no | auto );
402*00b67f09SDavid van Moolenbroek        dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
403*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] | <ipv4_address> [ port
404*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] | <ipv6_address> [ port
405*00b67f09SDavid van Moolenbroek            <integer> ] [ dscp <integer> ] ); ... };
406*00b67f09SDavid van Moolenbroek        edns-udp-size <integer>;
407*00b67f09SDavid van Moolenbroek        empty-contact <string>;
408*00b67f09SDavid van Moolenbroek        empty-server <string>;
409*00b67f09SDavid van Moolenbroek        empty-zones-enable <boolean>;
410*00b67f09SDavid van Moolenbroek        fetch-glue <boolean>; // obsolete
411*00b67f09SDavid van Moolenbroek        filter-aaaa { <address_match_element>; ... }; // not configured
412*00b67f09SDavid van Moolenbroek        filter-aaaa-on-v4 <filter_aaaa>; // not configured
413*00b67f09SDavid van Moolenbroek        filter-aaaa-on-v6 <filter_aaaa>; // not configured
414*00b67f09SDavid van Moolenbroek        forward ( first | only );
415*00b67f09SDavid van Moolenbroek        forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
416*00b67f09SDavid van Moolenbroek            | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
417*00b67f09SDavid van Moolenbroek        inline-signing <boolean>;
418*00b67f09SDavid van Moolenbroek        ixfr-from-differences <ixfrdiff>;
419*00b67f09SDavid van Moolenbroek        key <string> {
420*00b67f09SDavid van Moolenbroek                algorithm <string>;
421*00b67f09SDavid van Moolenbroek                secret <string>;
422*00b67f09SDavid van Moolenbroek        };
423*00b67f09SDavid van Moolenbroek        key-directory <quoted_string>;
424*00b67f09SDavid van Moolenbroek        lame-ttl <integer>;
425*00b67f09SDavid van Moolenbroek        maintain-ixfr-base <boolean>; // obsolete
426*00b67f09SDavid van Moolenbroek        managed-keys { <string> <string> <integer> <integer> <integer>
427*00b67f09SDavid van Moolenbroek            <quoted_string>; ... };
428*00b67f09SDavid van Moolenbroek        masterfile-format ( text | raw | map );
429*00b67f09SDavid van Moolenbroek        match-clients { <address_match_element>; ... };
430*00b67f09SDavid van Moolenbroek        match-destinations { <address_match_element>; ... };
431*00b67f09SDavid van Moolenbroek        match-recursive-only <boolean>;
432*00b67f09SDavid van Moolenbroek        max-acache-size <size_no_default>;
433*00b67f09SDavid van Moolenbroek        max-cache-size <size_no_default>;
434*00b67f09SDavid van Moolenbroek        max-cache-ttl <integer>;
435*00b67f09SDavid van Moolenbroek        max-clients-per-query <integer>;
436*00b67f09SDavid van Moolenbroek        max-ixfr-log-size <size>; // obsolete
437*00b67f09SDavid van Moolenbroek        max-journal-size <size_no_default>;
438*00b67f09SDavid van Moolenbroek        max-ncache-ttl <integer>;
439*00b67f09SDavid van Moolenbroek        max-recursion-depth <integer>;
440*00b67f09SDavid van Moolenbroek        max-recursion-queries <integer>;
441*00b67f09SDavid van Moolenbroek        max-refresh-time <integer>;
442*00b67f09SDavid van Moolenbroek        max-retry-time <integer>;
443*00b67f09SDavid van Moolenbroek        max-transfer-idle-in <integer>;
444*00b67f09SDavid van Moolenbroek        max-transfer-idle-out <integer>;
445*00b67f09SDavid van Moolenbroek        max-transfer-time-in <integer>;
446*00b67f09SDavid van Moolenbroek        max-transfer-time-out <integer>;
447*00b67f09SDavid van Moolenbroek        max-udp-size <integer>;
448*00b67f09SDavid van Moolenbroek        max-zone-ttl <maxttl_no_default>;
449*00b67f09SDavid van Moolenbroek        min-refresh-time <integer>;
450*00b67f09SDavid van Moolenbroek        min-retry-time <integer>;
451*00b67f09SDavid van Moolenbroek        min-roots <integer>; // not implemented
452*00b67f09SDavid van Moolenbroek        minimal-responses <boolean>;
453*00b67f09SDavid van Moolenbroek        multi-master <boolean>;
454*00b67f09SDavid van Moolenbroek        no-case-compress { <address_match_element>; ... };
455*00b67f09SDavid van Moolenbroek        nosit-udp-size <integer>; // not configured
456*00b67f09SDavid van Moolenbroek        notify <notifytype>;
457*00b67f09SDavid van Moolenbroek        notify-delay <integer>;
458*00b67f09SDavid van Moolenbroek        notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
459*00b67f09SDavid van Moolenbroek            dscp <integer> ];
460*00b67f09SDavid van Moolenbroek        notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
461*00b67f09SDavid van Moolenbroek            [ dscp <integer> ];
462*00b67f09SDavid van Moolenbroek        notify-to-soa <boolean>;
463*00b67f09SDavid van Moolenbroek        nsec3-test-zone <boolean>; // test only
464*00b67f09SDavid van Moolenbroek        preferred-glue <string>;
465*00b67f09SDavid van Moolenbroek        prefetch <integer> [ <integer> ];
466*00b67f09SDavid van Moolenbroek        provide-ixfr <boolean>;
467*00b67f09SDavid van Moolenbroek        query-source <querysource4>;
468*00b67f09SDavid van Moolenbroek        query-source-v6 <querysource6>;
469*00b67f09SDavid van Moolenbroek        queryport-pool-ports <integer>; // obsolete
470*00b67f09SDavid van Moolenbroek        queryport-pool-updateinterval <integer>; // obsolete
471*00b67f09SDavid van Moolenbroek        rate-limit {
472*00b67f09SDavid van Moolenbroek                all-per-second <integer>;
473*00b67f09SDavid van Moolenbroek                errors-per-second <integer>;
474*00b67f09SDavid van Moolenbroek                exempt-clients { <address_match_element>; ... };
475*00b67f09SDavid van Moolenbroek                ipv4-prefix-length <integer>;
476*00b67f09SDavid van Moolenbroek                ipv6-prefix-length <integer>;
477*00b67f09SDavid van Moolenbroek                log-only <boolean>;
478*00b67f09SDavid van Moolenbroek                max-table-size <integer>;
479*00b67f09SDavid van Moolenbroek                min-table-size <integer>;
480*00b67f09SDavid van Moolenbroek                nodata-per-second <integer>;
481*00b67f09SDavid van Moolenbroek                nxdomains-per-second <integer>;
482*00b67f09SDavid van Moolenbroek                qps-scale <integer>;
483*00b67f09SDavid van Moolenbroek                referrals-per-second <integer>;
484*00b67f09SDavid van Moolenbroek                responses-per-second <integer>;
485*00b67f09SDavid van Moolenbroek                slip <integer>;
486*00b67f09SDavid van Moolenbroek                window <integer>;
487*00b67f09SDavid van Moolenbroek        };
488*00b67f09SDavid van Moolenbroek        recursion <boolean>;
489*00b67f09SDavid van Moolenbroek        request-ixfr <boolean>;
490*00b67f09SDavid van Moolenbroek        request-nsid <boolean>;
491*00b67f09SDavid van Moolenbroek        request-sit <boolean>; // not configured
492*00b67f09SDavid van Moolenbroek        resolver-query-timeout <integer>;
493*00b67f09SDavid van Moolenbroek        response-policy { zone <quoted_string> [ policy ( given | disabled
494*00b67f09SDavid van Moolenbroek            | passthru | no-op | drop | tcp-only | nxdomain | nodata |
495*00b67f09SDavid van Moolenbroek            cname <quoted_string> ) ] [ recursive-only <boolean> ] [
496*00b67f09SDavid van Moolenbroek            max-policy-ttl <integer> ]; ... } [ recursive-only <boolean> ]
497*00b67f09SDavid van Moolenbroek            [ break-dnssec <boolean> ] [ max-policy-ttl <integer> ] [
498*00b67f09SDavid van Moolenbroek            min-ns-dots <integer> ] [ qname-wait-recurse <boolean> ];
499*00b67f09SDavid van Moolenbroek        rfc2308-type1 <boolean>; // not yet implemented
500*00b67f09SDavid van Moolenbroek        root-delegation-only [ exclude { <quoted_string>; ... } ];
501*00b67f09SDavid van Moolenbroek        rrset-order { [ class <string> ] [ type <string> ] [ name
502*00b67f09SDavid van Moolenbroek            <quoted_string> ] <string> <string>; ... };
503*00b67f09SDavid van Moolenbroek        serial-update-method ( increment | unixtime );
504*00b67f09SDavid van Moolenbroek        server <netprefix> {
505*00b67f09SDavid van Moolenbroek                bogus <boolean>;
506*00b67f09SDavid van Moolenbroek                edns <boolean>;
507*00b67f09SDavid van Moolenbroek                edns-udp-size <integer>;
508*00b67f09SDavid van Moolenbroek                keys <server_key>;
509*00b67f09SDavid van Moolenbroek                max-udp-size <integer>;
510*00b67f09SDavid van Moolenbroek                notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
511*00b67f09SDavid van Moolenbroek                    ) ] [ dscp <integer> ];
512*00b67f09SDavid van Moolenbroek                notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
513*00b67f09SDavid van Moolenbroek                    | * ) ] [ dscp <integer> ];
514*00b67f09SDavid van Moolenbroek                provide-ixfr <boolean>;
515*00b67f09SDavid van Moolenbroek                query-source <querysource4>;
516*00b67f09SDavid van Moolenbroek                query-source-v6 <querysource6>;
517*00b67f09SDavid van Moolenbroek                request-ixfr <boolean>;
518*00b67f09SDavid van Moolenbroek                request-nsid <boolean>;
519*00b67f09SDavid van Moolenbroek                request-sit <boolean>; // not configured
520*00b67f09SDavid van Moolenbroek                support-ixfr <boolean>; // obsolete
521*00b67f09SDavid van Moolenbroek                transfer-format ( many-answers | one-answer );
522*00b67f09SDavid van Moolenbroek                transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
523*00b67f09SDavid van Moolenbroek                    * ) ] [ dscp <integer> ];
524*00b67f09SDavid van Moolenbroek                transfer-source-v6 ( <ipv6_address> | * ) [ port (
525*00b67f09SDavid van Moolenbroek                    <integer> | * ) ] [ dscp <integer> ];
526*00b67f09SDavid van Moolenbroek                transfers <integer>;
527*00b67f09SDavid van Moolenbroek        };
528*00b67f09SDavid van Moolenbroek        sig-signing-nodes <integer>;
529*00b67f09SDavid van Moolenbroek        sig-signing-signatures <integer>;
530*00b67f09SDavid van Moolenbroek        sig-signing-type <integer>;
531*00b67f09SDavid van Moolenbroek        sig-validity-interval <integer> [ <integer> ];
532*00b67f09SDavid van Moolenbroek        sortlist { <address_match_element>; ... };
533*00b67f09SDavid van Moolenbroek        suppress-initial-notify <boolean>; // not yet implemented
534*00b67f09SDavid van Moolenbroek        topology { <address_match_element>; ... }; // not implemented
535*00b67f09SDavid van Moolenbroek        transfer-format ( many-answers | one-answer );
536*00b67f09SDavid van Moolenbroek        transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
537*00b67f09SDavid van Moolenbroek            dscp <integer> ];
538*00b67f09SDavid van Moolenbroek        transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
539*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
540*00b67f09SDavid van Moolenbroek        trusted-keys { <string> <integer> <integer> <integer>
541*00b67f09SDavid van Moolenbroek            <quoted_string>; ... };
542*00b67f09SDavid van Moolenbroek        try-tcp-refresh <boolean>;
543*00b67f09SDavid van Moolenbroek        update-check-ksk <boolean>;
544*00b67f09SDavid van Moolenbroek        use-alt-transfer-source <boolean>;
545*00b67f09SDavid van Moolenbroek        use-queryport-pool <boolean>; // obsolete
546*00b67f09SDavid van Moolenbroek        zero-no-soa-ttl <boolean>;
547*00b67f09SDavid van Moolenbroek        zero-no-soa-ttl-cache <boolean>;
548*00b67f09SDavid van Moolenbroek        zone <string> <optional_class> {
549*00b67f09SDavid van Moolenbroek                allow-notify { <address_match_element>; ... };
550*00b67f09SDavid van Moolenbroek                allow-query { <address_match_element>; ... };
551*00b67f09SDavid van Moolenbroek                allow-query-on { <address_match_element>; ... };
552*00b67f09SDavid van Moolenbroek                allow-transfer { <address_match_element>; ... };
553*00b67f09SDavid van Moolenbroek                allow-update { <address_match_element>; ... };
554*00b67f09SDavid van Moolenbroek                allow-update-forwarding { <address_match_element>; ... };
555*00b67f09SDavid van Moolenbroek                also-notify [ port <integer> ] [ dscp <integer> ] { (
556*00b67f09SDavid van Moolenbroek                    <masters> | <ipv4_address> [ port <integer> ] |
557*00b67f09SDavid van Moolenbroek                    <ipv6_address> [ port <integer> ] ) [ key <string> ];
558*00b67f09SDavid van Moolenbroek                    ... };
559*00b67f09SDavid van Moolenbroek                alt-transfer-source ( <ipv4_address> | * ) [ port (
560*00b67f09SDavid van Moolenbroek                    <integer> | * ) ] [ dscp <integer> ];
561*00b67f09SDavid van Moolenbroek                alt-transfer-source-v6 ( <ipv6_address> | * ) [ port (
562*00b67f09SDavid van Moolenbroek                    <integer> | * ) ] [ dscp <integer> ];
563*00b67f09SDavid van Moolenbroek                auto-dnssec ( allow | maintain | off );
564*00b67f09SDavid van Moolenbroek                check-dup-records ( fail | warn | ignore );
565*00b67f09SDavid van Moolenbroek                check-integrity <boolean>;
566*00b67f09SDavid van Moolenbroek                check-mx ( fail | warn | ignore );
567*00b67f09SDavid van Moolenbroek                check-mx-cname ( fail | warn | ignore );
568*00b67f09SDavid van Moolenbroek                check-names ( fail | warn | ignore );
569*00b67f09SDavid van Moolenbroek                check-sibling <boolean>;
570*00b67f09SDavid van Moolenbroek                check-spf ( warn | ignore );
571*00b67f09SDavid van Moolenbroek                check-srv-cname ( fail | warn | ignore );
572*00b67f09SDavid van Moolenbroek                check-wildcard <boolean>;
573*00b67f09SDavid van Moolenbroek                database <string>;
574*00b67f09SDavid van Moolenbroek                delegation-only <boolean>;
575*00b67f09SDavid van Moolenbroek                dialup <dialuptype>;
576*00b67f09SDavid van Moolenbroek                dlz <string>;
577*00b67f09SDavid van Moolenbroek                dnssec-dnskey-kskonly <boolean>;
578*00b67f09SDavid van Moolenbroek                dnssec-loadkeys-interval <integer>;
579*00b67f09SDavid van Moolenbroek                dnssec-secure-to-insecure <boolean>;
580*00b67f09SDavid van Moolenbroek                dnssec-update-mode ( maintain | no-resign );
581*00b67f09SDavid van Moolenbroek                file <quoted_string>;
582*00b67f09SDavid van Moolenbroek                forward ( first | only );
583*00b67f09SDavid van Moolenbroek                forwarders [ port <integer> ] [ dscp <integer> ] { (
584*00b67f09SDavid van Moolenbroek                    <ipv4_address> | <ipv6_address> ) [ port <integer> ] [
585*00b67f09SDavid van Moolenbroek                    dscp <integer> ]; ... };
586*00b67f09SDavid van Moolenbroek                in-view <string>;
587*00b67f09SDavid van Moolenbroek                inline-signing <boolean>;
588*00b67f09SDavid van Moolenbroek                ixfr-base <quoted_string>; // obsolete
589*00b67f09SDavid van Moolenbroek                ixfr-from-differences <boolean>;
590*00b67f09SDavid van Moolenbroek                ixfr-tmp-file <quoted_string>; // obsolete
591*00b67f09SDavid van Moolenbroek                journal <quoted_string>;
592*00b67f09SDavid van Moolenbroek                key-directory <quoted_string>;
593*00b67f09SDavid van Moolenbroek                maintain-ixfr-base <boolean>; // obsolete
594*00b67f09SDavid van Moolenbroek                masterfile-format ( text | raw | map );
595*00b67f09SDavid van Moolenbroek                masters [ port <integer> ] [ dscp <integer> ] { ( <masters>
596*00b67f09SDavid van Moolenbroek                    | <ipv4_address> [ port <integer> ] | <ipv6_address> [
597*00b67f09SDavid van Moolenbroek                    port <integer> ] ) [ key <string> ]; ... };
598*00b67f09SDavid van Moolenbroek                max-ixfr-log-size <size>; // obsolete
599*00b67f09SDavid van Moolenbroek                max-journal-size <size_no_default>;
600*00b67f09SDavid van Moolenbroek                max-refresh-time <integer>;
601*00b67f09SDavid van Moolenbroek                max-retry-time <integer>;
602*00b67f09SDavid van Moolenbroek                max-transfer-idle-in <integer>;
603*00b67f09SDavid van Moolenbroek                max-transfer-idle-out <integer>;
604*00b67f09SDavid van Moolenbroek                max-transfer-time-in <integer>;
605*00b67f09SDavid van Moolenbroek                max-transfer-time-out <integer>;
606*00b67f09SDavid van Moolenbroek                max-zone-ttl <maxttl_no_default>;
607*00b67f09SDavid van Moolenbroek                min-refresh-time <integer>;
608*00b67f09SDavid van Moolenbroek                min-retry-time <integer>;
609*00b67f09SDavid van Moolenbroek                multi-master <boolean>;
610*00b67f09SDavid van Moolenbroek                notify <notifytype>;
611*00b67f09SDavid van Moolenbroek                notify-delay <integer>;
612*00b67f09SDavid van Moolenbroek                notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
613*00b67f09SDavid van Moolenbroek                    ) ] [ dscp <integer> ];
614*00b67f09SDavid van Moolenbroek                notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
615*00b67f09SDavid van Moolenbroek                    | * ) ] [ dscp <integer> ];
616*00b67f09SDavid van Moolenbroek                notify-to-soa <boolean>;
617*00b67f09SDavid van Moolenbroek                nsec3-test-zone <boolean>; // test only
618*00b67f09SDavid van Moolenbroek                pubkey <integer> <integer> <integer>
619*00b67f09SDavid van Moolenbroek                    <quoted_string>; // obsolete
620*00b67f09SDavid van Moolenbroek                request-ixfr <boolean>;
621*00b67f09SDavid van Moolenbroek                serial-update-method ( increment | unixtime );
622*00b67f09SDavid van Moolenbroek                server-addresses { ( <ipv4_address> | <ipv6_address> ) [
623*00b67f09SDavid van Moolenbroek                    port <integer> ]; ... };
624*00b67f09SDavid van Moolenbroek                server-names { <quoted_string>; ... };
625*00b67f09SDavid van Moolenbroek                sig-signing-nodes <integer>;
626*00b67f09SDavid van Moolenbroek                sig-signing-signatures <integer>;
627*00b67f09SDavid van Moolenbroek                sig-signing-type <integer>;
628*00b67f09SDavid van Moolenbroek                sig-validity-interval <integer> [ <integer> ];
629*00b67f09SDavid van Moolenbroek                transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
630*00b67f09SDavid van Moolenbroek                    * ) ] [ dscp <integer> ];
631*00b67f09SDavid van Moolenbroek                transfer-source-v6 ( <ipv6_address> | * ) [ port (
632*00b67f09SDavid van Moolenbroek                    <integer> | * ) ] [ dscp <integer> ];
633*00b67f09SDavid van Moolenbroek                try-tcp-refresh <boolean>;
634*00b67f09SDavid van Moolenbroek                type ( master | slave | stub | static-stub | hint | forward
635*00b67f09SDavid van Moolenbroek                    | delegation-only | redirect );
636*00b67f09SDavid van Moolenbroek                update-check-ksk <boolean>;
637*00b67f09SDavid van Moolenbroek                update-policy ( local | { ( grant | deny ) <string> ( name
638*00b67f09SDavid van Moolenbroek                    | subdomain | wildcard | self | selfsub | selfwild |
639*00b67f09SDavid van Moolenbroek                    krb5-self | ms-self | krb5-subdomain | ms-subdomain |
640*00b67f09SDavid van Moolenbroek                    tcp-self | 6to4-self | zonesub | external ) [ <string>
641*00b67f09SDavid van Moolenbroek                    ] <rrtypelist>; ... };
642*00b67f09SDavid van Moolenbroek                use-alt-transfer-source <boolean>;
643*00b67f09SDavid van Moolenbroek                zero-no-soa-ttl <boolean>;
644*00b67f09SDavid van Moolenbroek                zone-statistics <zonestat>;
645*00b67f09SDavid van Moolenbroek        };
646*00b67f09SDavid van Moolenbroek        zone-statistics <zonestat>;
647*00b67f09SDavid van Moolenbroek};
648*00b67f09SDavid van Moolenbroek
649*00b67f09SDavid van Moolenbroekzone <string> <optional_class> {
650*00b67f09SDavid van Moolenbroek        allow-notify { <address_match_element>; ... };
651*00b67f09SDavid van Moolenbroek        allow-query { <address_match_element>; ... };
652*00b67f09SDavid van Moolenbroek        allow-query-on { <address_match_element>; ... };
653*00b67f09SDavid van Moolenbroek        allow-transfer { <address_match_element>; ... };
654*00b67f09SDavid van Moolenbroek        allow-update { <address_match_element>; ... };
655*00b67f09SDavid van Moolenbroek        allow-update-forwarding { <address_match_element>; ... };
656*00b67f09SDavid van Moolenbroek        also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
657*00b67f09SDavid van Moolenbroek            <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
658*00b67f09SDavid van Moolenbroek            <integer> ] ) [ key <string> ]; ... };
659*00b67f09SDavid van Moolenbroek        alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
660*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
661*00b67f09SDavid van Moolenbroek        alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
662*00b67f09SDavid van Moolenbroek            * ) ] [ dscp <integer> ];
663*00b67f09SDavid van Moolenbroek        auto-dnssec ( allow | maintain | off );
664*00b67f09SDavid van Moolenbroek        check-dup-records ( fail | warn | ignore );
665*00b67f09SDavid van Moolenbroek        check-integrity <boolean>;
666*00b67f09SDavid van Moolenbroek        check-mx ( fail | warn | ignore );
667*00b67f09SDavid van Moolenbroek        check-mx-cname ( fail | warn | ignore );
668*00b67f09SDavid van Moolenbroek        check-names ( fail | warn | ignore );
669*00b67f09SDavid van Moolenbroek        check-sibling <boolean>;
670*00b67f09SDavid van Moolenbroek        check-spf ( warn | ignore );
671*00b67f09SDavid van Moolenbroek        check-srv-cname ( fail | warn | ignore );
672*00b67f09SDavid van Moolenbroek        check-wildcard <boolean>;
673*00b67f09SDavid van Moolenbroek        database <string>;
674*00b67f09SDavid van Moolenbroek        delegation-only <boolean>;
675*00b67f09SDavid van Moolenbroek        dialup <dialuptype>;
676*00b67f09SDavid van Moolenbroek        dlz <string>;
677*00b67f09SDavid van Moolenbroek        dnssec-dnskey-kskonly <boolean>;
678*00b67f09SDavid van Moolenbroek        dnssec-loadkeys-interval <integer>;
679*00b67f09SDavid van Moolenbroek        dnssec-secure-to-insecure <boolean>;
680*00b67f09SDavid van Moolenbroek        dnssec-update-mode ( maintain | no-resign );
681*00b67f09SDavid van Moolenbroek        file <quoted_string>;
682*00b67f09SDavid van Moolenbroek        forward ( first | only );
683*00b67f09SDavid van Moolenbroek        forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
684*00b67f09SDavid van Moolenbroek            | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
685*00b67f09SDavid van Moolenbroek        in-view <string>;
686*00b67f09SDavid van Moolenbroek        inline-signing <boolean>;
687*00b67f09SDavid van Moolenbroek        ixfr-base <quoted_string>; // obsolete
688*00b67f09SDavid van Moolenbroek        ixfr-from-differences <boolean>;
689*00b67f09SDavid van Moolenbroek        ixfr-tmp-file <quoted_string>; // obsolete
690*00b67f09SDavid van Moolenbroek        journal <quoted_string>;
691*00b67f09SDavid van Moolenbroek        key-directory <quoted_string>;
692*00b67f09SDavid van Moolenbroek        maintain-ixfr-base <boolean>; // obsolete
693*00b67f09SDavid van Moolenbroek        masterfile-format ( text | raw | map );
694*00b67f09SDavid van Moolenbroek        masters [ port <integer> ] [ dscp <integer> ] { ( <masters> |
695*00b67f09SDavid van Moolenbroek            <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
696*00b67f09SDavid van Moolenbroek            <integer> ] ) [ key <string> ]; ... };
697*00b67f09SDavid van Moolenbroek        max-ixfr-log-size <size>; // obsolete
698*00b67f09SDavid van Moolenbroek        max-journal-size <size_no_default>;
699*00b67f09SDavid van Moolenbroek        max-refresh-time <integer>;
700*00b67f09SDavid van Moolenbroek        max-retry-time <integer>;
701*00b67f09SDavid van Moolenbroek        max-transfer-idle-in <integer>;
702*00b67f09SDavid van Moolenbroek        max-transfer-idle-out <integer>;
703*00b67f09SDavid van Moolenbroek        max-transfer-time-in <integer>;
704*00b67f09SDavid van Moolenbroek        max-transfer-time-out <integer>;
705*00b67f09SDavid van Moolenbroek        max-zone-ttl <maxttl_no_default>;
706*00b67f09SDavid van Moolenbroek        min-refresh-time <integer>;
707*00b67f09SDavid van Moolenbroek        min-retry-time <integer>;
708*00b67f09SDavid van Moolenbroek        multi-master <boolean>;
709*00b67f09SDavid van Moolenbroek        notify <notifytype>;
710*00b67f09SDavid van Moolenbroek        notify-delay <integer>;
711*00b67f09SDavid van Moolenbroek        notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
712*00b67f09SDavid van Moolenbroek            dscp <integer> ];
713*00b67f09SDavid van Moolenbroek        notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
714*00b67f09SDavid van Moolenbroek            [ dscp <integer> ];
715*00b67f09SDavid van Moolenbroek        notify-to-soa <boolean>;
716*00b67f09SDavid van Moolenbroek        nsec3-test-zone <boolean>; // test only
717*00b67f09SDavid van Moolenbroek        pubkey <integer> <integer> <integer> <quoted_string>; // obsolete
718*00b67f09SDavid van Moolenbroek        request-ixfr <boolean>;
719*00b67f09SDavid van Moolenbroek        serial-update-method ( increment | unixtime );
720*00b67f09SDavid van Moolenbroek        server-addresses { ( <ipv4_address> | <ipv6_address> ) [ port
721*00b67f09SDavid van Moolenbroek            <integer> ]; ... };
722*00b67f09SDavid van Moolenbroek        server-names { <quoted_string>; ... };
723*00b67f09SDavid van Moolenbroek        sig-signing-nodes <integer>;
724*00b67f09SDavid van Moolenbroek        sig-signing-signatures <integer>;
725*00b67f09SDavid van Moolenbroek        sig-signing-type <integer>;
726*00b67f09SDavid van Moolenbroek        sig-validity-interval <integer> [ <integer> ];
727*00b67f09SDavid van Moolenbroek        transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
728*00b67f09SDavid van Moolenbroek            dscp <integer> ];
729*00b67f09SDavid van Moolenbroek        transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
730*00b67f09SDavid van Moolenbroek            ] [ dscp <integer> ];
731*00b67f09SDavid van Moolenbroek        try-tcp-refresh <boolean>;
732*00b67f09SDavid van Moolenbroek        type ( master | slave | stub | static-stub | hint | forward |
733*00b67f09SDavid van Moolenbroek            delegation-only | redirect );
734*00b67f09SDavid van Moolenbroek        update-check-ksk <boolean>;
735*00b67f09SDavid van Moolenbroek        update-policy ( local | { ( grant | deny ) <string> ( name |
736*00b67f09SDavid van Moolenbroek            subdomain | wildcard | self | selfsub | selfwild | krb5-self |
737*00b67f09SDavid van Moolenbroek            ms-self | krb5-subdomain | ms-subdomain | tcp-self | 6to4-self
738*00b67f09SDavid van Moolenbroek            | zonesub | external ) [ <string> ] <rrtypelist>; ... };
739*00b67f09SDavid van Moolenbroek        use-alt-transfer-source <boolean>;
740*00b67f09SDavid van Moolenbroek        zero-no-soa-ttl <boolean>;
741*00b67f09SDavid van Moolenbroek        zone-statistics <zonestat>;
742*00b67f09SDavid van Moolenbroek};
743*00b67f09SDavid van Moolenbroek
744