namedconf.c File Reference

#include <config.h>
#include <string.h>
#include <isc/lex.h>
#include <isc/mem.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/ttl.h>
#include <dns/result.h>
#include <isccfg/cfg.h>
#include <isccfg/grammar.h>
#include <isccfg/log.h>

Go to the source code of this file.

Defines

#define TOKEN_STRING(pctx)   (pctx->token.value.as_textregion.base)
#define CHECK(op)
 Check a return value.
#define CLEANUP_OBJ(obj)   do { if ((obj) != NULL) cfg_obj_destroy(pctx, &(obj)); } while (0)
 Clean up a configuration object if non-NULL.

Functions

static isc_result_t parse_enum_or_other (cfg_parser_t *pctx, const cfg_type_t *enumtype, const cfg_type_t *othertype, cfg_obj_t **ret)
 Forward declarations of static functions.
static void doc_enum_or_other (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_keyvalue (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_optional_keyvalue (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_updatepolicy (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void print_updatepolicy (cfg_printer_t *pctx, const cfg_obj_t *obj)
static void doc_updatepolicy (cfg_printer_t *pctx, const cfg_type_t *type)
static void print_keyvalue (cfg_printer_t *pctx, const cfg_obj_t *obj)
static void doc_keyvalue (cfg_printer_t *pctx, const cfg_type_t *type)
static void doc_optional_keyvalue (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_matchtype (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_matchname (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void doc_matchname (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_zonestat (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void print_none (cfg_printer_t *pctx, const cfg_obj_t *obj)
 The special keyword "none", as used in the pid-file option.
static isc_result_t parse_qstringornone (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 A quoted string or the special keyword "none". Used in the pid-file option.
static void doc_qstringornone (cfg_printer_t *pctx, const cfg_type_t *type)
static void print_auto (cfg_printer_t *pctx, const cfg_obj_t *obj)
 A boolean ("yes" or "no"), or the special keyword "auto". Used in the dnssec-validation option.
static isc_result_t parse_boolorauto (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void print_boolorauto (cfg_printer_t *pctx, const cfg_obj_t *obj)
static void doc_boolorauto (cfg_printer_t *pctx, const cfg_type_t *type)
static void print_hostname (cfg_printer_t *pctx, const cfg_obj_t *obj)
 keyword hostname
static isc_result_t parse_serverid (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 "server-id" argument.
static void doc_serverid (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_port (cfg_parser_t *pctx, cfg_obj_t **ret)
static isc_result_t parse_portrange (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void doc_rpz_policy (cfg_printer_t *pctx, const cfg_type_t *type)
 response-policy { zone <string> [ policy (given|disabled|passthru|drop|tcp-only| nxdomain|nodata|cname <domain> ) ] [ recursive-only yes|no ] [ max-policy-ttl number ] ; } [ recursive-only yes|no ] [ max-policy-ttl number ] ; [ break-dnssec yes|no ] [ min-ns-dots number ] [ qname-wait-recurse yes|no ]
static void doc_rpz_cname (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t cfg_parse_rpz_policy (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t cfg_parse_kv_tuple (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void cfg_print_kv_tuple (cfg_printer_t *pctx, const cfg_obj_t *obj)
static void cfg_doc_kv_tuple (cfg_printer_t *pctx, const cfg_type_t *type)
static void print_lookaside (cfg_printer_t *pctx, const cfg_obj_t *obj)
 dnssec-lookaside
static void doc_lookaside (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_optional_uint32 (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void doc_optional_uint32 (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_unitstring (char *str, isc_resourcevalue_t *valuep)
static isc_result_t parse_sizeval (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_size (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 A size, "unlimited", or "default".
static isc_result_t parse_maybe_optional_keyvalue (cfg_parser_t *pctx, const cfg_type_t *type, isc_boolean_t optional, cfg_obj_t **ret)
 optional_keyvalue
static isc_result_t parse_dialup_type (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_notify_type (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_ixfrdiff_type (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_filter_aaaa (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void doc_optional_bracketed_list (cfg_printer_t *pctx, const cfg_type_t *type)
 A "statistics-channels" statement is represented as a map with the multivalued "inet" clauses.
static isc_result_t parse_optional_class (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 An optional class, as used in view and zone statements.
static isc_result_t parse_querysource (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void print_querysource (cfg_printer_t *pctx, const cfg_obj_t *obj)
static isc_result_t parse_addrmatchelt (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 addrmatchelt
static void print_negated (cfg_printer_t *pctx, const cfg_obj_t *obj)
static isc_result_t parse_server_key_kludge (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 Handle the special kludge syntax of the "keys" clause in the "server" statement, which takes a single key with or without braces and semicolon.
static isc_result_t parse_optional_facility (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
 An optional logging facility.
static isc_result_t parse_logseverity (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_logversions (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_logfile (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void print_logfile (cfg_printer_t *pctx, const cfg_obj_t *obj)
static void doc_logfile (cfg_printer_t *pctx, const cfg_type_t *type)
static void doc_sockaddrnameport (cfg_printer_t *pctx, const cfg_type_t *type)
static isc_result_t parse_sockaddrnameport (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static void doc_masterselement (cfg_printer_t *pctx, const cfg_type_t *type)
 masters element.
static isc_result_t parse_masterselement (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_ttlval (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)
static isc_result_t parse_maxttl (cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret)

Variables

static cfg_type_t cfg_type_acl
static cfg_type_t cfg_type_addrmatchelt
 An address match list element.
static cfg_type_t cfg_type_bracketed_aml
 A bracketed address match list.
static cfg_type_t cfg_type_bracketed_namesockaddrkeylist
static cfg_type_t cfg_type_bracketed_dscpsockaddrlist
static cfg_type_t cfg_type_bracketed_sockaddrlist
static cfg_type_t cfg_type_bracketed_sockaddrnameportlist
static cfg_type_t cfg_type_controls
static cfg_type_t cfg_type_controls_sockaddr
static cfg_type_t cfg_type_destinationlist
 A list of log destination, used in the "category" clause.
static cfg_type_t cfg_type_dialuptype
static cfg_type_t cfg_type_ixfrdifftype
static cfg_type_t cfg_type_key
static cfg_type_t cfg_type_logfile
static cfg_type_t cfg_type_logging
static cfg_type_t cfg_type_logseverity
static cfg_type_t cfg_type_lwres
static cfg_type_t cfg_type_masterselement
static cfg_type_t cfg_type_maxttl
static cfg_type_t cfg_type_nameportiplist
static cfg_type_t cfg_type_negated
static cfg_type_t cfg_type_notifytype
static cfg_type_t cfg_type_optional_allow
static cfg_type_t cfg_type_optional_class
static cfg_type_t cfg_type_optional_facility
static cfg_type_t cfg_type_optional_keyref
static cfg_type_t cfg_type_optional_port
static cfg_type_t cfg_type_optional_dscp
static cfg_type_t cfg_type_options
static cfg_type_t cfg_type_portiplist
static cfg_type_t cfg_type_querysource4
static cfg_type_t cfg_type_querysource6
static cfg_type_t cfg_type_querysource
static cfg_type_t cfg_type_server
static cfg_type_t cfg_type_server_key_kludge
static cfg_type_t cfg_type_size
static cfg_type_t cfg_type_sizenodefault
static cfg_type_t cfg_type_sockaddr4wild
 An IPv4 address with optional dscp and port, "*" accepted as wildcard.
static cfg_type_t cfg_type_sockaddr6wild
 An IPv6 address with optional port, "*" accepted as wildcard.
static cfg_type_t cfg_type_statschannels
static cfg_type_t cfg_type_ttlval
 A TTL value (number + optional unit).
static cfg_type_t cfg_type_view
static cfg_type_t cfg_type_viewopts
static cfg_type_t cfg_type_zone
static cfg_type_t cfg_type_zoneopts
static cfg_type_t cfg_type_filter_aaaa
static cfg_type_t cfg_type_dlz
static cfg_tuplefielddef_t tkey_dhkey_fields []
 tkey-dhkey
static cfg_type_t cfg_type_tkey_dhkey
static cfg_tuplefielddef_t listenon_fields []
 listen-on
static cfg_type_t cfg_type_listenon
static cfg_tuplefielddef_t acl_fields []
 acl
static cfg_tuplefielddef_t masters_fields []
 masters
static cfg_type_t cfg_type_masters
static cfg_tuplefielddef_t namesockaddrkey_fields []
 "sockaddrkeylist", a list of socket addresses with optional keys and an optional default port, as used in the masters option. E.g., "port 1234 { mymasters; 10.0.0.1 key foo; 1::2 port 69; }"
static cfg_type_t cfg_type_namesockaddrkey
static cfg_tuplefielddef_t namesockaddrkeylist_fields []
static cfg_type_t cfg_type_namesockaddrkeylist
static cfg_tuplefielddef_t portiplist_fields []
 A list of socket addresses with an optional default port, as used in the lwresd 'listen-on' option. E.g., "{ 10.0.0.1; 1::2 port 69; }".
static cfg_tuplefielddef_t pubkey_fields []
 A public key, as in the "pubkey" statement.
static cfg_type_t cfg_type_pubkey
static cfg_type_t cfg_type_rrtypelist
 A list of RR types, used in grant statements. Note that the old parser allows quotes around the RR type names.
static const char * mode_enums [] = { "grant", "deny", NULL }
static cfg_type_t cfg_type_mode
static const char * matchtype_enums []
static cfg_type_t cfg_type_matchtype
static cfg_type_t cfg_type_matchname
static cfg_tuplefielddef_t grant_fields []
 A grant statement, used in the update policy.
static cfg_type_t cfg_type_grant
static cfg_type_t cfg_type_updatepolicy
static cfg_tuplefielddef_t view_fields []
 A view statement.
static cfg_tuplefielddef_t zone_fields []
 A zone statement.
static cfg_tuplefielddef_t category_fields []
 A "category" clause in the "logging" statement.
static cfg_type_t cfg_type_category
static cfg_tuplefielddef_t dnsseckey_fields []
 A dnssec key, as used in the "trusted-keys" statement.
static cfg_type_t cfg_type_dnsseckey
static cfg_tuplefielddef_t managedkey_fields []
 A managed key initialization specifier, as used in the "managed-keys" statement.
static cfg_type_t cfg_type_managedkey
static keyword_type_t wild_class_kw = { "class", &cfg_type_ustring }
static cfg_type_t cfg_type_optional_wild_class
static keyword_type_t wild_type_kw = { "type", &cfg_type_ustring }
static cfg_type_t cfg_type_optional_wild_type
static keyword_type_t wild_name_kw = { "name", &cfg_type_qstring }
static cfg_type_t cfg_type_optional_wild_name
static cfg_tuplefielddef_t rrsetorderingelement_fields []
 An rrset ordering element.
static cfg_type_t cfg_type_rrsetorderingelement
static const char * checktype_enums [] = { "master", "slave", "response", NULL }
 A global or view "check-names" option. Note that the zone "check-names" option has a different syntax.
static cfg_type_t cfg_type_checktype
static const char * checkmode_enums [] = { "fail", "warn", "ignore", NULL }
static cfg_type_t cfg_type_checkmode
static const char * warn_enums [] = { "warn", "ignore", NULL }
static cfg_type_t cfg_type_warn
static cfg_tuplefielddef_t checknames_fields []
static cfg_type_t cfg_type_checknames
static const char * autodnssec_enums [] = { "allow", "maintain", "off", NULL }
static cfg_type_t cfg_type_autodnssec
static const char * dnssecupdatemode_enums [] = { "maintain", "no-resign", NULL }
static cfg_type_t cfg_type_dnssecupdatemode
static const char * updatemethods_enums []
static cfg_type_t cfg_type_updatemethod
static const char * zonestat_enums [] = { "full", "terse", "none", NULL }
static cfg_type_t cfg_type_zonestat
static cfg_type_t cfg_type_rrsetorder
static keyword_type_t dscp_kw = { "dscp", &cfg_type_uint32 }
static keyword_type_t port_kw = { "port", &cfg_type_uint32 }
static cfg_type_t cfg_type_keylist
 A list of keys, as in the "key" clause of the controls statement.
static cfg_type_t cfg_type_dnsseckeys
 A list of dnssec keys, as in "trusted-keys".
static cfg_type_t cfg_type_managedkeys
 A list of managed key entries, as in "trusted-keys". Currently (9.7.0) this has a format similar to dnssec keys, except the keyname is followed by the keyword "initial-key". In future releases, this keyword may take other values indicating different methods for the key to be initialized.
static const char * forwardtype_enums [] = { "first", "only", NULL }
static cfg_type_t cfg_type_forwardtype
static const char * zonetype_enums []
static cfg_type_t cfg_type_zonetype
static const char * loglevel_enums []
static cfg_type_t cfg_type_loglevel
static const char * transferformat_enums []
static cfg_type_t cfg_type_transferformat
static cfg_type_t cfg_type_none
static cfg_type_t cfg_type_qstringornone
static cfg_type_t cfg_type_auto
static cfg_type_t cfg_type_boolorauto
static cfg_type_t cfg_type_hostname
static cfg_type_t cfg_type_serverid
static cfg_tuplefielddef_t porttuple_fields []
 Port list.
static cfg_type_t cfg_type_porttuple
static cfg_type_t cfg_type_portrange
static cfg_type_t cfg_type_bracketed_portlist
static cfg_clausedef_t namedconf_clauses []
 Clauses that can be found within the top level of the named.conf file only.
static cfg_clausedef_t namedconf_or_view_clauses []
 Clauses that can occur at the top level or in the view statement, but not in the options block.
static cfg_clausedef_t bindkeys_clauses []
 Clauses that can occur in the bind.keys file.
static cfg_clausedef_t options_clauses []
 Clauses that can be found within the 'options' statement.
static cfg_type_t cfg_type_namelist
static keyword_type_t exclude_kw = { "exclude", &cfg_type_namelist }
static cfg_type_t cfg_type_optional_exclude
static keyword_type_t exceptionnames_kw = { "except-from", &cfg_type_namelist }
static cfg_type_t cfg_type_optional_exceptionnames
static cfg_tuplefielddef_t denyaddresses_fields []
static cfg_type_t cfg_type_denyaddresses
static cfg_tuplefielddef_t denyaliases_fields []
static cfg_type_t cfg_type_denyaliases
static cfg_type_t cfg_type_algorithmlist
static cfg_tuplefielddef_t disablealgorithm_fields []
static cfg_type_t cfg_type_disablealgorithm
static cfg_type_t cfg_type_dsdigestlist
static cfg_tuplefielddef_t disabledsdigest_fields []
static cfg_type_t cfg_type_disabledsdigest
static cfg_tuplefielddef_t mustbesecure_fields []
static cfg_type_t cfg_type_mustbesecure
static const char * masterformat_enums [] = { "text", "raw", "map", NULL }
static cfg_type_t cfg_type_masterformat
static const char * masterstyle_enums [] = { "full", "relative", NULL }
static cfg_type_t cfg_type_masterstyle
static keyword_type_t zone_kw = {"zone", &cfg_type_qstring}
static cfg_type_t cfg_type_rpz_zone
static const char * rpz_policies []
static cfg_type_t cfg_type_rpz_policy_name
static cfg_type_t cfg_type_rpz_cname
static cfg_tuplefielddef_t rpz_policy_fields []
static cfg_type_t cfg_type_rpz_policy
static cfg_tuplefielddef_t rpz_zone_fields []
static cfg_type_t cfg_type_rpz_tuple
static cfg_type_t cfg_type_rpz_list
static cfg_tuplefielddef_t rpz_fields []
static cfg_type_t cfg_type_rpz
static cfg_clausedef_t rrl_clauses []
static cfg_clausedef_trrl_clausesets []
static cfg_type_t cfg_type_rrl
static keyword_type_t trustanchor_kw = { "trust-anchor", &cfg_type_astring }
static cfg_type_t cfg_type_optional_trustanchor
static cfg_tuplefielddef_t lookaside_fields []
static cfg_type_t cfg_type_lookaside
static cfg_type_t cfg_type_optional_uint32
static cfg_tuplefielddef_t prefetch_fields []
static cfg_type_t cfg_type_prefetch
static cfg_clausedef_t dns64_clauses []
static cfg_clausedef_tdns64_clausesets []
static cfg_type_t cfg_type_dns64
static cfg_clausedef_t view_clauses []
 Clauses that can be found within the 'view' statement, with defaults in the 'options' statement.
static cfg_clausedef_t view_only_clauses []
 Clauses that can be found within the 'view' statement only.
static cfg_tuplefielddef_t validityinterval_fields []
 Sig-validity-interval.
static cfg_type_t cfg_type_validityinterval
static cfg_clausedef_t zone_clauses []
 Clauses that can be found in a 'zone' statement, with defaults in the 'view' or 'options' statement.
static cfg_clausedef_t zone_only_clauses []
 Clauses that can be found in a 'zone' statement only.
static cfg_clausedef_tnamedconf_clausesets []
 The top-level named.conf syntax.
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_namedconf
 A complete named.conf file.
static cfg_clausedef_tbindkeys_clausesets []
 The bind.keys syntax (trusted-keys/managed-keys only).
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bindkeys
 A bind.keys file.
static cfg_clausedef_t newzones_clauses []
 The new-zone-file syntax (for zones added by 'rndc addzone').
static cfg_clausedef_tnewzones_clausesets []
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_newzones
 A new-zones file (for zones added by 'rndc addzone').
static cfg_clausedef_toptions_clausesets []
 The "options" statement syntax.
static cfg_clausedef_tview_clausesets []
 The "view" statement syntax.
static cfg_clausedef_tzone_clausesets []
 The "zone" statement syntax.
static cfg_clausedef_t dlz_clauses []
 The "dynamically loadable zones" statement syntax.
static cfg_clausedef_tdlz_clausesets []
static cfg_clausedef_t key_clauses []
 Clauses that can be found within the 'key' statement.
static cfg_clausedef_tkey_clausesets []
static cfg_clausedef_t server_clauses []
 Clauses that can be found in a 'server' statement.
static cfg_clausedef_tserver_clausesets []
static cfg_clausedef_t channel_clauses []
 Clauses that can be found in a 'channel' clause in the 'logging' statement.
static cfg_clausedef_tchannel_clausesets []
static cfg_type_t cfg_type_channel
static cfg_clausedef_t logging_clauses []
 Clauses that can be found in a 'logging' statement.
static cfg_clausedef_tlogging_clausesets []
static cfg_tuplefielddef_t addzone_fields []
 For parsing an 'addzone' statement.
static cfg_type_t cfg_type_addzone
static cfg_clausedef_t addzoneconf_clauses []
static cfg_clausedef_taddzoneconf_clausesets []
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_addzoneconf
 A single zone passed via the addzone rndc command.
static cfg_type_t cfg_type_sizeval
 A size value (number + optional unit).
static const char * size_enums [] = { "unlimited", "default", NULL }
static const char * sizenodefault_enums [] = { "unlimited", NULL }
 A size or "unlimited", but not "default".
static const char * dialup_enums []
static const char * notify_enums [] = { "explicit", "master-only", NULL }
static const char * ixfrdiff_enums [] = { "master", "slave", NULL }
static const char * filter_aaaa_enums [] = { "break-dnssec", NULL }
static keyword_type_t key_kw = { "key", &cfg_type_astring }
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref
 A key reference, used as an ACL element.
static keyword_type_t ecs_kw = { "ecs", &cfg_type_netprefix }
 An EDNS client subnet address.
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_ecsprefix
static keyword_type_t controls_allow_kw
 A "controls" statement is represented as a map with the multivalued "inet" and "unix" clauses.
static cfg_type_t cfg_type_controls_allow
static keyword_type_t controls_keys_kw
static cfg_type_t cfg_type_controls_keys
static cfg_tuplefielddef_t inetcontrol_fields []
static cfg_type_t cfg_type_inetcontrol
static keyword_type_t controls_perm_kw
static cfg_type_t cfg_type_controls_perm
static keyword_type_t controls_owner_kw
static cfg_type_t cfg_type_controls_owner
static keyword_type_t controls_group_kw
static cfg_type_t cfg_type_controls_group
static cfg_tuplefielddef_t unixcontrol_fields []
static cfg_type_t cfg_type_unixcontrol
static cfg_clausedef_t controls_clauses []
static cfg_clausedef_tcontrols_clausesets []
static cfg_tuplefielddef_t statserver_fields []
static cfg_type_t cfg_type_statschannel
static cfg_clausedef_t statservers_clauses []
static cfg_clausedef_tstatservers_clausesets []
static unsigned int sockaddr4wild_flags
static unsigned int sockaddr6wild_flags
static cfg_tuplefielddef_t negated_fields []
 A negated address match list element (like "! 10.0.0.1"). Somewhat sneakily, the caller is expected to parse the "!", but not to print it.
static unsigned int controls_sockaddr_flags
 The socket address syntax in the "controls" statement is silly. It allows both socket address families, but also allows "*", whis is gratuitously interpreted as the IPv4 wildcard address.
static keyword_type_t debug_kw = { "debug", &cfg_type_uint32 }
 A log severity. Return as a string, except "debug N", which is returned as a keyword object.
static cfg_type_t cfg_type_debuglevel
static const char * logversions_enums [] = { "unlimited", NULL }
 The "file" clause of the "channel" statement. This is yet another special case.
static cfg_type_t cfg_type_logversions
static cfg_tuplefielddef_t logfile_fields []
static cfg_tuplefielddef_t lwres_view_fields []
 lwres
static cfg_type_t cfg_type_lwres_view
static cfg_type_t cfg_type_lwres_searchlist
static cfg_clausedef_t lwres_clauses []
static cfg_clausedef_tlwres_clausesets []
static cfg_clausedef_t rndcconf_options_clauses []
 rndc
static cfg_clausedef_trndcconf_options_clausesets []
static cfg_type_t cfg_type_rndcconf_options
static cfg_clausedef_t rndcconf_server_clauses []
static cfg_clausedef_trndcconf_server_clausesets []
static cfg_type_t cfg_type_rndcconf_server
static cfg_clausedef_t rndcconf_clauses []
static cfg_clausedef_trndcconf_clausesets []
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndcconf
 A complete rndc.conf file.
static cfg_clausedef_t rndckey_clauses []
static cfg_clausedef_trndckey_clausesets []
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndckey
 A complete rndc.key file.
LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sessionkey
 A complete session.key file.
static cfg_tuplefielddef_t nameport_fields []
static cfg_type_t cfg_type_nameport
static cfg_type_t cfg_type_sockaddrnameport
static cfg_tuplefielddef_t nameportiplist_fields []
 A list of socket addresses or name with an optional default port, as used in the dual-stack-servers option. E.g., "port 1234 { dual-stack-servers.net; 10.0.0.1; 1::2 port 69; }".
static const char * maxttl_enums [] = { "unlimited", NULL }
 A size or "unlimited", but not "default".


Detailed Description

Definition in file namedconf.c.


Define Documentation

#define TOKEN_STRING ( pctx   )     (pctx->token.value.as_textregion.base)

Definition at line 37 of file namedconf.c.

Referenced by cfg_parse_astring(), cfg_parse_boolean(), cfg_parse_kv_tuple(), cfg_parse_mapbody(), cfg_parse_qstring(), cfg_parse_rawport(), cfg_parse_sstring(), parse_addrmatchelt(), parse_boolorauto(), parse_enum_or_other(), parse_logfile(), parse_logseverity(), parse_matchtype(), parse_maybe_optional_keyvalue(), parse_portrange(), parse_qstringornone(), parse_querysource(), parse_serverid(), parse_sizeval(), parse_sockaddrsub(), parse_updatepolicy(), parse_ustring(), and token_addr().

#define CHECK ( op   ) 

Value:

do { result = (op);                                     \
                if (result != ISC_R_SUCCESS) goto cleanup;      \
        } while (0)
Check a return value.

Definition at line 40 of file namedconf.c.

#define CLEANUP_OBJ ( obj   )     do { if ((obj) != NULL) cfg_obj_destroy(pctx, &(obj)); } while (0)

Clean up a configuration object if non-NULL.

Definition at line 46 of file namedconf.c.

Referenced by cfg_parse_enum(), cfg_parse_kv_tuple(), cfg_parse_mapbody(), cfg_parse_rpz_policy(), cfg_parse_spacelist(), cfg_parse_tuple(), cfg_parser_create(), cfg_parser_destroy(), cfg_parser_mapadd(), free_map(), free_tuple(), parse2(), parse_any_named_map(), parse_list(), parse_logfile(), parse_masterselement(), parse_netaddr(), parse_querysource(), parse_sockaddrnameport(), parse_sockaddrsub(), parse_symtab_elt(), parse_unsupported(), and parser_openfile().


Function Documentation

static isc_result_t parse_enum_or_other ( cfg_parser_t pctx,
const cfg_type_t enumtype,
const cfg_type_t othertype,
cfg_obj_t **  ret 
) [static]

Forward declarations of static functions.

Definition at line 2088 of file namedconf.c.

References cfg_is_enum(), cfg_parse_enum(), cfg_parse_obj(), cfg_peektoken(), CHECK, cleanup(), isc_tokentype_string, cfg_type::of, cfg_parser::token, TOKEN_STRING, and isc_token::type.

Referenced by parse_dialup_type(), parse_filter_aaaa(), parse_ixfrdiff_type(), parse_logversions(), parse_maxttl(), parse_notify_type(), parse_size(), and parse_zonestat().

static void doc_enum_or_other ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 2104 of file namedconf.c.

References cfg_doc_terminal(), and cfg_print_chars().

static isc_result_t parse_keyvalue ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2113 of file namedconf.c.

References ISC_FALSE, and parse_maybe_optional_keyvalue().

static isc_result_t parse_optional_keyvalue ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2118 of file namedconf.c.

References ISC_TRUE, and parse_maybe_optional_keyvalue().

static isc_result_t parse_updatepolicy ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 349 of file namedconf.c.

References isc_tokenvalue_t::as_char, isc_textregion::base, cfg_create_obj(), cfg_gettoken(), cfg_parse_bracketed_list(), cfg_type_ustring, cfg_ungettoken(), CHECK, cleanup(), isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_special, isc_tokentype_string, isc_textregion::length, cfg_parser::mctx, cfg_obj::string, cfg_parser::token, TOKEN_STRING, isc_token::type, cfg_obj::value, and isc_token::value.

static void print_updatepolicy ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 384 of file namedconf.c.

References cfg_obj_isstring(), cfg_print_bracketed_list(), and cfg_print_ustring().

static void doc_updatepolicy ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 392 of file namedconf.c.

References cfg_doc_obj(), cfg_print_cstr(), and cfg_type::of.

static void print_keyvalue ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 2125 of file namedconf.c.

References cfg_print_cstr(), keyword_type_t::name, cfg_type::of, cfg_type::print, keyword_type_t::type, and cfg_obj::type.

static void doc_keyvalue ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 2133 of file namedconf.c.

References cfg_doc_obj(), cfg_print_cstr(), keyword_type_t::name, cfg_type::of, and keyword_type_t::type.

static void doc_optional_keyvalue ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 2141 of file namedconf.c.

References cfg_doc_obj(), cfg_print_cstr(), keyword_type_t::name, cfg_type::of, and keyword_type_t::type.

static isc_result_t parse_matchtype ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 274 of file namedconf.c.

References cfg_parse_enum(), CFG_PCTX_SKIP, cfg_peektoken(), CHECK, cleanup(), cfg_parser::flags, isc_tokentype_string, cfg_parser::token, TOKEN_STRING, and isc_token::type.

static isc_result_t parse_matchname ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 290 of file namedconf.c.

References cfg_parse_astring(), cfg_parse_void(), CFG_PCTX_SKIP, CHECK, cleanup(), and cfg_parser::flags.

static void doc_matchname ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 306 of file namedconf.c.

References cfg_doc_obj(), cfg_print_cstr(), and cfg_type::of.

static isc_result_t parse_zonestat ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 585 of file namedconf.c.

References cfg_type_boolean, and parse_enum_or_other().

static void print_none ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

The special keyword "none", as used in the pid-file option.

Definition at line 670 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_qstringornone ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

A quoted string or the special keyword "none". Used in the pid-file option.

Definition at line 683 of file namedconf.c.

References cfg_create_obj(), cfg_gettoken(), CFG_LEXOPT_QSTRING, cfg_parse_qstring(), cfg_ungettoken(), CHECK, cleanup(), isc_tokentype_string, cfg_parser::token, TOKEN_STRING, and isc_token::type.

static void doc_qstringornone ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 699 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static void print_auto ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

A boolean ("yes" or "no"), or the special keyword "auto". Used in the dnssec-validation option.

Definition at line 714 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_boolorauto ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 724 of file namedconf.c.

References cfg_create_obj(), cfg_gettoken(), CFG_LEXOPT_QSTRING, cfg_parse_boolean(), cfg_ungettoken(), CHECK, cleanup(), isc_tokentype_string, cfg_parser::token, TOKEN_STRING, and isc_token::type.

static void print_boolorauto ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 740 of file namedconf.c.

References cfg_obj::boolean, cfg_print_cstr(), cfg_rep_void, cfg_type::rep, cfg_obj::type, and cfg_obj::value.

static void doc_boolorauto ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 750 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static void print_hostname ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

keyword hostname

Definition at line 764 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_serverid ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

"server-id" argument.

Definition at line 778 of file namedconf.c.

References cfg_create_obj(), cfg_gettoken(), CFG_LEXOPT_QSTRING, cfg_parse_qstring(), cfg_ungettoken(), CHECK, cleanup(), ISC_R_SUCCESS, isc_tokentype_string, ISC_TRUE, cfg_parser::token, TOKEN_STRING, and isc_token::type.

static void doc_serverid ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 800 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_port ( cfg_parser_t pctx,
cfg_obj_t **  ret 
) [static]

Definition at line 822 of file namedconf.c.

References CFG_LOG_NEAR, cfg_obj_destroy(), cfg_parse_uint32(), cfg_parser_error(), CHECK, cleanup(), and ISC_R_RANGE.

Referenced by parse_portrange().

static isc_result_t parse_portrange ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 837 of file namedconf.c.

References cfg_create_tuple(), cfg_gettoken(), CFG_LOG_NEAR, CFG_LOG_NOPREP, cfg_obj_destroy(), cfg_parser_error(), cfg_peektoken(), CHECK, cleanup(), ISC_LEXOPT_CNUMBER, ISC_LEXOPT_NUMBER, ISC_R_RANGE, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_number, isc_tokentype_string, parse_port(), cfg_parser::token, TOKEN_STRING, cfg_obj::tuple, isc_token::type, cfg_obj::uint32, UNUSED, and cfg_obj::value.

static void doc_rpz_policy ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

response-policy { zone <string> [ policy (given|disabled|passthru|drop|tcp-only| nxdomain|nodata|cname <domain> ) ] [ recursive-only yes|no ] [ max-policy-ttl number ] ; } [ recursive-only yes|no ] [ max-policy-ttl number ] ; [ break-dnssec yes|no ] [ min-ns-dots number ] [ qname-wait-recurse yes|no ]

Definition at line 1120 of file namedconf.c.

References cfg_print_cstr(), and cfg_type::of.

static void doc_rpz_cname ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 1134 of file namedconf.c.

References cfg_doc_terminal(), and cfg_print_cstr().

static isc_result_t cfg_parse_rpz_policy ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 1144 of file namedconf.c.

References cfg_create_tuple(), cfg_obj_asstring(), cfg_parse_obj(), cfg_parse_void(), CHECK, cleanup(), CLEANUP_OBJ, ISC_R_SUCCESS, cfg_type::of, cfg_obj::tuple, and cfg_obj::value.

static isc_result_t cfg_parse_kv_tuple ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 1178 of file namedconf.c.

References cfg_create_tuple(), cfg_gettoken(), CFG_LEXOPT_QSTRING, cfg_parse_obj(), cfg_parse_void(), cfg_parser_error(), cfg_peektoken(), CHECK, cleanup(), CLEANUP_OBJ, ISC_R_SUCCESS, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_string, cfg_tuplefielddef::name, cfg_type::of, cfg_parser::token, TOKEN_STRING, cfg_obj::tuple, cfg_tuplefielddef::type, isc_token::type, and cfg_obj::value.

static void cfg_print_kv_tuple ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 1229 of file namedconf.c.

References cfg_print_cstr(), cfg_print_obj(), cfg_print_void(), cfg_tuplefielddef::name, cfg_type::of, cfg_type::print, cfg_obj::tuple, cfg_obj::type, and cfg_obj::value.

static void cfg_doc_kv_tuple ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 1249 of file namedconf.c.

References cfg_doc_obj(), cfg_doc_void(), cfg_print_cstr(), cfg_type::doc, cfg_tuplefielddef::name, cfg_type::of, and cfg_tuplefielddef::type.

static void print_lookaside ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

dnssec-lookaside

Definition at line 1371 of file namedconf.c.

References isc_textregion::base, cfg_print_cstr(), cfg_print_tuple(), isc_textregion::length, cfg_obj::string, cfg_obj::tuple, and cfg_obj::value.

static void doc_lookaside ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 1383 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_optional_uint32 ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 1407 of file namedconf.c.

References cfg_parse_obj(), cfg_peektoken(), cfg_type_uint32, cfg_type_void, CHECK, cleanup(), ISC_LEXOPT_CNUMBER, ISC_LEXOPT_NUMBER, isc_tokentype_number, cfg_parser::token, isc_token::type, and UNUSED.

static void doc_optional_uint32 ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 1424 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_unitstring ( char *  str,
isc_resourcevalue_t valuep 
) [static]

Definition at line 1961 of file namedconf.c.

References ISC_R_FAILURE, ISC_R_SUCCESS, isc_string_touint64(), and ISC_UINT64_MAX.

Referenced by parse_sizeval().

static isc_result_t parse_sizeval ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2000 of file namedconf.c.

References cfg_create_obj(), cfg_gettoken(), CFG_LOG_NEAR, cfg_parser_error(), cfg_type_uint64, CHECK, cleanup(), ISC_R_SUCCESS, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_string, parse_unitstring(), cfg_parser::token, TOKEN_STRING, isc_token::type, cfg_obj::uint64, UNUSED, and cfg_obj::value.

static isc_result_t parse_size ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

A size, "unlimited", or "default".

Definition at line 2036 of file namedconf.c.

References parse_enum_or_other().

static isc_result_t parse_maybe_optional_keyvalue ( cfg_parser_t pctx,
const cfg_type_t type,
isc_boolean_t  optional,
cfg_obj_t **  ret 
) [static]

optional_keyvalue

Definition at line 2059 of file namedconf.c.

References cfg_gettoken(), CFG_LOG_NEAR, cfg_parse_void(), cfg_parser_error(), cfg_peektoken(), CHECK, cleanup(), ISC_R_UNEXPECTEDTOKEN, isc_tokentype_string, keyword_type_t::name, cfg_type::of, cfg_type::parse, cfg_parser::token, TOKEN_STRING, cfg_obj::type, keyword_type_t::type, and isc_token::type.

Referenced by parse_keyvalue(), and parse_optional_keyvalue().

static isc_result_t parse_dialup_type ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2153 of file namedconf.c.

References cfg_type_boolean, and parse_enum_or_other().

static isc_result_t parse_notify_type ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2163 of file namedconf.c.

References cfg_type_boolean, and parse_enum_or_other().

static isc_result_t parse_ixfrdiff_type ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2173 of file namedconf.c.

References cfg_type_boolean, and parse_enum_or_other().

static isc_result_t parse_filter_aaaa ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2183 of file namedconf.c.

References cfg_type_boolean, and parse_enum_or_other().

static void doc_optional_bracketed_list ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

A "statistics-channels" statement is represented as a map with the multivalued "inet" clauses.

Definition at line 2405 of file namedconf.c.

References cfg_doc_obj(), cfg_print_cstr(), keyword_type_t::name, cfg_type::of, and keyword_type_t::type.

static isc_result_t parse_optional_class ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

An optional class, as used in view and zone statements.

Definition at line 2451 of file namedconf.c.

References cfg_parse_obj(), cfg_peektoken(), cfg_type_ustring, cfg_type_void, CHECK, cleanup(), isc_tokentype_string, cfg_parser::token, isc_token::type, and UNUSED.

static isc_result_t parse_querysource ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2471 of file namedconf.c.

References CFG_ADDR_V4OK, CFG_ADDR_V6OK, CFG_ADDR_WILDOK, cfg_create_obj(), cfg_gettoken(), CFG_LOG_NEAR, cfg_parse_dscp(), cfg_parse_rawaddr(), cfg_parse_rawport(), cfg_parse_sockaddr(), cfg_parser_error(), cfg_peektoken(), CHECK, cleanup(), CLEANUP_OBJ, INSIST, isc_netaddr_any(), isc_netaddr_any6(), ISC_R_SUCCESS, ISC_R_UNEXPECTEDTOKEN, isc_sockaddr_fromnetaddr(), isc_tokentype_string, cfg_type::of, port, cfg_obj::sockaddr, cfg_obj::sockaddrdscp, cfg_parser::token, TOKEN_STRING, isc_token::type, and cfg_obj::value.

static void print_querysource ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 2551 of file namedconf.c.

References cfg_print_cstr(), cfg_print_rawaddr(), cfg_print_rawuint(), isc_netaddr_fromsockaddr(), isc_sockaddr_getport(), cfg_obj::sockaddr, cfg_obj::sockaddrdscp, and cfg_obj::value.

static isc_result_t parse_addrmatchelt ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

addrmatchelt

Definition at line 2586 of file namedconf.c.

References isc_tokenvalue_t::as_char, CFG_ADDR_V4OK, CFG_ADDR_V4PREFIXOK, CFG_ADDR_V6OK, cfg_gettoken(), CFG_LEXOPT_QSTRING, CFG_LOG_NEAR, cfg_lookingat_netaddr(), cfg_parse_astring(), cfg_parse_netprefix(), cfg_parse_obj(), cfg_parser_error(), cfg_peektoken(), cfg_type_keyref, CHECK, cleanup(), ISC_R_UNEXPECTEDTOKEN, isc_tokentype_qstring, isc_tokentype_special, isc_tokentype_string, cfg_parser::token, TOKEN_STRING, isc_token::type, UNUSED, and isc_token::value.

static void print_negated ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 2653 of file namedconf.c.

References cfg_print_cstr(), and cfg_print_tuple().

static isc_result_t parse_server_key_kludge ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Handle the special kludge syntax of the "keys" clause in the "server" statement, which takes a single key with or without braces and semicolon.

Definition at line 2694 of file namedconf.c.

References isc_tokenvalue_t::as_char, cfg_gettoken(), cfg_parse_obj(), cfg_parse_special(), cfg_peektoken(), cfg_type_astring, CHECK, cleanup(), ISC_FALSE, isc_tokentype_special, ISC_TRUE, cfg_parser::token, isc_token::type, UNUSED, and isc_token::value.

static isc_result_t parse_optional_facility ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

An optional logging facility.

Definition at line 2734 of file namedconf.c.

References CFG_LEXOPT_QSTRING, cfg_parse_obj(), cfg_peektoken(), cfg_type_astring, cfg_type_void, CHECK, cleanup(), isc_tokentype_qstring, isc_tokentype_string, cfg_parser::token, isc_token::type, and UNUSED.

static isc_result_t parse_logseverity ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2768 of file namedconf.c.

References cfg_create_obj(), cfg_gettoken(), cfg_parse_obj(), cfg_parse_uint32(), cfg_peektoken(), cfg_type_uint32, CHECK, cleanup(), ISC_LEXOPT_NUMBER, isc_tokentype_number, isc_tokentype_string, cfg_parser::token, TOKEN_STRING, isc_token::type, and UNUSED.

static isc_result_t parse_logversions ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2807 of file namedconf.c.

References cfg_type_uint32, and parse_enum_or_other().

static isc_result_t parse_logfile ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 2824 of file namedconf.c.

References cfg_create_tuple(), cfg_gettoken(), cfg_parse_obj(), cfg_parse_void(), cfg_peektoken(), CHECK, cleanup(), CLEANUP_OBJ, ISC_R_SUCCESS, isc_tokentype_string, cfg_type::of, cfg_parser::token, TOKEN_STRING, cfg_obj::tuple, isc_token::type, and cfg_obj::value.

static void print_logfile ( cfg_printer_t pctx,
const cfg_obj_t obj 
) [static]

Definition at line 2872 of file namedconf.c.

References cfg_print_cstr(), cfg_print_obj(), cfg_print_void(), cfg_type::print, cfg_obj::tuple, cfg_obj::type, and cfg_obj::value.

static void doc_logfile ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 2886 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static void doc_sockaddrnameport ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

Definition at line 3055 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_sockaddrnameport ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 3079 of file namedconf.c.

References CFG_ADDR_V4OK, CFG_ADDR_V6OK, cfg_create_tuple(), CFG_LEXOPT_QSTRING, CFG_LOG_NEAR, cfg_lookingat_netaddr(), cfg_parse_obj(), cfg_parse_sockaddr(), cfg_parser_error(), cfg_peektoken(), cfg_type_sockaddr, CHECK, cleanup(), CLEANUP_OBJ, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_qstring, isc_tokentype_string, cfg_type::of, cfg_parser::token, cfg_obj::tuple, isc_token::type, UNUSED, and cfg_obj::value.

static void doc_masterselement ( cfg_printer_t pctx,
const cfg_type_t type 
) [static]

masters element.

Definition at line 3147 of file namedconf.c.

References cfg_print_cstr(), and UNUSED.

static isc_result_t parse_masterselement ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 3163 of file namedconf.c.

References CFG_ADDR_V4OK, CFG_ADDR_V6OK, CFG_LEXOPT_QSTRING, CFG_LOG_NEAR, cfg_lookingat_netaddr(), cfg_parse_astring(), cfg_parse_sockaddr(), cfg_parser_error(), cfg_peektoken(), cfg_type_astring, cfg_type_sockaddr, CHECK, cleanup(), CLEANUP_OBJ, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_qstring, isc_tokentype_string, cfg_parser::token, isc_token::type, and UNUSED.

static isc_result_t parse_ttlval ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 3193 of file namedconf.c.

References isc_tokenvalue_t::as_textregion, cfg_create_obj(), cfg_gettoken(), CFG_LOG_NEAR, cfg_parser_error(), cfg_type_uint32, CHECK, cleanup(), dns_ttl_fromtext(), ISC_R_RANGE, ISC_R_SUCCESS, ISC_R_UNEXPECTEDTOKEN, isc_tokentype_string, cfg_parser::token, ttl, isc_token::type, cfg_obj::uint32, UNUSED, cfg_obj::value, and isc_token::value.

static isc_result_t parse_maxttl ( cfg_parser_t pctx,
const cfg_type_t type,
cfg_obj_t **  ret 
) [static]

Definition at line 3232 of file namedconf.c.

References parse_enum_or_other().


Variable Documentation

static cfg_type_t cfg_type_acl [static]

Initial value:

Definition at line 97 of file namedconf.c.

static cfg_type_t cfg_type_addrmatchelt [static]

Initial value:

 {
        "address_match_element", parse_addrmatchelt, NULL, cfg_doc_terminal,
        NULL, NULL
}
An address match list element.

Definition at line 98 of file namedconf.c.

static cfg_type_t cfg_type_bracketed_aml [static]

Initial value:

A bracketed address match list.

Definition at line 99 of file namedconf.c.

static cfg_type_t cfg_type_bracketed_namesockaddrkeylist [static]

Initial value:

Definition at line 100 of file namedconf.c.

static cfg_type_t cfg_type_bracketed_dscpsockaddrlist [static]

Initial value:

Definition at line 101 of file namedconf.c.

static cfg_type_t cfg_type_bracketed_sockaddrlist [static]

Initial value:

Definition at line 102 of file namedconf.c.

static cfg_type_t cfg_type_bracketed_sockaddrnameportlist [static]

Initial value:

Definition at line 103 of file namedconf.c.

static cfg_type_t cfg_type_controls [static]

Initial value:

Definition at line 104 of file namedconf.c.

static cfg_type_t cfg_type_controls_sockaddr [static]

Initial value:

Definition at line 105 of file namedconf.c.

static cfg_type_t cfg_type_destinationlist [static]

Initial value:

A list of log destination, used in the "category" clause.

Definition at line 106 of file namedconf.c.

static cfg_type_t cfg_type_dialuptype [static]

Initial value:

Definition at line 107 of file namedconf.c.

static cfg_type_t cfg_type_ixfrdifftype [static]

Initial value:

Definition at line 108 of file namedconf.c.

static cfg_type_t cfg_type_key [static]

Initial value:

Definition at line 109 of file namedconf.c.

static cfg_type_t cfg_type_logfile [static]

Initial value:

Definition at line 110 of file namedconf.c.

static cfg_type_t cfg_type_logging [static]

Initial value:

Definition at line 111 of file namedconf.c.

static cfg_type_t cfg_type_logseverity [static]

Initial value:

 {
        "log_severity", parse_logseverity, NULL, cfg_doc_terminal,
        NULL, NULL }

Definition at line 112 of file namedconf.c.

static cfg_type_t cfg_type_lwres [static]

Initial value:

Definition at line 113 of file namedconf.c.

static cfg_type_t cfg_type_masterselement [static]

Initial value:

 {
        "masters_element", parse_masterselement, NULL,
         doc_masterselement, NULL, NULL
}

Definition at line 114 of file namedconf.c.

static cfg_type_t cfg_type_maxttl [static]

Initial value:

Definition at line 115 of file namedconf.c.

static cfg_type_t cfg_type_nameportiplist [static]

Initial value:

Definition at line 116 of file namedconf.c.

static cfg_type_t cfg_type_negated [static]

Initial value:

Definition at line 117 of file namedconf.c.

static cfg_type_t cfg_type_notifytype [static]

Initial value:

Definition at line 118 of file namedconf.c.

static cfg_type_t cfg_type_optional_allow [static]

Initial value:

Definition at line 119 of file namedconf.c.

static cfg_type_t cfg_type_optional_class [static]

Initial value:

 {
        "optional_class", parse_optional_class, NULL, cfg_doc_terminal,
        NULL, NULL
}

Definition at line 120 of file namedconf.c.

static cfg_type_t cfg_type_optional_facility [static]

Initial value:

 {
        "optional_facility", parse_optional_facility, NULL, cfg_doc_terminal,
        NULL, NULL }

Definition at line 121 of file namedconf.c.

static cfg_type_t cfg_type_optional_keyref [static]

Initial value:

Definition at line 122 of file namedconf.c.

static cfg_type_t cfg_type_optional_port [static]

Initial value:

Definition at line 123 of file namedconf.c.

static cfg_type_t cfg_type_optional_dscp [static]

Initial value:

Definition at line 124 of file namedconf.c.

static cfg_type_t cfg_type_options [static]

Initial value:

Definition at line 125 of file namedconf.c.

static cfg_type_t cfg_type_portiplist [static]

Initial value:

Definition at line 126 of file namedconf.c.

static cfg_type_t cfg_type_querysource4 [static]

Initial value:

 {
        "querysource4", parse_querysource, NULL, cfg_doc_terminal,
        NULL, &sockaddr4wild_flags
}

Definition at line 127 of file namedconf.c.

static cfg_type_t cfg_type_querysource6 [static]

Initial value:

 {
        "querysource6", parse_querysource, NULL, cfg_doc_terminal,
        NULL, &sockaddr6wild_flags
}

Definition at line 128 of file namedconf.c.

static cfg_type_t cfg_type_querysource [static]

Initial value:

 {
        "querysource", NULL, print_querysource, NULL, &cfg_rep_sockaddr, NULL
}

Definition at line 129 of file namedconf.c.

static cfg_type_t cfg_type_server [static]

Initial value:

Definition at line 130 of file namedconf.c.

static cfg_type_t cfg_type_server_key_kludge [static]

Initial value:

 {
        "server_key", parse_server_key_kludge, NULL, cfg_doc_terminal,
        NULL, NULL
}

Definition at line 131 of file namedconf.c.

static cfg_type_t cfg_type_size [static]

Initial value:

Definition at line 132 of file namedconf.c.

static cfg_type_t cfg_type_sizenodefault [static]

Initial value:

Definition at line 133 of file namedconf.c.

static cfg_type_t cfg_type_sockaddr4wild [static]

Initial value:

An IPv4 address with optional dscp and port, "*" accepted as wildcard.

Definition at line 134 of file namedconf.c.

static cfg_type_t cfg_type_sockaddr6wild [static]

Initial value:

An IPv6 address with optional port, "*" accepted as wildcard.

Definition at line 135 of file namedconf.c.

static cfg_type_t cfg_type_statschannels [static]

Initial value:

Definition at line 136 of file namedconf.c.

static cfg_type_t cfg_type_ttlval [static]

Initial value:

A TTL value (number + optional unit).

Definition at line 137 of file namedconf.c.

static cfg_type_t cfg_type_view [static]

Initial value:

Definition at line 138 of file namedconf.c.

static cfg_type_t cfg_type_viewopts [static]

Initial value:

Definition at line 139 of file namedconf.c.

static cfg_type_t cfg_type_zone [static]

Initial value:

Definition at line 140 of file namedconf.c.

static cfg_type_t cfg_type_zoneopts [static]

Initial value:

Definition at line 141 of file namedconf.c.

static cfg_type_t cfg_type_filter_aaaa [static]

Initial value:

Definition at line 142 of file namedconf.c.

static cfg_type_t cfg_type_dlz [static]

Initial value:

Definition at line 143 of file namedconf.c.

cfg_tuplefielddef_t tkey_dhkey_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_qstring, 0 },
        { "keyid", &cfg_type_uint32, 0 },
        { NULL, NULL, 0 }
}
tkey-dhkey

Definition at line 147 of file namedconf.c.

cfg_type_t cfg_type_tkey_dhkey [static]

Initial value:

Definition at line 153 of file namedconf.c.

cfg_tuplefielddef_t listenon_fields[] [static]

Initial value:

 {
        { "port", &cfg_type_optional_port, 0 },
        { "dscp", &cfg_type_optional_dscp, 0 },
        { "acl", &cfg_type_bracketed_aml, 0 },
        { NULL, NULL, 0 }
}
listen-on

Definition at line 160 of file namedconf.c.

cfg_type_t cfg_type_listenon [static]

Initial value:

Definition at line 167 of file namedconf.c.

cfg_tuplefielddef_t acl_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "value", &cfg_type_bracketed_aml, 0 },
        { NULL, NULL, 0 }
}
acl

Definition at line 174 of file namedconf.c.

cfg_tuplefielddef_t masters_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "port", &cfg_type_optional_port, 0 },
        { "dscp", &cfg_type_optional_dscp, 0 },
        { "addresses", &cfg_type_bracketed_namesockaddrkeylist, 0 },
        { NULL, NULL, 0 }
}
masters

Definition at line 184 of file namedconf.c.

cfg_type_t cfg_type_masters [static]

Initial value:

Definition at line 192 of file namedconf.c.

cfg_tuplefielddef_t namesockaddrkey_fields[] [static]

Initial value:

 {
        { "masterselement", &cfg_type_masterselement, 0 },
        { "key", &cfg_type_optional_keyref, 0 },
        { NULL, NULL, 0 },
}
"sockaddrkeylist", a list of socket addresses with optional keys and an optional default port, as used in the masters option. E.g., "port 1234 { mymasters; 10.0.0.1 key foo; 1::2 port 69; }"

Definition at line 202 of file namedconf.c.

cfg_type_t cfg_type_namesockaddrkey [static]

Initial value:

Definition at line 208 of file namedconf.c.

cfg_tuplefielddef_t namesockaddrkeylist_fields[] [static]

Initial value:

 {
        { "port", &cfg_type_optional_port, 0 },
        { "dscp", &cfg_type_optional_dscp, 0 },
        { "addresses", &cfg_type_bracketed_namesockaddrkeylist, 0 },
        { NULL, NULL, 0 }
}

Definition at line 218 of file namedconf.c.

cfg_type_t cfg_type_namesockaddrkeylist [static]

Initial value:

Definition at line 224 of file namedconf.c.

cfg_tuplefielddef_t portiplist_fields[] [static]

Initial value:

 {
        { "port", &cfg_type_optional_port, 0 },
        { "dscp", &cfg_type_optional_dscp, 0 },
        { "addresses", &cfg_type_bracketed_dscpsockaddrlist, 0 },
        { NULL, NULL, 0 }
}
A list of socket addresses with an optional default port, as used in the lwresd 'listen-on' option. E.g., "{ 10.0.0.1; 1::2 port 69; }".

Definition at line 233 of file namedconf.c.

cfg_tuplefielddef_t pubkey_fields[] [static]

Initial value:

 {
        { "flags", &cfg_type_uint32, 0 },
        { "protocol", &cfg_type_uint32, 0 },
        { "algorithm", &cfg_type_uint32, 0 },
        { "key", &cfg_type_qstring, 0 },
        { NULL, NULL, 0 }
}
A public key, as in the "pubkey" statement.

Definition at line 247 of file namedconf.c.

cfg_type_t cfg_type_pubkey [static]

Initial value:

Definition at line 254 of file namedconf.c.

cfg_type_t cfg_type_rrtypelist [static]

Initial value:

A list of RR types, used in grant statements. Note that the old parser allows quotes around the RR type names.

Definition at line 262 of file namedconf.c.

const char* mode_enums[] = { "grant", "deny", NULL } [static]

Definition at line 267 of file namedconf.c.

cfg_type_t cfg_type_mode [static]

Initial value:

Definition at line 268 of file namedconf.c.

const char* matchtype_enums[] [static]

Initial value:

 {
        "name", "subdomain", "wildcard", "self", "selfsub", "selfwild",
        "krb5-self", "ms-self", "krb5-subdomain", "ms-subdomain",
        "tcp-self", "6to4-self", "zonesub", "external", NULL }

Definition at line 312 of file namedconf.c.

cfg_type_t cfg_type_matchtype [static]

Initial value:

Definition at line 317 of file namedconf.c.

cfg_type_t cfg_type_matchname [static]

Initial value:

Definition at line 322 of file namedconf.c.

cfg_tuplefielddef_t grant_fields[] [static]

Initial value:

 {
        { "mode", &cfg_type_mode, 0 },
        { "identity", &cfg_type_astring, 0 }, 
        { "matchtype", &cfg_type_matchtype, 0 },
        { "name", &cfg_type_matchname, 0 }, 
        { "types", &cfg_type_rrtypelist, 0 },
        { NULL, NULL, 0 }
}
A grant statement, used in the update policy.

Definition at line 330 of file namedconf.c.

cfg_type_t cfg_type_grant [static]

Initial value:

Definition at line 338 of file namedconf.c.

cfg_type_t cfg_type_updatepolicy [static]

Initial value:

Definition at line 343 of file namedconf.c.

cfg_tuplefielddef_t view_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "class", &cfg_type_optional_class, 0 },
        { "options", &cfg_type_viewopts, 0 },
        { NULL, NULL, 0 }
}
A view statement.

Definition at line 401 of file namedconf.c.

cfg_tuplefielddef_t zone_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "class", &cfg_type_optional_class, 0 },
        { "options", &cfg_type_zoneopts, 0 },
        { NULL, NULL, 0 }
}
A zone statement.

Definition at line 415 of file namedconf.c.

cfg_tuplefielddef_t category_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "destinations", &cfg_type_destinationlist,0 },
        { NULL, NULL, 0 }
}
A "category" clause in the "logging" statement.

Definition at line 429 of file namedconf.c.

cfg_type_t cfg_type_category [static]

Initial value:

Definition at line 434 of file namedconf.c.

cfg_tuplefielddef_t dnsseckey_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "flags", &cfg_type_uint32, 0 },
        { "protocol", &cfg_type_uint32, 0 },
        { "algorithm", &cfg_type_uint32, 0 },
        { "key", &cfg_type_qstring, 0 },
        { NULL, NULL, 0 }
}
A dnssec key, as used in the "trusted-keys" statement.

Definition at line 443 of file namedconf.c.

cfg_type_t cfg_type_dnsseckey [static]

Initial value:

Definition at line 451 of file namedconf.c.

cfg_tuplefielddef_t managedkey_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "init", &cfg_type_ustring, 0 },   
        { "flags", &cfg_type_uint32, 0 },
        { "protocol", &cfg_type_uint32, 0 },
        { "algorithm", &cfg_type_uint32, 0 },
        { "key", &cfg_type_qstring, 0 },
        { NULL, NULL, 0 }
}
A managed key initialization specifier, as used in the "managed-keys" statement.

Definition at line 460 of file namedconf.c.

cfg_type_t cfg_type_managedkey [static]

Initial value:

Definition at line 469 of file namedconf.c.

keyword_type_t wild_class_kw = { "class", &cfg_type_ustring } [static]

Definition at line 474 of file namedconf.c.

cfg_type_t cfg_type_optional_wild_class [static]

Initial value:

Definition at line 476 of file namedconf.c.

keyword_type_t wild_type_kw = { "type", &cfg_type_ustring } [static]

Definition at line 481 of file namedconf.c.

cfg_type_t cfg_type_optional_wild_type [static]

Initial value:

Definition at line 483 of file namedconf.c.

keyword_type_t wild_name_kw = { "name", &cfg_type_qstring } [static]

Definition at line 488 of file namedconf.c.

cfg_type_t cfg_type_optional_wild_name [static]

Initial value:

Definition at line 490 of file namedconf.c.

cfg_tuplefielddef_t rrsetorderingelement_fields[] [static]

Initial value:

 {
        { "class", &cfg_type_optional_wild_class, 0 },
        { "type", &cfg_type_optional_wild_type, 0 },
        { "name", &cfg_type_optional_wild_name, 0 },
        { "order", &cfg_type_ustring, 0 }, 
        { "ordering", &cfg_type_ustring, 0 },
        { NULL, NULL, 0 }
}
An rrset ordering element.

Definition at line 498 of file namedconf.c.

cfg_type_t cfg_type_rrsetorderingelement [static]

Initial value:

Definition at line 506 of file namedconf.c.

const char* checktype_enums[] = { "master", "slave", "response", NULL } [static]

A global or view "check-names" option. Note that the zone "check-names" option has a different syntax.

Definition at line 516 of file namedconf.c.

cfg_type_t cfg_type_checktype [static]

Initial value:

Definition at line 517 of file namedconf.c.

const char* checkmode_enums[] = { "fail", "warn", "ignore", NULL } [static]

Definition at line 522 of file namedconf.c.

cfg_type_t cfg_type_checkmode [static]

Initial value:

Definition at line 523 of file namedconf.c.

const char* warn_enums[] = { "warn", "ignore", NULL } [static]

Definition at line 528 of file namedconf.c.

cfg_type_t cfg_type_warn [static]

Initial value:

Definition at line 529 of file namedconf.c.

cfg_tuplefielddef_t checknames_fields[] [static]

Initial value:

 {
        { "type", &cfg_type_checktype, 0 },
        { "mode", &cfg_type_checkmode, 0 },
        { NULL, NULL, 0 }
}

Definition at line 534 of file namedconf.c.

cfg_type_t cfg_type_checknames [static]

Initial value:

Definition at line 540 of file namedconf.c.

const char* autodnssec_enums[] = { "allow", "maintain", "off", NULL } [static]

Definition at line 557 of file namedconf.c.

cfg_type_t cfg_type_autodnssec [static]

Initial value:

Definition at line 558 of file namedconf.c.

const char* dnssecupdatemode_enums[] = { "maintain", "no-resign", NULL } [static]

Definition at line 563 of file namedconf.c.

cfg_type_t cfg_type_dnssecupdatemode [static]

Initial value:

Definition at line 564 of file namedconf.c.

const char* updatemethods_enums[] [static]

Initial value:

 {
        "increment", "unixtime", "date", NULL }

Definition at line 569 of file namedconf.c.

cfg_type_t cfg_type_updatemethod [static]

Initial value:

Definition at line 571 of file namedconf.c.

const char* zonestat_enums[] = { "full", "terse", "none", NULL } [static]

Definition at line 583 of file namedconf.c.

cfg_type_t cfg_type_zonestat [static]

Initial value:

Definition at line 588 of file namedconf.c.

cfg_type_t cfg_type_rrsetorder [static]

Initial value:

Definition at line 593 of file namedconf.c.

keyword_type_t dscp_kw = { "dscp", &cfg_type_uint32 } [static]

Definition at line 598 of file namedconf.c.

keyword_type_t port_kw = { "port", &cfg_type_uint32 } [static]

Definition at line 605 of file namedconf.c.

cfg_type_t cfg_type_keylist [static]

Initial value:

A list of keys, as in the "key" clause of the controls statement.

Definition at line 613 of file namedconf.c.

cfg_type_t cfg_type_dnsseckeys [static]

Initial value:

A list of dnssec keys, as in "trusted-keys".

Definition at line 619 of file namedconf.c.

cfg_type_t cfg_type_managedkeys [static]

Initial value:

A list of managed key entries, as in "trusted-keys". Currently (9.7.0) this has a format similar to dnssec keys, except the keyname is followed by the keyword "initial-key". In future releases, this keyword may take other values indicating different methods for the key to be initialized.

Definition at line 632 of file namedconf.c.

const char* forwardtype_enums[] = { "first", "only", NULL } [static]

Definition at line 637 of file namedconf.c.

cfg_type_t cfg_type_forwardtype [static]

Initial value:

Definition at line 638 of file namedconf.c.

const char* zonetype_enums[] [static]

Initial value:

 {
        "master", "slave", "stub", "static-stub", "hint", "forward",
        "delegation-only", "redirect", NULL }

Definition at line 643 of file namedconf.c.

cfg_type_t cfg_type_zonetype [static]

Initial value:

Definition at line 646 of file namedconf.c.

const char* loglevel_enums[] [static]

Initial value:

 {
        "critical", "error", "warning", "notice", "info", "dynamic", NULL }

Definition at line 651 of file namedconf.c.

cfg_type_t cfg_type_loglevel [static]

Initial value:

Definition at line 653 of file namedconf.c.

const char* transferformat_enums[] [static]

Initial value:

 {
        "many-answers", "one-answer", NULL }

Definition at line 658 of file namedconf.c.

cfg_type_t cfg_type_transferformat [static]

Initial value:

Definition at line 660 of file namedconf.c.

cfg_type_t cfg_type_none [static]

Initial value:

 {
        "none", NULL, print_none, NULL, &cfg_rep_void, NULL
}

Definition at line 675 of file namedconf.c.

cfg_type_t cfg_type_qstringornone [static]

Initial value:

 {
        "qstringornone", parse_qstringornone, NULL, doc_qstringornone,
        NULL, NULL
}

Definition at line 704 of file namedconf.c.

cfg_type_t cfg_type_auto [static]

Initial value:

 {
        "auto", NULL, print_auto, NULL, &cfg_rep_void, NULL
}

Definition at line 719 of file namedconf.c.

cfg_type_t cfg_type_boolorauto [static]

Initial value:

 {
        "boolorauto", parse_boolorauto, print_boolorauto,
        doc_boolorauto, NULL, NULL
}

Definition at line 755 of file namedconf.c.

cfg_type_t cfg_type_hostname [static]

Initial value:

 {
        "hostname", NULL, print_hostname, NULL, &cfg_rep_boolean, NULL
}

Definition at line 769 of file namedconf.c.

cfg_type_t cfg_type_serverid [static]

Initial value:

 {
        "serverid", parse_serverid, NULL, doc_serverid, NULL, NULL }

Definition at line 805 of file namedconf.c.

cfg_tuplefielddef_t porttuple_fields[] [static]

Initial value:

 {
        { "loport", &cfg_type_uint32, 0 },
        { "hiport", &cfg_type_uint32, 0 },
        { NULL, NULL, 0 }
}
Port list.

Definition at line 811 of file namedconf.c.

cfg_type_t cfg_type_porttuple [static]

Initial value:

Definition at line 816 of file namedconf.c.

cfg_type_t cfg_type_portrange [static]

Initial value:

 {
        "portrange", parse_portrange, NULL, cfg_doc_terminal,
        NULL, NULL
}

Definition at line 876 of file namedconf.c.

cfg_type_t cfg_type_bracketed_portlist [static]

Initial value:

Definition at line 881 of file namedconf.c.

cfg_clausedef_t namedconf_clauses[] [static]

Initial value:

 {
        { "options", &cfg_type_options, 0 },
        { "controls", &cfg_type_controls, CFG_CLAUSEFLAG_MULTI },
        { "acl", &cfg_type_acl, CFG_CLAUSEFLAG_MULTI },
        { "masters", &cfg_type_masters, CFG_CLAUSEFLAG_MULTI },
        { "logging", &cfg_type_logging, 0 },
        { "view", &cfg_type_view, CFG_CLAUSEFLAG_MULTI },
        { "lwres", &cfg_type_lwres, CFG_CLAUSEFLAG_MULTI },
        { "statistics-channels", &cfg_type_statschannels,
          CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}
Clauses that can be found within the top level of the named.conf file only.

Definition at line 892 of file namedconf.c.

cfg_clausedef_t namedconf_or_view_clauses[] [static]

Initial value:

 {
        { "key", &cfg_type_key, CFG_CLAUSEFLAG_MULTI },
        { "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
        { "dlz", &cfg_type_dlz, CFG_CLAUSEFLAG_MULTI },
        { "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI },
        { "trusted-keys", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI },
        { "managed-keys", &cfg_type_managedkeys, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}
Clauses that can occur at the top level or in the view statement, but not in the options block.

Definition at line 910 of file namedconf.c.

cfg_clausedef_t bindkeys_clauses[] [static]

Initial value:

 {
        { "trusted-keys", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI },
        { "managed-keys", &cfg_type_managedkeys, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}
Clauses that can occur in the bind.keys file.

Definition at line 924 of file namedconf.c.

cfg_clausedef_t options_clauses[] [static]

Clauses that can be found within the 'options' statement.

Definition at line 934 of file namedconf.c.

cfg_type_t cfg_type_namelist [static]

Initial value:

Definition at line 1017 of file namedconf.c.

keyword_type_t exclude_kw = { "exclude", &cfg_type_namelist } [static]

Definition at line 1021 of file namedconf.c.

cfg_type_t cfg_type_optional_exclude [static]

Initial value:

Definition at line 1023 of file namedconf.c.

keyword_type_t exceptionnames_kw = { "except-from", &cfg_type_namelist } [static]

Definition at line 1027 of file namedconf.c.

cfg_type_t cfg_type_optional_exceptionnames [static]

Initial value:

Definition at line 1029 of file namedconf.c.

cfg_tuplefielddef_t denyaddresses_fields[] [static]

Initial value:

 {
        { "acl", &cfg_type_bracketed_aml, 0 },
        { "except-from", &cfg_type_optional_exceptionnames, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1033 of file namedconf.c.

cfg_type_t cfg_type_denyaddresses [static]

Initial value:

Definition at line 1039 of file namedconf.c.

cfg_tuplefielddef_t denyaliases_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_namelist, 0 },
        { "except-from", &cfg_type_optional_exceptionnames, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1044 of file namedconf.c.

cfg_type_t cfg_type_denyaliases [static]

Initial value:

Definition at line 1050 of file namedconf.c.

cfg_type_t cfg_type_algorithmlist [static]

Initial value:

Definition at line 1055 of file namedconf.c.

cfg_tuplefielddef_t disablealgorithm_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "algorithms", &cfg_type_algorithmlist, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1059 of file namedconf.c.

cfg_type_t cfg_type_disablealgorithm [static]

Initial value:

Definition at line 1065 of file namedconf.c.

cfg_type_t cfg_type_dsdigestlist [static]

Initial value:

Definition at line 1070 of file namedconf.c.

cfg_tuplefielddef_t disabledsdigest_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "digests", &cfg_type_dsdigestlist, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1074 of file namedconf.c.

cfg_type_t cfg_type_disabledsdigest [static]

Initial value:

Definition at line 1080 of file namedconf.c.

cfg_tuplefielddef_t mustbesecure_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "value", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1085 of file namedconf.c.

cfg_type_t cfg_type_mustbesecure [static]

Initial value:

Definition at line 1091 of file namedconf.c.

const char* masterformat_enums[] = { "text", "raw", "map", NULL } [static]

Definition at line 1096 of file namedconf.c.

cfg_type_t cfg_type_masterformat [static]

Initial value:

Definition at line 1097 of file namedconf.c.

const char* masterstyle_enums[] = { "full", "relative", NULL } [static]

Definition at line 1102 of file namedconf.c.

cfg_type_t cfg_type_masterstyle [static]

Initial value:

Definition at line 1103 of file namedconf.c.

keyword_type_t zone_kw = {"zone", &cfg_type_qstring} [static]

Definition at line 1266 of file namedconf.c.

cfg_type_t cfg_type_rpz_zone [static]

Initial value:

Definition at line 1267 of file namedconf.c.

const char* rpz_policies[] [static]

Initial value:

 {
        "given", "disabled", "passthru", "no-op", "drop", "tcp-only",
        "nxdomain", "nodata", "cname", NULL
}

Definition at line 1275 of file namedconf.c.

cfg_type_t cfg_type_rpz_policy_name [static]

Initial value:

Definition at line 1279 of file namedconf.c.

cfg_type_t cfg_type_rpz_cname [static]

Initial value:

 {
        "quoted_string", cfg_parse_astring, NULL,
        doc_rpz_cname, &cfg_rep_string,
        NULL
}

Definition at line 1284 of file namedconf.c.

cfg_tuplefielddef_t rpz_policy_fields[] [static]

Initial value:

 {
        { "policy name", &cfg_type_rpz_policy_name, 0 },
        { "cname", &cfg_type_rpz_cname, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1289 of file namedconf.c.

cfg_type_t cfg_type_rpz_policy [static]

Initial value:

Definition at line 1294 of file namedconf.c.

cfg_tuplefielddef_t rpz_zone_fields[] [static]

Initial value:

 {
        { "zone name", &cfg_type_rpz_zone, 0 },
        { "policy", &cfg_type_rpz_policy, 0 },
        { "recursive-only", &cfg_type_boolean, 0 },
        { "max-policy-ttl", &cfg_type_uint32, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1299 of file namedconf.c.

cfg_type_t cfg_type_rpz_tuple [static]

Initial value:

Definition at line 1306 of file namedconf.c.

cfg_type_t cfg_type_rpz_list [static]

Initial value:

Definition at line 1311 of file namedconf.c.

cfg_tuplefielddef_t rpz_fields[] [static]

Initial value:

 {
        { "zone list", &cfg_type_rpz_list, 0 },
        { "recursive-only", &cfg_type_boolean, 0 },
        { "break-dnssec", &cfg_type_boolean, 0 },
        { "max-policy-ttl", &cfg_type_uint32, 0 },
        { "min-ns-dots", &cfg_type_uint32, 0 },
        { "qname-wait-recurse", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1316 of file namedconf.c.

cfg_type_t cfg_type_rpz [static]

Initial value:

Definition at line 1325 of file namedconf.c.

cfg_clausedef_t rrl_clauses[] [static]

Initial value:

 {
        { "responses-per-second", &cfg_type_uint32, 0 },
        { "referrals-per-second", &cfg_type_uint32, 0 },
        { "nodata-per-second", &cfg_type_uint32, 0 },
        { "nxdomains-per-second", &cfg_type_uint32, 0 },
        { "errors-per-second", &cfg_type_uint32, 0 },
        { "all-per-second", &cfg_type_uint32, 0 },
        { "slip", &cfg_type_uint32, 0 },
        { "window", &cfg_type_uint32, 0 },
        { "log-only", &cfg_type_boolean, 0 },
        { "qps-scale", &cfg_type_uint32, 0 },
        { "ipv4-prefix-length", &cfg_type_uint32, 0 },
        { "ipv6-prefix-length", &cfg_type_uint32, 0 },
        { "exempt-clients", &cfg_type_bracketed_aml, 0 },
        { "max-table-size", &cfg_type_uint32, 0 },
        { "min-table-size", &cfg_type_uint32, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1335 of file namedconf.c.

cfg_clausedef_t* rrl_clausesets[] [static]

Initial value:

 {
        rrl_clauses,
        NULL
}

Definition at line 1354 of file namedconf.c.

cfg_type_t cfg_type_rrl [static]

Initial value:

Definition at line 1359 of file namedconf.c.

keyword_type_t trustanchor_kw = { "trust-anchor", &cfg_type_astring } [static]

Definition at line 1388 of file namedconf.c.

cfg_type_t cfg_type_optional_trustanchor [static]

Initial value:

Definition at line 1390 of file namedconf.c.

cfg_tuplefielddef_t lookaside_fields[] [static]

Initial value:

 {
        { "domain", &cfg_type_astring, 0 },
        { "trust-anchor", &cfg_type_optional_trustanchor, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1395 of file namedconf.c.

cfg_type_t cfg_type_lookaside [static]

Initial value:

Definition at line 1401 of file namedconf.c.

cfg_type_t cfg_type_optional_uint32 [static]

Initial value:

 {
        "optional_uint32", parse_optional_uint32, NULL, doc_optional_uint32,
        NULL, NULL }

Definition at line 1429 of file namedconf.c.

cfg_tuplefielddef_t prefetch_fields[] [static]

Initial value:

 {
        { "trigger", &cfg_type_uint32, 0 },
        { "eligible", &cfg_type_optional_uint32, 0 },
        { NULL, NULL, 0 }
}

Definition at line 1433 of file namedconf.c.

cfg_type_t cfg_type_prefetch [static]

Initial value:

Definition at line 1439 of file namedconf.c.

cfg_clausedef_t dns64_clauses[] [static]

Initial value:

 {
        { "clients", &cfg_type_bracketed_aml, 0 },
        { "mapped", &cfg_type_bracketed_aml, 0 },
        { "exclude", &cfg_type_bracketed_aml, 0 },
        { "suffix", &cfg_type_netaddr6, 0 },
        { "recursive-only", &cfg_type_boolean, 0 },
        { "break-dnssec", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 },
}

Definition at line 1447 of file namedconf.c.

cfg_clausedef_t* dns64_clausesets[] [static]

Initial value:

 {
        dns64_clauses,
        NULL
}

Definition at line 1458 of file namedconf.c.

cfg_type_t cfg_type_dns64 [static]

Initial value:

Definition at line 1463 of file namedconf.c.

cfg_clausedef_t view_clauses[] [static]

Clauses that can be found within the 'view' statement, with defaults in the 'options' statement.

Definition at line 1474 of file namedconf.c.

cfg_clausedef_t view_only_clauses[] [static]

Initial value:

 {
        { "match-clients", &cfg_type_bracketed_aml, 0 },
        { "match-destinations", &cfg_type_bracketed_aml, 0 },
        { "match-recursive-only", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 }
}
Clauses that can be found within the 'view' statement only.

Definition at line 1586 of file namedconf.c.

cfg_tuplefielddef_t validityinterval_fields[] [static]

Initial value:

 {
        { "validity", &cfg_type_uint32, 0 },
        { "re-sign", &cfg_type_optional_uint32, 0 },
        { NULL, NULL, 0 }
}
Sig-validity-interval.

Definition at line 1597 of file namedconf.c.

cfg_type_t cfg_type_validityinterval [static]

Initial value:

Definition at line 1603 of file namedconf.c.

cfg_clausedef_t zone_clauses[] [static]

Clauses that can be found in a 'zone' statement, with defaults in the 'view' or 'options' statement.

Definition at line 1613 of file namedconf.c.

cfg_clausedef_t zone_only_clauses[] [static]

Initial value:

 {
        { "type", &cfg_type_zonetype, 0 },
        { "file", &cfg_type_qstring, 0 },
        { "journal", &cfg_type_qstring, 0 },
        { "ixfr-base", &cfg_type_qstring, CFG_CLAUSEFLAG_OBSOLETE },
        { "ixfr-tmp-file", &cfg_type_qstring, CFG_CLAUSEFLAG_OBSOLETE },
        { "masters", &cfg_type_namesockaddrkeylist, 0 },
        { "pubkey", &cfg_type_pubkey,
          CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_OBSOLETE },
        { "update-policy", &cfg_type_updatepolicy, 0 },
        { "database", &cfg_type_astring, 0 },
        { "dlz", &cfg_type_astring, 0 },
        { "delegation-only", &cfg_type_boolean, 0 },
        
        { "check-names", &cfg_type_checkmode, 0 },
        { "in-view", &cfg_type_astring, 0 },
        { "ixfr-from-differences", &cfg_type_boolean, 0 },
        { "server-addresses", &cfg_type_bracketed_sockaddrlist, 0 },
        { "server-names", &cfg_type_namelist, 0 },
        { NULL, NULL, 0 }
}
Clauses that can be found in a 'zone' statement only.

Definition at line 1684 of file namedconf.c.

cfg_clausedef_t* namedconf_clausesets[] [static]

Initial value:

The top-level named.conf syntax.

Definition at line 1713 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_namedconf

Initial value:

A complete named.conf file.

Definition at line 1718 of file namedconf.c.

Referenced by load_configuration(), main(), ns_config_parsedefaults(), and ns_lwresd_parseeresolvconf().

cfg_clausedef_t* bindkeys_clausesets[] [static]

Initial value:

 {
        bindkeys_clauses,
        NULL
}
The bind.keys syntax (trusted-keys/managed-keys only).

Definition at line 1725 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bindkeys

Initial value:

A bind.keys file.

Definition at line 1729 of file namedconf.c.

Referenced by load_configuration().

cfg_clausedef_t newzones_clauses[] [static]

Initial value:

 {
        { "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}
The new-zone-file syntax (for zones added by 'rndc addzone').

Definition at line 1736 of file namedconf.c.

cfg_clausedef_t* newzones_clausesets[] [static]

Initial value:

 {
        newzones_clauses,
        NULL
}

Definition at line 1742 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_newzones

Initial value:

A new-zones file (for zones added by 'rndc addzone').

Definition at line 1747 of file namedconf.c.

Referenced by setup_newzones().

cfg_clausedef_t* options_clausesets[] [static]

Initial value:

The "options" statement syntax.

Definition at line 1755 of file namedconf.c.

cfg_clausedef_t* view_clausesets[] [static]

Initial value:

The "view" statement syntax.

Definition at line 1767 of file namedconf.c.

cfg_clausedef_t* zone_clausesets[] [static]

Initial value:

The "zone" statement syntax.

Definition at line 1780 of file namedconf.c.

cfg_clausedef_t dlz_clauses[] [static]

Initial value:

 {
        { "database", &cfg_type_astring, 0 },
        { "search", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 }
}
The "dynamically loadable zones" statement syntax.

Definition at line 1792 of file namedconf.c.

cfg_clausedef_t* dlz_clausesets[] [static]

Initial value:

 {
        dlz_clauses,
        NULL
}

Definition at line 1798 of file namedconf.c.

cfg_clausedef_t key_clauses[] [static]

Initial value:

 {
        { "algorithm", &cfg_type_astring, 0 },
        { "secret", &cfg_type_sstring, 0 },
        { NULL, NULL, 0 }
}
Clauses that can be found within the 'key' statement.

Definition at line 1811 of file namedconf.c.

cfg_clausedef_t* key_clausesets[] [static]

Initial value:

 {
        key_clauses,
        NULL
}

Definition at line 1818 of file namedconf.c.

cfg_clausedef_t server_clauses[] [static]

Initial value:

 {
        { "bogus", &cfg_type_boolean, 0 },
        { "edns", &cfg_type_boolean, 0 },
        { "edns-udp-size", &cfg_type_uint32, 0 },
        { "edns-version", &cfg_type_uint32, 0 },
        { "keys", &cfg_type_server_key_kludge, 0 },
        { "max-udp-size", &cfg_type_uint32, 0 },
        { "tcp-only", &cfg_type_boolean, 0 },
        { "notify-source", &cfg_type_sockaddr4wild, 0 },
        { "notify-source-v6", &cfg_type_sockaddr6wild, 0 },
        { "provide-ixfr", &cfg_type_boolean, 0 },
        { "query-source", &cfg_type_querysource4, 0 },
        { "query-source-v6", &cfg_type_querysource6, 0 },
        { "request-expire", &cfg_type_boolean, 0 },
        { "request-ixfr", &cfg_type_boolean, 0 },
        { "request-nsid", &cfg_type_boolean, 0 },



        { "request-sit", &cfg_type_boolean, CFG_CLAUSEFLAG_NOTCONFIGURED },

        { "support-ixfr", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
        { "transfer-format", &cfg_type_transferformat, 0 },
        { "transfer-source", &cfg_type_sockaddr4wild, 0 },
        { "transfer-source-v6", &cfg_type_sockaddr6wild, 0 },
        { "transfers", &cfg_type_uint32, 0 },
        { NULL, NULL, 0 }
}
Clauses that can be found in a 'server' statement.

Definition at line 1832 of file namedconf.c.

cfg_clausedef_t* server_clausesets[] [static]

Initial value:

 {
        server_clauses,
        NULL
}

Definition at line 1861 of file namedconf.c.

cfg_clausedef_t channel_clauses[] [static]

Initial value:

 {
        
        { "file", &cfg_type_logfile, 0 },
        { "syslog", &cfg_type_optional_facility, 0 },
        { "null", &cfg_type_void, 0 },
        { "stderr", &cfg_type_void, 0 },
        
        { "severity", &cfg_type_logseverity, 0 },
        { "print-time", &cfg_type_boolean, 0 },
        { "print-severity", &cfg_type_boolean, 0 },
        { "print-category", &cfg_type_boolean, 0 },
        { "buffered", &cfg_type_boolean, 0 },
        { NULL, NULL, 0 }
}
Clauses that can be found in a 'channel' clause in the 'logging' statement.

These have some additional constraints that need to be checked after parsing:

Definition at line 1881 of file namedconf.c.

cfg_clausedef_t* channel_clausesets[] [static]

Initial value:

 {
        channel_clauses,
        NULL
}

Definition at line 1896 of file namedconf.c.

cfg_type_t cfg_type_channel [static]

Initial value:

Definition at line 1900 of file namedconf.c.

cfg_clausedef_t logging_clauses[] [static]

Initial value:

 {
        { "channel", &cfg_type_channel, CFG_CLAUSEFLAG_MULTI },
        { "category", &cfg_type_category, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}
Clauses that can be found in a 'logging' statement.

Definition at line 1914 of file namedconf.c.

cfg_clausedef_t* logging_clausesets[] [static]

Initial value:

 {
        logging_clauses,
        NULL
}

Definition at line 1920 of file namedconf.c.

cfg_tuplefielddef_t addzone_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "class", &cfg_type_optional_class, 0 },
        { "view", &cfg_type_optional_class, 0 },
        { "options", &cfg_type_zoneopts, 0 },
        { NULL, NULL, 0 }
}
For parsing an 'addzone' statement.

Definition at line 1932 of file namedconf.c.

cfg_type_t cfg_type_addzone [static]

Initial value:

Definition at line 1939 of file namedconf.c.

cfg_clausedef_t addzoneconf_clauses[] [static]

Initial value:

 {
        { "zone", &cfg_type_addzone, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}

Definition at line 1943 of file namedconf.c.

cfg_clausedef_t* addzoneconf_clausesets[] [static]

Initial value:

Definition at line 1949 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_addzoneconf

Initial value:

A single zone passed via the addzone rndc command.

Definition at line 1954 of file namedconf.c.

Referenced by newzone_parse().

cfg_type_t cfg_type_sizeval [static]

Initial value:

A size value (number + optional unit).

Definition at line 2027 of file namedconf.c.

const char* size_enums[] = { "unlimited", "default", NULL } [static]

Definition at line 2040 of file namedconf.c.

const char* sizenodefault_enums[] = { "unlimited", NULL } [static]

A size or "unlimited", but not "default".

Definition at line 2049 of file namedconf.c.

const char* dialup_enums[] [static]

Initial value:

 {
        "notify", "notify-passive", "refresh", "passive", NULL }

Definition at line 2150 of file namedconf.c.

const char* notify_enums[] = { "explicit", "master-only", NULL } [static]

Definition at line 2161 of file namedconf.c.

const char* ixfrdiff_enums[] = { "master", "slave", NULL } [static]

Definition at line 2171 of file namedconf.c.

const char* filter_aaaa_enums[] = { "break-dnssec", NULL } [static]

Definition at line 2181 of file namedconf.c.

keyword_type_t key_kw = { "key", &cfg_type_astring } [static]

Definition at line 2192 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref

Initial value:

A key reference, used as an ACL element.

An EDNS client subnet address, used as an ACL element

Definition at line 2194 of file namedconf.c.

Referenced by cfg_acl_fromconfig2(), count_acl_elements(), and parse_addrmatchelt().

keyword_type_t ecs_kw = { "ecs", &cfg_type_netprefix } [static]

An EDNS client subnet address.

Definition at line 2302 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_ecsprefix

Initial value:

Definition at line 2303 of file namedconf.c.

Referenced by cfg_acl_fromconfig2().

keyword_type_t controls_allow_kw [static]

Initial value:

 {
        "allow", &cfg_type_bracketed_aml }
A "controls" statement is represented as a map with the multivalued "inet" and "unix" clauses.

Definition at line 2313 of file namedconf.c.

cfg_type_t cfg_type_controls_allow [static]

Initial value:

Definition at line 2316 of file namedconf.c.

keyword_type_t controls_keys_kw [static]

Initial value:

 {
        "keys", &cfg_type_keylist }

Definition at line 2322 of file namedconf.c.

cfg_type_t cfg_type_controls_keys [static]

Initial value:

Definition at line 2325 of file namedconf.c.

cfg_tuplefielddef_t inetcontrol_fields[] [static]

Initial value:

 {
        { "address", &cfg_type_controls_sockaddr, 0 },
        { "allow", &cfg_type_controls_allow, 0 },
        { "keys", &cfg_type_controls_keys, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2331 of file namedconf.c.

cfg_type_t cfg_type_inetcontrol [static]

Initial value:

Definition at line 2338 of file namedconf.c.

keyword_type_t controls_perm_kw [static]

Initial value:

 {
        "perm", &cfg_type_uint32 }

Definition at line 2343 of file namedconf.c.

cfg_type_t cfg_type_controls_perm [static]

Initial value:

Definition at line 2346 of file namedconf.c.

keyword_type_t controls_owner_kw [static]

Initial value:

 {
        "owner", &cfg_type_uint32 }

Definition at line 2352 of file namedconf.c.

cfg_type_t cfg_type_controls_owner [static]

Initial value:

Definition at line 2355 of file namedconf.c.

keyword_type_t controls_group_kw [static]

Initial value:

 {
        "group", &cfg_type_uint32 }

Definition at line 2361 of file namedconf.c.

cfg_type_t cfg_type_controls_group [static]

Initial value:

Definition at line 2364 of file namedconf.c.

cfg_tuplefielddef_t unixcontrol_fields[] [static]

Initial value:

 {
        { "path", &cfg_type_qstring, 0 },
        { "perm", &cfg_type_controls_perm, 0 },
        { "owner", &cfg_type_controls_owner, 0 },
        { "group", &cfg_type_controls_group, 0 },
        { "keys", &cfg_type_controls_keys, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2370 of file namedconf.c.

cfg_type_t cfg_type_unixcontrol [static]

Initial value:

Definition at line 2379 of file namedconf.c.

cfg_clausedef_t controls_clauses[] [static]

Initial value:

 {
        { "inet", &cfg_type_inetcontrol, CFG_CLAUSEFLAG_MULTI },
        { "unix", &cfg_type_unixcontrol, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}

Definition at line 2385 of file namedconf.c.

cfg_clausedef_t* controls_clausesets[] [static]

Initial value:

 {
        controls_clauses,
        NULL
}

Definition at line 2392 of file namedconf.c.

cfg_tuplefielddef_t statserver_fields[] [static]

Initial value:

 {
        { "address", &cfg_type_controls_sockaddr, 0 }, 
        { "allow", &cfg_type_optional_allow, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2419 of file namedconf.c.

cfg_type_t cfg_type_statschannel [static]

Initial value:

Definition at line 2425 of file namedconf.c.

cfg_clausedef_t statservers_clauses[] [static]

Initial value:

 {
        { "inet", &cfg_type_statschannel, CFG_CLAUSEFLAG_MULTI },
        { NULL, NULL, 0 }
}

Definition at line 2431 of file namedconf.c.

cfg_clausedef_t* statservers_clausesets[] [static]

Initial value:

Definition at line 2437 of file namedconf.c.

unsigned int sockaddr4wild_flags [static]

Initial value:

Definition at line 2564 of file namedconf.c.

unsigned int sockaddr6wild_flags [static]

Initial value:

Definition at line 2566 of file namedconf.c.

cfg_tuplefielddef_t negated_fields[] [static]

Initial value:

 {
        { "negated", &cfg_type_addrmatchelt, 0 },
        { NULL, NULL, 0 }
}
A negated address match list element (like "! 10.0.0.1"). Somewhat sneakily, the caller is expected to parse the "!", but not to print it.

Definition at line 2647 of file namedconf.c.

unsigned int controls_sockaddr_flags [static]

Initial value:

The socket address syntax in the "controls" statement is silly. It allows both socket address families, but also allows "*", whis is gratuitously interpreted as the IPv4 wildcard address.

Definition at line 2682 of file namedconf.c.

keyword_type_t debug_kw = { "debug", &cfg_type_uint32 } [static]

A log severity. Return as a string, except "debug N", which is returned as a keyword object.

Definition at line 2760 of file namedconf.c.

cfg_type_t cfg_type_debuglevel [static]

Initial value:

Definition at line 2761 of file namedconf.c.

const char* logversions_enums[] = { "unlimited", NULL } [static]

The "file" clause of the "channel" statement. This is yet another special case.

Definition at line 2805 of file namedconf.c.

cfg_type_t cfg_type_logversions [static]

Initial value:

Definition at line 2811 of file namedconf.c.

cfg_tuplefielddef_t logfile_fields[] [static]

Initial value:

 {
        { "file", &cfg_type_qstring, 0 },
        { "versions", &cfg_type_logversions, 0 },
        { "size", &cfg_type_size, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2816 of file namedconf.c.

cfg_tuplefielddef_t lwres_view_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "class", &cfg_type_optional_class, 0 },
        { NULL, NULL, 0 }
}
lwres

Definition at line 2916 of file namedconf.c.

cfg_type_t cfg_type_lwres_view [static]

Initial value:

Definition at line 2921 of file namedconf.c.

cfg_type_t cfg_type_lwres_searchlist [static]

Initial value:

Definition at line 2926 of file namedconf.c.

cfg_clausedef_t lwres_clauses[] [static]

Initial value:

 {
        { "listen-on", &cfg_type_portiplist, 0 },
        { "view", &cfg_type_lwres_view, 0 },
        { "search", &cfg_type_lwres_searchlist, 0 },
        { "ndots", &cfg_type_uint32, 0 },
        { "lwres-tasks", &cfg_type_uint32, 0},
        { "lwres-clients", &cfg_type_uint32, 0},
        { NULL, NULL, 0 }
}

Definition at line 2931 of file namedconf.c.

cfg_clausedef_t* lwres_clausesets[] [static]

Initial value:

 {
        lwres_clauses,
        NULL
}

Definition at line 2942 of file namedconf.c.

cfg_clausedef_t rndcconf_options_clauses[] [static]

Initial value:

 {
        { "default-key", &cfg_type_astring, 0 },
        { "default-port", &cfg_type_uint32, 0 },
        { "default-server", &cfg_type_astring, 0 },
        { "default-source-address", &cfg_type_netaddr4wild, 0 },
        { "default-source-address-v6", &cfg_type_netaddr6wild, 0 },
        { NULL, NULL, 0 }
}
rndc

Definition at line 2956 of file namedconf.c.

cfg_clausedef_t* rndcconf_options_clausesets[] [static]

Initial value:

Definition at line 2966 of file namedconf.c.

cfg_type_t cfg_type_rndcconf_options [static]

Initial value:

Definition at line 2971 of file namedconf.c.

cfg_clausedef_t rndcconf_server_clauses[] [static]

Initial value:

 {
        { "key", &cfg_type_astring, 0 },
        { "port", &cfg_type_uint32, 0 },
        { "source-address", &cfg_type_netaddr4wild, 0 },
        { "source-address-v6", &cfg_type_netaddr6wild, 0 },
        { "addresses", &cfg_type_bracketed_sockaddrnameportlist, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2977 of file namedconf.c.

cfg_clausedef_t* rndcconf_server_clausesets[] [static]

Initial value:

Definition at line 2987 of file namedconf.c.

cfg_type_t cfg_type_rndcconf_server [static]

Initial value:

Definition at line 2992 of file namedconf.c.

cfg_clausedef_t rndcconf_clauses[] [static]

Initial value:

 {
        { "key", &cfg_type_key, CFG_CLAUSEFLAG_MULTI },
        { "server", &cfg_type_rndcconf_server, CFG_CLAUSEFLAG_MULTI },
        { "options", &cfg_type_rndcconf_options, 0 },
        { NULL, NULL, 0 }
}

Definition at line 2998 of file namedconf.c.

cfg_clausedef_t* rndcconf_clausesets[] [static]

Initial value:

 {
        rndcconf_clauses,
        NULL
}

Definition at line 3006 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndcconf

Initial value:

A complete rndc.conf file.

Definition at line 3011 of file namedconf.c.

Referenced by parse_config().

cfg_clausedef_t rndckey_clauses[] [static]

Initial value:

 {
        { "key", &cfg_type_key, 0 },
        { NULL, NULL, 0 }
}

Definition at line 3017 of file namedconf.c.

cfg_clausedef_t* rndckey_clausesets[] [static]

Initial value:

 {
        rndckey_clauses,
        NULL
}

Definition at line 3023 of file namedconf.c.

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndckey

Initial value:

A complete rndc.key file.

Definition at line 3028 of file namedconf.c.

Referenced by get_rndckey(), and parse_config().

LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sessionkey

Initial value:

A complete session.key file.

Definition at line 3037 of file namedconf.c.

Referenced by read_confkey(), and read_sessionkey().

cfg_tuplefielddef_t nameport_fields[] [static]

Initial value:

 {
        { "name", &cfg_type_astring, 0 },
        { "port", &cfg_type_optional_port, 0 },
        { "dscp", &cfg_type_optional_dscp, 0 },
        { NULL, NULL, 0 }
}

Definition at line 3042 of file namedconf.c.

cfg_type_t cfg_type_nameport [static]

Initial value:

Definition at line 3049 of file namedconf.c.

cfg_type_t cfg_type_sockaddrnameport [static]

Initial value:

 {
        "sockaddrnameport_element", parse_sockaddrnameport, NULL,
         doc_sockaddrnameport, NULL, NULL
}

Definition at line 3115 of file namedconf.c.

cfg_tuplefielddef_t nameportiplist_fields[] [static]

Initial value:

 {
        { "port", &cfg_type_optional_port, 0 },
        { "addresses", &cfg_type_bracketed_sockaddrnameportlist, 0 },
        { NULL, NULL, 0 }
}
A list of socket addresses or name with an optional default port, as used in the dual-stack-servers option. E.g., "port 1234 { dual-stack-servers.net; 10.0.0.1; 1::2 port 69; }".

Definition at line 3131 of file namedconf.c.

const char* maxttl_enums[] = { "unlimited", NULL } [static]

A size or "unlimited", but not "default".

Definition at line 3239 of file namedconf.c.


Generated on Tue Apr 28 17:41:19 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha