mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
Fix #833: [FR] Ability to set the Redis password.
This commit is contained in:
parent
d666e9bd13
commit
6bf677e7de
11 changed files with 2920 additions and 2891 deletions
|
|
@ -57,6 +57,7 @@ struct redis_moddata {
|
||||||
const char* server_host; /* server's IP address or host name */
|
const char* server_host; /* server's IP address or host name */
|
||||||
int server_port; /* server's TCP port */
|
int server_port; /* server's TCP port */
|
||||||
const char* server_path; /* server's unix path, or "", NULL if unused */
|
const char* server_path; /* server's unix path, or "", NULL if unused */
|
||||||
|
const char* server_password; /* server's AUTH password, or "", NULL if unused */
|
||||||
struct timeval timeout; /* timeout for connection setup and commands */
|
struct timeval timeout; /* timeout for connection setup and commands */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -86,6 +87,16 @@ redis_connect(const struct redis_moddata* moddata)
|
||||||
log_err("failed to set redis timeout");
|
log_err("failed to set redis timeout");
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
if(moddata->server_password && moddata->server_password[0]!=0) {
|
||||||
|
redisReply* rep;
|
||||||
|
rep = redisCommand(ctx, "AUTH %s", moddata->server_password);
|
||||||
|
if(!rep || rep->type == REDIS_REPLY_ERROR) {
|
||||||
|
log_err("failed to authenticate with password");
|
||||||
|
freeReplyObject(rep);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
freeReplyObject(rep);
|
||||||
|
}
|
||||||
return ctx;
|
return ctx;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
|
@ -119,6 +130,7 @@ redis_init(struct module_env* env, struct cachedb_env* cachedb_env)
|
||||||
moddata->server_host = env->cfg->redis_server_host;
|
moddata->server_host = env->cfg->redis_server_host;
|
||||||
moddata->server_port = env->cfg->redis_server_port;
|
moddata->server_port = env->cfg->redis_server_port;
|
||||||
moddata->server_path = env->cfg->redis_server_path;
|
moddata->server_path = env->cfg->redis_server_path;
|
||||||
|
moddata->server_password = env->cfg->redis_server_password;
|
||||||
moddata->timeout.tv_sec = env->cfg->redis_timeout / 1000;
|
moddata->timeout.tv_sec = env->cfg->redis_timeout / 1000;
|
||||||
moddata->timeout.tv_usec = (env->cfg->redis_timeout % 1000) * 1000;
|
moddata->timeout.tv_usec = (env->cfg->redis_timeout % 1000) * 1000;
|
||||||
for(i = 0; i < moddata->numctxs; i++)
|
for(i = 0; i < moddata->numctxs; i++)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
23 January 2023: George
|
||||||
|
- Fix #833: [FR] Ability to set the Redis password.
|
||||||
|
|
||||||
23 January 2023: Wouter
|
23 January 2023: Wouter
|
||||||
- Fix #835: [FR] Ability to use Redis unix sockets.
|
- Fix #835: [FR] Ability to use Redis unix sockets.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1214,6 +1214,8 @@ remote-control:
|
||||||
# redis-server-port: 6379
|
# redis-server-port: 6379
|
||||||
# # if the server uses a unix socket, set its path, or "" when not used.
|
# # if the server uses a unix socket, set its path, or "" when not used.
|
||||||
# # redis-server-path: "/var/lib/redis/redis-server.sock"
|
# # redis-server-path: "/var/lib/redis/redis-server.sock"
|
||||||
|
# # if the server uses an AUTH password, specify here, or "" when not used.
|
||||||
|
# # redis-server-password: ""
|
||||||
# # timeout (in ms) for communication with the redis server
|
# # timeout (in ms) for communication with the redis server
|
||||||
# redis-timeout: 100
|
# redis-timeout: 100
|
||||||
# # set timeout on redis records based on DNS response TTL
|
# # set timeout on redis records based on DNS response TTL
|
||||||
|
|
|
||||||
|
|
@ -2604,6 +2604,11 @@ The unix socket path to connect to the redis server. Off by default, and it
|
||||||
can be set to "" to turn this off. Unix sockets may have better throughput
|
can be set to "" to turn this off. Unix sockets may have better throughput
|
||||||
than the IP address option.
|
than the IP address option.
|
||||||
.TP
|
.TP
|
||||||
|
.B redis-server-password: \fI"<password>"\fR
|
||||||
|
The Redis AUTH password to use for the redis server.
|
||||||
|
Only relevant if Redis is configured for client password authorisation.
|
||||||
|
Off by default, and it can be set to "" to turn this off.
|
||||||
|
.TP
|
||||||
.B redis-timeout: \fI<msec>\fR
|
.B redis-timeout: \fI<msec>\fR
|
||||||
The period until when Unbound waits for a response from the Redis sever.
|
The period until when Unbound waits for a response from the Redis sever.
|
||||||
If this timeout expires Unbound closes the connection, treats it as
|
If this timeout expires Unbound closes the connection, treats it as
|
||||||
|
|
|
||||||
|
|
@ -374,6 +374,7 @@ config_create(void)
|
||||||
#ifdef USE_REDIS
|
#ifdef USE_REDIS
|
||||||
if(!(cfg->redis_server_host = strdup("127.0.0.1"))) goto error_exit;
|
if(!(cfg->redis_server_host = strdup("127.0.0.1"))) goto error_exit;
|
||||||
cfg->redis_server_path = NULL;
|
cfg->redis_server_path = NULL;
|
||||||
|
cfg->redis_server_password = NULL;
|
||||||
cfg->redis_timeout = 100;
|
cfg->redis_timeout = 100;
|
||||||
cfg->redis_server_port = 6379;
|
cfg->redis_server_port = 6379;
|
||||||
cfg->redis_expire_records = 0;
|
cfg->redis_expire_records = 0;
|
||||||
|
|
@ -1292,6 +1293,7 @@ config_get_option(struct config_file* cfg, const char* opt,
|
||||||
else O_STR(opt, "redis-server-host", redis_server_host)
|
else O_STR(opt, "redis-server-host", redis_server_host)
|
||||||
else O_DEC(opt, "redis-server-port", redis_server_port)
|
else O_DEC(opt, "redis-server-port", redis_server_port)
|
||||||
else O_STR(opt, "redis-server-path", redis_server_path)
|
else O_STR(opt, "redis-server-path", redis_server_path)
|
||||||
|
else O_STR(opt, "redis-server-password", redis_server_password)
|
||||||
else O_DEC(opt, "redis-timeout", redis_timeout)
|
else O_DEC(opt, "redis-timeout", redis_timeout)
|
||||||
else O_YNO(opt, "redis-expire-records", redis_expire_records)
|
else O_YNO(opt, "redis-expire-records", redis_expire_records)
|
||||||
#endif /* USE_REDIS */
|
#endif /* USE_REDIS */
|
||||||
|
|
@ -1669,6 +1671,7 @@ config_delete(struct config_file* cfg)
|
||||||
#ifdef USE_REDIS
|
#ifdef USE_REDIS
|
||||||
free(cfg->redis_server_host);
|
free(cfg->redis_server_host);
|
||||||
free(cfg->redis_server_path);
|
free(cfg->redis_server_path);
|
||||||
|
free(cfg->redis_server_password);
|
||||||
#endif /* USE_REDIS */
|
#endif /* USE_REDIS */
|
||||||
#endif /* USE_CACHEDB */
|
#endif /* USE_CACHEDB */
|
||||||
#ifdef USE_IPSET
|
#ifdef USE_IPSET
|
||||||
|
|
|
||||||
|
|
@ -696,6 +696,8 @@ struct config_file {
|
||||||
int redis_server_port;
|
int redis_server_port;
|
||||||
/** redis server's unix path. Or "", NULL if unused */
|
/** redis server's unix path. Or "", NULL if unused */
|
||||||
char* redis_server_path;
|
char* redis_server_path;
|
||||||
|
/** redis server's AUTH password. Or "", NULL if unused */
|
||||||
|
char* redis_server_password;
|
||||||
/** timeout (in ms) for communication with the redis server */
|
/** timeout (in ms) for communication with the redis server */
|
||||||
int redis_timeout;
|
int redis_timeout;
|
||||||
/** set timeout on redis records based on DNS response ttl */
|
/** set timeout on redis records based on DNS response ttl */
|
||||||
|
|
|
||||||
2970
util/configlexer.c
2970
util/configlexer.c
File diff suppressed because it is too large
Load diff
|
|
@ -556,6 +556,7 @@ secret-seed{COLON} { YDVAR(1, VAR_CACHEDB_SECRETSEED) }
|
||||||
redis-server-host{COLON} { YDVAR(1, VAR_CACHEDB_REDISHOST) }
|
redis-server-host{COLON} { YDVAR(1, VAR_CACHEDB_REDISHOST) }
|
||||||
redis-server-port{COLON} { YDVAR(1, VAR_CACHEDB_REDISPORT) }
|
redis-server-port{COLON} { YDVAR(1, VAR_CACHEDB_REDISPORT) }
|
||||||
redis-server-path{COLON} { YDVAR(1, VAR_CACHEDB_REDISPATH) }
|
redis-server-path{COLON} { YDVAR(1, VAR_CACHEDB_REDISPATH) }
|
||||||
|
redis-server-password{COLON} { YDVAR(1, VAR_CACHEDB_REDISPASSWORD) }
|
||||||
redis-timeout{COLON} { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
|
redis-timeout{COLON} { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
|
||||||
redis-expire-records{COLON} { YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
|
redis-expire-records{COLON} { YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
|
||||||
ipset{COLON} { YDVAR(0, VAR_IPSET) }
|
ipset{COLON} { YDVAR(0, VAR_IPSET) }
|
||||||
|
|
|
||||||
2569
util/configparser.c
2569
util/configparser.c
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,4 @@
|
||||||
/* A Bison parser, made by GNU Bison 3.7.6. */
|
/* A Bison parser, made by GNU Bison 3.8.2. */
|
||||||
|
|
||||||
/* Bison interface for Yacc-like parsers in C
|
/* Bison interface for Yacc-like parsers in C
|
||||||
|
|
||||||
|
|
@ -335,61 +335,62 @@ extern int yydebug;
|
||||||
VAR_CACHEDB_REDISTIMEOUT = 536, /* VAR_CACHEDB_REDISTIMEOUT */
|
VAR_CACHEDB_REDISTIMEOUT = 536, /* VAR_CACHEDB_REDISTIMEOUT */
|
||||||
VAR_CACHEDB_REDISEXPIRERECORDS = 537, /* VAR_CACHEDB_REDISEXPIRERECORDS */
|
VAR_CACHEDB_REDISEXPIRERECORDS = 537, /* VAR_CACHEDB_REDISEXPIRERECORDS */
|
||||||
VAR_CACHEDB_REDISPATH = 538, /* VAR_CACHEDB_REDISPATH */
|
VAR_CACHEDB_REDISPATH = 538, /* VAR_CACHEDB_REDISPATH */
|
||||||
VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 539, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */
|
VAR_CACHEDB_REDISPASSWORD = 539, /* VAR_CACHEDB_REDISPASSWORD */
|
||||||
VAR_FOR_UPSTREAM = 540, /* VAR_FOR_UPSTREAM */
|
VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 540, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */
|
||||||
VAR_AUTH_ZONE = 541, /* VAR_AUTH_ZONE */
|
VAR_FOR_UPSTREAM = 541, /* VAR_FOR_UPSTREAM */
|
||||||
VAR_ZONEFILE = 542, /* VAR_ZONEFILE */
|
VAR_AUTH_ZONE = 542, /* VAR_AUTH_ZONE */
|
||||||
VAR_MASTER = 543, /* VAR_MASTER */
|
VAR_ZONEFILE = 543, /* VAR_ZONEFILE */
|
||||||
VAR_URL = 544, /* VAR_URL */
|
VAR_MASTER = 544, /* VAR_MASTER */
|
||||||
VAR_FOR_DOWNSTREAM = 545, /* VAR_FOR_DOWNSTREAM */
|
VAR_URL = 545, /* VAR_URL */
|
||||||
VAR_FALLBACK_ENABLED = 546, /* VAR_FALLBACK_ENABLED */
|
VAR_FOR_DOWNSTREAM = 546, /* VAR_FOR_DOWNSTREAM */
|
||||||
VAR_TLS_ADDITIONAL_PORT = 547, /* VAR_TLS_ADDITIONAL_PORT */
|
VAR_FALLBACK_ENABLED = 547, /* VAR_FALLBACK_ENABLED */
|
||||||
VAR_LOW_RTT = 548, /* VAR_LOW_RTT */
|
VAR_TLS_ADDITIONAL_PORT = 548, /* VAR_TLS_ADDITIONAL_PORT */
|
||||||
VAR_LOW_RTT_PERMIL = 549, /* VAR_LOW_RTT_PERMIL */
|
VAR_LOW_RTT = 549, /* VAR_LOW_RTT */
|
||||||
VAR_FAST_SERVER_PERMIL = 550, /* VAR_FAST_SERVER_PERMIL */
|
VAR_LOW_RTT_PERMIL = 550, /* VAR_LOW_RTT_PERMIL */
|
||||||
VAR_FAST_SERVER_NUM = 551, /* VAR_FAST_SERVER_NUM */
|
VAR_FAST_SERVER_PERMIL = 551, /* VAR_FAST_SERVER_PERMIL */
|
||||||
VAR_ALLOW_NOTIFY = 552, /* VAR_ALLOW_NOTIFY */
|
VAR_FAST_SERVER_NUM = 552, /* VAR_FAST_SERVER_NUM */
|
||||||
VAR_TLS_WIN_CERT = 553, /* VAR_TLS_WIN_CERT */
|
VAR_ALLOW_NOTIFY = 553, /* VAR_ALLOW_NOTIFY */
|
||||||
VAR_TCP_CONNECTION_LIMIT = 554, /* VAR_TCP_CONNECTION_LIMIT */
|
VAR_TLS_WIN_CERT = 554, /* VAR_TLS_WIN_CERT */
|
||||||
VAR_FORWARD_NO_CACHE = 555, /* VAR_FORWARD_NO_CACHE */
|
VAR_TCP_CONNECTION_LIMIT = 555, /* VAR_TCP_CONNECTION_LIMIT */
|
||||||
VAR_STUB_NO_CACHE = 556, /* VAR_STUB_NO_CACHE */
|
VAR_FORWARD_NO_CACHE = 556, /* VAR_FORWARD_NO_CACHE */
|
||||||
VAR_LOG_SERVFAIL = 557, /* VAR_LOG_SERVFAIL */
|
VAR_STUB_NO_CACHE = 557, /* VAR_STUB_NO_CACHE */
|
||||||
VAR_DENY_ANY = 558, /* VAR_DENY_ANY */
|
VAR_LOG_SERVFAIL = 558, /* VAR_LOG_SERVFAIL */
|
||||||
VAR_UNKNOWN_SERVER_TIME_LIMIT = 559, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */
|
VAR_DENY_ANY = 559, /* VAR_DENY_ANY */
|
||||||
VAR_LOG_TAG_QUERYREPLY = 560, /* VAR_LOG_TAG_QUERYREPLY */
|
VAR_UNKNOWN_SERVER_TIME_LIMIT = 560, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */
|
||||||
VAR_STREAM_WAIT_SIZE = 561, /* VAR_STREAM_WAIT_SIZE */
|
VAR_LOG_TAG_QUERYREPLY = 561, /* VAR_LOG_TAG_QUERYREPLY */
|
||||||
VAR_TLS_CIPHERS = 562, /* VAR_TLS_CIPHERS */
|
VAR_STREAM_WAIT_SIZE = 562, /* VAR_STREAM_WAIT_SIZE */
|
||||||
VAR_TLS_CIPHERSUITES = 563, /* VAR_TLS_CIPHERSUITES */
|
VAR_TLS_CIPHERS = 563, /* VAR_TLS_CIPHERS */
|
||||||
VAR_TLS_USE_SNI = 564, /* VAR_TLS_USE_SNI */
|
VAR_TLS_CIPHERSUITES = 564, /* VAR_TLS_CIPHERSUITES */
|
||||||
VAR_IPSET = 565, /* VAR_IPSET */
|
VAR_TLS_USE_SNI = 565, /* VAR_TLS_USE_SNI */
|
||||||
VAR_IPSET_NAME_V4 = 566, /* VAR_IPSET_NAME_V4 */
|
VAR_IPSET = 566, /* VAR_IPSET */
|
||||||
VAR_IPSET_NAME_V6 = 567, /* VAR_IPSET_NAME_V6 */
|
VAR_IPSET_NAME_V4 = 567, /* VAR_IPSET_NAME_V4 */
|
||||||
VAR_TLS_SESSION_TICKET_KEYS = 568, /* VAR_TLS_SESSION_TICKET_KEYS */
|
VAR_IPSET_NAME_V6 = 568, /* VAR_IPSET_NAME_V6 */
|
||||||
VAR_RPZ = 569, /* VAR_RPZ */
|
VAR_TLS_SESSION_TICKET_KEYS = 569, /* VAR_TLS_SESSION_TICKET_KEYS */
|
||||||
VAR_TAGS = 570, /* VAR_TAGS */
|
VAR_RPZ = 570, /* VAR_RPZ */
|
||||||
VAR_RPZ_ACTION_OVERRIDE = 571, /* VAR_RPZ_ACTION_OVERRIDE */
|
VAR_TAGS = 571, /* VAR_TAGS */
|
||||||
VAR_RPZ_CNAME_OVERRIDE = 572, /* VAR_RPZ_CNAME_OVERRIDE */
|
VAR_RPZ_ACTION_OVERRIDE = 572, /* VAR_RPZ_ACTION_OVERRIDE */
|
||||||
VAR_RPZ_LOG = 573, /* VAR_RPZ_LOG */
|
VAR_RPZ_CNAME_OVERRIDE = 573, /* VAR_RPZ_CNAME_OVERRIDE */
|
||||||
VAR_RPZ_LOG_NAME = 574, /* VAR_RPZ_LOG_NAME */
|
VAR_RPZ_LOG = 574, /* VAR_RPZ_LOG */
|
||||||
VAR_DYNLIB = 575, /* VAR_DYNLIB */
|
VAR_RPZ_LOG_NAME = 575, /* VAR_RPZ_LOG_NAME */
|
||||||
VAR_DYNLIB_FILE = 576, /* VAR_DYNLIB_FILE */
|
VAR_DYNLIB = 576, /* VAR_DYNLIB */
|
||||||
VAR_EDNS_CLIENT_STRING = 577, /* VAR_EDNS_CLIENT_STRING */
|
VAR_DYNLIB_FILE = 577, /* VAR_DYNLIB_FILE */
|
||||||
VAR_EDNS_CLIENT_STRING_OPCODE = 578, /* VAR_EDNS_CLIENT_STRING_OPCODE */
|
VAR_EDNS_CLIENT_STRING = 578, /* VAR_EDNS_CLIENT_STRING */
|
||||||
VAR_NSID = 579, /* VAR_NSID */
|
VAR_EDNS_CLIENT_STRING_OPCODE = 579, /* VAR_EDNS_CLIENT_STRING_OPCODE */
|
||||||
VAR_ZONEMD_PERMISSIVE_MODE = 580, /* VAR_ZONEMD_PERMISSIVE_MODE */
|
VAR_NSID = 580, /* VAR_NSID */
|
||||||
VAR_ZONEMD_CHECK = 581, /* VAR_ZONEMD_CHECK */
|
VAR_ZONEMD_PERMISSIVE_MODE = 581, /* VAR_ZONEMD_PERMISSIVE_MODE */
|
||||||
VAR_ZONEMD_REJECT_ABSENCE = 582, /* VAR_ZONEMD_REJECT_ABSENCE */
|
VAR_ZONEMD_CHECK = 582, /* VAR_ZONEMD_CHECK */
|
||||||
VAR_RPZ_SIGNAL_NXDOMAIN_RA = 583, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA */
|
VAR_ZONEMD_REJECT_ABSENCE = 583, /* VAR_ZONEMD_REJECT_ABSENCE */
|
||||||
VAR_INTERFACE_AUTOMATIC_PORTS = 584, /* VAR_INTERFACE_AUTOMATIC_PORTS */
|
VAR_RPZ_SIGNAL_NXDOMAIN_RA = 584, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA */
|
||||||
VAR_EDE = 585, /* VAR_EDE */
|
VAR_INTERFACE_AUTOMATIC_PORTS = 585, /* VAR_INTERFACE_AUTOMATIC_PORTS */
|
||||||
VAR_INTERFACE_ACTION = 586, /* VAR_INTERFACE_ACTION */
|
VAR_EDE = 586, /* VAR_EDE */
|
||||||
VAR_INTERFACE_VIEW = 587, /* VAR_INTERFACE_VIEW */
|
VAR_INTERFACE_ACTION = 587, /* VAR_INTERFACE_ACTION */
|
||||||
VAR_INTERFACE_TAG = 588, /* VAR_INTERFACE_TAG */
|
VAR_INTERFACE_VIEW = 588, /* VAR_INTERFACE_VIEW */
|
||||||
VAR_INTERFACE_TAG_ACTION = 589, /* VAR_INTERFACE_TAG_ACTION */
|
VAR_INTERFACE_TAG = 589, /* VAR_INTERFACE_TAG */
|
||||||
VAR_INTERFACE_TAG_DATA = 590, /* VAR_INTERFACE_TAG_DATA */
|
VAR_INTERFACE_TAG_ACTION = 590, /* VAR_INTERFACE_TAG_ACTION */
|
||||||
VAR_PROXY_PROTOCOL_PORT = 591, /* VAR_PROXY_PROTOCOL_PORT */
|
VAR_INTERFACE_TAG_DATA = 591, /* VAR_INTERFACE_TAG_DATA */
|
||||||
VAR_STATISTICS_INHIBIT_ZERO = 592, /* VAR_STATISTICS_INHIBIT_ZERO */
|
VAR_PROXY_PROTOCOL_PORT = 592, /* VAR_PROXY_PROTOCOL_PORT */
|
||||||
VAR_HARDEN_UNKNOWN_ADDITIONAL = 593 /* VAR_HARDEN_UNKNOWN_ADDITIONAL */
|
VAR_STATISTICS_INHIBIT_ZERO = 593, /* VAR_STATISTICS_INHIBIT_ZERO */
|
||||||
|
VAR_HARDEN_UNKNOWN_ADDITIONAL = 594 /* VAR_HARDEN_UNKNOWN_ADDITIONAL */
|
||||||
};
|
};
|
||||||
typedef enum yytokentype yytoken_kind_t;
|
typedef enum yytokentype yytoken_kind_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -679,61 +680,62 @@ extern int yydebug;
|
||||||
#define VAR_CACHEDB_REDISTIMEOUT 536
|
#define VAR_CACHEDB_REDISTIMEOUT 536
|
||||||
#define VAR_CACHEDB_REDISEXPIRERECORDS 537
|
#define VAR_CACHEDB_REDISEXPIRERECORDS 537
|
||||||
#define VAR_CACHEDB_REDISPATH 538
|
#define VAR_CACHEDB_REDISPATH 538
|
||||||
#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 539
|
#define VAR_CACHEDB_REDISPASSWORD 539
|
||||||
#define VAR_FOR_UPSTREAM 540
|
#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 540
|
||||||
#define VAR_AUTH_ZONE 541
|
#define VAR_FOR_UPSTREAM 541
|
||||||
#define VAR_ZONEFILE 542
|
#define VAR_AUTH_ZONE 542
|
||||||
#define VAR_MASTER 543
|
#define VAR_ZONEFILE 543
|
||||||
#define VAR_URL 544
|
#define VAR_MASTER 544
|
||||||
#define VAR_FOR_DOWNSTREAM 545
|
#define VAR_URL 545
|
||||||
#define VAR_FALLBACK_ENABLED 546
|
#define VAR_FOR_DOWNSTREAM 546
|
||||||
#define VAR_TLS_ADDITIONAL_PORT 547
|
#define VAR_FALLBACK_ENABLED 547
|
||||||
#define VAR_LOW_RTT 548
|
#define VAR_TLS_ADDITIONAL_PORT 548
|
||||||
#define VAR_LOW_RTT_PERMIL 549
|
#define VAR_LOW_RTT 549
|
||||||
#define VAR_FAST_SERVER_PERMIL 550
|
#define VAR_LOW_RTT_PERMIL 550
|
||||||
#define VAR_FAST_SERVER_NUM 551
|
#define VAR_FAST_SERVER_PERMIL 551
|
||||||
#define VAR_ALLOW_NOTIFY 552
|
#define VAR_FAST_SERVER_NUM 552
|
||||||
#define VAR_TLS_WIN_CERT 553
|
#define VAR_ALLOW_NOTIFY 553
|
||||||
#define VAR_TCP_CONNECTION_LIMIT 554
|
#define VAR_TLS_WIN_CERT 554
|
||||||
#define VAR_FORWARD_NO_CACHE 555
|
#define VAR_TCP_CONNECTION_LIMIT 555
|
||||||
#define VAR_STUB_NO_CACHE 556
|
#define VAR_FORWARD_NO_CACHE 556
|
||||||
#define VAR_LOG_SERVFAIL 557
|
#define VAR_STUB_NO_CACHE 557
|
||||||
#define VAR_DENY_ANY 558
|
#define VAR_LOG_SERVFAIL 558
|
||||||
#define VAR_UNKNOWN_SERVER_TIME_LIMIT 559
|
#define VAR_DENY_ANY 559
|
||||||
#define VAR_LOG_TAG_QUERYREPLY 560
|
#define VAR_UNKNOWN_SERVER_TIME_LIMIT 560
|
||||||
#define VAR_STREAM_WAIT_SIZE 561
|
#define VAR_LOG_TAG_QUERYREPLY 561
|
||||||
#define VAR_TLS_CIPHERS 562
|
#define VAR_STREAM_WAIT_SIZE 562
|
||||||
#define VAR_TLS_CIPHERSUITES 563
|
#define VAR_TLS_CIPHERS 563
|
||||||
#define VAR_TLS_USE_SNI 564
|
#define VAR_TLS_CIPHERSUITES 564
|
||||||
#define VAR_IPSET 565
|
#define VAR_TLS_USE_SNI 565
|
||||||
#define VAR_IPSET_NAME_V4 566
|
#define VAR_IPSET 566
|
||||||
#define VAR_IPSET_NAME_V6 567
|
#define VAR_IPSET_NAME_V4 567
|
||||||
#define VAR_TLS_SESSION_TICKET_KEYS 568
|
#define VAR_IPSET_NAME_V6 568
|
||||||
#define VAR_RPZ 569
|
#define VAR_TLS_SESSION_TICKET_KEYS 569
|
||||||
#define VAR_TAGS 570
|
#define VAR_RPZ 570
|
||||||
#define VAR_RPZ_ACTION_OVERRIDE 571
|
#define VAR_TAGS 571
|
||||||
#define VAR_RPZ_CNAME_OVERRIDE 572
|
#define VAR_RPZ_ACTION_OVERRIDE 572
|
||||||
#define VAR_RPZ_LOG 573
|
#define VAR_RPZ_CNAME_OVERRIDE 573
|
||||||
#define VAR_RPZ_LOG_NAME 574
|
#define VAR_RPZ_LOG 574
|
||||||
#define VAR_DYNLIB 575
|
#define VAR_RPZ_LOG_NAME 575
|
||||||
#define VAR_DYNLIB_FILE 576
|
#define VAR_DYNLIB 576
|
||||||
#define VAR_EDNS_CLIENT_STRING 577
|
#define VAR_DYNLIB_FILE 577
|
||||||
#define VAR_EDNS_CLIENT_STRING_OPCODE 578
|
#define VAR_EDNS_CLIENT_STRING 578
|
||||||
#define VAR_NSID 579
|
#define VAR_EDNS_CLIENT_STRING_OPCODE 579
|
||||||
#define VAR_ZONEMD_PERMISSIVE_MODE 580
|
#define VAR_NSID 580
|
||||||
#define VAR_ZONEMD_CHECK 581
|
#define VAR_ZONEMD_PERMISSIVE_MODE 581
|
||||||
#define VAR_ZONEMD_REJECT_ABSENCE 582
|
#define VAR_ZONEMD_CHECK 582
|
||||||
#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 583
|
#define VAR_ZONEMD_REJECT_ABSENCE 583
|
||||||
#define VAR_INTERFACE_AUTOMATIC_PORTS 584
|
#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 584
|
||||||
#define VAR_EDE 585
|
#define VAR_INTERFACE_AUTOMATIC_PORTS 585
|
||||||
#define VAR_INTERFACE_ACTION 586
|
#define VAR_EDE 586
|
||||||
#define VAR_INTERFACE_VIEW 587
|
#define VAR_INTERFACE_ACTION 587
|
||||||
#define VAR_INTERFACE_TAG 588
|
#define VAR_INTERFACE_VIEW 588
|
||||||
#define VAR_INTERFACE_TAG_ACTION 589
|
#define VAR_INTERFACE_TAG 589
|
||||||
#define VAR_INTERFACE_TAG_DATA 590
|
#define VAR_INTERFACE_TAG_ACTION 590
|
||||||
#define VAR_PROXY_PROTOCOL_PORT 591
|
#define VAR_INTERFACE_TAG_DATA 591
|
||||||
#define VAR_STATISTICS_INHIBIT_ZERO 592
|
#define VAR_PROXY_PROTOCOL_PORT 592
|
||||||
#define VAR_HARDEN_UNKNOWN_ADDITIONAL 593
|
#define VAR_STATISTICS_INHIBIT_ZERO 593
|
||||||
|
#define VAR_HARDEN_UNKNOWN_ADDITIONAL 594
|
||||||
|
|
||||||
/* Value type. */
|
/* Value type. */
|
||||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||||
|
|
@ -743,7 +745,7 @@ union YYSTYPE
|
||||||
|
|
||||||
char* str;
|
char* str;
|
||||||
|
|
||||||
#line 747 "util/configparser.h"
|
#line 749 "util/configparser.h"
|
||||||
|
|
||||||
};
|
};
|
||||||
typedef union YYSTYPE YYSTYPE;
|
typedef union YYSTYPE YYSTYPE;
|
||||||
|
|
@ -754,6 +756,8 @@ typedef union YYSTYPE YYSTYPE;
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
extern YYSTYPE yylval;
|
||||||
|
|
||||||
|
|
||||||
int yyparse (void);
|
int yyparse (void);
|
||||||
|
|
||||||
|
|
||||||
#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
|
#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ extern struct config_parser_state* cfg_parser;
|
||||||
%token VAR_IPSECMOD_MAX_TTL VAR_IPSECMOD_WHITELIST VAR_IPSECMOD_STRICT
|
%token VAR_IPSECMOD_MAX_TTL VAR_IPSECMOD_WHITELIST VAR_IPSECMOD_STRICT
|
||||||
%token VAR_CACHEDB VAR_CACHEDB_BACKEND VAR_CACHEDB_SECRETSEED
|
%token VAR_CACHEDB VAR_CACHEDB_BACKEND VAR_CACHEDB_SECRETSEED
|
||||||
%token VAR_CACHEDB_REDISHOST VAR_CACHEDB_REDISPORT VAR_CACHEDB_REDISTIMEOUT
|
%token VAR_CACHEDB_REDISHOST VAR_CACHEDB_REDISPORT VAR_CACHEDB_REDISTIMEOUT
|
||||||
%token VAR_CACHEDB_REDISEXPIRERECORDS VAR_CACHEDB_REDISPATH
|
%token VAR_CACHEDB_REDISEXPIRERECORDS VAR_CACHEDB_REDISPATH VAR_CACHEDB_REDISPASSWORD
|
||||||
%token VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM VAR_FOR_UPSTREAM
|
%token VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM VAR_FOR_UPSTREAM
|
||||||
%token VAR_AUTH_ZONE VAR_ZONEFILE VAR_MASTER VAR_URL VAR_FOR_DOWNSTREAM
|
%token VAR_AUTH_ZONE VAR_ZONEFILE VAR_MASTER VAR_URL VAR_FOR_DOWNSTREAM
|
||||||
%token VAR_FALLBACK_ENABLED VAR_TLS_ADDITIONAL_PORT VAR_LOW_RTT VAR_LOW_RTT_PERMIL
|
%token VAR_FALLBACK_ENABLED VAR_TLS_ADDITIONAL_PORT VAR_LOW_RTT VAR_LOW_RTT_PERMIL
|
||||||
|
|
@ -3654,7 +3654,7 @@ contents_cachedb: contents_cachedb content_cachedb
|
||||||
| ;
|
| ;
|
||||||
content_cachedb: cachedb_backend_name | cachedb_secret_seed |
|
content_cachedb: cachedb_backend_name | cachedb_secret_seed |
|
||||||
redis_server_host | redis_server_port | redis_timeout |
|
redis_server_host | redis_server_port | redis_timeout |
|
||||||
redis_expire_records | redis_server_path
|
redis_expire_records | redis_server_path | redis_server_password
|
||||||
;
|
;
|
||||||
cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG
|
cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG
|
||||||
{
|
{
|
||||||
|
|
@ -3719,6 +3719,18 @@ redis_server_path: VAR_CACHEDB_REDISPATH STRING_ARG
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
redis_server_password: VAR_CACHEDB_REDISPASSWORD STRING_ARG
|
||||||
|
{
|
||||||
|
#if defined(USE_CACHEDB) && defined(USE_REDIS)
|
||||||
|
OUTYY(("P(redis_server_password:%s)\n", $2));
|
||||||
|
free(cfg_parser->cfg->redis_server_password);
|
||||||
|
cfg_parser->cfg->redis_server_password = $2;
|
||||||
|
#else
|
||||||
|
OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
|
||||||
|
free($2);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
;
|
||||||
redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG
|
redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG
|
||||||
{
|
{
|
||||||
#if defined(USE_CACHEDB) && defined(USE_REDIS)
|
#if defined(USE_CACHEDB) && defined(USE_REDIS)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue