options_stmt_avoid_v4_udp_ports.setName('avoid-v4-udp-ports { port; ... };') options_stmt_avoid_v6_udp_ports = ( Keyword('avoid-v6-udp-ports').suppress() + lbrack + options_ip_port_series('avoid_v6_udp_ports') + rbrack + semicolon ) options_stmt_avoid_v6_udp_ports.setName('avoid-v6-udp-ports { port; ... };') # Wut? was 'bindkey-file', now 'bindkeys-file'??? # bindkey-file <path_name>; [ Opt ] # v9.5.0 to Feb 2017 options_stmt_bindkeys_file = ( Keyword('bindkeys-file').suppress() - quoted_path_name('bindkeys_file') + semicolon ) options_stmt_blackhole = ( Keyword('blackhole').suppress() + Group( aml_nesting('') )('blackhole') ) # cache-file <path_name> # used for ISC internal testing options_stmt_cache_file = ( Keyword('cache-file').suppress() + quoted_path_name('cache_file')
| isc_boolean )('ixfr_from_differences') + semicolon ) # ixfr-tmp-file <path_name:; [ Opt View Zone ] # v8.0 to v8.4; now inert optviewzone_stmt_ixfr_tmp_file = ( Keyword('ixfr-tmp-file').suppress() + path_name('ixfr_tmp_file') + semicolon ) # key-directory path_name; [ Opt View Zone] optviewzone_stmt_key_directory = ( Keyword('key-directory').suppress() - quoted_path_name('key_directory') + semicolon ) # maintain-ixfr-base <boolean>; [ Opt View Zone ] # v8.2- v9.7.0; still inert optviewzone_stmt_maintain_ixfr_base = ( Keyword('maintain-ixfr-base').suppress() - isc_boolean('maintain_ixfr_base') + semicolon ) # masterfile-format text | raw | map; # masterfile-format map; optviewzone_stmt_masterfile_format = ( Keyword('masterfile-format').suppress() + (
# }; ] # [ category category_name { # channel_name ; [ channel_name ; ... ] # }; ] # ... # } logging_chan_file_path_version_element = (Keyword('versions').suppress() - (Literal('unlimited') | number_type(''))('versions')) logging_chan_file_path_size_element = (Literal('size').suppress() - size_spec('size_spec')) logging_chan_file_path_element = ( Keyword('file').suppress() - quoted_path_name('path_name')('path_name') - Optional(logging_chan_file_path_version_element) - Optional(logging_chan_file_path_size_element)) logging_chan_syslog_facility_name = (Literal('kern') | Literal('user') | Literal('mail') | Literal('daemon') | Literal('auth') | Literal('syslog') | Literal('lpr') | Literal('news') | Literal('uucp') | Literal('cron') | Literal('authpriv') | Literal('ftp')
# inet # ( ip46_addr_or_prefix | * ) [ port ( ip_port | * ) ] # allow { <aml>; } # [ keys { key_id; [ ... ] } ] # [ read-only <boolean> ] # ; controls_inet_set = Group( Keyword('inet').suppress() + controls_inet_addr_and_port(None) - controls_inet_allow_element(None) + Optional(controls_keys_element) + Optional(controls_inet_read_only_element) + semicolon)('inet') controls_unix_set = ( Group( Keyword('unix').suppress() + ( quoted_path_name('path_name') + Literal('perm').suppress() + number_type( 'perm' ) # TODO Check if 'controls unix perm/owner/group is numeric-only or not + Literal('owner').suppress() + number_type('uid') + Literal('group').suppress() + number_type('gid') - Optional(controls_keys_element) - Optional(controls_inet_read_only_element) + semicolon))('unix')) clause_stmt_control_standalone = ( Keyword('controls').suppress() + lbrack + Group( OneOrMore( Group(controls_inet_set('inet')) | Group(controls_unix_set('unix'))))('controls') # ('controls') + rbrack + semicolon)
optview_stmt_heartbeat_interval = (Keyword('heartbeat-interval').suppress() - minute_type('heartbeat_interval') + semicolon) # hostname ( none | quoted_fqdn ); # [ Opt View ] optview_stmt_hostname = (Keyword('hostname').suppress() - Group( Literal('none')('none') | quoted_domain_generic_fqdn('hostname')('name') | domain_generic_fqdn('hostname')('name'))('hostname') + semicolon) optview_stmt_lame_ttl = (Keyword('lame-ttl').suppress() - number_type('lame_ttl') + semicolon) optview_stmt_managed_keys_directory = ( Keyword('managed-keys-directory').suppress() - quoted_path_name('managed_keys_directory') + semicolon) optview_stmt_max_cache_size = (Keyword('max-cache-size').suppress() - size_spec('max_cache_size') + semicolon) optview_stmt_max_cache_ttl = (Keyword('max-cache-ttl').suppress() - seconds_type('max_cache_ttl') + semicolon) optview_stmt_max_ncache_ttl = (Keyword('max-ncache-ttl').suppress() - seconds_type('max_ncache_ttl') + semicolon) optview_stmt_minimal_responses = (Keyword('minimal-responses').suppress() - isc_boolean('minimal_responses') + semicolon) optview_stmt_preferred_glue = ( Keyword('preferred-glue').suppress() - (