add ip-dscp configuration option for setting IP DiffServ codepoint (DSCP, previously TOS) on sockets

This commit is contained in:
Yaroslav K 2020-03-04 11:02:16 -08:00 committed by Yaroslav Kolomiiets
parent cca5cfc88f
commit c0118410a2
11 changed files with 6803 additions and 6745 deletions

View file

@ -323,6 +323,12 @@ IP addresses that are nonlocal or do not exist, like when the network
interface or IP address is down. Exists only on Linux, where the similar interface or IP address is down. Exists only on Linux, where the similar
ip\-transparent option is also available. ip\-transparent option is also available.
.TP .TP
.B ip-dscp: \fI<number>
The value of the Differentiated Services Codepoint (DSCP) in the
differentiated services field (DS) of the outgoing IP packet headers.
The field replaces the outdated IPv4 Type-Of-Service field and the
IPV6 traffic class field.
.TP
.B rrset\-cache\-size: \fI<number> .B rrset\-cache\-size: \fI<number>
Number of bytes size of the RRset cache. Default is 4 megabytes. Number of bytes size of the RRset cache. Default is 4 megabytes.
A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes, megabytes A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes, megabytes

5
testdata/04-checkconf.tdir/bad.dscp vendored Normal file
View file

@ -0,0 +1,5 @@
include: "good.min"
server:
# an abnormal value for the option
ip-dscp: 500

View file

@ -220,6 +220,10 @@ server:
# more slabs reduce lock contention, but fragment memory usage. # more slabs reduce lock contention, but fragment memory usage.
key-cache-slabs: 4 key-cache-slabs: 4
# the value of the Differentiated Services Codepoint (DSCP)
# in the differentiated services field (DS) of the outgoing
# IP packets
ip-dscp: 5
# Stub zones. # Stub zones.
# Create entries like below, to make all queries for 'example.com' and # Create entries like below, to make all queries for 'example.com' and

7
testdata/04-checkconf.tdir/good.min vendored Normal file
View file

@ -0,0 +1,7 @@
# the minimal passing config - include in your bad.x to verify that
# it is your option which triggers failure
server:
chroot: ""
username: ""
directory: "."
pidfile: ""

View file

@ -186,6 +186,7 @@ config_create(void)
cfg->so_reuseport = REUSEPORT_DEFAULT; cfg->so_reuseport = REUSEPORT_DEFAULT;
cfg->ip_transparent = 0; cfg->ip_transparent = 0;
cfg->ip_freebind = 0; cfg->ip_freebind = 0;
cfg->ip_dscp = 0;
cfg->num_ifs = 0; cfg->num_ifs = 0;
cfg->ifs = NULL; cfg->ifs = NULL;
cfg->num_out_ifs = 0; cfg->num_out_ifs = 0;
@ -923,6 +924,7 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_YNO(opt, "so-reuseport", so_reuseport) else O_YNO(opt, "so-reuseport", so_reuseport)
else O_YNO(opt, "ip-transparent", ip_transparent) else O_YNO(opt, "ip-transparent", ip_transparent)
else O_YNO(opt, "ip-freebind", ip_freebind) else O_YNO(opt, "ip-freebind", ip_freebind)
else O_DEC(opt, "ip-dscp", ip_dscp)
else O_MEM(opt, "rrset-cache-size", rrset_cache_size) else O_MEM(opt, "rrset-cache-size", rrset_cache_size)
else O_DEC(opt, "rrset-cache-slabs", rrset_cache_slabs) else O_DEC(opt, "rrset-cache-slabs", rrset_cache_slabs)
else O_YNO(opt, "prefetch-key", prefetch_key) else O_YNO(opt, "prefetch-key", prefetch_key)

View file

@ -188,6 +188,8 @@ struct config_file {
int ip_transparent; int ip_transparent;
/** IP_FREEBIND socket option request on port 53 sockets */ /** IP_FREEBIND socket option request on port 53 sockets */
int ip_freebind; int ip_freebind;
/** IP_TOS socket option requested on port 53 sockets */
int ip_dscp;
/** number of interfaces to open. If 0 default all interfaces. */ /** number of interfaces to open. If 0 default all interfaces. */
int num_ifs; int num_ifs;

File diff suppressed because it is too large Load diff

View file

@ -259,6 +259,7 @@ so-sndbuf{COLON} { YDVAR(1, VAR_SO_SNDBUF) }
so-reuseport{COLON} { YDVAR(1, VAR_SO_REUSEPORT) } so-reuseport{COLON} { YDVAR(1, VAR_SO_REUSEPORT) }
ip-transparent{COLON} { YDVAR(1, VAR_IP_TRANSPARENT) } ip-transparent{COLON} { YDVAR(1, VAR_IP_TRANSPARENT) }
ip-freebind{COLON} { YDVAR(1, VAR_IP_FREEBIND) } ip-freebind{COLON} { YDVAR(1, VAR_IP_FREEBIND) }
ip-dscp{COLON} { YDVAR(1, VAR_IP_DSCP) }
chroot{COLON} { YDVAR(1, VAR_CHROOT) } chroot{COLON} { YDVAR(1, VAR_CHROOT) }
username{COLON} { YDVAR(1, VAR_USERNAME) } username{COLON} { YDVAR(1, VAR_USERNAME) }
directory{COLON} { YDVAR(1, VAR_DIRECTORY) } directory{COLON} { YDVAR(1, VAR_DIRECTORY) }

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,14 @@
/* A Bison parser, made by GNU Bison 3.4.1. */ /* A Bison parser, made by GNU Bison 2.3. */
/* Bison interface for Yacc-like parsers in C /* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Inc. Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation; either version 2, or (at your option)
(at your option) any later version. any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,7 +16,9 @@
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */ along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains /* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work part or all of the Bison parser skeleton and distribute that work
@ -31,307 +33,296 @@
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ version 2.2 of Bison. */
/* Undocumented macros, especially those whose name start with YY_, /* Tokens. */
are private implementation details. Do not rely on them. */
#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif
/* Token type. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
# define YYTOKENTYPE # define YYTOKENTYPE
enum yytokentype /* Put the tokens into the symbol table, so that GDB and other debuggers
{ know about them. */
SPACE = 258, enum yytokentype {
LETTER = 259, SPACE = 258,
NEWLINE = 260, LETTER = 259,
COMMENT = 261, NEWLINE = 260,
COLON = 262, COMMENT = 261,
ANY = 263, COLON = 262,
ZONESTR = 264, ANY = 263,
STRING_ARG = 265, ZONESTR = 264,
VAR_SERVER = 266, STRING_ARG = 265,
VAR_VERBOSITY = 267, VAR_SERVER = 266,
VAR_NUM_THREADS = 268, VAR_VERBOSITY = 267,
VAR_PORT = 269, VAR_NUM_THREADS = 268,
VAR_OUTGOING_RANGE = 270, VAR_PORT = 269,
VAR_INTERFACE = 271, VAR_OUTGOING_RANGE = 270,
VAR_PREFER_IP4 = 272, VAR_INTERFACE = 271,
VAR_DO_IP4 = 273, VAR_PREFER_IP4 = 272,
VAR_DO_IP6 = 274, VAR_DO_IP4 = 273,
VAR_PREFER_IP6 = 275, VAR_DO_IP6 = 274,
VAR_DO_UDP = 276, VAR_PREFER_IP6 = 275,
VAR_DO_TCP = 277, VAR_DO_UDP = 276,
VAR_TCP_MSS = 278, VAR_DO_TCP = 277,
VAR_OUTGOING_TCP_MSS = 279, VAR_TCP_MSS = 278,
VAR_TCP_IDLE_TIMEOUT = 280, VAR_OUTGOING_TCP_MSS = 279,
VAR_EDNS_TCP_KEEPALIVE = 281, VAR_TCP_IDLE_TIMEOUT = 280,
VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 282, VAR_EDNS_TCP_KEEPALIVE = 281,
VAR_CHROOT = 283, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 282,
VAR_USERNAME = 284, VAR_CHROOT = 283,
VAR_DIRECTORY = 285, VAR_USERNAME = 284,
VAR_LOGFILE = 286, VAR_DIRECTORY = 285,
VAR_PIDFILE = 287, VAR_LOGFILE = 286,
VAR_MSG_CACHE_SIZE = 288, VAR_PIDFILE = 287,
VAR_MSG_CACHE_SLABS = 289, VAR_MSG_CACHE_SIZE = 288,
VAR_NUM_QUERIES_PER_THREAD = 290, VAR_MSG_CACHE_SLABS = 289,
VAR_RRSET_CACHE_SIZE = 291, VAR_NUM_QUERIES_PER_THREAD = 290,
VAR_RRSET_CACHE_SLABS = 292, VAR_RRSET_CACHE_SIZE = 291,
VAR_OUTGOING_NUM_TCP = 293, VAR_RRSET_CACHE_SLABS = 292,
VAR_INFRA_HOST_TTL = 294, VAR_OUTGOING_NUM_TCP = 293,
VAR_INFRA_LAME_TTL = 295, VAR_INFRA_HOST_TTL = 294,
VAR_INFRA_CACHE_SLABS = 296, VAR_INFRA_LAME_TTL = 295,
VAR_INFRA_CACHE_NUMHOSTS = 297, VAR_INFRA_CACHE_SLABS = 296,
VAR_INFRA_CACHE_LAME_SIZE = 298, VAR_INFRA_CACHE_NUMHOSTS = 297,
VAR_NAME = 299, VAR_INFRA_CACHE_LAME_SIZE = 298,
VAR_STUB_ZONE = 300, VAR_NAME = 299,
VAR_STUB_HOST = 301, VAR_STUB_ZONE = 300,
VAR_STUB_ADDR = 302, VAR_STUB_HOST = 301,
VAR_TARGET_FETCH_POLICY = 303, VAR_STUB_ADDR = 302,
VAR_HARDEN_SHORT_BUFSIZE = 304, VAR_TARGET_FETCH_POLICY = 303,
VAR_HARDEN_LARGE_QUERIES = 305, VAR_HARDEN_SHORT_BUFSIZE = 304,
VAR_FORWARD_ZONE = 306, VAR_HARDEN_LARGE_QUERIES = 305,
VAR_FORWARD_HOST = 307, VAR_FORWARD_ZONE = 306,
VAR_FORWARD_ADDR = 308, VAR_FORWARD_HOST = 307,
VAR_DO_NOT_QUERY_ADDRESS = 309, VAR_FORWARD_ADDR = 308,
VAR_HIDE_IDENTITY = 310, VAR_DO_NOT_QUERY_ADDRESS = 309,
VAR_HIDE_VERSION = 311, VAR_HIDE_IDENTITY = 310,
VAR_IDENTITY = 312, VAR_HIDE_VERSION = 311,
VAR_VERSION = 313, VAR_IDENTITY = 312,
VAR_HARDEN_GLUE = 314, VAR_VERSION = 313,
VAR_MODULE_CONF = 315, VAR_HARDEN_GLUE = 314,
VAR_TRUST_ANCHOR_FILE = 316, VAR_MODULE_CONF = 315,
VAR_TRUST_ANCHOR = 317, VAR_TRUST_ANCHOR_FILE = 316,
VAR_VAL_OVERRIDE_DATE = 318, VAR_TRUST_ANCHOR = 317,
VAR_BOGUS_TTL = 319, VAR_VAL_OVERRIDE_DATE = 318,
VAR_VAL_CLEAN_ADDITIONAL = 320, VAR_BOGUS_TTL = 319,
VAR_VAL_PERMISSIVE_MODE = 321, VAR_VAL_CLEAN_ADDITIONAL = 320,
VAR_INCOMING_NUM_TCP = 322, VAR_VAL_PERMISSIVE_MODE = 321,
VAR_MSG_BUFFER_SIZE = 323, VAR_INCOMING_NUM_TCP = 322,
VAR_KEY_CACHE_SIZE = 324, VAR_MSG_BUFFER_SIZE = 323,
VAR_KEY_CACHE_SLABS = 325, VAR_KEY_CACHE_SIZE = 324,
VAR_TRUSTED_KEYS_FILE = 326, VAR_KEY_CACHE_SLABS = 325,
VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 327, VAR_TRUSTED_KEYS_FILE = 326,
VAR_USE_SYSLOG = 328, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 327,
VAR_OUTGOING_INTERFACE = 329, VAR_USE_SYSLOG = 328,
VAR_ROOT_HINTS = 330, VAR_OUTGOING_INTERFACE = 329,
VAR_DO_NOT_QUERY_LOCALHOST = 331, VAR_ROOT_HINTS = 330,
VAR_CACHE_MAX_TTL = 332, VAR_DO_NOT_QUERY_LOCALHOST = 331,
VAR_HARDEN_DNSSEC_STRIPPED = 333, VAR_CACHE_MAX_TTL = 332,
VAR_ACCESS_CONTROL = 334, VAR_HARDEN_DNSSEC_STRIPPED = 333,
VAR_LOCAL_ZONE = 335, VAR_ACCESS_CONTROL = 334,
VAR_LOCAL_DATA = 336, VAR_LOCAL_ZONE = 335,
VAR_INTERFACE_AUTOMATIC = 337, VAR_LOCAL_DATA = 336,
VAR_STATISTICS_INTERVAL = 338, VAR_INTERFACE_AUTOMATIC = 337,
VAR_DO_DAEMONIZE = 339, VAR_STATISTICS_INTERVAL = 338,
VAR_USE_CAPS_FOR_ID = 340, VAR_DO_DAEMONIZE = 339,
VAR_STATISTICS_CUMULATIVE = 341, VAR_USE_CAPS_FOR_ID = 340,
VAR_OUTGOING_PORT_PERMIT = 342, VAR_STATISTICS_CUMULATIVE = 341,
VAR_OUTGOING_PORT_AVOID = 343, VAR_OUTGOING_PORT_PERMIT = 342,
VAR_DLV_ANCHOR_FILE = 344, VAR_OUTGOING_PORT_AVOID = 343,
VAR_DLV_ANCHOR = 345, VAR_DLV_ANCHOR_FILE = 344,
VAR_NEG_CACHE_SIZE = 346, VAR_DLV_ANCHOR = 345,
VAR_HARDEN_REFERRAL_PATH = 347, VAR_NEG_CACHE_SIZE = 346,
VAR_PRIVATE_ADDRESS = 348, VAR_HARDEN_REFERRAL_PATH = 347,
VAR_PRIVATE_DOMAIN = 349, VAR_PRIVATE_ADDRESS = 348,
VAR_REMOTE_CONTROL = 350, VAR_PRIVATE_DOMAIN = 349,
VAR_CONTROL_ENABLE = 351, VAR_REMOTE_CONTROL = 350,
VAR_CONTROL_INTERFACE = 352, VAR_CONTROL_ENABLE = 351,
VAR_CONTROL_PORT = 353, VAR_CONTROL_INTERFACE = 352,
VAR_SERVER_KEY_FILE = 354, VAR_CONTROL_PORT = 353,
VAR_SERVER_CERT_FILE = 355, VAR_SERVER_KEY_FILE = 354,
VAR_CONTROL_KEY_FILE = 356, VAR_SERVER_CERT_FILE = 355,
VAR_CONTROL_CERT_FILE = 357, VAR_CONTROL_KEY_FILE = 356,
VAR_CONTROL_USE_CERT = 358, VAR_CONTROL_CERT_FILE = 357,
VAR_EXTENDED_STATISTICS = 359, VAR_CONTROL_USE_CERT = 358,
VAR_LOCAL_DATA_PTR = 360, VAR_EXTENDED_STATISTICS = 359,
VAR_JOSTLE_TIMEOUT = 361, VAR_LOCAL_DATA_PTR = 360,
VAR_STUB_PRIME = 362, VAR_JOSTLE_TIMEOUT = 361,
VAR_UNWANTED_REPLY_THRESHOLD = 363, VAR_STUB_PRIME = 362,
VAR_LOG_TIME_ASCII = 364, VAR_UNWANTED_REPLY_THRESHOLD = 363,
VAR_DOMAIN_INSECURE = 365, VAR_LOG_TIME_ASCII = 364,
VAR_PYTHON = 366, VAR_DOMAIN_INSECURE = 365,
VAR_PYTHON_SCRIPT = 367, VAR_PYTHON = 366,
VAR_VAL_SIG_SKEW_MIN = 368, VAR_PYTHON_SCRIPT = 367,
VAR_VAL_SIG_SKEW_MAX = 369, VAR_VAL_SIG_SKEW_MIN = 368,
VAR_CACHE_MIN_TTL = 370, VAR_VAL_SIG_SKEW_MAX = 369,
VAR_VAL_LOG_LEVEL = 371, VAR_CACHE_MIN_TTL = 370,
VAR_AUTO_TRUST_ANCHOR_FILE = 372, VAR_VAL_LOG_LEVEL = 371,
VAR_KEEP_MISSING = 373, VAR_AUTO_TRUST_ANCHOR_FILE = 372,
VAR_ADD_HOLDDOWN = 374, VAR_KEEP_MISSING = 373,
VAR_DEL_HOLDDOWN = 375, VAR_ADD_HOLDDOWN = 374,
VAR_SO_RCVBUF = 376, VAR_DEL_HOLDDOWN = 375,
VAR_EDNS_BUFFER_SIZE = 377, VAR_SO_RCVBUF = 376,
VAR_PREFETCH = 378, VAR_EDNS_BUFFER_SIZE = 377,
VAR_PREFETCH_KEY = 379, VAR_PREFETCH = 378,
VAR_SO_SNDBUF = 380, VAR_PREFETCH_KEY = 379,
VAR_SO_REUSEPORT = 381, VAR_SO_SNDBUF = 380,
VAR_HARDEN_BELOW_NXDOMAIN = 382, VAR_SO_REUSEPORT = 381,
VAR_IGNORE_CD_FLAG = 383, VAR_HARDEN_BELOW_NXDOMAIN = 382,
VAR_LOG_QUERIES = 384, VAR_IGNORE_CD_FLAG = 383,
VAR_LOG_REPLIES = 385, VAR_LOG_QUERIES = 384,
VAR_LOG_LOCAL_ACTIONS = 386, VAR_LOG_REPLIES = 385,
VAR_TCP_UPSTREAM = 387, VAR_LOG_LOCAL_ACTIONS = 386,
VAR_SSL_UPSTREAM = 388, VAR_TCP_UPSTREAM = 387,
VAR_SSL_SERVICE_KEY = 389, VAR_SSL_UPSTREAM = 388,
VAR_SSL_SERVICE_PEM = 390, VAR_SSL_SERVICE_KEY = 389,
VAR_SSL_PORT = 391, VAR_SSL_SERVICE_PEM = 390,
VAR_FORWARD_FIRST = 392, VAR_SSL_PORT = 391,
VAR_STUB_SSL_UPSTREAM = 393, VAR_FORWARD_FIRST = 392,
VAR_FORWARD_SSL_UPSTREAM = 394, VAR_STUB_SSL_UPSTREAM = 393,
VAR_TLS_CERT_BUNDLE = 395, VAR_FORWARD_SSL_UPSTREAM = 394,
VAR_STUB_FIRST = 396, VAR_TLS_CERT_BUNDLE = 395,
VAR_MINIMAL_RESPONSES = 397, VAR_STUB_FIRST = 396,
VAR_RRSET_ROUNDROBIN = 398, VAR_MINIMAL_RESPONSES = 397,
VAR_MAX_UDP_SIZE = 399, VAR_RRSET_ROUNDROBIN = 398,
VAR_DELAY_CLOSE = 400, VAR_MAX_UDP_SIZE = 399,
VAR_UNBLOCK_LAN_ZONES = 401, VAR_DELAY_CLOSE = 400,
VAR_INSECURE_LAN_ZONES = 402, VAR_UNBLOCK_LAN_ZONES = 401,
VAR_INFRA_CACHE_MIN_RTT = 403, VAR_INSECURE_LAN_ZONES = 402,
VAR_DNS64_PREFIX = 404, VAR_INFRA_CACHE_MIN_RTT = 403,
VAR_DNS64_SYNTHALL = 405, VAR_DNS64_PREFIX = 404,
VAR_DNS64_IGNORE_AAAA = 406, VAR_DNS64_SYNTHALL = 405,
VAR_DNSTAP = 407, VAR_DNS64_IGNORE_AAAA = 406,
VAR_DNSTAP_ENABLE = 408, VAR_DNSTAP = 407,
VAR_DNSTAP_SOCKET_PATH = 409, VAR_DNSTAP_ENABLE = 408,
VAR_DNSTAP_IP = 410, VAR_DNSTAP_SOCKET_PATH = 409,
VAR_DNSTAP_TLS = 411, VAR_DNSTAP_IP = 410,
VAR_DNSTAP_TLS_SERVER_NAME = 412, VAR_DNSTAP_TLS = 411,
VAR_DNSTAP_TLS_CERT_BUNDLE = 413, VAR_DNSTAP_TLS_SERVER_NAME = 412,
VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 414, VAR_DNSTAP_TLS_CERT_BUNDLE = 413,
VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 415, VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 414,
VAR_DNSTAP_SEND_IDENTITY = 416, VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 415,
VAR_DNSTAP_SEND_VERSION = 417, VAR_DNSTAP_SEND_IDENTITY = 416,
VAR_DNSTAP_IDENTITY = 418, VAR_DNSTAP_SEND_VERSION = 417,
VAR_DNSTAP_VERSION = 419, VAR_DNSTAP_IDENTITY = 418,
VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 420, VAR_DNSTAP_VERSION = 419,
VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 421, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 420,
VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 422, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 421,
VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 423, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 422,
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 424, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 423,
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 425, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 424,
VAR_RESPONSE_IP_TAG = 426, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 425,
VAR_RESPONSE_IP = 427, VAR_RESPONSE_IP_TAG = 426,
VAR_RESPONSE_IP_DATA = 428, VAR_RESPONSE_IP = 427,
VAR_HARDEN_ALGO_DOWNGRADE = 429, VAR_RESPONSE_IP_DATA = 428,
VAR_IP_TRANSPARENT = 430, VAR_HARDEN_ALGO_DOWNGRADE = 429,
VAR_DISABLE_DNSSEC_LAME_CHECK = 431, VAR_IP_TRANSPARENT = 430,
VAR_IP_RATELIMIT = 432, VAR_IP_DSCP = 431,
VAR_IP_RATELIMIT_SLABS = 433, VAR_DISABLE_DNSSEC_LAME_CHECK = 432,
VAR_IP_RATELIMIT_SIZE = 434, VAR_IP_RATELIMIT = 433,
VAR_RATELIMIT = 435, VAR_IP_RATELIMIT_SLABS = 434,
VAR_RATELIMIT_SLABS = 436, VAR_IP_RATELIMIT_SIZE = 435,
VAR_RATELIMIT_SIZE = 437, VAR_RATELIMIT = 436,
VAR_RATELIMIT_FOR_DOMAIN = 438, VAR_RATELIMIT_SLABS = 437,
VAR_RATELIMIT_BELOW_DOMAIN = 439, VAR_RATELIMIT_SIZE = 438,
VAR_IP_RATELIMIT_FACTOR = 440, VAR_RATELIMIT_FOR_DOMAIN = 439,
VAR_RATELIMIT_FACTOR = 441, VAR_RATELIMIT_BELOW_DOMAIN = 440,
VAR_SEND_CLIENT_SUBNET = 442, VAR_IP_RATELIMIT_FACTOR = 441,
VAR_CLIENT_SUBNET_ZONE = 443, VAR_RATELIMIT_FACTOR = 442,
VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 444, VAR_SEND_CLIENT_SUBNET = 443,
VAR_CLIENT_SUBNET_OPCODE = 445, VAR_CLIENT_SUBNET_ZONE = 444,
VAR_MAX_CLIENT_SUBNET_IPV4 = 446, VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 445,
VAR_MAX_CLIENT_SUBNET_IPV6 = 447, VAR_CLIENT_SUBNET_OPCODE = 446,
VAR_MIN_CLIENT_SUBNET_IPV4 = 448, VAR_MAX_CLIENT_SUBNET_IPV4 = 447,
VAR_MIN_CLIENT_SUBNET_IPV6 = 449, VAR_MAX_CLIENT_SUBNET_IPV6 = 448,
VAR_MAX_ECS_TREE_SIZE_IPV4 = 450, VAR_MIN_CLIENT_SUBNET_IPV4 = 449,
VAR_MAX_ECS_TREE_SIZE_IPV6 = 451, VAR_MIN_CLIENT_SUBNET_IPV6 = 450,
VAR_CAPS_WHITELIST = 452, VAR_MAX_ECS_TREE_SIZE_IPV4 = 451,
VAR_CACHE_MAX_NEGATIVE_TTL = 453, VAR_MAX_ECS_TREE_SIZE_IPV6 = 452,
VAR_PERMIT_SMALL_HOLDDOWN = 454, VAR_CAPS_WHITELIST = 453,
VAR_QNAME_MINIMISATION = 455, VAR_CACHE_MAX_NEGATIVE_TTL = 454,
VAR_QNAME_MINIMISATION_STRICT = 456, VAR_PERMIT_SMALL_HOLDDOWN = 455,
VAR_IP_FREEBIND = 457, VAR_QNAME_MINIMISATION = 456,
VAR_DEFINE_TAG = 458, VAR_QNAME_MINIMISATION_STRICT = 457,
VAR_LOCAL_ZONE_TAG = 459, VAR_IP_FREEBIND = 458,
VAR_ACCESS_CONTROL_TAG = 460, VAR_DEFINE_TAG = 459,
VAR_LOCAL_ZONE_OVERRIDE = 461, VAR_LOCAL_ZONE_TAG = 460,
VAR_ACCESS_CONTROL_TAG_ACTION = 462, VAR_ACCESS_CONTROL_TAG = 461,
VAR_ACCESS_CONTROL_TAG_DATA = 463, VAR_LOCAL_ZONE_OVERRIDE = 462,
VAR_VIEW = 464, VAR_ACCESS_CONTROL_TAG_ACTION = 463,
VAR_ACCESS_CONTROL_VIEW = 465, VAR_ACCESS_CONTROL_TAG_DATA = 464,
VAR_VIEW_FIRST = 466, VAR_VIEW = 465,
VAR_SERVE_EXPIRED = 467, VAR_ACCESS_CONTROL_VIEW = 466,
VAR_SERVE_EXPIRED_TTL = 468, VAR_VIEW_FIRST = 467,
VAR_SERVE_EXPIRED_TTL_RESET = 469, VAR_SERVE_EXPIRED = 468,
VAR_SERVE_EXPIRED_REPLY_TTL = 470, VAR_SERVE_EXPIRED_TTL = 469,
VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 471, VAR_SERVE_EXPIRED_TTL_RESET = 470,
VAR_FAKE_DSA = 472, VAR_SERVE_EXPIRED_REPLY_TTL = 471,
VAR_FAKE_SHA1 = 473, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 472,
VAR_LOG_IDENTITY = 474, VAR_FAKE_DSA = 473,
VAR_HIDE_TRUSTANCHOR = 475, VAR_FAKE_SHA1 = 474,
VAR_TRUST_ANCHOR_SIGNALING = 476, VAR_LOG_IDENTITY = 475,
VAR_AGGRESSIVE_NSEC = 477, VAR_HIDE_TRUSTANCHOR = 476,
VAR_USE_SYSTEMD = 478, VAR_TRUST_ANCHOR_SIGNALING = 477,
VAR_SHM_ENABLE = 479, VAR_AGGRESSIVE_NSEC = 478,
VAR_SHM_KEY = 480, VAR_USE_SYSTEMD = 479,
VAR_ROOT_KEY_SENTINEL = 481, VAR_SHM_ENABLE = 480,
VAR_DNSCRYPT = 482, VAR_SHM_KEY = 481,
VAR_DNSCRYPT_ENABLE = 483, VAR_ROOT_KEY_SENTINEL = 482,
VAR_DNSCRYPT_PORT = 484, VAR_DNSCRYPT = 483,
VAR_DNSCRYPT_PROVIDER = 485, VAR_DNSCRYPT_ENABLE = 484,
VAR_DNSCRYPT_SECRET_KEY = 486, VAR_DNSCRYPT_PORT = 485,
VAR_DNSCRYPT_PROVIDER_CERT = 487, VAR_DNSCRYPT_PROVIDER = 486,
VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 488, VAR_DNSCRYPT_SECRET_KEY = 487,
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 489, VAR_DNSCRYPT_PROVIDER_CERT = 488,
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 490, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 489,
VAR_DNSCRYPT_NONCE_CACHE_SIZE = 491, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 490,
VAR_DNSCRYPT_NONCE_CACHE_SLABS = 492, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 491,
VAR_IPSECMOD_ENABLED = 493, VAR_DNSCRYPT_NONCE_CACHE_SIZE = 492,
VAR_IPSECMOD_HOOK = 494, VAR_DNSCRYPT_NONCE_CACHE_SLABS = 493,
VAR_IPSECMOD_IGNORE_BOGUS = 495, VAR_IPSECMOD_ENABLED = 494,
VAR_IPSECMOD_MAX_TTL = 496, VAR_IPSECMOD_HOOK = 495,
VAR_IPSECMOD_WHITELIST = 497, VAR_IPSECMOD_IGNORE_BOGUS = 496,
VAR_IPSECMOD_STRICT = 498, VAR_IPSECMOD_MAX_TTL = 497,
VAR_CACHEDB = 499, VAR_IPSECMOD_WHITELIST = 498,
VAR_CACHEDB_BACKEND = 500, VAR_IPSECMOD_STRICT = 499,
VAR_CACHEDB_SECRETSEED = 501, VAR_CACHEDB = 500,
VAR_CACHEDB_REDISHOST = 502, VAR_CACHEDB_BACKEND = 501,
VAR_CACHEDB_REDISPORT = 503, VAR_CACHEDB_SECRETSEED = 502,
VAR_CACHEDB_REDISTIMEOUT = 504, VAR_CACHEDB_REDISHOST = 503,
VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 505, VAR_CACHEDB_REDISPORT = 504,
VAR_FOR_UPSTREAM = 506, VAR_CACHEDB_REDISTIMEOUT = 505,
VAR_AUTH_ZONE = 507, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 506,
VAR_ZONEFILE = 508, VAR_FOR_UPSTREAM = 507,
VAR_MASTER = 509, VAR_AUTH_ZONE = 508,
VAR_URL = 510, VAR_ZONEFILE = 509,
VAR_FOR_DOWNSTREAM = 511, VAR_MASTER = 510,
VAR_FALLBACK_ENABLED = 512, VAR_URL = 511,
VAR_TLS_ADDITIONAL_PORT = 513, VAR_FOR_DOWNSTREAM = 512,
VAR_LOW_RTT = 514, VAR_FALLBACK_ENABLED = 513,
VAR_LOW_RTT_PERMIL = 515, VAR_TLS_ADDITIONAL_PORT = 514,
VAR_FAST_SERVER_PERMIL = 516, VAR_LOW_RTT = 515,
VAR_FAST_SERVER_NUM = 517, VAR_LOW_RTT_PERMIL = 516,
VAR_ALLOW_NOTIFY = 518, VAR_FAST_SERVER_PERMIL = 517,
VAR_TLS_WIN_CERT = 519, VAR_FAST_SERVER_NUM = 518,
VAR_TCP_CONNECTION_LIMIT = 520, VAR_ALLOW_NOTIFY = 519,
VAR_FORWARD_NO_CACHE = 521, VAR_TLS_WIN_CERT = 520,
VAR_STUB_NO_CACHE = 522, VAR_TCP_CONNECTION_LIMIT = 521,
VAR_LOG_SERVFAIL = 523, VAR_FORWARD_NO_CACHE = 522,
VAR_DENY_ANY = 524, VAR_STUB_NO_CACHE = 523,
VAR_UNKNOWN_SERVER_TIME_LIMIT = 525, VAR_LOG_SERVFAIL = 524,
VAR_LOG_TAG_QUERYREPLY = 526, VAR_DENY_ANY = 525,
VAR_STREAM_WAIT_SIZE = 527, VAR_UNKNOWN_SERVER_TIME_LIMIT = 526,
VAR_TLS_CIPHERS = 528, VAR_LOG_TAG_QUERYREPLY = 527,
VAR_TLS_CIPHERSUITES = 529, VAR_STREAM_WAIT_SIZE = 528,
VAR_IPSET = 530, VAR_TLS_CIPHERS = 529,
VAR_IPSET_NAME_V4 = 531, VAR_TLS_CIPHERSUITES = 530,
VAR_IPSET_NAME_V6 = 532, VAR_IPSET = 531,
VAR_TLS_SESSION_TICKET_KEYS = 533, VAR_IPSET_NAME_V4 = 532,
VAR_RPZ = 534, VAR_IPSET_NAME_V6 = 533,
VAR_TAGS = 535, VAR_TLS_SESSION_TICKET_KEYS = 534,
VAR_RPZ_ACTION_OVERRIDE = 536, VAR_RPZ = 535,
VAR_RPZ_CNAME_OVERRIDE = 537, VAR_TAGS = 536,
VAR_RPZ_LOG = 538, VAR_RPZ_ACTION_OVERRIDE = 537,
VAR_RPZ_LOG_NAME = 539 VAR_RPZ_CNAME_OVERRIDE = 538,
}; VAR_RPZ_LOG = 539,
VAR_RPZ_LOG_NAME = 540
};
#endif #endif
/* Tokens. */ /* Tokens. */
#define SPACE 258 #define SPACE 258
@ -507,135 +498,133 @@ extern int yydebug;
#define VAR_RESPONSE_IP_DATA 428 #define VAR_RESPONSE_IP_DATA 428
#define VAR_HARDEN_ALGO_DOWNGRADE 429 #define VAR_HARDEN_ALGO_DOWNGRADE 429
#define VAR_IP_TRANSPARENT 430 #define VAR_IP_TRANSPARENT 430
#define VAR_DISABLE_DNSSEC_LAME_CHECK 431 #define VAR_IP_DSCP 431
#define VAR_IP_RATELIMIT 432 #define VAR_DISABLE_DNSSEC_LAME_CHECK 432
#define VAR_IP_RATELIMIT_SLABS 433 #define VAR_IP_RATELIMIT 433
#define VAR_IP_RATELIMIT_SIZE 434 #define VAR_IP_RATELIMIT_SLABS 434
#define VAR_RATELIMIT 435 #define VAR_IP_RATELIMIT_SIZE 435
#define VAR_RATELIMIT_SLABS 436 #define VAR_RATELIMIT 436
#define VAR_RATELIMIT_SIZE 437 #define VAR_RATELIMIT_SLABS 437
#define VAR_RATELIMIT_FOR_DOMAIN 438 #define VAR_RATELIMIT_SIZE 438
#define VAR_RATELIMIT_BELOW_DOMAIN 439 #define VAR_RATELIMIT_FOR_DOMAIN 439
#define VAR_IP_RATELIMIT_FACTOR 440 #define VAR_RATELIMIT_BELOW_DOMAIN 440
#define VAR_RATELIMIT_FACTOR 441 #define VAR_IP_RATELIMIT_FACTOR 441
#define VAR_SEND_CLIENT_SUBNET 442 #define VAR_RATELIMIT_FACTOR 442
#define VAR_CLIENT_SUBNET_ZONE 443 #define VAR_SEND_CLIENT_SUBNET 443
#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 444 #define VAR_CLIENT_SUBNET_ZONE 444
#define VAR_CLIENT_SUBNET_OPCODE 445 #define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 445
#define VAR_MAX_CLIENT_SUBNET_IPV4 446 #define VAR_CLIENT_SUBNET_OPCODE 446
#define VAR_MAX_CLIENT_SUBNET_IPV6 447 #define VAR_MAX_CLIENT_SUBNET_IPV4 447
#define VAR_MIN_CLIENT_SUBNET_IPV4 448 #define VAR_MAX_CLIENT_SUBNET_IPV6 448
#define VAR_MIN_CLIENT_SUBNET_IPV6 449 #define VAR_MIN_CLIENT_SUBNET_IPV4 449
#define VAR_MAX_ECS_TREE_SIZE_IPV4 450 #define VAR_MIN_CLIENT_SUBNET_IPV6 450
#define VAR_MAX_ECS_TREE_SIZE_IPV6 451 #define VAR_MAX_ECS_TREE_SIZE_IPV4 451
#define VAR_CAPS_WHITELIST 452 #define VAR_MAX_ECS_TREE_SIZE_IPV6 452
#define VAR_CACHE_MAX_NEGATIVE_TTL 453 #define VAR_CAPS_WHITELIST 453
#define VAR_PERMIT_SMALL_HOLDDOWN 454 #define VAR_CACHE_MAX_NEGATIVE_TTL 454
#define VAR_QNAME_MINIMISATION 455 #define VAR_PERMIT_SMALL_HOLDDOWN 455
#define VAR_QNAME_MINIMISATION_STRICT 456 #define VAR_QNAME_MINIMISATION 456
#define VAR_IP_FREEBIND 457 #define VAR_QNAME_MINIMISATION_STRICT 457
#define VAR_DEFINE_TAG 458 #define VAR_IP_FREEBIND 458
#define VAR_LOCAL_ZONE_TAG 459 #define VAR_DEFINE_TAG 459
#define VAR_ACCESS_CONTROL_TAG 460 #define VAR_LOCAL_ZONE_TAG 460
#define VAR_LOCAL_ZONE_OVERRIDE 461 #define VAR_ACCESS_CONTROL_TAG 461
#define VAR_ACCESS_CONTROL_TAG_ACTION 462 #define VAR_LOCAL_ZONE_OVERRIDE 462
#define VAR_ACCESS_CONTROL_TAG_DATA 463 #define VAR_ACCESS_CONTROL_TAG_ACTION 463
#define VAR_VIEW 464 #define VAR_ACCESS_CONTROL_TAG_DATA 464
#define VAR_ACCESS_CONTROL_VIEW 465 #define VAR_VIEW 465
#define VAR_VIEW_FIRST 466 #define VAR_ACCESS_CONTROL_VIEW 466
#define VAR_SERVE_EXPIRED 467 #define VAR_VIEW_FIRST 467
#define VAR_SERVE_EXPIRED_TTL 468 #define VAR_SERVE_EXPIRED 468
#define VAR_SERVE_EXPIRED_TTL_RESET 469 #define VAR_SERVE_EXPIRED_TTL 469
#define VAR_SERVE_EXPIRED_REPLY_TTL 470 #define VAR_SERVE_EXPIRED_TTL_RESET 470
#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 471 #define VAR_SERVE_EXPIRED_REPLY_TTL 471
#define VAR_FAKE_DSA 472 #define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 472
#define VAR_FAKE_SHA1 473 #define VAR_FAKE_DSA 473
#define VAR_LOG_IDENTITY 474 #define VAR_FAKE_SHA1 474
#define VAR_HIDE_TRUSTANCHOR 475 #define VAR_LOG_IDENTITY 475
#define VAR_TRUST_ANCHOR_SIGNALING 476 #define VAR_HIDE_TRUSTANCHOR 476
#define VAR_AGGRESSIVE_NSEC 477 #define VAR_TRUST_ANCHOR_SIGNALING 477
#define VAR_USE_SYSTEMD 478 #define VAR_AGGRESSIVE_NSEC 478
#define VAR_SHM_ENABLE 479 #define VAR_USE_SYSTEMD 479
#define VAR_SHM_KEY 480 #define VAR_SHM_ENABLE 480
#define VAR_ROOT_KEY_SENTINEL 481 #define VAR_SHM_KEY 481
#define VAR_DNSCRYPT 482 #define VAR_ROOT_KEY_SENTINEL 482
#define VAR_DNSCRYPT_ENABLE 483 #define VAR_DNSCRYPT 483
#define VAR_DNSCRYPT_PORT 484 #define VAR_DNSCRYPT_ENABLE 484
#define VAR_DNSCRYPT_PROVIDER 485 #define VAR_DNSCRYPT_PORT 485
#define VAR_DNSCRYPT_SECRET_KEY 486 #define VAR_DNSCRYPT_PROVIDER 486
#define VAR_DNSCRYPT_PROVIDER_CERT 487 #define VAR_DNSCRYPT_SECRET_KEY 487
#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 488 #define VAR_DNSCRYPT_PROVIDER_CERT 488
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 489 #define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 489
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 490 #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 490
#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 491 #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 491
#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 492 #define VAR_DNSCRYPT_NONCE_CACHE_SIZE 492
#define VAR_IPSECMOD_ENABLED 493 #define VAR_DNSCRYPT_NONCE_CACHE_SLABS 493
#define VAR_IPSECMOD_HOOK 494 #define VAR_IPSECMOD_ENABLED 494
#define VAR_IPSECMOD_IGNORE_BOGUS 495 #define VAR_IPSECMOD_HOOK 495
#define VAR_IPSECMOD_MAX_TTL 496 #define VAR_IPSECMOD_IGNORE_BOGUS 496
#define VAR_IPSECMOD_WHITELIST 497 #define VAR_IPSECMOD_MAX_TTL 497
#define VAR_IPSECMOD_STRICT 498 #define VAR_IPSECMOD_WHITELIST 498
#define VAR_CACHEDB 499 #define VAR_IPSECMOD_STRICT 499
#define VAR_CACHEDB_BACKEND 500 #define VAR_CACHEDB 500
#define VAR_CACHEDB_SECRETSEED 501 #define VAR_CACHEDB_BACKEND 501
#define VAR_CACHEDB_REDISHOST 502 #define VAR_CACHEDB_SECRETSEED 502
#define VAR_CACHEDB_REDISPORT 503 #define VAR_CACHEDB_REDISHOST 503
#define VAR_CACHEDB_REDISTIMEOUT 504 #define VAR_CACHEDB_REDISPORT 504
#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 505 #define VAR_CACHEDB_REDISTIMEOUT 505
#define VAR_FOR_UPSTREAM 506 #define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 506
#define VAR_AUTH_ZONE 507 #define VAR_FOR_UPSTREAM 507
#define VAR_ZONEFILE 508 #define VAR_AUTH_ZONE 508
#define VAR_MASTER 509 #define VAR_ZONEFILE 509
#define VAR_URL 510 #define VAR_MASTER 510
#define VAR_FOR_DOWNSTREAM 511 #define VAR_URL 511
#define VAR_FALLBACK_ENABLED 512 #define VAR_FOR_DOWNSTREAM 512
#define VAR_TLS_ADDITIONAL_PORT 513 #define VAR_FALLBACK_ENABLED 513
#define VAR_LOW_RTT 514 #define VAR_TLS_ADDITIONAL_PORT 514
#define VAR_LOW_RTT_PERMIL 515 #define VAR_LOW_RTT 515
#define VAR_FAST_SERVER_PERMIL 516 #define VAR_LOW_RTT_PERMIL 516
#define VAR_FAST_SERVER_NUM 517 #define VAR_FAST_SERVER_PERMIL 517
#define VAR_ALLOW_NOTIFY 518 #define VAR_FAST_SERVER_NUM 518
#define VAR_TLS_WIN_CERT 519 #define VAR_ALLOW_NOTIFY 519
#define VAR_TCP_CONNECTION_LIMIT 520 #define VAR_TLS_WIN_CERT 520
#define VAR_FORWARD_NO_CACHE 521 #define VAR_TCP_CONNECTION_LIMIT 521
#define VAR_STUB_NO_CACHE 522 #define VAR_FORWARD_NO_CACHE 522
#define VAR_LOG_SERVFAIL 523 #define VAR_STUB_NO_CACHE 523
#define VAR_DENY_ANY 524 #define VAR_LOG_SERVFAIL 524
#define VAR_UNKNOWN_SERVER_TIME_LIMIT 525 #define VAR_DENY_ANY 525
#define VAR_LOG_TAG_QUERYREPLY 526 #define VAR_UNKNOWN_SERVER_TIME_LIMIT 526
#define VAR_STREAM_WAIT_SIZE 527 #define VAR_LOG_TAG_QUERYREPLY 527
#define VAR_TLS_CIPHERS 528 #define VAR_STREAM_WAIT_SIZE 528
#define VAR_TLS_CIPHERSUITES 529 #define VAR_TLS_CIPHERS 529
#define VAR_IPSET 530 #define VAR_TLS_CIPHERSUITES 530
#define VAR_IPSET_NAME_V4 531 #define VAR_IPSET 531
#define VAR_IPSET_NAME_V6 532 #define VAR_IPSET_NAME_V4 532
#define VAR_TLS_SESSION_TICKET_KEYS 533 #define VAR_IPSET_NAME_V6 533
#define VAR_RPZ 534 #define VAR_TLS_SESSION_TICKET_KEYS 534
#define VAR_TAGS 535 #define VAR_RPZ 535
#define VAR_RPZ_ACTION_OVERRIDE 536 #define VAR_TAGS 536
#define VAR_RPZ_CNAME_OVERRIDE 537 #define VAR_RPZ_ACTION_OVERRIDE 537
#define VAR_RPZ_LOG 538 #define VAR_RPZ_CNAME_OVERRIDE 538
#define VAR_RPZ_LOG_NAME 539 #define VAR_RPZ_LOG 539
#define VAR_RPZ_LOG_NAME 540
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE typedef union YYSTYPE
{
#line 66 "./util/configparser.y" #line 66 "./util/configparser.y"
{
char* str; char* str;
}
#line 629 "util/configparser.h" /* Line 1529 of yacc.c. */
#line 623 "util/configparser.h"
}; YYSTYPE;
typedef union YYSTYPE YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif #endif
extern YYSTYPE yylval; extern YYSTYPE yylval;
int yyparse (void);
#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */

View file

@ -129,6 +129,7 @@ extern struct config_parser_state* cfg_parser;
%token VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES %token VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES
%token VAR_RESPONSE_IP_TAG VAR_RESPONSE_IP VAR_RESPONSE_IP_DATA %token VAR_RESPONSE_IP_TAG VAR_RESPONSE_IP VAR_RESPONSE_IP_DATA
%token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT %token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT
%token VAR_IP_DSCP
%token VAR_DISABLE_DNSSEC_LAME_CHECK %token VAR_DISABLE_DNSSEC_LAME_CHECK
%token VAR_IP_RATELIMIT VAR_IP_RATELIMIT_SLABS VAR_IP_RATELIMIT_SIZE %token VAR_IP_RATELIMIT VAR_IP_RATELIMIT_SLABS VAR_IP_RATELIMIT_SIZE
%token VAR_RATELIMIT VAR_RATELIMIT_SLABS VAR_RATELIMIT_SIZE %token VAR_RATELIMIT VAR_RATELIMIT_SLABS VAR_RATELIMIT_SIZE
@ -241,6 +242,7 @@ content_server: server_num_threads | server_verbosity | server_port |
server_dns64_prefix | server_dns64_synthall | server_dns64_ignore_aaaa | server_dns64_prefix | server_dns64_synthall | server_dns64_ignore_aaaa |
server_infra_cache_min_rtt | server_harden_algo_downgrade | server_infra_cache_min_rtt | server_harden_algo_downgrade |
server_ip_transparent | server_ip_ratelimit | server_ratelimit | server_ip_transparent | server_ip_ratelimit | server_ratelimit |
server_ip_dscp |
server_ip_ratelimit_slabs | server_ratelimit_slabs | server_ip_ratelimit_slabs | server_ratelimit_slabs |
server_ip_ratelimit_size | server_ratelimit_size | server_ip_ratelimit_size | server_ratelimit_size |
server_ratelimit_for_domain | server_ratelimit_for_domain |
@ -1258,6 +1260,20 @@ server_ip_freebind: VAR_IP_FREEBIND STRING_ARG
free($2); free($2);
} }
; ;
server_ip_dscp: VAR_IP_DSCP STRING_ARG
{
OUTYY(("P(server_ip_dscp:%s)\n", $2));
if(atoi($2) == 0 && strcmp($2, "0") != 0)
yyerror("number expected");
else if (atoi($2) > 63)
yyerror("value too large (max 63)");
else if (atoi($2) < 0)
yyerror("value too small (min 0)");
else
cfg_parser->cfg->ip_dscp = atoi($2);
free($2);
}
;
server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG
{ {
OUTYY(("P(server_stream_wait_size:%s)\n", $2)); OUTYY(("P(server_stream_wait_size:%s)\n", $2));