mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-02-14 00:03:58 -05:00
- For #787: prefer-ip6 option for unbound.conf prefers to send
upstream queries to ipv6 servers. git-svn-id: file:///svn/unbound/trunk@3803 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
3e54a83820
commit
b6b3e2b914
10 changed files with 2787 additions and 2704 deletions
|
|
@ -1,3 +1,7 @@
|
|||
4 July 2016: Wouter
|
||||
- For #787: prefer-ip6 option for unbound.conf prefers to send
|
||||
upstream queries to ipv6 servers.
|
||||
|
||||
30 June 2016: Wouter
|
||||
- Document always_transparent, always_refuse, always_nxdomain types.
|
||||
|
||||
|
|
|
|||
|
|
@ -340,6 +340,10 @@ IPv6 to the internet nameservers. With this option you can disable the
|
|||
ipv6 transport for sending DNS traffic, it does not impact the contents of
|
||||
the DNS traffic, which may have ip4 and ip6 addresses in it.
|
||||
.TP
|
||||
.B prefer\-ip6: \fI<yes or no>
|
||||
If enabled, prefer IPv6 transport for sending DNS queries to internet
|
||||
nameservers. Default is no.
|
||||
.TP
|
||||
.B do\-udp: \fI<yes or no>
|
||||
Enable or disable whether UDP queries are answered or issued. Default is yes.
|
||||
.TP
|
||||
|
|
|
|||
|
|
@ -360,6 +360,39 @@ iter_filter_order(struct iter_env* iter_env, struct module_env* env,
|
|||
}
|
||||
}
|
||||
*selected_rtt = low_rtt;
|
||||
|
||||
if (env->cfg->prefer_ip6) {
|
||||
int got_num6 = 0;
|
||||
int low_rtt6 = 0;
|
||||
int i;
|
||||
prev = NULL;
|
||||
a = dp->result_list;
|
||||
for(i = 0; i < got_num; i++) {
|
||||
swap_to_front = 0;
|
||||
if(a->addr.ss_family == AF_INET6) {
|
||||
got_num6++;
|
||||
swap_to_front = 1;
|
||||
if(low_rtt6 == 0 || a->sel_rtt < low_rtt6) {
|
||||
low_rtt6 = a->sel_rtt;
|
||||
}
|
||||
}
|
||||
/* swap to front if IPv6, or move to next result */
|
||||
if(swap_to_front && prev) {
|
||||
n = a->next_result;
|
||||
prev->next_result = n;
|
||||
a->next_result = dp->result_list;
|
||||
dp->result_list = a;
|
||||
a = n;
|
||||
} else {
|
||||
prev = a;
|
||||
a = a->next_result;
|
||||
}
|
||||
}
|
||||
if(got_num6 > 0) {
|
||||
got_num = got_num6;
|
||||
*selected_rtt = low_rtt6;
|
||||
}
|
||||
}
|
||||
return got_num;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -330,6 +330,8 @@ morechecks(struct config_file* cfg, const char* fname)
|
|||
fatal_exit("num_threads value weird");
|
||||
if(!cfg->do_ip4 && !cfg->do_ip6)
|
||||
fatal_exit("ip4 and ip6 are both disabled, pointless");
|
||||
if(!cfg->do_ip6 && cfg->prefer_ip6)
|
||||
fatal_exit("cannot prefer and disable ip6, pointless");
|
||||
if(!cfg->do_udp && !cfg->do_tcp)
|
||||
fatal_exit("udp and tcp are both disabled, pointless");
|
||||
if(cfg->edns_buffer_size > cfg->msg_buffer_size)
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@ struct config_file {
|
|||
int do_ip4;
|
||||
/** do ip6 query support. */
|
||||
int do_ip6;
|
||||
/** prefer ip6 upstream queries. */
|
||||
int prefer_ip6;
|
||||
/** do udp query support. */
|
||||
int do_udp;
|
||||
/** do tcp query support. */
|
||||
|
|
|
|||
2737
util/configlexer.c
2737
util/configlexer.c
File diff suppressed because it is too large
Load diff
|
|
@ -216,6 +216,7 @@ outgoing-num-tcp{COLON} { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
|
|||
incoming-num-tcp{COLON} { YDVAR(1, VAR_INCOMING_NUM_TCP) }
|
||||
do-ip4{COLON} { YDVAR(1, VAR_DO_IP4) }
|
||||
do-ip6{COLON} { YDVAR(1, VAR_DO_IP6) }
|
||||
prefer-ip6{COLON} { YDVAR(1, VAR_PREFER_IP6) }
|
||||
do-udp{COLON} { YDVAR(1, VAR_DO_UDP) }
|
||||
do-tcp{COLON} { YDVAR(1, VAR_DO_TCP) }
|
||||
tcp-upstream{COLON} { YDVAR(1, VAR_TCP_UPSTREAM) }
|
||||
|
|
|
|||
2070
util/configparser.c
2070
util/configparser.c
File diff suppressed because it is too large
Load diff
|
|
@ -61,161 +61,162 @@ extern int yydebug;
|
|||
VAR_INTERFACE = 271,
|
||||
VAR_DO_IP4 = 272,
|
||||
VAR_DO_IP6 = 273,
|
||||
VAR_DO_UDP = 274,
|
||||
VAR_DO_TCP = 275,
|
||||
VAR_TCP_MSS = 276,
|
||||
VAR_OUTGOING_TCP_MSS = 277,
|
||||
VAR_CHROOT = 278,
|
||||
VAR_USERNAME = 279,
|
||||
VAR_DIRECTORY = 280,
|
||||
VAR_LOGFILE = 281,
|
||||
VAR_PIDFILE = 282,
|
||||
VAR_MSG_CACHE_SIZE = 283,
|
||||
VAR_MSG_CACHE_SLABS = 284,
|
||||
VAR_NUM_QUERIES_PER_THREAD = 285,
|
||||
VAR_RRSET_CACHE_SIZE = 286,
|
||||
VAR_RRSET_CACHE_SLABS = 287,
|
||||
VAR_OUTGOING_NUM_TCP = 288,
|
||||
VAR_INFRA_HOST_TTL = 289,
|
||||
VAR_INFRA_LAME_TTL = 290,
|
||||
VAR_INFRA_CACHE_SLABS = 291,
|
||||
VAR_INFRA_CACHE_NUMHOSTS = 292,
|
||||
VAR_INFRA_CACHE_LAME_SIZE = 293,
|
||||
VAR_NAME = 294,
|
||||
VAR_STUB_ZONE = 295,
|
||||
VAR_STUB_HOST = 296,
|
||||
VAR_STUB_ADDR = 297,
|
||||
VAR_TARGET_FETCH_POLICY = 298,
|
||||
VAR_HARDEN_SHORT_BUFSIZE = 299,
|
||||
VAR_HARDEN_LARGE_QUERIES = 300,
|
||||
VAR_FORWARD_ZONE = 301,
|
||||
VAR_FORWARD_HOST = 302,
|
||||
VAR_FORWARD_ADDR = 303,
|
||||
VAR_DO_NOT_QUERY_ADDRESS = 304,
|
||||
VAR_HIDE_IDENTITY = 305,
|
||||
VAR_HIDE_VERSION = 306,
|
||||
VAR_IDENTITY = 307,
|
||||
VAR_VERSION = 308,
|
||||
VAR_HARDEN_GLUE = 309,
|
||||
VAR_MODULE_CONF = 310,
|
||||
VAR_TRUST_ANCHOR_FILE = 311,
|
||||
VAR_TRUST_ANCHOR = 312,
|
||||
VAR_VAL_OVERRIDE_DATE = 313,
|
||||
VAR_BOGUS_TTL = 314,
|
||||
VAR_VAL_CLEAN_ADDITIONAL = 315,
|
||||
VAR_VAL_PERMISSIVE_MODE = 316,
|
||||
VAR_INCOMING_NUM_TCP = 317,
|
||||
VAR_MSG_BUFFER_SIZE = 318,
|
||||
VAR_KEY_CACHE_SIZE = 319,
|
||||
VAR_KEY_CACHE_SLABS = 320,
|
||||
VAR_TRUSTED_KEYS_FILE = 321,
|
||||
VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322,
|
||||
VAR_USE_SYSLOG = 323,
|
||||
VAR_OUTGOING_INTERFACE = 324,
|
||||
VAR_ROOT_HINTS = 325,
|
||||
VAR_DO_NOT_QUERY_LOCALHOST = 326,
|
||||
VAR_CACHE_MAX_TTL = 327,
|
||||
VAR_HARDEN_DNSSEC_STRIPPED = 328,
|
||||
VAR_ACCESS_CONTROL = 329,
|
||||
VAR_LOCAL_ZONE = 330,
|
||||
VAR_LOCAL_DATA = 331,
|
||||
VAR_INTERFACE_AUTOMATIC = 332,
|
||||
VAR_STATISTICS_INTERVAL = 333,
|
||||
VAR_DO_DAEMONIZE = 334,
|
||||
VAR_USE_CAPS_FOR_ID = 335,
|
||||
VAR_STATISTICS_CUMULATIVE = 336,
|
||||
VAR_OUTGOING_PORT_PERMIT = 337,
|
||||
VAR_OUTGOING_PORT_AVOID = 338,
|
||||
VAR_DLV_ANCHOR_FILE = 339,
|
||||
VAR_DLV_ANCHOR = 340,
|
||||
VAR_NEG_CACHE_SIZE = 341,
|
||||
VAR_HARDEN_REFERRAL_PATH = 342,
|
||||
VAR_PRIVATE_ADDRESS = 343,
|
||||
VAR_PRIVATE_DOMAIN = 344,
|
||||
VAR_REMOTE_CONTROL = 345,
|
||||
VAR_CONTROL_ENABLE = 346,
|
||||
VAR_CONTROL_INTERFACE = 347,
|
||||
VAR_CONTROL_PORT = 348,
|
||||
VAR_SERVER_KEY_FILE = 349,
|
||||
VAR_SERVER_CERT_FILE = 350,
|
||||
VAR_CONTROL_KEY_FILE = 351,
|
||||
VAR_CONTROL_CERT_FILE = 352,
|
||||
VAR_CONTROL_USE_CERT = 353,
|
||||
VAR_EXTENDED_STATISTICS = 354,
|
||||
VAR_LOCAL_DATA_PTR = 355,
|
||||
VAR_JOSTLE_TIMEOUT = 356,
|
||||
VAR_STUB_PRIME = 357,
|
||||
VAR_UNWANTED_REPLY_THRESHOLD = 358,
|
||||
VAR_LOG_TIME_ASCII = 359,
|
||||
VAR_DOMAIN_INSECURE = 360,
|
||||
VAR_PYTHON = 361,
|
||||
VAR_PYTHON_SCRIPT = 362,
|
||||
VAR_VAL_SIG_SKEW_MIN = 363,
|
||||
VAR_VAL_SIG_SKEW_MAX = 364,
|
||||
VAR_CACHE_MIN_TTL = 365,
|
||||
VAR_VAL_LOG_LEVEL = 366,
|
||||
VAR_AUTO_TRUST_ANCHOR_FILE = 367,
|
||||
VAR_KEEP_MISSING = 368,
|
||||
VAR_ADD_HOLDDOWN = 369,
|
||||
VAR_DEL_HOLDDOWN = 370,
|
||||
VAR_SO_RCVBUF = 371,
|
||||
VAR_EDNS_BUFFER_SIZE = 372,
|
||||
VAR_PREFETCH = 373,
|
||||
VAR_PREFETCH_KEY = 374,
|
||||
VAR_SO_SNDBUF = 375,
|
||||
VAR_SO_REUSEPORT = 376,
|
||||
VAR_HARDEN_BELOW_NXDOMAIN = 377,
|
||||
VAR_IGNORE_CD_FLAG = 378,
|
||||
VAR_LOG_QUERIES = 379,
|
||||
VAR_TCP_UPSTREAM = 380,
|
||||
VAR_SSL_UPSTREAM = 381,
|
||||
VAR_SSL_SERVICE_KEY = 382,
|
||||
VAR_SSL_SERVICE_PEM = 383,
|
||||
VAR_SSL_PORT = 384,
|
||||
VAR_FORWARD_FIRST = 385,
|
||||
VAR_STUB_FIRST = 386,
|
||||
VAR_MINIMAL_RESPONSES = 387,
|
||||
VAR_RRSET_ROUNDROBIN = 388,
|
||||
VAR_MAX_UDP_SIZE = 389,
|
||||
VAR_DELAY_CLOSE = 390,
|
||||
VAR_UNBLOCK_LAN_ZONES = 391,
|
||||
VAR_INSECURE_LAN_ZONES = 392,
|
||||
VAR_INFRA_CACHE_MIN_RTT = 393,
|
||||
VAR_DNS64_PREFIX = 394,
|
||||
VAR_DNS64_SYNTHALL = 395,
|
||||
VAR_DNSTAP = 396,
|
||||
VAR_DNSTAP_ENABLE = 397,
|
||||
VAR_DNSTAP_SOCKET_PATH = 398,
|
||||
VAR_DNSTAP_SEND_IDENTITY = 399,
|
||||
VAR_DNSTAP_SEND_VERSION = 400,
|
||||
VAR_DNSTAP_IDENTITY = 401,
|
||||
VAR_DNSTAP_VERSION = 402,
|
||||
VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 403,
|
||||
VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 404,
|
||||
VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 405,
|
||||
VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 406,
|
||||
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 407,
|
||||
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 408,
|
||||
VAR_HARDEN_ALGO_DOWNGRADE = 409,
|
||||
VAR_IP_TRANSPARENT = 410,
|
||||
VAR_DISABLE_DNSSEC_LAME_CHECK = 411,
|
||||
VAR_RATELIMIT = 412,
|
||||
VAR_RATELIMIT_SLABS = 413,
|
||||
VAR_RATELIMIT_SIZE = 414,
|
||||
VAR_RATELIMIT_FOR_DOMAIN = 415,
|
||||
VAR_RATELIMIT_BELOW_DOMAIN = 416,
|
||||
VAR_RATELIMIT_FACTOR = 417,
|
||||
VAR_CAPS_WHITELIST = 418,
|
||||
VAR_CACHE_MAX_NEGATIVE_TTL = 419,
|
||||
VAR_PERMIT_SMALL_HOLDDOWN = 420,
|
||||
VAR_QNAME_MINIMISATION = 421,
|
||||
VAR_IP_FREEBIND = 422,
|
||||
VAR_DEFINE_TAG = 423,
|
||||
VAR_LOCAL_ZONE_TAG = 424,
|
||||
VAR_ACCESS_CONTROL_TAG = 425,
|
||||
VAR_LOCAL_ZONE_OVERRIDE = 426,
|
||||
VAR_ACCESS_CONTROL_TAG_ACTION = 427,
|
||||
VAR_ACCESS_CONTROL_TAG_DATA = 428
|
||||
VAR_PREFER_IP6 = 274,
|
||||
VAR_DO_UDP = 275,
|
||||
VAR_DO_TCP = 276,
|
||||
VAR_TCP_MSS = 277,
|
||||
VAR_OUTGOING_TCP_MSS = 278,
|
||||
VAR_CHROOT = 279,
|
||||
VAR_USERNAME = 280,
|
||||
VAR_DIRECTORY = 281,
|
||||
VAR_LOGFILE = 282,
|
||||
VAR_PIDFILE = 283,
|
||||
VAR_MSG_CACHE_SIZE = 284,
|
||||
VAR_MSG_CACHE_SLABS = 285,
|
||||
VAR_NUM_QUERIES_PER_THREAD = 286,
|
||||
VAR_RRSET_CACHE_SIZE = 287,
|
||||
VAR_RRSET_CACHE_SLABS = 288,
|
||||
VAR_OUTGOING_NUM_TCP = 289,
|
||||
VAR_INFRA_HOST_TTL = 290,
|
||||
VAR_INFRA_LAME_TTL = 291,
|
||||
VAR_INFRA_CACHE_SLABS = 292,
|
||||
VAR_INFRA_CACHE_NUMHOSTS = 293,
|
||||
VAR_INFRA_CACHE_LAME_SIZE = 294,
|
||||
VAR_NAME = 295,
|
||||
VAR_STUB_ZONE = 296,
|
||||
VAR_STUB_HOST = 297,
|
||||
VAR_STUB_ADDR = 298,
|
||||
VAR_TARGET_FETCH_POLICY = 299,
|
||||
VAR_HARDEN_SHORT_BUFSIZE = 300,
|
||||
VAR_HARDEN_LARGE_QUERIES = 301,
|
||||
VAR_FORWARD_ZONE = 302,
|
||||
VAR_FORWARD_HOST = 303,
|
||||
VAR_FORWARD_ADDR = 304,
|
||||
VAR_DO_NOT_QUERY_ADDRESS = 305,
|
||||
VAR_HIDE_IDENTITY = 306,
|
||||
VAR_HIDE_VERSION = 307,
|
||||
VAR_IDENTITY = 308,
|
||||
VAR_VERSION = 309,
|
||||
VAR_HARDEN_GLUE = 310,
|
||||
VAR_MODULE_CONF = 311,
|
||||
VAR_TRUST_ANCHOR_FILE = 312,
|
||||
VAR_TRUST_ANCHOR = 313,
|
||||
VAR_VAL_OVERRIDE_DATE = 314,
|
||||
VAR_BOGUS_TTL = 315,
|
||||
VAR_VAL_CLEAN_ADDITIONAL = 316,
|
||||
VAR_VAL_PERMISSIVE_MODE = 317,
|
||||
VAR_INCOMING_NUM_TCP = 318,
|
||||
VAR_MSG_BUFFER_SIZE = 319,
|
||||
VAR_KEY_CACHE_SIZE = 320,
|
||||
VAR_KEY_CACHE_SLABS = 321,
|
||||
VAR_TRUSTED_KEYS_FILE = 322,
|
||||
VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 323,
|
||||
VAR_USE_SYSLOG = 324,
|
||||
VAR_OUTGOING_INTERFACE = 325,
|
||||
VAR_ROOT_HINTS = 326,
|
||||
VAR_DO_NOT_QUERY_LOCALHOST = 327,
|
||||
VAR_CACHE_MAX_TTL = 328,
|
||||
VAR_HARDEN_DNSSEC_STRIPPED = 329,
|
||||
VAR_ACCESS_CONTROL = 330,
|
||||
VAR_LOCAL_ZONE = 331,
|
||||
VAR_LOCAL_DATA = 332,
|
||||
VAR_INTERFACE_AUTOMATIC = 333,
|
||||
VAR_STATISTICS_INTERVAL = 334,
|
||||
VAR_DO_DAEMONIZE = 335,
|
||||
VAR_USE_CAPS_FOR_ID = 336,
|
||||
VAR_STATISTICS_CUMULATIVE = 337,
|
||||
VAR_OUTGOING_PORT_PERMIT = 338,
|
||||
VAR_OUTGOING_PORT_AVOID = 339,
|
||||
VAR_DLV_ANCHOR_FILE = 340,
|
||||
VAR_DLV_ANCHOR = 341,
|
||||
VAR_NEG_CACHE_SIZE = 342,
|
||||
VAR_HARDEN_REFERRAL_PATH = 343,
|
||||
VAR_PRIVATE_ADDRESS = 344,
|
||||
VAR_PRIVATE_DOMAIN = 345,
|
||||
VAR_REMOTE_CONTROL = 346,
|
||||
VAR_CONTROL_ENABLE = 347,
|
||||
VAR_CONTROL_INTERFACE = 348,
|
||||
VAR_CONTROL_PORT = 349,
|
||||
VAR_SERVER_KEY_FILE = 350,
|
||||
VAR_SERVER_CERT_FILE = 351,
|
||||
VAR_CONTROL_KEY_FILE = 352,
|
||||
VAR_CONTROL_CERT_FILE = 353,
|
||||
VAR_CONTROL_USE_CERT = 354,
|
||||
VAR_EXTENDED_STATISTICS = 355,
|
||||
VAR_LOCAL_DATA_PTR = 356,
|
||||
VAR_JOSTLE_TIMEOUT = 357,
|
||||
VAR_STUB_PRIME = 358,
|
||||
VAR_UNWANTED_REPLY_THRESHOLD = 359,
|
||||
VAR_LOG_TIME_ASCII = 360,
|
||||
VAR_DOMAIN_INSECURE = 361,
|
||||
VAR_PYTHON = 362,
|
||||
VAR_PYTHON_SCRIPT = 363,
|
||||
VAR_VAL_SIG_SKEW_MIN = 364,
|
||||
VAR_VAL_SIG_SKEW_MAX = 365,
|
||||
VAR_CACHE_MIN_TTL = 366,
|
||||
VAR_VAL_LOG_LEVEL = 367,
|
||||
VAR_AUTO_TRUST_ANCHOR_FILE = 368,
|
||||
VAR_KEEP_MISSING = 369,
|
||||
VAR_ADD_HOLDDOWN = 370,
|
||||
VAR_DEL_HOLDDOWN = 371,
|
||||
VAR_SO_RCVBUF = 372,
|
||||
VAR_EDNS_BUFFER_SIZE = 373,
|
||||
VAR_PREFETCH = 374,
|
||||
VAR_PREFETCH_KEY = 375,
|
||||
VAR_SO_SNDBUF = 376,
|
||||
VAR_SO_REUSEPORT = 377,
|
||||
VAR_HARDEN_BELOW_NXDOMAIN = 378,
|
||||
VAR_IGNORE_CD_FLAG = 379,
|
||||
VAR_LOG_QUERIES = 380,
|
||||
VAR_TCP_UPSTREAM = 381,
|
||||
VAR_SSL_UPSTREAM = 382,
|
||||
VAR_SSL_SERVICE_KEY = 383,
|
||||
VAR_SSL_SERVICE_PEM = 384,
|
||||
VAR_SSL_PORT = 385,
|
||||
VAR_FORWARD_FIRST = 386,
|
||||
VAR_STUB_FIRST = 387,
|
||||
VAR_MINIMAL_RESPONSES = 388,
|
||||
VAR_RRSET_ROUNDROBIN = 389,
|
||||
VAR_MAX_UDP_SIZE = 390,
|
||||
VAR_DELAY_CLOSE = 391,
|
||||
VAR_UNBLOCK_LAN_ZONES = 392,
|
||||
VAR_INSECURE_LAN_ZONES = 393,
|
||||
VAR_INFRA_CACHE_MIN_RTT = 394,
|
||||
VAR_DNS64_PREFIX = 395,
|
||||
VAR_DNS64_SYNTHALL = 396,
|
||||
VAR_DNSTAP = 397,
|
||||
VAR_DNSTAP_ENABLE = 398,
|
||||
VAR_DNSTAP_SOCKET_PATH = 399,
|
||||
VAR_DNSTAP_SEND_IDENTITY = 400,
|
||||
VAR_DNSTAP_SEND_VERSION = 401,
|
||||
VAR_DNSTAP_IDENTITY = 402,
|
||||
VAR_DNSTAP_VERSION = 403,
|
||||
VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 404,
|
||||
VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 405,
|
||||
VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 406,
|
||||
VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 407,
|
||||
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 408,
|
||||
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 409,
|
||||
VAR_HARDEN_ALGO_DOWNGRADE = 410,
|
||||
VAR_IP_TRANSPARENT = 411,
|
||||
VAR_DISABLE_DNSSEC_LAME_CHECK = 412,
|
||||
VAR_RATELIMIT = 413,
|
||||
VAR_RATELIMIT_SLABS = 414,
|
||||
VAR_RATELIMIT_SIZE = 415,
|
||||
VAR_RATELIMIT_FOR_DOMAIN = 416,
|
||||
VAR_RATELIMIT_BELOW_DOMAIN = 417,
|
||||
VAR_RATELIMIT_FACTOR = 418,
|
||||
VAR_CAPS_WHITELIST = 419,
|
||||
VAR_CACHE_MAX_NEGATIVE_TTL = 420,
|
||||
VAR_PERMIT_SMALL_HOLDDOWN = 421,
|
||||
VAR_QNAME_MINIMISATION = 422,
|
||||
VAR_IP_FREEBIND = 423,
|
||||
VAR_DEFINE_TAG = 424,
|
||||
VAR_LOCAL_ZONE_TAG = 425,
|
||||
VAR_ACCESS_CONTROL_TAG = 426,
|
||||
VAR_LOCAL_ZONE_OVERRIDE = 427,
|
||||
VAR_ACCESS_CONTROL_TAG_ACTION = 428,
|
||||
VAR_ACCESS_CONTROL_TAG_DATA = 429
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
|
|
@ -235,161 +236,162 @@ extern int yydebug;
|
|||
#define VAR_INTERFACE 271
|
||||
#define VAR_DO_IP4 272
|
||||
#define VAR_DO_IP6 273
|
||||
#define VAR_DO_UDP 274
|
||||
#define VAR_DO_TCP 275
|
||||
#define VAR_TCP_MSS 276
|
||||
#define VAR_OUTGOING_TCP_MSS 277
|
||||
#define VAR_CHROOT 278
|
||||
#define VAR_USERNAME 279
|
||||
#define VAR_DIRECTORY 280
|
||||
#define VAR_LOGFILE 281
|
||||
#define VAR_PIDFILE 282
|
||||
#define VAR_MSG_CACHE_SIZE 283
|
||||
#define VAR_MSG_CACHE_SLABS 284
|
||||
#define VAR_NUM_QUERIES_PER_THREAD 285
|
||||
#define VAR_RRSET_CACHE_SIZE 286
|
||||
#define VAR_RRSET_CACHE_SLABS 287
|
||||
#define VAR_OUTGOING_NUM_TCP 288
|
||||
#define VAR_INFRA_HOST_TTL 289
|
||||
#define VAR_INFRA_LAME_TTL 290
|
||||
#define VAR_INFRA_CACHE_SLABS 291
|
||||
#define VAR_INFRA_CACHE_NUMHOSTS 292
|
||||
#define VAR_INFRA_CACHE_LAME_SIZE 293
|
||||
#define VAR_NAME 294
|
||||
#define VAR_STUB_ZONE 295
|
||||
#define VAR_STUB_HOST 296
|
||||
#define VAR_STUB_ADDR 297
|
||||
#define VAR_TARGET_FETCH_POLICY 298
|
||||
#define VAR_HARDEN_SHORT_BUFSIZE 299
|
||||
#define VAR_HARDEN_LARGE_QUERIES 300
|
||||
#define VAR_FORWARD_ZONE 301
|
||||
#define VAR_FORWARD_HOST 302
|
||||
#define VAR_FORWARD_ADDR 303
|
||||
#define VAR_DO_NOT_QUERY_ADDRESS 304
|
||||
#define VAR_HIDE_IDENTITY 305
|
||||
#define VAR_HIDE_VERSION 306
|
||||
#define VAR_IDENTITY 307
|
||||
#define VAR_VERSION 308
|
||||
#define VAR_HARDEN_GLUE 309
|
||||
#define VAR_MODULE_CONF 310
|
||||
#define VAR_TRUST_ANCHOR_FILE 311
|
||||
#define VAR_TRUST_ANCHOR 312
|
||||
#define VAR_VAL_OVERRIDE_DATE 313
|
||||
#define VAR_BOGUS_TTL 314
|
||||
#define VAR_VAL_CLEAN_ADDITIONAL 315
|
||||
#define VAR_VAL_PERMISSIVE_MODE 316
|
||||
#define VAR_INCOMING_NUM_TCP 317
|
||||
#define VAR_MSG_BUFFER_SIZE 318
|
||||
#define VAR_KEY_CACHE_SIZE 319
|
||||
#define VAR_KEY_CACHE_SLABS 320
|
||||
#define VAR_TRUSTED_KEYS_FILE 321
|
||||
#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 322
|
||||
#define VAR_USE_SYSLOG 323
|
||||
#define VAR_OUTGOING_INTERFACE 324
|
||||
#define VAR_ROOT_HINTS 325
|
||||
#define VAR_DO_NOT_QUERY_LOCALHOST 326
|
||||
#define VAR_CACHE_MAX_TTL 327
|
||||
#define VAR_HARDEN_DNSSEC_STRIPPED 328
|
||||
#define VAR_ACCESS_CONTROL 329
|
||||
#define VAR_LOCAL_ZONE 330
|
||||
#define VAR_LOCAL_DATA 331
|
||||
#define VAR_INTERFACE_AUTOMATIC 332
|
||||
#define VAR_STATISTICS_INTERVAL 333
|
||||
#define VAR_DO_DAEMONIZE 334
|
||||
#define VAR_USE_CAPS_FOR_ID 335
|
||||
#define VAR_STATISTICS_CUMULATIVE 336
|
||||
#define VAR_OUTGOING_PORT_PERMIT 337
|
||||
#define VAR_OUTGOING_PORT_AVOID 338
|
||||
#define VAR_DLV_ANCHOR_FILE 339
|
||||
#define VAR_DLV_ANCHOR 340
|
||||
#define VAR_NEG_CACHE_SIZE 341
|
||||
#define VAR_HARDEN_REFERRAL_PATH 342
|
||||
#define VAR_PRIVATE_ADDRESS 343
|
||||
#define VAR_PRIVATE_DOMAIN 344
|
||||
#define VAR_REMOTE_CONTROL 345
|
||||
#define VAR_CONTROL_ENABLE 346
|
||||
#define VAR_CONTROL_INTERFACE 347
|
||||
#define VAR_CONTROL_PORT 348
|
||||
#define VAR_SERVER_KEY_FILE 349
|
||||
#define VAR_SERVER_CERT_FILE 350
|
||||
#define VAR_CONTROL_KEY_FILE 351
|
||||
#define VAR_CONTROL_CERT_FILE 352
|
||||
#define VAR_CONTROL_USE_CERT 353
|
||||
#define VAR_EXTENDED_STATISTICS 354
|
||||
#define VAR_LOCAL_DATA_PTR 355
|
||||
#define VAR_JOSTLE_TIMEOUT 356
|
||||
#define VAR_STUB_PRIME 357
|
||||
#define VAR_UNWANTED_REPLY_THRESHOLD 358
|
||||
#define VAR_LOG_TIME_ASCII 359
|
||||
#define VAR_DOMAIN_INSECURE 360
|
||||
#define VAR_PYTHON 361
|
||||
#define VAR_PYTHON_SCRIPT 362
|
||||
#define VAR_VAL_SIG_SKEW_MIN 363
|
||||
#define VAR_VAL_SIG_SKEW_MAX 364
|
||||
#define VAR_CACHE_MIN_TTL 365
|
||||
#define VAR_VAL_LOG_LEVEL 366
|
||||
#define VAR_AUTO_TRUST_ANCHOR_FILE 367
|
||||
#define VAR_KEEP_MISSING 368
|
||||
#define VAR_ADD_HOLDDOWN 369
|
||||
#define VAR_DEL_HOLDDOWN 370
|
||||
#define VAR_SO_RCVBUF 371
|
||||
#define VAR_EDNS_BUFFER_SIZE 372
|
||||
#define VAR_PREFETCH 373
|
||||
#define VAR_PREFETCH_KEY 374
|
||||
#define VAR_SO_SNDBUF 375
|
||||
#define VAR_SO_REUSEPORT 376
|
||||
#define VAR_HARDEN_BELOW_NXDOMAIN 377
|
||||
#define VAR_IGNORE_CD_FLAG 378
|
||||
#define VAR_LOG_QUERIES 379
|
||||
#define VAR_TCP_UPSTREAM 380
|
||||
#define VAR_SSL_UPSTREAM 381
|
||||
#define VAR_SSL_SERVICE_KEY 382
|
||||
#define VAR_SSL_SERVICE_PEM 383
|
||||
#define VAR_SSL_PORT 384
|
||||
#define VAR_FORWARD_FIRST 385
|
||||
#define VAR_STUB_FIRST 386
|
||||
#define VAR_MINIMAL_RESPONSES 387
|
||||
#define VAR_RRSET_ROUNDROBIN 388
|
||||
#define VAR_MAX_UDP_SIZE 389
|
||||
#define VAR_DELAY_CLOSE 390
|
||||
#define VAR_UNBLOCK_LAN_ZONES 391
|
||||
#define VAR_INSECURE_LAN_ZONES 392
|
||||
#define VAR_INFRA_CACHE_MIN_RTT 393
|
||||
#define VAR_DNS64_PREFIX 394
|
||||
#define VAR_DNS64_SYNTHALL 395
|
||||
#define VAR_DNSTAP 396
|
||||
#define VAR_DNSTAP_ENABLE 397
|
||||
#define VAR_DNSTAP_SOCKET_PATH 398
|
||||
#define VAR_DNSTAP_SEND_IDENTITY 399
|
||||
#define VAR_DNSTAP_SEND_VERSION 400
|
||||
#define VAR_DNSTAP_IDENTITY 401
|
||||
#define VAR_DNSTAP_VERSION 402
|
||||
#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 403
|
||||
#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 404
|
||||
#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 405
|
||||
#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 406
|
||||
#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 407
|
||||
#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 408
|
||||
#define VAR_HARDEN_ALGO_DOWNGRADE 409
|
||||
#define VAR_IP_TRANSPARENT 410
|
||||
#define VAR_DISABLE_DNSSEC_LAME_CHECK 411
|
||||
#define VAR_RATELIMIT 412
|
||||
#define VAR_RATELIMIT_SLABS 413
|
||||
#define VAR_RATELIMIT_SIZE 414
|
||||
#define VAR_RATELIMIT_FOR_DOMAIN 415
|
||||
#define VAR_RATELIMIT_BELOW_DOMAIN 416
|
||||
#define VAR_RATELIMIT_FACTOR 417
|
||||
#define VAR_CAPS_WHITELIST 418
|
||||
#define VAR_CACHE_MAX_NEGATIVE_TTL 419
|
||||
#define VAR_PERMIT_SMALL_HOLDDOWN 420
|
||||
#define VAR_QNAME_MINIMISATION 421
|
||||
#define VAR_IP_FREEBIND 422
|
||||
#define VAR_DEFINE_TAG 423
|
||||
#define VAR_LOCAL_ZONE_TAG 424
|
||||
#define VAR_ACCESS_CONTROL_TAG 425
|
||||
#define VAR_LOCAL_ZONE_OVERRIDE 426
|
||||
#define VAR_ACCESS_CONTROL_TAG_ACTION 427
|
||||
#define VAR_ACCESS_CONTROL_TAG_DATA 428
|
||||
#define VAR_PREFER_IP6 274
|
||||
#define VAR_DO_UDP 275
|
||||
#define VAR_DO_TCP 276
|
||||
#define VAR_TCP_MSS 277
|
||||
#define VAR_OUTGOING_TCP_MSS 278
|
||||
#define VAR_CHROOT 279
|
||||
#define VAR_USERNAME 280
|
||||
#define VAR_DIRECTORY 281
|
||||
#define VAR_LOGFILE 282
|
||||
#define VAR_PIDFILE 283
|
||||
#define VAR_MSG_CACHE_SIZE 284
|
||||
#define VAR_MSG_CACHE_SLABS 285
|
||||
#define VAR_NUM_QUERIES_PER_THREAD 286
|
||||
#define VAR_RRSET_CACHE_SIZE 287
|
||||
#define VAR_RRSET_CACHE_SLABS 288
|
||||
#define VAR_OUTGOING_NUM_TCP 289
|
||||
#define VAR_INFRA_HOST_TTL 290
|
||||
#define VAR_INFRA_LAME_TTL 291
|
||||
#define VAR_INFRA_CACHE_SLABS 292
|
||||
#define VAR_INFRA_CACHE_NUMHOSTS 293
|
||||
#define VAR_INFRA_CACHE_LAME_SIZE 294
|
||||
#define VAR_NAME 295
|
||||
#define VAR_STUB_ZONE 296
|
||||
#define VAR_STUB_HOST 297
|
||||
#define VAR_STUB_ADDR 298
|
||||
#define VAR_TARGET_FETCH_POLICY 299
|
||||
#define VAR_HARDEN_SHORT_BUFSIZE 300
|
||||
#define VAR_HARDEN_LARGE_QUERIES 301
|
||||
#define VAR_FORWARD_ZONE 302
|
||||
#define VAR_FORWARD_HOST 303
|
||||
#define VAR_FORWARD_ADDR 304
|
||||
#define VAR_DO_NOT_QUERY_ADDRESS 305
|
||||
#define VAR_HIDE_IDENTITY 306
|
||||
#define VAR_HIDE_VERSION 307
|
||||
#define VAR_IDENTITY 308
|
||||
#define VAR_VERSION 309
|
||||
#define VAR_HARDEN_GLUE 310
|
||||
#define VAR_MODULE_CONF 311
|
||||
#define VAR_TRUST_ANCHOR_FILE 312
|
||||
#define VAR_TRUST_ANCHOR 313
|
||||
#define VAR_VAL_OVERRIDE_DATE 314
|
||||
#define VAR_BOGUS_TTL 315
|
||||
#define VAR_VAL_CLEAN_ADDITIONAL 316
|
||||
#define VAR_VAL_PERMISSIVE_MODE 317
|
||||
#define VAR_INCOMING_NUM_TCP 318
|
||||
#define VAR_MSG_BUFFER_SIZE 319
|
||||
#define VAR_KEY_CACHE_SIZE 320
|
||||
#define VAR_KEY_CACHE_SLABS 321
|
||||
#define VAR_TRUSTED_KEYS_FILE 322
|
||||
#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 323
|
||||
#define VAR_USE_SYSLOG 324
|
||||
#define VAR_OUTGOING_INTERFACE 325
|
||||
#define VAR_ROOT_HINTS 326
|
||||
#define VAR_DO_NOT_QUERY_LOCALHOST 327
|
||||
#define VAR_CACHE_MAX_TTL 328
|
||||
#define VAR_HARDEN_DNSSEC_STRIPPED 329
|
||||
#define VAR_ACCESS_CONTROL 330
|
||||
#define VAR_LOCAL_ZONE 331
|
||||
#define VAR_LOCAL_DATA 332
|
||||
#define VAR_INTERFACE_AUTOMATIC 333
|
||||
#define VAR_STATISTICS_INTERVAL 334
|
||||
#define VAR_DO_DAEMONIZE 335
|
||||
#define VAR_USE_CAPS_FOR_ID 336
|
||||
#define VAR_STATISTICS_CUMULATIVE 337
|
||||
#define VAR_OUTGOING_PORT_PERMIT 338
|
||||
#define VAR_OUTGOING_PORT_AVOID 339
|
||||
#define VAR_DLV_ANCHOR_FILE 340
|
||||
#define VAR_DLV_ANCHOR 341
|
||||
#define VAR_NEG_CACHE_SIZE 342
|
||||
#define VAR_HARDEN_REFERRAL_PATH 343
|
||||
#define VAR_PRIVATE_ADDRESS 344
|
||||
#define VAR_PRIVATE_DOMAIN 345
|
||||
#define VAR_REMOTE_CONTROL 346
|
||||
#define VAR_CONTROL_ENABLE 347
|
||||
#define VAR_CONTROL_INTERFACE 348
|
||||
#define VAR_CONTROL_PORT 349
|
||||
#define VAR_SERVER_KEY_FILE 350
|
||||
#define VAR_SERVER_CERT_FILE 351
|
||||
#define VAR_CONTROL_KEY_FILE 352
|
||||
#define VAR_CONTROL_CERT_FILE 353
|
||||
#define VAR_CONTROL_USE_CERT 354
|
||||
#define VAR_EXTENDED_STATISTICS 355
|
||||
#define VAR_LOCAL_DATA_PTR 356
|
||||
#define VAR_JOSTLE_TIMEOUT 357
|
||||
#define VAR_STUB_PRIME 358
|
||||
#define VAR_UNWANTED_REPLY_THRESHOLD 359
|
||||
#define VAR_LOG_TIME_ASCII 360
|
||||
#define VAR_DOMAIN_INSECURE 361
|
||||
#define VAR_PYTHON 362
|
||||
#define VAR_PYTHON_SCRIPT 363
|
||||
#define VAR_VAL_SIG_SKEW_MIN 364
|
||||
#define VAR_VAL_SIG_SKEW_MAX 365
|
||||
#define VAR_CACHE_MIN_TTL 366
|
||||
#define VAR_VAL_LOG_LEVEL 367
|
||||
#define VAR_AUTO_TRUST_ANCHOR_FILE 368
|
||||
#define VAR_KEEP_MISSING 369
|
||||
#define VAR_ADD_HOLDDOWN 370
|
||||
#define VAR_DEL_HOLDDOWN 371
|
||||
#define VAR_SO_RCVBUF 372
|
||||
#define VAR_EDNS_BUFFER_SIZE 373
|
||||
#define VAR_PREFETCH 374
|
||||
#define VAR_PREFETCH_KEY 375
|
||||
#define VAR_SO_SNDBUF 376
|
||||
#define VAR_SO_REUSEPORT 377
|
||||
#define VAR_HARDEN_BELOW_NXDOMAIN 378
|
||||
#define VAR_IGNORE_CD_FLAG 379
|
||||
#define VAR_LOG_QUERIES 380
|
||||
#define VAR_TCP_UPSTREAM 381
|
||||
#define VAR_SSL_UPSTREAM 382
|
||||
#define VAR_SSL_SERVICE_KEY 383
|
||||
#define VAR_SSL_SERVICE_PEM 384
|
||||
#define VAR_SSL_PORT 385
|
||||
#define VAR_FORWARD_FIRST 386
|
||||
#define VAR_STUB_FIRST 387
|
||||
#define VAR_MINIMAL_RESPONSES 388
|
||||
#define VAR_RRSET_ROUNDROBIN 389
|
||||
#define VAR_MAX_UDP_SIZE 390
|
||||
#define VAR_DELAY_CLOSE 391
|
||||
#define VAR_UNBLOCK_LAN_ZONES 392
|
||||
#define VAR_INSECURE_LAN_ZONES 393
|
||||
#define VAR_INFRA_CACHE_MIN_RTT 394
|
||||
#define VAR_DNS64_PREFIX 395
|
||||
#define VAR_DNS64_SYNTHALL 396
|
||||
#define VAR_DNSTAP 397
|
||||
#define VAR_DNSTAP_ENABLE 398
|
||||
#define VAR_DNSTAP_SOCKET_PATH 399
|
||||
#define VAR_DNSTAP_SEND_IDENTITY 400
|
||||
#define VAR_DNSTAP_SEND_VERSION 401
|
||||
#define VAR_DNSTAP_IDENTITY 402
|
||||
#define VAR_DNSTAP_VERSION 403
|
||||
#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 404
|
||||
#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 405
|
||||
#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 406
|
||||
#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 407
|
||||
#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 408
|
||||
#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 409
|
||||
#define VAR_HARDEN_ALGO_DOWNGRADE 410
|
||||
#define VAR_IP_TRANSPARENT 411
|
||||
#define VAR_DISABLE_DNSSEC_LAME_CHECK 412
|
||||
#define VAR_RATELIMIT 413
|
||||
#define VAR_RATELIMIT_SLABS 414
|
||||
#define VAR_RATELIMIT_SIZE 415
|
||||
#define VAR_RATELIMIT_FOR_DOMAIN 416
|
||||
#define VAR_RATELIMIT_BELOW_DOMAIN 417
|
||||
#define VAR_RATELIMIT_FACTOR 418
|
||||
#define VAR_CAPS_WHITELIST 419
|
||||
#define VAR_CACHE_MAX_NEGATIVE_TTL 420
|
||||
#define VAR_PERMIT_SMALL_HOLDDOWN 421
|
||||
#define VAR_QNAME_MINIMISATION 422
|
||||
#define VAR_IP_FREEBIND 423
|
||||
#define VAR_DEFINE_TAG 424
|
||||
#define VAR_LOCAL_ZONE_TAG 425
|
||||
#define VAR_ACCESS_CONTROL_TAG 426
|
||||
#define VAR_LOCAL_ZONE_OVERRIDE 427
|
||||
#define VAR_ACCESS_CONTROL_TAG_ACTION 428
|
||||
#define VAR_ACCESS_CONTROL_TAG_DATA 429
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
|
|
@ -400,7 +402,7 @@ union YYSTYPE
|
|||
|
||||
char* str;
|
||||
|
||||
#line 404 "util/configparser.h" /* yacc.c:1909 */
|
||||
#line 406 "util/configparser.h" /* yacc.c:1909 */
|
||||
};
|
||||
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ extern struct config_parser_state* cfg_parser;
|
|||
%token <str> STRING_ARG
|
||||
%token VAR_SERVER VAR_VERBOSITY VAR_NUM_THREADS VAR_PORT
|
||||
%token VAR_OUTGOING_RANGE VAR_INTERFACE
|
||||
%token VAR_DO_IP4 VAR_DO_IP6 VAR_DO_UDP VAR_DO_TCP
|
||||
%token VAR_DO_IP4 VAR_DO_IP6 VAR_PREFER_IP6 VAR_DO_UDP VAR_DO_TCP
|
||||
%token VAR_TCP_MSS VAR_OUTGOING_TCP_MSS
|
||||
%token VAR_CHROOT VAR_USERNAME VAR_DIRECTORY VAR_LOGFILE VAR_PIDFILE
|
||||
%token VAR_MSG_CACHE_SIZE VAR_MSG_CACHE_SLABS VAR_NUM_QUERIES_PER_THREAD
|
||||
|
|
@ -146,7 +146,8 @@ contents_server: contents_server content_server
|
|||
| ;
|
||||
content_server: server_num_threads | server_verbosity | server_port |
|
||||
server_outgoing_range | server_do_ip4 |
|
||||
server_do_ip6 | server_do_udp | server_do_tcp |
|
||||
server_do_ip6 | server_prefer_ip6 |
|
||||
server_do_udp | server_do_tcp |
|
||||
server_tcp_mss | server_outgoing_tcp_mss |
|
||||
server_interface | server_chroot | server_username |
|
||||
server_directory | server_logfile | server_pidfile |
|
||||
|
|
@ -406,6 +407,15 @@ server_do_tcp: VAR_DO_TCP STRING_ARG
|
|||
free($2);
|
||||
}
|
||||
;
|
||||
server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG
|
||||
{
|
||||
OUTYY(("P(server_prefer_ip6:%s)\n", $2));
|
||||
if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
|
||||
yyerror("expected yes or no.");
|
||||
else cfg_parser->cfg->prefer_ip6 = (strcmp($2, "yes")==0);
|
||||
free($2);
|
||||
}
|
||||
;
|
||||
server_tcp_mss: VAR_TCP_MSS STRING_ARG
|
||||
{
|
||||
OUTYY(("P(server_tcp_mss:%s)\n", $2));
|
||||
|
|
|
|||
Loading…
Reference in a new issue