configlexer.lex (307729) | configlexer.lex (356345) |
---|---|
1%{ 2/* 3 * configlexer.lex - lexical analyzer for unbound config file 4 * 5 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 6 * 7 * See LICENSE for the license. 8 * 9 */ 10#include "config.h" 11 12/* because flex keeps having sign-unsigned compare problems that are unfixed*/ | 1%{ 2/* 3 * configlexer.lex - lexical analyzer for unbound config file 4 * 5 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 6 * 7 * See LICENSE for the license. 8 * 9 */ 10#include "config.h" 11 12/* because flex keeps having sign-unsigned compare problems that are unfixed*/ |
13#if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2)))) |
|
13#pragma GCC diagnostic ignored "-Wsign-compare" | 14#pragma GCC diagnostic ignored "-Wsign-compare" |
15#endif |
|
14 15#include <ctype.h> | 16 17#include <ctype.h> |
16#include <string.h> | |
17#include <strings.h> 18#ifdef HAVE_GLOB_H 19# include <glob.h> 20#endif 21 22#include "util/config_file.h" 23#include "configparser.h" 24void ub_c_error(const char *message); --- 82 unchanged lines hidden (view full) --- 107} 108 109static void config_start_include_glob(const char* filename) 110{ 111 112 /* check for wildcards */ 113#ifdef HAVE_GLOB 114 glob_t g; | 18#include <strings.h> 19#ifdef HAVE_GLOB_H 20# include <glob.h> 21#endif 22 23#include "util/config_file.h" 24#include "configparser.h" 25void ub_c_error(const char *message); --- 82 unchanged lines hidden (view full) --- 108} 109 110static void config_start_include_glob(const char* filename) 111{ 112 113 /* check for wildcards */ 114#ifdef HAVE_GLOB 115 glob_t g; |
115 size_t i; 116 int r, flags; | 116 int i, r, flags; |
117 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && 118 !strchr(filename, '{') && !strchr(filename, '~'))) { 119 flags = 0 120#ifdef GLOB_ERR 121 | GLOB_ERR 122#endif | 117 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && 118 !strchr(filename, '{') && !strchr(filename, '~'))) { 119 flags = 0 120#ifdef GLOB_ERR 121 | GLOB_ERR 122#endif |
123#ifdef GLOB_NOSORT 124 | GLOB_NOSORT 125#endif | 123 /* do not set GLOB_NOSORT so the results are sorted 124 and in a predictable order. */ |
126#ifdef GLOB_BRACE 127 | GLOB_BRACE 128#endif 129#ifdef GLOB_TILDE 130 | GLOB_TILDE 131#endif 132 ; 133 memset(&g, 0, sizeof(g)); --- 6 unchanged lines hidden (view full) --- 140 /* some error */ 141 globfree(&g); 142 if(r == GLOB_NOMATCH) 143 return; /* no matches for pattern */ 144 config_start_include(filename); /* let original deal with it */ 145 return; 146 } 147 /* process files found, if any */ | 125#ifdef GLOB_BRACE 126 | GLOB_BRACE 127#endif 128#ifdef GLOB_TILDE 129 | GLOB_TILDE 130#endif 131 ; 132 memset(&g, 0, sizeof(g)); --- 6 unchanged lines hidden (view full) --- 139 /* some error */ 140 globfree(&g); 141 if(r == GLOB_NOMATCH) 142 return; /* no matches for pattern */ 143 config_start_include(filename); /* let original deal with it */ 144 return; 145 } 146 /* process files found, if any */ |
148 for(i=0; i<(size_t)g.gl_pathc; i++) { | 147 for(i=(int)g.gl_pathc-1; i>=0; i--) { |
149 config_start_include(g.gl_pathv[i]); 150 } 151 globfree(&g); 152 return; 153 } 154#endif /* HAVE_GLOB */ 155 156 config_start_include(filename); --- 49 unchanged lines hidden (view full) --- 206%% 207<INITIAL,val>{SPACE}* { 208 LEXOUT(("SP ")); /* ignore */ } 209<INITIAL,val>{SPACE}*{COMMENT}.* { 210 /* note that flex makes the longest match and '.' is any but not nl */ 211 LEXOUT(("comment(%s) ", ub_c_text)); /* ignore */ } 212server{COLON} { YDVAR(0, VAR_SERVER) } 213qname-minimisation{COLON} { YDVAR(1, VAR_QNAME_MINIMISATION) } | 148 config_start_include(g.gl_pathv[i]); 149 } 150 globfree(&g); 151 return; 152 } 153#endif /* HAVE_GLOB */ 154 155 config_start_include(filename); --- 49 unchanged lines hidden (view full) --- 205%% 206<INITIAL,val>{SPACE}* { 207 LEXOUT(("SP ")); /* ignore */ } 208<INITIAL,val>{SPACE}*{COMMENT}.* { 209 /* note that flex makes the longest match and '.' is any but not nl */ 210 LEXOUT(("comment(%s) ", ub_c_text)); /* ignore */ } 211server{COLON} { YDVAR(0, VAR_SERVER) } 212qname-minimisation{COLON} { YDVAR(1, VAR_QNAME_MINIMISATION) } |
213qname-minimisation-strict{COLON} { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) } |
|
214num-threads{COLON} { YDVAR(1, VAR_NUM_THREADS) } 215verbosity{COLON} { YDVAR(1, VAR_VERBOSITY) } 216port{COLON} { YDVAR(1, VAR_PORT) } 217outgoing-range{COLON} { YDVAR(1, VAR_OUTGOING_RANGE) } 218outgoing-port-permit{COLON} { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } 219outgoing-port-avoid{COLON} { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } 220outgoing-num-tcp{COLON} { YDVAR(1, VAR_OUTGOING_NUM_TCP) } 221incoming-num-tcp{COLON} { YDVAR(1, VAR_INCOMING_NUM_TCP) } 222do-ip4{COLON} { YDVAR(1, VAR_DO_IP4) } 223do-ip6{COLON} { YDVAR(1, VAR_DO_IP6) } 224prefer-ip6{COLON} { YDVAR(1, VAR_PREFER_IP6) } 225do-udp{COLON} { YDVAR(1, VAR_DO_UDP) } 226do-tcp{COLON} { YDVAR(1, VAR_DO_TCP) } 227tcp-upstream{COLON} { YDVAR(1, VAR_TCP_UPSTREAM) } 228tcp-mss{COLON} { YDVAR(1, VAR_TCP_MSS) } 229outgoing-tcp-mss{COLON} { YDVAR(1, VAR_OUTGOING_TCP_MSS) } | 214num-threads{COLON} { YDVAR(1, VAR_NUM_THREADS) } 215verbosity{COLON} { YDVAR(1, VAR_VERBOSITY) } 216port{COLON} { YDVAR(1, VAR_PORT) } 217outgoing-range{COLON} { YDVAR(1, VAR_OUTGOING_RANGE) } 218outgoing-port-permit{COLON} { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } 219outgoing-port-avoid{COLON} { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } 220outgoing-num-tcp{COLON} { YDVAR(1, VAR_OUTGOING_NUM_TCP) } 221incoming-num-tcp{COLON} { YDVAR(1, VAR_INCOMING_NUM_TCP) } 222do-ip4{COLON} { YDVAR(1, VAR_DO_IP4) } 223do-ip6{COLON} { YDVAR(1, VAR_DO_IP6) } 224prefer-ip6{COLON} { YDVAR(1, VAR_PREFER_IP6) } 225do-udp{COLON} { YDVAR(1, VAR_DO_UDP) } 226do-tcp{COLON} { YDVAR(1, VAR_DO_TCP) } 227tcp-upstream{COLON} { YDVAR(1, VAR_TCP_UPSTREAM) } 228tcp-mss{COLON} { YDVAR(1, VAR_TCP_MSS) } 229outgoing-tcp-mss{COLON} { YDVAR(1, VAR_OUTGOING_TCP_MSS) } |
230tcp-idle-timeout{COLON} { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } 231edns-tcp-keepalive{COLON} { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } 232edns-tcp-keepalive-timeout{COLON} { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } |
|
230ssl-upstream{COLON} { YDVAR(1, VAR_SSL_UPSTREAM) } | 233ssl-upstream{COLON} { YDVAR(1, VAR_SSL_UPSTREAM) } |
234tls-upstream{COLON} { YDVAR(1, VAR_SSL_UPSTREAM) } |
|
231ssl-service-key{COLON} { YDVAR(1, VAR_SSL_SERVICE_KEY) } | 235ssl-service-key{COLON} { YDVAR(1, VAR_SSL_SERVICE_KEY) } |
236tls-service-key{COLON} { YDVAR(1, VAR_SSL_SERVICE_KEY) } |
|
232ssl-service-pem{COLON} { YDVAR(1, VAR_SSL_SERVICE_PEM) } | 237ssl-service-pem{COLON} { YDVAR(1, VAR_SSL_SERVICE_PEM) } |
238tls-service-pem{COLON} { YDVAR(1, VAR_SSL_SERVICE_PEM) } |
|
233ssl-port{COLON} { YDVAR(1, VAR_SSL_PORT) } | 239ssl-port{COLON} { YDVAR(1, VAR_SSL_PORT) } |
240tls-port{COLON} { YDVAR(1, VAR_SSL_PORT) } 241ssl-cert-bundle{COLON} { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 242tls-cert-bundle{COLON} { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 243tls-win-cert{COLON} { YDVAR(1, VAR_TLS_WIN_CERT) } 244additional-ssl-port{COLON} { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 245additional-tls-port{COLON} { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 246tls-additional-ports{COLON} { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 247tls-additional-port{COLON} { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 248tls-session-ticket-keys{COLON} { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } 249tls-ciphers{COLON} { YDVAR(1, VAR_TLS_CIPHERS) } 250tls-ciphersuites{COLON} { YDVAR(1, VAR_TLS_CIPHERSUITES) } 251use-systemd{COLON} { YDVAR(1, VAR_USE_SYSTEMD) } |
|
234do-daemonize{COLON} { YDVAR(1, VAR_DO_DAEMONIZE) } 235interface{COLON} { YDVAR(1, VAR_INTERFACE) } 236ip-address{COLON} { YDVAR(1, VAR_INTERFACE) } 237outgoing-interface{COLON} { YDVAR(1, VAR_OUTGOING_INTERFACE) } 238interface-automatic{COLON} { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } 239so-rcvbuf{COLON} { YDVAR(1, VAR_SO_RCVBUF) } 240so-sndbuf{COLON} { YDVAR(1, VAR_SO_SNDBUF) } 241so-reuseport{COLON} { YDVAR(1, VAR_SO_REUSEPORT) } 242ip-transparent{COLON} { YDVAR(1, VAR_IP_TRANSPARENT) } 243ip-freebind{COLON} { YDVAR(1, VAR_IP_FREEBIND) } 244chroot{COLON} { YDVAR(1, VAR_CHROOT) } 245username{COLON} { YDVAR(1, VAR_USERNAME) } 246directory{COLON} { YDVAR(1, VAR_DIRECTORY) } 247logfile{COLON} { YDVAR(1, VAR_LOGFILE) } 248pidfile{COLON} { YDVAR(1, VAR_PIDFILE) } 249root-hints{COLON} { YDVAR(1, VAR_ROOT_HINTS) } | 252do-daemonize{COLON} { YDVAR(1, VAR_DO_DAEMONIZE) } 253interface{COLON} { YDVAR(1, VAR_INTERFACE) } 254ip-address{COLON} { YDVAR(1, VAR_INTERFACE) } 255outgoing-interface{COLON} { YDVAR(1, VAR_OUTGOING_INTERFACE) } 256interface-automatic{COLON} { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } 257so-rcvbuf{COLON} { YDVAR(1, VAR_SO_RCVBUF) } 258so-sndbuf{COLON} { YDVAR(1, VAR_SO_SNDBUF) } 259so-reuseport{COLON} { YDVAR(1, VAR_SO_REUSEPORT) } 260ip-transparent{COLON} { YDVAR(1, VAR_IP_TRANSPARENT) } 261ip-freebind{COLON} { YDVAR(1, VAR_IP_FREEBIND) } 262chroot{COLON} { YDVAR(1, VAR_CHROOT) } 263username{COLON} { YDVAR(1, VAR_USERNAME) } 264directory{COLON} { YDVAR(1, VAR_DIRECTORY) } 265logfile{COLON} { YDVAR(1, VAR_LOGFILE) } 266pidfile{COLON} { YDVAR(1, VAR_PIDFILE) } 267root-hints{COLON} { YDVAR(1, VAR_ROOT_HINTS) } |
268stream-wait-size{COLON} { YDVAR(1, VAR_STREAM_WAIT_SIZE) } |
|
250edns-buffer-size{COLON} { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } 251msg-buffer-size{COLON} { YDVAR(1, VAR_MSG_BUFFER_SIZE) } 252msg-cache-size{COLON} { YDVAR(1, VAR_MSG_CACHE_SIZE) } 253msg-cache-slabs{COLON} { YDVAR(1, VAR_MSG_CACHE_SLABS) } 254rrset-cache-size{COLON} { YDVAR(1, VAR_RRSET_CACHE_SIZE) } 255rrset-cache-slabs{COLON} { YDVAR(1, VAR_RRSET_CACHE_SLABS) } 256cache-max-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_TTL) } 257cache-max-negative-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } --- 17 unchanged lines hidden (view full) --- 275harden-algo-downgrade{COLON} { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } 276use-caps-for-id{COLON} { YDVAR(1, VAR_USE_CAPS_FOR_ID) } 277caps-whitelist{COLON} { YDVAR(1, VAR_CAPS_WHITELIST) } 278unwanted-reply-threshold{COLON} { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } 279private-address{COLON} { YDVAR(1, VAR_PRIVATE_ADDRESS) } 280private-domain{COLON} { YDVAR(1, VAR_PRIVATE_DOMAIN) } 281prefetch-key{COLON} { YDVAR(1, VAR_PREFETCH_KEY) } 282prefetch{COLON} { YDVAR(1, VAR_PREFETCH) } | 269edns-buffer-size{COLON} { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } 270msg-buffer-size{COLON} { YDVAR(1, VAR_MSG_BUFFER_SIZE) } 271msg-cache-size{COLON} { YDVAR(1, VAR_MSG_CACHE_SIZE) } 272msg-cache-slabs{COLON} { YDVAR(1, VAR_MSG_CACHE_SLABS) } 273rrset-cache-size{COLON} { YDVAR(1, VAR_RRSET_CACHE_SIZE) } 274rrset-cache-slabs{COLON} { YDVAR(1, VAR_RRSET_CACHE_SLABS) } 275cache-max-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_TTL) } 276cache-max-negative-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } --- 17 unchanged lines hidden (view full) --- 294harden-algo-downgrade{COLON} { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } 295use-caps-for-id{COLON} { YDVAR(1, VAR_USE_CAPS_FOR_ID) } 296caps-whitelist{COLON} { YDVAR(1, VAR_CAPS_WHITELIST) } 297unwanted-reply-threshold{COLON} { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } 298private-address{COLON} { YDVAR(1, VAR_PRIVATE_ADDRESS) } 299private-domain{COLON} { YDVAR(1, VAR_PRIVATE_DOMAIN) } 300prefetch-key{COLON} { YDVAR(1, VAR_PREFETCH_KEY) } 301prefetch{COLON} { YDVAR(1, VAR_PREFETCH) } |
302deny-any{COLON} { YDVAR(1, VAR_DENY_ANY) } |
|
283stub-zone{COLON} { YDVAR(0, VAR_STUB_ZONE) } 284name{COLON} { YDVAR(1, VAR_NAME) } 285stub-addr{COLON} { YDVAR(1, VAR_STUB_ADDR) } 286stub-host{COLON} { YDVAR(1, VAR_STUB_HOST) } 287stub-prime{COLON} { YDVAR(1, VAR_STUB_PRIME) } 288stub-first{COLON} { YDVAR(1, VAR_STUB_FIRST) } | 303stub-zone{COLON} { YDVAR(0, VAR_STUB_ZONE) } 304name{COLON} { YDVAR(1, VAR_NAME) } 305stub-addr{COLON} { YDVAR(1, VAR_STUB_ADDR) } 306stub-host{COLON} { YDVAR(1, VAR_STUB_HOST) } 307stub-prime{COLON} { YDVAR(1, VAR_STUB_PRIME) } 308stub-first{COLON} { YDVAR(1, VAR_STUB_FIRST) } |
309stub-no-cache{COLON} { YDVAR(1, VAR_STUB_NO_CACHE) } 310stub-ssl-upstream{COLON} { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } 311stub-tls-upstream{COLON} { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } |
|
289forward-zone{COLON} { YDVAR(0, VAR_FORWARD_ZONE) } 290forward-addr{COLON} { YDVAR(1, VAR_FORWARD_ADDR) } 291forward-host{COLON} { YDVAR(1, VAR_FORWARD_HOST) } 292forward-first{COLON} { YDVAR(1, VAR_FORWARD_FIRST) } | 312forward-zone{COLON} { YDVAR(0, VAR_FORWARD_ZONE) } 313forward-addr{COLON} { YDVAR(1, VAR_FORWARD_ADDR) } 314forward-host{COLON} { YDVAR(1, VAR_FORWARD_HOST) } 315forward-first{COLON} { YDVAR(1, VAR_FORWARD_FIRST) } |
316forward-no-cache{COLON} { YDVAR(1, VAR_FORWARD_NO_CACHE) } 317forward-ssl-upstream{COLON} { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 318forward-tls-upstream{COLON} { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 319auth-zone{COLON} { YDVAR(0, VAR_AUTH_ZONE) } 320zonefile{COLON} { YDVAR(1, VAR_ZONEFILE) } 321master{COLON} { YDVAR(1, VAR_MASTER) } 322url{COLON} { YDVAR(1, VAR_URL) } 323allow-notify{COLON} { YDVAR(1, VAR_ALLOW_NOTIFY) } 324for-downstream{COLON} { YDVAR(1, VAR_FOR_DOWNSTREAM) } 325for-upstream{COLON} { YDVAR(1, VAR_FOR_UPSTREAM) } 326fallback-enabled{COLON} { YDVAR(1, VAR_FALLBACK_ENABLED) } 327view{COLON} { YDVAR(0, VAR_VIEW) } 328view-first{COLON} { YDVAR(1, VAR_VIEW_FIRST) } |
|
293do-not-query-address{COLON} { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } 294do-not-query-localhost{COLON} { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } 295access-control{COLON} { YDVAR(2, VAR_ACCESS_CONTROL) } | 329do-not-query-address{COLON} { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } 330do-not-query-localhost{COLON} { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } 331access-control{COLON} { YDVAR(2, VAR_ACCESS_CONTROL) } |
332send-client-subnet{COLON} { YDVAR(1, VAR_SEND_CLIENT_SUBNET) } 333client-subnet-zone{COLON} { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } 334client-subnet-always-forward{COLON} { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } 335client-subnet-opcode{COLON} { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } 336max-client-subnet-ipv4{COLON} { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } 337max-client-subnet-ipv6{COLON} { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } 338min-client-subnet-ipv4{COLON} { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } 339min-client-subnet-ipv6{COLON} { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } 340max-ecs-tree-size-ipv4{COLON} { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } 341max-ecs-tree-size-ipv6{COLON} { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } |
|
296hide-identity{COLON} { YDVAR(1, VAR_HIDE_IDENTITY) } 297hide-version{COLON} { YDVAR(1, VAR_HIDE_VERSION) } | 342hide-identity{COLON} { YDVAR(1, VAR_HIDE_IDENTITY) } 343hide-version{COLON} { YDVAR(1, VAR_HIDE_VERSION) } |
344hide-trustanchor{COLON} { YDVAR(1, VAR_HIDE_TRUSTANCHOR) } |
|
298identity{COLON} { YDVAR(1, VAR_IDENTITY) } 299version{COLON} { YDVAR(1, VAR_VERSION) } 300module-config{COLON} { YDVAR(1, VAR_MODULE_CONF) } 301dlv-anchor{COLON} { YDVAR(1, VAR_DLV_ANCHOR) } 302dlv-anchor-file{COLON} { YDVAR(1, VAR_DLV_ANCHOR_FILE) } 303trust-anchor-file{COLON} { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } 304auto-trust-anchor-file{COLON} { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } 305trusted-keys-file{COLON} { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } 306trust-anchor{COLON} { YDVAR(1, VAR_TRUST_ANCHOR) } | 345identity{COLON} { YDVAR(1, VAR_IDENTITY) } 346version{COLON} { YDVAR(1, VAR_VERSION) } 347module-config{COLON} { YDVAR(1, VAR_MODULE_CONF) } 348dlv-anchor{COLON} { YDVAR(1, VAR_DLV_ANCHOR) } 349dlv-anchor-file{COLON} { YDVAR(1, VAR_DLV_ANCHOR_FILE) } 350trust-anchor-file{COLON} { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } 351auto-trust-anchor-file{COLON} { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } 352trusted-keys-file{COLON} { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } 353trust-anchor{COLON} { YDVAR(1, VAR_TRUST_ANCHOR) } |
354trust-anchor-signaling{COLON} { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } 355root-key-sentinel{COLON} { YDVAR(1, VAR_ROOT_KEY_SENTINEL) } |
|
307val-override-date{COLON} { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } 308val-sig-skew-min{COLON} { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } 309val-sig-skew-max{COLON} { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } 310val-bogus-ttl{COLON} { YDVAR(1, VAR_BOGUS_TTL) } 311val-clean-additional{COLON} { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } 312val-permissive-mode{COLON} { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } | 356val-override-date{COLON} { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } 357val-sig-skew-min{COLON} { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } 358val-sig-skew-max{COLON} { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } 359val-bogus-ttl{COLON} { YDVAR(1, VAR_BOGUS_TTL) } 360val-clean-additional{COLON} { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } 361val-permissive-mode{COLON} { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } |
362aggressive-nsec{COLON} { YDVAR(1, VAR_AGGRESSIVE_NSEC) } |
|
313ignore-cd-flag{COLON} { YDVAR(1, VAR_IGNORE_CD_FLAG) } | 363ignore-cd-flag{COLON} { YDVAR(1, VAR_IGNORE_CD_FLAG) } |
364serve-expired{COLON} { YDVAR(1, VAR_SERVE_EXPIRED) } 365serve-expired-ttl{COLON} { YDVAR(1, VAR_SERVE_EXPIRED_TTL) } 366serve-expired-ttl-reset{COLON} { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } 367fake-dsa{COLON} { YDVAR(1, VAR_FAKE_DSA) } 368fake-sha1{COLON} { YDVAR(1, VAR_FAKE_SHA1) } |
|
314val-log-level{COLON} { YDVAR(1, VAR_VAL_LOG_LEVEL) } 315key-cache-size{COLON} { YDVAR(1, VAR_KEY_CACHE_SIZE) } 316key-cache-slabs{COLON} { YDVAR(1, VAR_KEY_CACHE_SLABS) } 317neg-cache-size{COLON} { YDVAR(1, VAR_NEG_CACHE_SIZE) } 318val-nsec3-keysize-iterations{COLON} { 319 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } 320add-holddown{COLON} { YDVAR(1, VAR_ADD_HOLDDOWN) } 321del-holddown{COLON} { YDVAR(1, VAR_DEL_HOLDDOWN) } 322keep-missing{COLON} { YDVAR(1, VAR_KEEP_MISSING) } 323permit-small-holddown{COLON} { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } 324use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) } | 369val-log-level{COLON} { YDVAR(1, VAR_VAL_LOG_LEVEL) } 370key-cache-size{COLON} { YDVAR(1, VAR_KEY_CACHE_SIZE) } 371key-cache-slabs{COLON} { YDVAR(1, VAR_KEY_CACHE_SLABS) } 372neg-cache-size{COLON} { YDVAR(1, VAR_NEG_CACHE_SIZE) } 373val-nsec3-keysize-iterations{COLON} { 374 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } 375add-holddown{COLON} { YDVAR(1, VAR_ADD_HOLDDOWN) } 376del-holddown{COLON} { YDVAR(1, VAR_DEL_HOLDDOWN) } 377keep-missing{COLON} { YDVAR(1, VAR_KEEP_MISSING) } 378permit-small-holddown{COLON} { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } 379use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) } |
380log-identity{COLON} { YDVAR(1, VAR_LOG_IDENTITY) } |
|
325log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) } 326log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) } | 381log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) } 382log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) } |
383log-replies{COLON} { YDVAR(1, VAR_LOG_REPLIES) } 384log-tag-queryreply{COLON} { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } 385log-local-actions{COLON} { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } 386log-servfail{COLON} { YDVAR(1, VAR_LOG_SERVFAIL) } |
|
327local-zone{COLON} { YDVAR(2, VAR_LOCAL_ZONE) } 328local-data{COLON} { YDVAR(1, VAR_LOCAL_DATA) } 329local-data-ptr{COLON} { YDVAR(1, VAR_LOCAL_DATA_PTR) } 330unblock-lan-zones{COLON} { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } 331insecure-lan-zones{COLON} { YDVAR(1, VAR_INSECURE_LAN_ZONES) } 332statistics-interval{COLON} { YDVAR(1, VAR_STATISTICS_INTERVAL) } 333statistics-cumulative{COLON} { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } 334extended-statistics{COLON} { YDVAR(1, VAR_EXTENDED_STATISTICS) } | 387local-zone{COLON} { YDVAR(2, VAR_LOCAL_ZONE) } 388local-data{COLON} { YDVAR(1, VAR_LOCAL_DATA) } 389local-data-ptr{COLON} { YDVAR(1, VAR_LOCAL_DATA_PTR) } 390unblock-lan-zones{COLON} { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } 391insecure-lan-zones{COLON} { YDVAR(1, VAR_INSECURE_LAN_ZONES) } 392statistics-interval{COLON} { YDVAR(1, VAR_STATISTICS_INTERVAL) } 393statistics-cumulative{COLON} { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } 394extended-statistics{COLON} { YDVAR(1, VAR_EXTENDED_STATISTICS) } |
395shm-enable{COLON} { YDVAR(1, VAR_SHM_ENABLE) } 396shm-key{COLON} { YDVAR(1, VAR_SHM_KEY) } |
|
335remote-control{COLON} { YDVAR(0, VAR_REMOTE_CONTROL) } 336control-enable{COLON} { YDVAR(1, VAR_CONTROL_ENABLE) } 337control-interface{COLON} { YDVAR(1, VAR_CONTROL_INTERFACE) } 338control-port{COLON} { YDVAR(1, VAR_CONTROL_PORT) } 339control-use-cert{COLON} { YDVAR(1, VAR_CONTROL_USE_CERT) } 340server-key-file{COLON} { YDVAR(1, VAR_SERVER_KEY_FILE) } 341server-cert-file{COLON} { YDVAR(1, VAR_SERVER_CERT_FILE) } 342control-key-file{COLON} { YDVAR(1, VAR_CONTROL_KEY_FILE) } 343control-cert-file{COLON} { YDVAR(1, VAR_CONTROL_CERT_FILE) } 344python-script{COLON} { YDVAR(1, VAR_PYTHON_SCRIPT) } 345python{COLON} { YDVAR(0, VAR_PYTHON) } 346domain-insecure{COLON} { YDVAR(1, VAR_DOMAIN_INSECURE) } 347minimal-responses{COLON} { YDVAR(1, VAR_MINIMAL_RESPONSES) } 348rrset-roundrobin{COLON} { YDVAR(1, VAR_RRSET_ROUNDROBIN) } | 397remote-control{COLON} { YDVAR(0, VAR_REMOTE_CONTROL) } 398control-enable{COLON} { YDVAR(1, VAR_CONTROL_ENABLE) } 399control-interface{COLON} { YDVAR(1, VAR_CONTROL_INTERFACE) } 400control-port{COLON} { YDVAR(1, VAR_CONTROL_PORT) } 401control-use-cert{COLON} { YDVAR(1, VAR_CONTROL_USE_CERT) } 402server-key-file{COLON} { YDVAR(1, VAR_SERVER_KEY_FILE) } 403server-cert-file{COLON} { YDVAR(1, VAR_SERVER_CERT_FILE) } 404control-key-file{COLON} { YDVAR(1, VAR_CONTROL_KEY_FILE) } 405control-cert-file{COLON} { YDVAR(1, VAR_CONTROL_CERT_FILE) } 406python-script{COLON} { YDVAR(1, VAR_PYTHON_SCRIPT) } 407python{COLON} { YDVAR(0, VAR_PYTHON) } 408domain-insecure{COLON} { YDVAR(1, VAR_DOMAIN_INSECURE) } 409minimal-responses{COLON} { YDVAR(1, VAR_MINIMAL_RESPONSES) } 410rrset-roundrobin{COLON} { YDVAR(1, VAR_RRSET_ROUNDROBIN) } |
411unknown-server-time-limit{COLON} { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } |
|
349max-udp-size{COLON} { YDVAR(1, VAR_MAX_UDP_SIZE) } 350dns64-prefix{COLON} { YDVAR(1, VAR_DNS64_PREFIX) } 351dns64-synthall{COLON} { YDVAR(1, VAR_DNS64_SYNTHALL) } | 412max-udp-size{COLON} { YDVAR(1, VAR_MAX_UDP_SIZE) } 413dns64-prefix{COLON} { YDVAR(1, VAR_DNS64_PREFIX) } 414dns64-synthall{COLON} { YDVAR(1, VAR_DNS64_SYNTHALL) } |
415dns64-ignore-aaaa{COLON} { YDVAR(1, VAR_DNS64_IGNORE_AAAA) } |
|
352define-tag{COLON} { YDVAR(1, VAR_DEFINE_TAG) } 353local-zone-tag{COLON} { YDVAR(2, VAR_LOCAL_ZONE_TAG) } 354access-control-tag{COLON} { YDVAR(2, VAR_ACCESS_CONTROL_TAG) } 355access-control-tag-action{COLON} { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } 356access-control-tag-data{COLON} { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } | 416define-tag{COLON} { YDVAR(1, VAR_DEFINE_TAG) } 417local-zone-tag{COLON} { YDVAR(2, VAR_LOCAL_ZONE_TAG) } 418access-control-tag{COLON} { YDVAR(2, VAR_ACCESS_CONTROL_TAG) } 419access-control-tag-action{COLON} { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } 420access-control-tag-data{COLON} { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } |
421access-control-view{COLON} { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } |
|
357local-zone-override{COLON} { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } 358dnstap{COLON} { YDVAR(0, VAR_DNSTAP) } 359dnstap-enable{COLON} { YDVAR(1, VAR_DNSTAP_ENABLE) } 360dnstap-socket-path{COLON} { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } 361dnstap-send-identity{COLON} { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } 362dnstap-send-version{COLON} { YDVAR(1, VAR_DNSTAP_SEND_VERSION) } 363dnstap-identity{COLON} { YDVAR(1, VAR_DNSTAP_IDENTITY) } 364dnstap-version{COLON} { YDVAR(1, VAR_DNSTAP_VERSION) } --- 5 unchanged lines hidden (view full) --- 370 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } 371dnstap-log-client-response-messages{COLON} { 372 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } 373dnstap-log-forwarder-query-messages{COLON} { 374 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } 375dnstap-log-forwarder-response-messages{COLON} { 376 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } 377disable-dnssec-lame-check{COLON} { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } | 422local-zone-override{COLON} { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } 423dnstap{COLON} { YDVAR(0, VAR_DNSTAP) } 424dnstap-enable{COLON} { YDVAR(1, VAR_DNSTAP_ENABLE) } 425dnstap-socket-path{COLON} { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } 426dnstap-send-identity{COLON} { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } 427dnstap-send-version{COLON} { YDVAR(1, VAR_DNSTAP_SEND_VERSION) } 428dnstap-identity{COLON} { YDVAR(1, VAR_DNSTAP_IDENTITY) } 429dnstap-version{COLON} { YDVAR(1, VAR_DNSTAP_VERSION) } --- 5 unchanged lines hidden (view full) --- 435 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } 436dnstap-log-client-response-messages{COLON} { 437 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } 438dnstap-log-forwarder-query-messages{COLON} { 439 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } 440dnstap-log-forwarder-response-messages{COLON} { 441 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } 442disable-dnssec-lame-check{COLON} { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } |
443ip-ratelimit{COLON} { YDVAR(1, VAR_IP_RATELIMIT) } |
|
378ratelimit{COLON} { YDVAR(1, VAR_RATELIMIT) } | 444ratelimit{COLON} { YDVAR(1, VAR_RATELIMIT) } |
445ip-ratelimit-slabs{COLON} { YDVAR(1, VAR_IP_RATELIMIT_SLABS) } |
|
379ratelimit-slabs{COLON} { YDVAR(1, VAR_RATELIMIT_SLABS) } | 446ratelimit-slabs{COLON} { YDVAR(1, VAR_RATELIMIT_SLABS) } |
447ip-ratelimit-size{COLON} { YDVAR(1, VAR_IP_RATELIMIT_SIZE) } |
|
380ratelimit-size{COLON} { YDVAR(1, VAR_RATELIMIT_SIZE) } 381ratelimit-for-domain{COLON} { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } 382ratelimit-below-domain{COLON} { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } | 448ratelimit-size{COLON} { YDVAR(1, VAR_RATELIMIT_SIZE) } 449ratelimit-for-domain{COLON} { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } 450ratelimit-below-domain{COLON} { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } |
451ip-ratelimit-factor{COLON} { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } |
|
383ratelimit-factor{COLON} { YDVAR(1, VAR_RATELIMIT_FACTOR) } | 452ratelimit-factor{COLON} { YDVAR(1, VAR_RATELIMIT_FACTOR) } |
453low-rtt{COLON} { YDVAR(1, VAR_LOW_RTT) } 454fast-server-num{COLON} { YDVAR(1, VAR_FAST_SERVER_NUM) } 455low-rtt-pct{COLON} { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 456low-rtt-permil{COLON} { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 457fast-server-permil{COLON} { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 458response-ip-tag{COLON} { YDVAR(2, VAR_RESPONSE_IP_TAG) } 459response-ip{COLON} { YDVAR(2, VAR_RESPONSE_IP) } 460response-ip-data{COLON} { YDVAR(2, VAR_RESPONSE_IP_DATA) } 461dnscrypt{COLON} { YDVAR(0, VAR_DNSCRYPT) } 462dnscrypt-enable{COLON} { YDVAR(1, VAR_DNSCRYPT_ENABLE) } 463dnscrypt-port{COLON} { YDVAR(1, VAR_DNSCRYPT_PORT) } 464dnscrypt-provider{COLON} { YDVAR(1, VAR_DNSCRYPT_PROVIDER) } 465dnscrypt-secret-key{COLON} { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } 466dnscrypt-provider-cert{COLON} { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } 467dnscrypt-provider-cert-rotated{COLON} { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } 468dnscrypt-shared-secret-cache-size{COLON} { 469 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } 470dnscrypt-shared-secret-cache-slabs{COLON} { 471 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } 472dnscrypt-nonce-cache-size{COLON} { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } 473dnscrypt-nonce-cache-slabs{COLON} { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } 474ipsecmod-enabled{COLON} { YDVAR(1, VAR_IPSECMOD_ENABLED) } 475ipsecmod-ignore-bogus{COLON} { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } 476ipsecmod-hook{COLON} { YDVAR(1, VAR_IPSECMOD_HOOK) } 477ipsecmod-max-ttl{COLON} { YDVAR(1, VAR_IPSECMOD_MAX_TTL) } 478ipsecmod-whitelist{COLON} { YDVAR(1, VAR_IPSECMOD_WHITELIST) } 479ipsecmod-strict{COLON} { YDVAR(1, VAR_IPSECMOD_STRICT) } 480cachedb{COLON} { YDVAR(0, VAR_CACHEDB) } 481backend{COLON} { YDVAR(1, VAR_CACHEDB_BACKEND) } 482secret-seed{COLON} { YDVAR(1, VAR_CACHEDB_SECRETSEED) } 483redis-server-host{COLON} { YDVAR(1, VAR_CACHEDB_REDISHOST) } 484redis-server-port{COLON} { YDVAR(1, VAR_CACHEDB_REDISPORT) } 485redis-timeout{COLON} { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } 486ipset{COLON} { YDVAR(0, VAR_IPSET) } 487name-v4{COLON} { YDVAR(1, VAR_IPSET_NAME_V4) } 488name-v6{COLON} { YDVAR(1, VAR_IPSET_NAME_V6) } 489udp-upstream-without-downstream{COLON} { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } 490tcp-connection-limit{COLON} { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } |
|
384<INITIAL,val>{NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; } 385 386 /* Quoted strings. Strip leading and ending quotes */ 387<val>\" { BEGIN(quotedstring); LEXOUT(("QS ")); } 388<quotedstring><<EOF>> { 389 ub_c_error("EOF inside quoted string"); 390 if(--num_args == 0) { BEGIN(INITIAL); } 391 else { BEGIN(val); } --- 88 unchanged lines hidden --- | 491<INITIAL,val>{NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; } 492 493 /* Quoted strings. Strip leading and ending quotes */ 494<val>\" { BEGIN(quotedstring); LEXOUT(("QS ")); } 495<quotedstring><<EOF>> { 496 ub_c_error("EOF inside quoted string"); 497 if(--num_args == 0) { BEGIN(INITIAL); } 498 else { BEGIN(val); } --- 88 unchanged lines hidden --- |