mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
add ip-dscp configuration option for setting IP DiffServ codepoint (DSCP, previously TOS) on sockets
This commit is contained in:
parent
cca5cfc88f
commit
c0118410a2
11 changed files with 6803 additions and 6745 deletions
|
|
@ -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
|
||||
ip\-transparent option is also available.
|
||||
.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>
|
||||
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
|
||||
|
|
|
|||
5
testdata/04-checkconf.tdir/bad.dscp
vendored
Normal file
5
testdata/04-checkconf.tdir/bad.dscp
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
include: "good.min"
|
||||
|
||||
server:
|
||||
# an abnormal value for the option
|
||||
ip-dscp: 500
|
||||
4
testdata/04-checkconf.tdir/good.all
vendored
4
testdata/04-checkconf.tdir/good.all
vendored
|
|
@ -220,6 +220,10 @@ server:
|
|||
# more slabs reduce lock contention, but fragment memory usage.
|
||||
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.
|
||||
# Create entries like below, to make all queries for 'example.com' and
|
||||
|
|
|
|||
7
testdata/04-checkconf.tdir/good.min
vendored
Normal file
7
testdata/04-checkconf.tdir/good.min
vendored
Normal 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: ""
|
||||
|
|
@ -186,6 +186,7 @@ config_create(void)
|
|||
cfg->so_reuseport = REUSEPORT_DEFAULT;
|
||||
cfg->ip_transparent = 0;
|
||||
cfg->ip_freebind = 0;
|
||||
cfg->ip_dscp = 0;
|
||||
cfg->num_ifs = 0;
|
||||
cfg->ifs = NULL;
|
||||
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, "ip-transparent", ip_transparent)
|
||||
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_DEC(opt, "rrset-cache-slabs", rrset_cache_slabs)
|
||||
else O_YNO(opt, "prefetch-key", prefetch_key)
|
||||
|
|
|
|||
|
|
@ -188,6 +188,8 @@ struct config_file {
|
|||
int ip_transparent;
|
||||
/** IP_FREEBIND socket option request on port 53 sockets */
|
||||
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. */
|
||||
int num_ifs;
|
||||
|
|
|
|||
5040
util/configlexer.c
5040
util/configlexer.c
File diff suppressed because it is too large
Load diff
|
|
@ -259,6 +259,7 @@ so-sndbuf{COLON} { YDVAR(1, VAR_SO_SNDBUF) }
|
|||
so-reuseport{COLON} { YDVAR(1, VAR_SO_REUSEPORT) }
|
||||
ip-transparent{COLON} { YDVAR(1, VAR_IP_TRANSPARENT) }
|
||||
ip-freebind{COLON} { YDVAR(1, VAR_IP_FREEBIND) }
|
||||
ip-dscp{COLON} { YDVAR(1, VAR_IP_DSCP) }
|
||||
chroot{COLON} { YDVAR(1, VAR_CHROOT) }
|
||||
username{COLON} { YDVAR(1, VAR_USERNAME) }
|
||||
directory{COLON} { YDVAR(1, VAR_DIRECTORY) }
|
||||
|
|
|
|||
6862
util/configparser.c
6862
util/configparser.c
File diff suppressed because it is too large
Load diff
|
|
@ -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,
|
||||
Inc.
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
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
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
|
|
@ -16,7 +16,9 @@
|
|||
GNU General Public License for more details.
|
||||
|
||||
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
|
||||
part or all of the Bison parser skeleton and distribute that work
|
||||
|
|
@ -31,24 +33,12 @@
|
|||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Undocumented macros, especially those whose name start with YY_,
|
||||
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. */
|
||||
/* Tokens. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||
know about them. */
|
||||
enum yytokentype {
|
||||
SPACE = 258,
|
||||
LETTER = 259,
|
||||
NEWLINE = 260,
|
||||
|
|
@ -222,115 +212,116 @@ extern int yydebug;
|
|||
VAR_RESPONSE_IP_DATA = 428,
|
||||
VAR_HARDEN_ALGO_DOWNGRADE = 429,
|
||||
VAR_IP_TRANSPARENT = 430,
|
||||
VAR_DISABLE_DNSSEC_LAME_CHECK = 431,
|
||||
VAR_IP_RATELIMIT = 432,
|
||||
VAR_IP_RATELIMIT_SLABS = 433,
|
||||
VAR_IP_RATELIMIT_SIZE = 434,
|
||||
VAR_RATELIMIT = 435,
|
||||
VAR_RATELIMIT_SLABS = 436,
|
||||
VAR_RATELIMIT_SIZE = 437,
|
||||
VAR_RATELIMIT_FOR_DOMAIN = 438,
|
||||
VAR_RATELIMIT_BELOW_DOMAIN = 439,
|
||||
VAR_IP_RATELIMIT_FACTOR = 440,
|
||||
VAR_RATELIMIT_FACTOR = 441,
|
||||
VAR_SEND_CLIENT_SUBNET = 442,
|
||||
VAR_CLIENT_SUBNET_ZONE = 443,
|
||||
VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 444,
|
||||
VAR_CLIENT_SUBNET_OPCODE = 445,
|
||||
VAR_MAX_CLIENT_SUBNET_IPV4 = 446,
|
||||
VAR_MAX_CLIENT_SUBNET_IPV6 = 447,
|
||||
VAR_MIN_CLIENT_SUBNET_IPV4 = 448,
|
||||
VAR_MIN_CLIENT_SUBNET_IPV6 = 449,
|
||||
VAR_MAX_ECS_TREE_SIZE_IPV4 = 450,
|
||||
VAR_MAX_ECS_TREE_SIZE_IPV6 = 451,
|
||||
VAR_CAPS_WHITELIST = 452,
|
||||
VAR_CACHE_MAX_NEGATIVE_TTL = 453,
|
||||
VAR_PERMIT_SMALL_HOLDDOWN = 454,
|
||||
VAR_QNAME_MINIMISATION = 455,
|
||||
VAR_QNAME_MINIMISATION_STRICT = 456,
|
||||
VAR_IP_FREEBIND = 457,
|
||||
VAR_DEFINE_TAG = 458,
|
||||
VAR_LOCAL_ZONE_TAG = 459,
|
||||
VAR_ACCESS_CONTROL_TAG = 460,
|
||||
VAR_LOCAL_ZONE_OVERRIDE = 461,
|
||||
VAR_ACCESS_CONTROL_TAG_ACTION = 462,
|
||||
VAR_ACCESS_CONTROL_TAG_DATA = 463,
|
||||
VAR_VIEW = 464,
|
||||
VAR_ACCESS_CONTROL_VIEW = 465,
|
||||
VAR_VIEW_FIRST = 466,
|
||||
VAR_SERVE_EXPIRED = 467,
|
||||
VAR_SERVE_EXPIRED_TTL = 468,
|
||||
VAR_SERVE_EXPIRED_TTL_RESET = 469,
|
||||
VAR_SERVE_EXPIRED_REPLY_TTL = 470,
|
||||
VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 471,
|
||||
VAR_FAKE_DSA = 472,
|
||||
VAR_FAKE_SHA1 = 473,
|
||||
VAR_LOG_IDENTITY = 474,
|
||||
VAR_HIDE_TRUSTANCHOR = 475,
|
||||
VAR_TRUST_ANCHOR_SIGNALING = 476,
|
||||
VAR_AGGRESSIVE_NSEC = 477,
|
||||
VAR_USE_SYSTEMD = 478,
|
||||
VAR_SHM_ENABLE = 479,
|
||||
VAR_SHM_KEY = 480,
|
||||
VAR_ROOT_KEY_SENTINEL = 481,
|
||||
VAR_DNSCRYPT = 482,
|
||||
VAR_DNSCRYPT_ENABLE = 483,
|
||||
VAR_DNSCRYPT_PORT = 484,
|
||||
VAR_DNSCRYPT_PROVIDER = 485,
|
||||
VAR_DNSCRYPT_SECRET_KEY = 486,
|
||||
VAR_DNSCRYPT_PROVIDER_CERT = 487,
|
||||
VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 488,
|
||||
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 489,
|
||||
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 490,
|
||||
VAR_DNSCRYPT_NONCE_CACHE_SIZE = 491,
|
||||
VAR_DNSCRYPT_NONCE_CACHE_SLABS = 492,
|
||||
VAR_IPSECMOD_ENABLED = 493,
|
||||
VAR_IPSECMOD_HOOK = 494,
|
||||
VAR_IPSECMOD_IGNORE_BOGUS = 495,
|
||||
VAR_IPSECMOD_MAX_TTL = 496,
|
||||
VAR_IPSECMOD_WHITELIST = 497,
|
||||
VAR_IPSECMOD_STRICT = 498,
|
||||
VAR_CACHEDB = 499,
|
||||
VAR_CACHEDB_BACKEND = 500,
|
||||
VAR_CACHEDB_SECRETSEED = 501,
|
||||
VAR_CACHEDB_REDISHOST = 502,
|
||||
VAR_CACHEDB_REDISPORT = 503,
|
||||
VAR_CACHEDB_REDISTIMEOUT = 504,
|
||||
VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 505,
|
||||
VAR_FOR_UPSTREAM = 506,
|
||||
VAR_AUTH_ZONE = 507,
|
||||
VAR_ZONEFILE = 508,
|
||||
VAR_MASTER = 509,
|
||||
VAR_URL = 510,
|
||||
VAR_FOR_DOWNSTREAM = 511,
|
||||
VAR_FALLBACK_ENABLED = 512,
|
||||
VAR_TLS_ADDITIONAL_PORT = 513,
|
||||
VAR_LOW_RTT = 514,
|
||||
VAR_LOW_RTT_PERMIL = 515,
|
||||
VAR_FAST_SERVER_PERMIL = 516,
|
||||
VAR_FAST_SERVER_NUM = 517,
|
||||
VAR_ALLOW_NOTIFY = 518,
|
||||
VAR_TLS_WIN_CERT = 519,
|
||||
VAR_TCP_CONNECTION_LIMIT = 520,
|
||||
VAR_FORWARD_NO_CACHE = 521,
|
||||
VAR_STUB_NO_CACHE = 522,
|
||||
VAR_LOG_SERVFAIL = 523,
|
||||
VAR_DENY_ANY = 524,
|
||||
VAR_UNKNOWN_SERVER_TIME_LIMIT = 525,
|
||||
VAR_LOG_TAG_QUERYREPLY = 526,
|
||||
VAR_STREAM_WAIT_SIZE = 527,
|
||||
VAR_TLS_CIPHERS = 528,
|
||||
VAR_TLS_CIPHERSUITES = 529,
|
||||
VAR_IPSET = 530,
|
||||
VAR_IPSET_NAME_V4 = 531,
|
||||
VAR_IPSET_NAME_V6 = 532,
|
||||
VAR_TLS_SESSION_TICKET_KEYS = 533,
|
||||
VAR_RPZ = 534,
|
||||
VAR_TAGS = 535,
|
||||
VAR_RPZ_ACTION_OVERRIDE = 536,
|
||||
VAR_RPZ_CNAME_OVERRIDE = 537,
|
||||
VAR_RPZ_LOG = 538,
|
||||
VAR_RPZ_LOG_NAME = 539
|
||||
VAR_IP_DSCP = 431,
|
||||
VAR_DISABLE_DNSSEC_LAME_CHECK = 432,
|
||||
VAR_IP_RATELIMIT = 433,
|
||||
VAR_IP_RATELIMIT_SLABS = 434,
|
||||
VAR_IP_RATELIMIT_SIZE = 435,
|
||||
VAR_RATELIMIT = 436,
|
||||
VAR_RATELIMIT_SLABS = 437,
|
||||
VAR_RATELIMIT_SIZE = 438,
|
||||
VAR_RATELIMIT_FOR_DOMAIN = 439,
|
||||
VAR_RATELIMIT_BELOW_DOMAIN = 440,
|
||||
VAR_IP_RATELIMIT_FACTOR = 441,
|
||||
VAR_RATELIMIT_FACTOR = 442,
|
||||
VAR_SEND_CLIENT_SUBNET = 443,
|
||||
VAR_CLIENT_SUBNET_ZONE = 444,
|
||||
VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 445,
|
||||
VAR_CLIENT_SUBNET_OPCODE = 446,
|
||||
VAR_MAX_CLIENT_SUBNET_IPV4 = 447,
|
||||
VAR_MAX_CLIENT_SUBNET_IPV6 = 448,
|
||||
VAR_MIN_CLIENT_SUBNET_IPV4 = 449,
|
||||
VAR_MIN_CLIENT_SUBNET_IPV6 = 450,
|
||||
VAR_MAX_ECS_TREE_SIZE_IPV4 = 451,
|
||||
VAR_MAX_ECS_TREE_SIZE_IPV6 = 452,
|
||||
VAR_CAPS_WHITELIST = 453,
|
||||
VAR_CACHE_MAX_NEGATIVE_TTL = 454,
|
||||
VAR_PERMIT_SMALL_HOLDDOWN = 455,
|
||||
VAR_QNAME_MINIMISATION = 456,
|
||||
VAR_QNAME_MINIMISATION_STRICT = 457,
|
||||
VAR_IP_FREEBIND = 458,
|
||||
VAR_DEFINE_TAG = 459,
|
||||
VAR_LOCAL_ZONE_TAG = 460,
|
||||
VAR_ACCESS_CONTROL_TAG = 461,
|
||||
VAR_LOCAL_ZONE_OVERRIDE = 462,
|
||||
VAR_ACCESS_CONTROL_TAG_ACTION = 463,
|
||||
VAR_ACCESS_CONTROL_TAG_DATA = 464,
|
||||
VAR_VIEW = 465,
|
||||
VAR_ACCESS_CONTROL_VIEW = 466,
|
||||
VAR_VIEW_FIRST = 467,
|
||||
VAR_SERVE_EXPIRED = 468,
|
||||
VAR_SERVE_EXPIRED_TTL = 469,
|
||||
VAR_SERVE_EXPIRED_TTL_RESET = 470,
|
||||
VAR_SERVE_EXPIRED_REPLY_TTL = 471,
|
||||
VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 472,
|
||||
VAR_FAKE_DSA = 473,
|
||||
VAR_FAKE_SHA1 = 474,
|
||||
VAR_LOG_IDENTITY = 475,
|
||||
VAR_HIDE_TRUSTANCHOR = 476,
|
||||
VAR_TRUST_ANCHOR_SIGNALING = 477,
|
||||
VAR_AGGRESSIVE_NSEC = 478,
|
||||
VAR_USE_SYSTEMD = 479,
|
||||
VAR_SHM_ENABLE = 480,
|
||||
VAR_SHM_KEY = 481,
|
||||
VAR_ROOT_KEY_SENTINEL = 482,
|
||||
VAR_DNSCRYPT = 483,
|
||||
VAR_DNSCRYPT_ENABLE = 484,
|
||||
VAR_DNSCRYPT_PORT = 485,
|
||||
VAR_DNSCRYPT_PROVIDER = 486,
|
||||
VAR_DNSCRYPT_SECRET_KEY = 487,
|
||||
VAR_DNSCRYPT_PROVIDER_CERT = 488,
|
||||
VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 489,
|
||||
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 490,
|
||||
VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 491,
|
||||
VAR_DNSCRYPT_NONCE_CACHE_SIZE = 492,
|
||||
VAR_DNSCRYPT_NONCE_CACHE_SLABS = 493,
|
||||
VAR_IPSECMOD_ENABLED = 494,
|
||||
VAR_IPSECMOD_HOOK = 495,
|
||||
VAR_IPSECMOD_IGNORE_BOGUS = 496,
|
||||
VAR_IPSECMOD_MAX_TTL = 497,
|
||||
VAR_IPSECMOD_WHITELIST = 498,
|
||||
VAR_IPSECMOD_STRICT = 499,
|
||||
VAR_CACHEDB = 500,
|
||||
VAR_CACHEDB_BACKEND = 501,
|
||||
VAR_CACHEDB_SECRETSEED = 502,
|
||||
VAR_CACHEDB_REDISHOST = 503,
|
||||
VAR_CACHEDB_REDISPORT = 504,
|
||||
VAR_CACHEDB_REDISTIMEOUT = 505,
|
||||
VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 506,
|
||||
VAR_FOR_UPSTREAM = 507,
|
||||
VAR_AUTH_ZONE = 508,
|
||||
VAR_ZONEFILE = 509,
|
||||
VAR_MASTER = 510,
|
||||
VAR_URL = 511,
|
||||
VAR_FOR_DOWNSTREAM = 512,
|
||||
VAR_FALLBACK_ENABLED = 513,
|
||||
VAR_TLS_ADDITIONAL_PORT = 514,
|
||||
VAR_LOW_RTT = 515,
|
||||
VAR_LOW_RTT_PERMIL = 516,
|
||||
VAR_FAST_SERVER_PERMIL = 517,
|
||||
VAR_FAST_SERVER_NUM = 518,
|
||||
VAR_ALLOW_NOTIFY = 519,
|
||||
VAR_TLS_WIN_CERT = 520,
|
||||
VAR_TCP_CONNECTION_LIMIT = 521,
|
||||
VAR_FORWARD_NO_CACHE = 522,
|
||||
VAR_STUB_NO_CACHE = 523,
|
||||
VAR_LOG_SERVFAIL = 524,
|
||||
VAR_DENY_ANY = 525,
|
||||
VAR_UNKNOWN_SERVER_TIME_LIMIT = 526,
|
||||
VAR_LOG_TAG_QUERYREPLY = 527,
|
||||
VAR_STREAM_WAIT_SIZE = 528,
|
||||
VAR_TLS_CIPHERS = 529,
|
||||
VAR_TLS_CIPHERSUITES = 530,
|
||||
VAR_IPSET = 531,
|
||||
VAR_IPSET_NAME_V4 = 532,
|
||||
VAR_IPSET_NAME_V6 = 533,
|
||||
VAR_TLS_SESSION_TICKET_KEYS = 534,
|
||||
VAR_RPZ = 535,
|
||||
VAR_TAGS = 536,
|
||||
VAR_RPZ_ACTION_OVERRIDE = 537,
|
||||
VAR_RPZ_CNAME_OVERRIDE = 538,
|
||||
VAR_RPZ_LOG = 539,
|
||||
VAR_RPZ_LOG_NAME = 540
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
|
|
@ -507,135 +498,133 @@ extern int yydebug;
|
|||
#define VAR_RESPONSE_IP_DATA 428
|
||||
#define VAR_HARDEN_ALGO_DOWNGRADE 429
|
||||
#define VAR_IP_TRANSPARENT 430
|
||||
#define VAR_DISABLE_DNSSEC_LAME_CHECK 431
|
||||
#define VAR_IP_RATELIMIT 432
|
||||
#define VAR_IP_RATELIMIT_SLABS 433
|
||||
#define VAR_IP_RATELIMIT_SIZE 434
|
||||
#define VAR_RATELIMIT 435
|
||||
#define VAR_RATELIMIT_SLABS 436
|
||||
#define VAR_RATELIMIT_SIZE 437
|
||||
#define VAR_RATELIMIT_FOR_DOMAIN 438
|
||||
#define VAR_RATELIMIT_BELOW_DOMAIN 439
|
||||
#define VAR_IP_RATELIMIT_FACTOR 440
|
||||
#define VAR_RATELIMIT_FACTOR 441
|
||||
#define VAR_SEND_CLIENT_SUBNET 442
|
||||
#define VAR_CLIENT_SUBNET_ZONE 443
|
||||
#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 444
|
||||
#define VAR_CLIENT_SUBNET_OPCODE 445
|
||||
#define VAR_MAX_CLIENT_SUBNET_IPV4 446
|
||||
#define VAR_MAX_CLIENT_SUBNET_IPV6 447
|
||||
#define VAR_MIN_CLIENT_SUBNET_IPV4 448
|
||||
#define VAR_MIN_CLIENT_SUBNET_IPV6 449
|
||||
#define VAR_MAX_ECS_TREE_SIZE_IPV4 450
|
||||
#define VAR_MAX_ECS_TREE_SIZE_IPV6 451
|
||||
#define VAR_CAPS_WHITELIST 452
|
||||
#define VAR_CACHE_MAX_NEGATIVE_TTL 453
|
||||
#define VAR_PERMIT_SMALL_HOLDDOWN 454
|
||||
#define VAR_QNAME_MINIMISATION 455
|
||||
#define VAR_QNAME_MINIMISATION_STRICT 456
|
||||
#define VAR_IP_FREEBIND 457
|
||||
#define VAR_DEFINE_TAG 458
|
||||
#define VAR_LOCAL_ZONE_TAG 459
|
||||
#define VAR_ACCESS_CONTROL_TAG 460
|
||||
#define VAR_LOCAL_ZONE_OVERRIDE 461
|
||||
#define VAR_ACCESS_CONTROL_TAG_ACTION 462
|
||||
#define VAR_ACCESS_CONTROL_TAG_DATA 463
|
||||
#define VAR_VIEW 464
|
||||
#define VAR_ACCESS_CONTROL_VIEW 465
|
||||
#define VAR_VIEW_FIRST 466
|
||||
#define VAR_SERVE_EXPIRED 467
|
||||
#define VAR_SERVE_EXPIRED_TTL 468
|
||||
#define VAR_SERVE_EXPIRED_TTL_RESET 469
|
||||
#define VAR_SERVE_EXPIRED_REPLY_TTL 470
|
||||
#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 471
|
||||
#define VAR_FAKE_DSA 472
|
||||
#define VAR_FAKE_SHA1 473
|
||||
#define VAR_LOG_IDENTITY 474
|
||||
#define VAR_HIDE_TRUSTANCHOR 475
|
||||
#define VAR_TRUST_ANCHOR_SIGNALING 476
|
||||
#define VAR_AGGRESSIVE_NSEC 477
|
||||
#define VAR_USE_SYSTEMD 478
|
||||
#define VAR_SHM_ENABLE 479
|
||||
#define VAR_SHM_KEY 480
|
||||
#define VAR_ROOT_KEY_SENTINEL 481
|
||||
#define VAR_DNSCRYPT 482
|
||||
#define VAR_DNSCRYPT_ENABLE 483
|
||||
#define VAR_DNSCRYPT_PORT 484
|
||||
#define VAR_DNSCRYPT_PROVIDER 485
|
||||
#define VAR_DNSCRYPT_SECRET_KEY 486
|
||||
#define VAR_DNSCRYPT_PROVIDER_CERT 487
|
||||
#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 488
|
||||
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 489
|
||||
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 490
|
||||
#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 491
|
||||
#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 492
|
||||
#define VAR_IPSECMOD_ENABLED 493
|
||||
#define VAR_IPSECMOD_HOOK 494
|
||||
#define VAR_IPSECMOD_IGNORE_BOGUS 495
|
||||
#define VAR_IPSECMOD_MAX_TTL 496
|
||||
#define VAR_IPSECMOD_WHITELIST 497
|
||||
#define VAR_IPSECMOD_STRICT 498
|
||||
#define VAR_CACHEDB 499
|
||||
#define VAR_CACHEDB_BACKEND 500
|
||||
#define VAR_CACHEDB_SECRETSEED 501
|
||||
#define VAR_CACHEDB_REDISHOST 502
|
||||
#define VAR_CACHEDB_REDISPORT 503
|
||||
#define VAR_CACHEDB_REDISTIMEOUT 504
|
||||
#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 505
|
||||
#define VAR_FOR_UPSTREAM 506
|
||||
#define VAR_AUTH_ZONE 507
|
||||
#define VAR_ZONEFILE 508
|
||||
#define VAR_MASTER 509
|
||||
#define VAR_URL 510
|
||||
#define VAR_FOR_DOWNSTREAM 511
|
||||
#define VAR_FALLBACK_ENABLED 512
|
||||
#define VAR_TLS_ADDITIONAL_PORT 513
|
||||
#define VAR_LOW_RTT 514
|
||||
#define VAR_LOW_RTT_PERMIL 515
|
||||
#define VAR_FAST_SERVER_PERMIL 516
|
||||
#define VAR_FAST_SERVER_NUM 517
|
||||
#define VAR_ALLOW_NOTIFY 518
|
||||
#define VAR_TLS_WIN_CERT 519
|
||||
#define VAR_TCP_CONNECTION_LIMIT 520
|
||||
#define VAR_FORWARD_NO_CACHE 521
|
||||
#define VAR_STUB_NO_CACHE 522
|
||||
#define VAR_LOG_SERVFAIL 523
|
||||
#define VAR_DENY_ANY 524
|
||||
#define VAR_UNKNOWN_SERVER_TIME_LIMIT 525
|
||||
#define VAR_LOG_TAG_QUERYREPLY 526
|
||||
#define VAR_STREAM_WAIT_SIZE 527
|
||||
#define VAR_TLS_CIPHERS 528
|
||||
#define VAR_TLS_CIPHERSUITES 529
|
||||
#define VAR_IPSET 530
|
||||
#define VAR_IPSET_NAME_V4 531
|
||||
#define VAR_IPSET_NAME_V6 532
|
||||
#define VAR_TLS_SESSION_TICKET_KEYS 533
|
||||
#define VAR_RPZ 534
|
||||
#define VAR_TAGS 535
|
||||
#define VAR_RPZ_ACTION_OVERRIDE 536
|
||||
#define VAR_RPZ_CNAME_OVERRIDE 537
|
||||
#define VAR_RPZ_LOG 538
|
||||
#define VAR_RPZ_LOG_NAME 539
|
||||
#define VAR_IP_DSCP 431
|
||||
#define VAR_DISABLE_DNSSEC_LAME_CHECK 432
|
||||
#define VAR_IP_RATELIMIT 433
|
||||
#define VAR_IP_RATELIMIT_SLABS 434
|
||||
#define VAR_IP_RATELIMIT_SIZE 435
|
||||
#define VAR_RATELIMIT 436
|
||||
#define VAR_RATELIMIT_SLABS 437
|
||||
#define VAR_RATELIMIT_SIZE 438
|
||||
#define VAR_RATELIMIT_FOR_DOMAIN 439
|
||||
#define VAR_RATELIMIT_BELOW_DOMAIN 440
|
||||
#define VAR_IP_RATELIMIT_FACTOR 441
|
||||
#define VAR_RATELIMIT_FACTOR 442
|
||||
#define VAR_SEND_CLIENT_SUBNET 443
|
||||
#define VAR_CLIENT_SUBNET_ZONE 444
|
||||
#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 445
|
||||
#define VAR_CLIENT_SUBNET_OPCODE 446
|
||||
#define VAR_MAX_CLIENT_SUBNET_IPV4 447
|
||||
#define VAR_MAX_CLIENT_SUBNET_IPV6 448
|
||||
#define VAR_MIN_CLIENT_SUBNET_IPV4 449
|
||||
#define VAR_MIN_CLIENT_SUBNET_IPV6 450
|
||||
#define VAR_MAX_ECS_TREE_SIZE_IPV4 451
|
||||
#define VAR_MAX_ECS_TREE_SIZE_IPV6 452
|
||||
#define VAR_CAPS_WHITELIST 453
|
||||
#define VAR_CACHE_MAX_NEGATIVE_TTL 454
|
||||
#define VAR_PERMIT_SMALL_HOLDDOWN 455
|
||||
#define VAR_QNAME_MINIMISATION 456
|
||||
#define VAR_QNAME_MINIMISATION_STRICT 457
|
||||
#define VAR_IP_FREEBIND 458
|
||||
#define VAR_DEFINE_TAG 459
|
||||
#define VAR_LOCAL_ZONE_TAG 460
|
||||
#define VAR_ACCESS_CONTROL_TAG 461
|
||||
#define VAR_LOCAL_ZONE_OVERRIDE 462
|
||||
#define VAR_ACCESS_CONTROL_TAG_ACTION 463
|
||||
#define VAR_ACCESS_CONTROL_TAG_DATA 464
|
||||
#define VAR_VIEW 465
|
||||
#define VAR_ACCESS_CONTROL_VIEW 466
|
||||
#define VAR_VIEW_FIRST 467
|
||||
#define VAR_SERVE_EXPIRED 468
|
||||
#define VAR_SERVE_EXPIRED_TTL 469
|
||||
#define VAR_SERVE_EXPIRED_TTL_RESET 470
|
||||
#define VAR_SERVE_EXPIRED_REPLY_TTL 471
|
||||
#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 472
|
||||
#define VAR_FAKE_DSA 473
|
||||
#define VAR_FAKE_SHA1 474
|
||||
#define VAR_LOG_IDENTITY 475
|
||||
#define VAR_HIDE_TRUSTANCHOR 476
|
||||
#define VAR_TRUST_ANCHOR_SIGNALING 477
|
||||
#define VAR_AGGRESSIVE_NSEC 478
|
||||
#define VAR_USE_SYSTEMD 479
|
||||
#define VAR_SHM_ENABLE 480
|
||||
#define VAR_SHM_KEY 481
|
||||
#define VAR_ROOT_KEY_SENTINEL 482
|
||||
#define VAR_DNSCRYPT 483
|
||||
#define VAR_DNSCRYPT_ENABLE 484
|
||||
#define VAR_DNSCRYPT_PORT 485
|
||||
#define VAR_DNSCRYPT_PROVIDER 486
|
||||
#define VAR_DNSCRYPT_SECRET_KEY 487
|
||||
#define VAR_DNSCRYPT_PROVIDER_CERT 488
|
||||
#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 489
|
||||
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 490
|
||||
#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 491
|
||||
#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 492
|
||||
#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 493
|
||||
#define VAR_IPSECMOD_ENABLED 494
|
||||
#define VAR_IPSECMOD_HOOK 495
|
||||
#define VAR_IPSECMOD_IGNORE_BOGUS 496
|
||||
#define VAR_IPSECMOD_MAX_TTL 497
|
||||
#define VAR_IPSECMOD_WHITELIST 498
|
||||
#define VAR_IPSECMOD_STRICT 499
|
||||
#define VAR_CACHEDB 500
|
||||
#define VAR_CACHEDB_BACKEND 501
|
||||
#define VAR_CACHEDB_SECRETSEED 502
|
||||
#define VAR_CACHEDB_REDISHOST 503
|
||||
#define VAR_CACHEDB_REDISPORT 504
|
||||
#define VAR_CACHEDB_REDISTIMEOUT 505
|
||||
#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 506
|
||||
#define VAR_FOR_UPSTREAM 507
|
||||
#define VAR_AUTH_ZONE 508
|
||||
#define VAR_ZONEFILE 509
|
||||
#define VAR_MASTER 510
|
||||
#define VAR_URL 511
|
||||
#define VAR_FOR_DOWNSTREAM 512
|
||||
#define VAR_FALLBACK_ENABLED 513
|
||||
#define VAR_TLS_ADDITIONAL_PORT 514
|
||||
#define VAR_LOW_RTT 515
|
||||
#define VAR_LOW_RTT_PERMIL 516
|
||||
#define VAR_FAST_SERVER_PERMIL 517
|
||||
#define VAR_FAST_SERVER_NUM 518
|
||||
#define VAR_ALLOW_NOTIFY 519
|
||||
#define VAR_TLS_WIN_CERT 520
|
||||
#define VAR_TCP_CONNECTION_LIMIT 521
|
||||
#define VAR_FORWARD_NO_CACHE 522
|
||||
#define VAR_STUB_NO_CACHE 523
|
||||
#define VAR_LOG_SERVFAIL 524
|
||||
#define VAR_DENY_ANY 525
|
||||
#define VAR_UNKNOWN_SERVER_TIME_LIMIT 526
|
||||
#define VAR_LOG_TAG_QUERYREPLY 527
|
||||
#define VAR_STREAM_WAIT_SIZE 528
|
||||
#define VAR_TLS_CIPHERS 529
|
||||
#define VAR_TLS_CIPHERSUITES 530
|
||||
#define VAR_IPSET 531
|
||||
#define VAR_IPSET_NAME_V4 532
|
||||
#define VAR_IPSET_NAME_V6 533
|
||||
#define VAR_TLS_SESSION_TICKET_KEYS 534
|
||||
#define VAR_RPZ 535
|
||||
#define VAR_TAGS 536
|
||||
#define VAR_RPZ_ACTION_OVERRIDE 537
|
||||
#define VAR_RPZ_CNAME_OVERRIDE 538
|
||||
#define VAR_RPZ_LOG 539
|
||||
#define VAR_RPZ_LOG_NAME 540
|
||||
|
||||
|
||||
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
union YYSTYPE
|
||||
{
|
||||
typedef union YYSTYPE
|
||||
#line 66 "./util/configparser.y"
|
||||
|
||||
{
|
||||
char* str;
|
||||
|
||||
#line 629 "util/configparser.h"
|
||||
|
||||
};
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
}
|
||||
/* Line 1529 of yacc.c. */
|
||||
#line 623 "util/configparser.h"
|
||||
YYSTYPE;
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
#endif
|
||||
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
|
||||
int yyparse (void);
|
||||
|
||||
#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ extern struct config_parser_state* cfg_parser;
|
|||
%token VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES
|
||||
%token VAR_RESPONSE_IP_TAG VAR_RESPONSE_IP VAR_RESPONSE_IP_DATA
|
||||
%token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT
|
||||
%token VAR_IP_DSCP
|
||||
%token VAR_DISABLE_DNSSEC_LAME_CHECK
|
||||
%token VAR_IP_RATELIMIT VAR_IP_RATELIMIT_SLABS VAR_IP_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_infra_cache_min_rtt | server_harden_algo_downgrade |
|
||||
server_ip_transparent | server_ip_ratelimit | server_ratelimit |
|
||||
server_ip_dscp |
|
||||
server_ip_ratelimit_slabs | server_ratelimit_slabs |
|
||||
server_ip_ratelimit_size | server_ratelimit_size |
|
||||
server_ratelimit_for_domain |
|
||||
|
|
@ -1258,6 +1260,20 @@ server_ip_freebind: VAR_IP_FREEBIND STRING_ARG
|
|||
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
|
||||
{
|
||||
OUTYY(("P(server_stream_wait_size:%s)\n", $2));
|
||||
|
|
|
|||
Loading…
Reference in a new issue