示例#1
0
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')
示例#2
0
            | 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)
示例#5
0
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() - (