From: W.C.A. Wijngaards Date: Wed, 25 Sep 2019 14:50:30 +0000 (+0200) Subject: - The unbound.conf includes are sorted ascending, for include X-Git-Tag: release-1.9.6rc1~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55bb4c12753e0744ae03d9296240a6dd85a3e1b2;p=thirdparty%2Funbound.git - The unbound.conf includes are sorted ascending, for include statements with a '*' from glob. --- diff --git a/doc/Changelog b/doc/Changelog index 12f17f562..c14862755 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +25 September 2019: Wouter + - The unbound.conf includes are sorted ascending, for include + statements with a '*' from glob. + 23 September 2019: Wouter - Merge #85 for #84 from sam-lunt: Add kill capability to systemd service file to fix that systemctl reload fails. diff --git a/util/configlexer.c b/util/configlexer.c index 72622a0c0..cedb4878d 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -2779,8 +2779,7 @@ static void config_start_include_glob(const char* filename) /* check for wildcards */ #ifdef HAVE_GLOB glob_t g; - size_t i; - int r, flags; + int i, r, flags; if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && !strchr(filename, '{') && !strchr(filename, '~'))) { flags = 0 @@ -2811,7 +2810,7 @@ static void config_start_include_glob(const char* filename) return; } /* process files found, if any */ - for(i=0; i<(size_t)g.gl_pathc; i++) { + for(i=(int)g.gl_pathc-1; i>=0; i--) { config_start_include(g.gl_pathv[i]); } globfree(&g); @@ -2845,18 +2844,18 @@ static void config_end_include(void) } #endif -#line 2846 "" +#line 2845 "" #define YY_NO_INPUT 1 -#line 185 "./util/configlexer.lex" +#line 184 "./util/configlexer.lex" #ifndef YY_NO_UNPUT #define YY_NO_UNPUT 1 #endif #ifndef YY_NO_INPUT #define YY_NO_INPUT 1 #endif -#line 2855 "" +#line 2854 "" -#line 2857 "" +#line 2856 "" #define INITIAL 0 #define quotedstring 1 @@ -3076,9 +3075,9 @@ YY_DECL } { -#line 205 "./util/configlexer.lex" +#line 204 "./util/configlexer.lex" -#line 3079 "" +#line 3078 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3143,1395 +3142,1395 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 206 "./util/configlexer.lex" +#line 205 "./util/configlexer.lex" { LEXOUT(("SP ")); /* ignore */ } YY_BREAK case 2: YY_RULE_SETUP -#line 208 "./util/configlexer.lex" +#line 207 "./util/configlexer.lex" { /* note that flex makes the longest match and '.' is any but not nl */ LEXOUT(("comment(%s) ", yytext)); /* ignore */ } YY_BREAK case 3: YY_RULE_SETUP -#line 211 "./util/configlexer.lex" +#line 210 "./util/configlexer.lex" { YDVAR(0, VAR_SERVER) } YY_BREAK case 4: YY_RULE_SETUP -#line 212 "./util/configlexer.lex" +#line 211 "./util/configlexer.lex" { YDVAR(1, VAR_QNAME_MINIMISATION) } YY_BREAK case 5: YY_RULE_SETUP -#line 213 "./util/configlexer.lex" +#line 212 "./util/configlexer.lex" { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) } YY_BREAK case 6: YY_RULE_SETUP -#line 214 "./util/configlexer.lex" +#line 213 "./util/configlexer.lex" { YDVAR(1, VAR_NUM_THREADS) } YY_BREAK case 7: YY_RULE_SETUP -#line 215 "./util/configlexer.lex" +#line 214 "./util/configlexer.lex" { YDVAR(1, VAR_VERBOSITY) } YY_BREAK case 8: YY_RULE_SETUP -#line 216 "./util/configlexer.lex" +#line 215 "./util/configlexer.lex" { YDVAR(1, VAR_PORT) } YY_BREAK case 9: YY_RULE_SETUP -#line 217 "./util/configlexer.lex" +#line 216 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_RANGE) } YY_BREAK case 10: YY_RULE_SETUP -#line 218 "./util/configlexer.lex" +#line 217 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } YY_BREAK case 11: YY_RULE_SETUP -#line 219 "./util/configlexer.lex" +#line 218 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } YY_BREAK case 12: YY_RULE_SETUP -#line 220 "./util/configlexer.lex" +#line 219 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_NUM_TCP) } YY_BREAK case 13: YY_RULE_SETUP -#line 221 "./util/configlexer.lex" +#line 220 "./util/configlexer.lex" { YDVAR(1, VAR_INCOMING_NUM_TCP) } YY_BREAK case 14: YY_RULE_SETUP -#line 222 "./util/configlexer.lex" +#line 221 "./util/configlexer.lex" { YDVAR(1, VAR_DO_IP4) } YY_BREAK case 15: YY_RULE_SETUP -#line 223 "./util/configlexer.lex" +#line 222 "./util/configlexer.lex" { YDVAR(1, VAR_DO_IP6) } YY_BREAK case 16: YY_RULE_SETUP -#line 224 "./util/configlexer.lex" +#line 223 "./util/configlexer.lex" { YDVAR(1, VAR_PREFER_IP6) } YY_BREAK case 17: YY_RULE_SETUP -#line 225 "./util/configlexer.lex" +#line 224 "./util/configlexer.lex" { YDVAR(1, VAR_DO_UDP) } YY_BREAK case 18: YY_RULE_SETUP -#line 226 "./util/configlexer.lex" +#line 225 "./util/configlexer.lex" { YDVAR(1, VAR_DO_TCP) } YY_BREAK case 19: YY_RULE_SETUP -#line 227 "./util/configlexer.lex" +#line 226 "./util/configlexer.lex" { YDVAR(1, VAR_TCP_UPSTREAM) } YY_BREAK case 20: YY_RULE_SETUP -#line 228 "./util/configlexer.lex" +#line 227 "./util/configlexer.lex" { YDVAR(1, VAR_TCP_MSS) } YY_BREAK case 21: YY_RULE_SETUP -#line 229 "./util/configlexer.lex" +#line 228 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_TCP_MSS) } YY_BREAK case 22: YY_RULE_SETUP -#line 230 "./util/configlexer.lex" +#line 229 "./util/configlexer.lex" { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } YY_BREAK case 23: YY_RULE_SETUP -#line 231 "./util/configlexer.lex" +#line 230 "./util/configlexer.lex" { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } YY_BREAK case 24: YY_RULE_SETUP -#line 232 "./util/configlexer.lex" +#line 231 "./util/configlexer.lex" { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } YY_BREAK case 25: YY_RULE_SETUP -#line 233 "./util/configlexer.lex" +#line 232 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_UPSTREAM) } YY_BREAK case 26: YY_RULE_SETUP -#line 234 "./util/configlexer.lex" +#line 233 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_UPSTREAM) } YY_BREAK case 27: YY_RULE_SETUP -#line 235 "./util/configlexer.lex" +#line 234 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_SERVICE_KEY) } YY_BREAK case 28: YY_RULE_SETUP -#line 236 "./util/configlexer.lex" +#line 235 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_SERVICE_KEY) } YY_BREAK case 29: YY_RULE_SETUP -#line 237 "./util/configlexer.lex" +#line 236 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_SERVICE_PEM) } YY_BREAK case 30: YY_RULE_SETUP -#line 238 "./util/configlexer.lex" +#line 237 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_SERVICE_PEM) } YY_BREAK case 31: YY_RULE_SETUP -#line 239 "./util/configlexer.lex" +#line 238 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_PORT) } YY_BREAK case 32: YY_RULE_SETUP -#line 240 "./util/configlexer.lex" +#line 239 "./util/configlexer.lex" { YDVAR(1, VAR_SSL_PORT) } YY_BREAK case 33: YY_RULE_SETUP -#line 241 "./util/configlexer.lex" +#line 240 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_CERT_BUNDLE) } YY_BREAK case 34: YY_RULE_SETUP -#line 242 "./util/configlexer.lex" +#line 241 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_CERT_BUNDLE) } YY_BREAK case 35: YY_RULE_SETUP -#line 243 "./util/configlexer.lex" +#line 242 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_WIN_CERT) } YY_BREAK case 36: YY_RULE_SETUP -#line 244 "./util/configlexer.lex" +#line 243 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 37: YY_RULE_SETUP -#line 245 "./util/configlexer.lex" +#line 244 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 38: YY_RULE_SETUP -#line 246 "./util/configlexer.lex" +#line 245 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 39: YY_RULE_SETUP -#line 247 "./util/configlexer.lex" +#line 246 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 40: YY_RULE_SETUP -#line 248 "./util/configlexer.lex" +#line 247 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } YY_BREAK case 41: YY_RULE_SETUP -#line 249 "./util/configlexer.lex" +#line 248 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_CIPHERS) } YY_BREAK case 42: YY_RULE_SETUP -#line 250 "./util/configlexer.lex" +#line 249 "./util/configlexer.lex" { YDVAR(1, VAR_TLS_CIPHERSUITES) } YY_BREAK case 43: YY_RULE_SETUP -#line 251 "./util/configlexer.lex" +#line 250 "./util/configlexer.lex" { YDVAR(1, VAR_USE_SYSTEMD) } YY_BREAK case 44: YY_RULE_SETUP -#line 252 "./util/configlexer.lex" +#line 251 "./util/configlexer.lex" { YDVAR(1, VAR_DO_DAEMONIZE) } YY_BREAK case 45: YY_RULE_SETUP -#line 253 "./util/configlexer.lex" +#line 252 "./util/configlexer.lex" { YDVAR(1, VAR_INTERFACE) } YY_BREAK case 46: YY_RULE_SETUP -#line 254 "./util/configlexer.lex" +#line 253 "./util/configlexer.lex" { YDVAR(1, VAR_INTERFACE) } YY_BREAK case 47: YY_RULE_SETUP -#line 255 "./util/configlexer.lex" +#line 254 "./util/configlexer.lex" { YDVAR(1, VAR_OUTGOING_INTERFACE) } YY_BREAK case 48: YY_RULE_SETUP -#line 256 "./util/configlexer.lex" +#line 255 "./util/configlexer.lex" { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } YY_BREAK case 49: YY_RULE_SETUP -#line 257 "./util/configlexer.lex" +#line 256 "./util/configlexer.lex" { YDVAR(1, VAR_SO_RCVBUF) } YY_BREAK case 50: YY_RULE_SETUP -#line 258 "./util/configlexer.lex" +#line 257 "./util/configlexer.lex" { YDVAR(1, VAR_SO_SNDBUF) } YY_BREAK case 51: YY_RULE_SETUP -#line 259 "./util/configlexer.lex" +#line 258 "./util/configlexer.lex" { YDVAR(1, VAR_SO_REUSEPORT) } YY_BREAK case 52: YY_RULE_SETUP -#line 260 "./util/configlexer.lex" +#line 259 "./util/configlexer.lex" { YDVAR(1, VAR_IP_TRANSPARENT) } YY_BREAK case 53: YY_RULE_SETUP -#line 261 "./util/configlexer.lex" +#line 260 "./util/configlexer.lex" { YDVAR(1, VAR_IP_FREEBIND) } YY_BREAK case 54: YY_RULE_SETUP -#line 262 "./util/configlexer.lex" +#line 261 "./util/configlexer.lex" { YDVAR(1, VAR_CHROOT) } YY_BREAK case 55: YY_RULE_SETUP -#line 263 "./util/configlexer.lex" +#line 262 "./util/configlexer.lex" { YDVAR(1, VAR_USERNAME) } YY_BREAK case 56: YY_RULE_SETUP -#line 264 "./util/configlexer.lex" +#line 263 "./util/configlexer.lex" { YDVAR(1, VAR_DIRECTORY) } YY_BREAK case 57: YY_RULE_SETUP -#line 265 "./util/configlexer.lex" +#line 264 "./util/configlexer.lex" { YDVAR(1, VAR_LOGFILE) } YY_BREAK case 58: YY_RULE_SETUP -#line 266 "./util/configlexer.lex" +#line 265 "./util/configlexer.lex" { YDVAR(1, VAR_PIDFILE) } YY_BREAK case 59: YY_RULE_SETUP -#line 267 "./util/configlexer.lex" +#line 266 "./util/configlexer.lex" { YDVAR(1, VAR_ROOT_HINTS) } YY_BREAK case 60: YY_RULE_SETUP -#line 268 "./util/configlexer.lex" +#line 267 "./util/configlexer.lex" { YDVAR(1, VAR_STREAM_WAIT_SIZE) } YY_BREAK case 61: YY_RULE_SETUP -#line 269 "./util/configlexer.lex" +#line 268 "./util/configlexer.lex" { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } YY_BREAK case 62: YY_RULE_SETUP -#line 270 "./util/configlexer.lex" +#line 269 "./util/configlexer.lex" { YDVAR(1, VAR_MSG_BUFFER_SIZE) } YY_BREAK case 63: YY_RULE_SETUP -#line 271 "./util/configlexer.lex" +#line 270 "./util/configlexer.lex" { YDVAR(1, VAR_MSG_CACHE_SIZE) } YY_BREAK case 64: YY_RULE_SETUP -#line 272 "./util/configlexer.lex" +#line 271 "./util/configlexer.lex" { YDVAR(1, VAR_MSG_CACHE_SLABS) } YY_BREAK case 65: YY_RULE_SETUP -#line 273 "./util/configlexer.lex" +#line 272 "./util/configlexer.lex" { YDVAR(1, VAR_RRSET_CACHE_SIZE) } YY_BREAK case 66: YY_RULE_SETUP -#line 274 "./util/configlexer.lex" +#line 273 "./util/configlexer.lex" { YDVAR(1, VAR_RRSET_CACHE_SLABS) } YY_BREAK case 67: YY_RULE_SETUP -#line 275 "./util/configlexer.lex" +#line 274 "./util/configlexer.lex" { YDVAR(1, VAR_CACHE_MAX_TTL) } YY_BREAK case 68: YY_RULE_SETUP -#line 276 "./util/configlexer.lex" +#line 275 "./util/configlexer.lex" { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } YY_BREAK case 69: YY_RULE_SETUP -#line 277 "./util/configlexer.lex" +#line 276 "./util/configlexer.lex" { YDVAR(1, VAR_CACHE_MIN_TTL) } YY_BREAK case 70: YY_RULE_SETUP -#line 278 "./util/configlexer.lex" +#line 277 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_HOST_TTL) } YY_BREAK case 71: YY_RULE_SETUP -#line 279 "./util/configlexer.lex" +#line 278 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_LAME_TTL) } YY_BREAK case 72: YY_RULE_SETUP -#line 280 "./util/configlexer.lex" +#line 279 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_CACHE_SLABS) } YY_BREAK case 73: YY_RULE_SETUP -#line 281 "./util/configlexer.lex" +#line 280 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } YY_BREAK case 74: YY_RULE_SETUP -#line 282 "./util/configlexer.lex" +#line 281 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } YY_BREAK case 75: YY_RULE_SETUP -#line 283 "./util/configlexer.lex" +#line 282 "./util/configlexer.lex" { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } YY_BREAK case 76: YY_RULE_SETUP -#line 284 "./util/configlexer.lex" +#line 283 "./util/configlexer.lex" { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } YY_BREAK case 77: YY_RULE_SETUP -#line 285 "./util/configlexer.lex" +#line 284 "./util/configlexer.lex" { YDVAR(1, VAR_JOSTLE_TIMEOUT) } YY_BREAK case 78: YY_RULE_SETUP -#line 286 "./util/configlexer.lex" +#line 285 "./util/configlexer.lex" { YDVAR(1, VAR_DELAY_CLOSE) } YY_BREAK case 79: YY_RULE_SETUP -#line 287 "./util/configlexer.lex" +#line 286 "./util/configlexer.lex" { YDVAR(1, VAR_TARGET_FETCH_POLICY) } YY_BREAK case 80: YY_RULE_SETUP -#line 288 "./util/configlexer.lex" +#line 287 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } YY_BREAK case 81: YY_RULE_SETUP -#line 289 "./util/configlexer.lex" +#line 288 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } YY_BREAK case 82: YY_RULE_SETUP -#line 290 "./util/configlexer.lex" +#line 289 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_GLUE) } YY_BREAK case 83: YY_RULE_SETUP -#line 291 "./util/configlexer.lex" +#line 290 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } YY_BREAK case 84: YY_RULE_SETUP -#line 292 "./util/configlexer.lex" +#line 291 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } YY_BREAK case 85: YY_RULE_SETUP -#line 293 "./util/configlexer.lex" +#line 292 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } YY_BREAK case 86: YY_RULE_SETUP -#line 294 "./util/configlexer.lex" +#line 293 "./util/configlexer.lex" { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } YY_BREAK case 87: YY_RULE_SETUP -#line 295 "./util/configlexer.lex" +#line 294 "./util/configlexer.lex" { YDVAR(1, VAR_USE_CAPS_FOR_ID) } YY_BREAK case 88: YY_RULE_SETUP -#line 296 "./util/configlexer.lex" +#line 295 "./util/configlexer.lex" { YDVAR(1, VAR_CAPS_WHITELIST) } YY_BREAK case 89: YY_RULE_SETUP -#line 297 "./util/configlexer.lex" +#line 296 "./util/configlexer.lex" { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } YY_BREAK case 90: YY_RULE_SETUP -#line 298 "./util/configlexer.lex" +#line 297 "./util/configlexer.lex" { YDVAR(1, VAR_PRIVATE_ADDRESS) } YY_BREAK case 91: YY_RULE_SETUP -#line 299 "./util/configlexer.lex" +#line 298 "./util/configlexer.lex" { YDVAR(1, VAR_PRIVATE_DOMAIN) } YY_BREAK case 92: YY_RULE_SETUP -#line 300 "./util/configlexer.lex" +#line 299 "./util/configlexer.lex" { YDVAR(1, VAR_PREFETCH_KEY) } YY_BREAK case 93: YY_RULE_SETUP -#line 301 "./util/configlexer.lex" +#line 300 "./util/configlexer.lex" { YDVAR(1, VAR_PREFETCH) } YY_BREAK case 94: YY_RULE_SETUP -#line 302 "./util/configlexer.lex" +#line 301 "./util/configlexer.lex" { YDVAR(1, VAR_DENY_ANY) } YY_BREAK case 95: YY_RULE_SETUP -#line 303 "./util/configlexer.lex" +#line 302 "./util/configlexer.lex" { YDVAR(0, VAR_STUB_ZONE) } YY_BREAK case 96: YY_RULE_SETUP -#line 304 "./util/configlexer.lex" +#line 303 "./util/configlexer.lex" { YDVAR(1, VAR_NAME) } YY_BREAK case 97: YY_RULE_SETUP -#line 305 "./util/configlexer.lex" +#line 304 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_ADDR) } YY_BREAK case 98: YY_RULE_SETUP -#line 306 "./util/configlexer.lex" +#line 305 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_HOST) } YY_BREAK case 99: YY_RULE_SETUP -#line 307 "./util/configlexer.lex" +#line 306 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_PRIME) } YY_BREAK case 100: YY_RULE_SETUP -#line 308 "./util/configlexer.lex" +#line 307 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_FIRST) } YY_BREAK case 101: YY_RULE_SETUP -#line 309 "./util/configlexer.lex" +#line 308 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_NO_CACHE) } YY_BREAK case 102: YY_RULE_SETUP -#line 310 "./util/configlexer.lex" +#line 309 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } YY_BREAK case 103: YY_RULE_SETUP -#line 311 "./util/configlexer.lex" +#line 310 "./util/configlexer.lex" { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } YY_BREAK case 104: YY_RULE_SETUP -#line 312 "./util/configlexer.lex" +#line 311 "./util/configlexer.lex" { YDVAR(0, VAR_FORWARD_ZONE) } YY_BREAK case 105: YY_RULE_SETUP -#line 313 "./util/configlexer.lex" +#line 312 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_ADDR) } YY_BREAK case 106: YY_RULE_SETUP -#line 314 "./util/configlexer.lex" +#line 313 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_HOST) } YY_BREAK case 107: YY_RULE_SETUP -#line 315 "./util/configlexer.lex" +#line 314 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_FIRST) } YY_BREAK case 108: YY_RULE_SETUP -#line 316 "./util/configlexer.lex" +#line 315 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_NO_CACHE) } YY_BREAK case 109: YY_RULE_SETUP -#line 317 "./util/configlexer.lex" +#line 316 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } YY_BREAK case 110: YY_RULE_SETUP -#line 318 "./util/configlexer.lex" +#line 317 "./util/configlexer.lex" { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } YY_BREAK case 111: YY_RULE_SETUP -#line 319 "./util/configlexer.lex" +#line 318 "./util/configlexer.lex" { YDVAR(0, VAR_AUTH_ZONE) } YY_BREAK case 112: YY_RULE_SETUP -#line 320 "./util/configlexer.lex" +#line 319 "./util/configlexer.lex" { YDVAR(1, VAR_ZONEFILE) } YY_BREAK case 113: YY_RULE_SETUP -#line 321 "./util/configlexer.lex" +#line 320 "./util/configlexer.lex" { YDVAR(1, VAR_MASTER) } YY_BREAK case 114: YY_RULE_SETUP -#line 322 "./util/configlexer.lex" +#line 321 "./util/configlexer.lex" { YDVAR(1, VAR_URL) } YY_BREAK case 115: YY_RULE_SETUP -#line 323 "./util/configlexer.lex" +#line 322 "./util/configlexer.lex" { YDVAR(1, VAR_ALLOW_NOTIFY) } YY_BREAK case 116: YY_RULE_SETUP -#line 324 "./util/configlexer.lex" +#line 323 "./util/configlexer.lex" { YDVAR(1, VAR_FOR_DOWNSTREAM) } YY_BREAK case 117: YY_RULE_SETUP -#line 325 "./util/configlexer.lex" +#line 324 "./util/configlexer.lex" { YDVAR(1, VAR_FOR_UPSTREAM) } YY_BREAK case 118: YY_RULE_SETUP -#line 326 "./util/configlexer.lex" +#line 325 "./util/configlexer.lex" { YDVAR(1, VAR_FALLBACK_ENABLED) } YY_BREAK case 119: YY_RULE_SETUP -#line 327 "./util/configlexer.lex" +#line 326 "./util/configlexer.lex" { YDVAR(0, VAR_VIEW) } YY_BREAK case 120: YY_RULE_SETUP -#line 328 "./util/configlexer.lex" +#line 327 "./util/configlexer.lex" { YDVAR(1, VAR_VIEW_FIRST) } YY_BREAK case 121: YY_RULE_SETUP -#line 329 "./util/configlexer.lex" +#line 328 "./util/configlexer.lex" { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } YY_BREAK case 122: YY_RULE_SETUP -#line 330 "./util/configlexer.lex" +#line 329 "./util/configlexer.lex" { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } YY_BREAK case 123: YY_RULE_SETUP -#line 331 "./util/configlexer.lex" +#line 330 "./util/configlexer.lex" { YDVAR(2, VAR_ACCESS_CONTROL) } YY_BREAK case 124: YY_RULE_SETUP -#line 332 "./util/configlexer.lex" +#line 331 "./util/configlexer.lex" { YDVAR(1, VAR_SEND_CLIENT_SUBNET) } YY_BREAK case 125: YY_RULE_SETUP -#line 333 "./util/configlexer.lex" +#line 332 "./util/configlexer.lex" { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } YY_BREAK case 126: YY_RULE_SETUP -#line 334 "./util/configlexer.lex" +#line 333 "./util/configlexer.lex" { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } YY_BREAK case 127: YY_RULE_SETUP -#line 335 "./util/configlexer.lex" +#line 334 "./util/configlexer.lex" { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } YY_BREAK case 128: YY_RULE_SETUP -#line 336 "./util/configlexer.lex" +#line 335 "./util/configlexer.lex" { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } YY_BREAK case 129: YY_RULE_SETUP -#line 337 "./util/configlexer.lex" +#line 336 "./util/configlexer.lex" { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } YY_BREAK case 130: YY_RULE_SETUP -#line 338 "./util/configlexer.lex" +#line 337 "./util/configlexer.lex" { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } YY_BREAK case 131: YY_RULE_SETUP -#line 339 "./util/configlexer.lex" +#line 338 "./util/configlexer.lex" { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } YY_BREAK case 132: YY_RULE_SETUP -#line 340 "./util/configlexer.lex" +#line 339 "./util/configlexer.lex" { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } YY_BREAK case 133: YY_RULE_SETUP -#line 341 "./util/configlexer.lex" +#line 340 "./util/configlexer.lex" { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } YY_BREAK case 134: YY_RULE_SETUP -#line 342 "./util/configlexer.lex" +#line 341 "./util/configlexer.lex" { YDVAR(1, VAR_HIDE_IDENTITY) } YY_BREAK case 135: YY_RULE_SETUP -#line 343 "./util/configlexer.lex" +#line 342 "./util/configlexer.lex" { YDVAR(1, VAR_HIDE_VERSION) } YY_BREAK case 136: YY_RULE_SETUP -#line 344 "./util/configlexer.lex" +#line 343 "./util/configlexer.lex" { YDVAR(1, VAR_HIDE_TRUSTANCHOR) } YY_BREAK case 137: YY_RULE_SETUP -#line 345 "./util/configlexer.lex" +#line 344 "./util/configlexer.lex" { YDVAR(1, VAR_IDENTITY) } YY_BREAK case 138: YY_RULE_SETUP -#line 346 "./util/configlexer.lex" +#line 345 "./util/configlexer.lex" { YDVAR(1, VAR_VERSION) } YY_BREAK case 139: YY_RULE_SETUP -#line 347 "./util/configlexer.lex" +#line 346 "./util/configlexer.lex" { YDVAR(1, VAR_MODULE_CONF) } YY_BREAK case 140: YY_RULE_SETUP -#line 348 "./util/configlexer.lex" +#line 347 "./util/configlexer.lex" { YDVAR(1, VAR_DLV_ANCHOR) } YY_BREAK case 141: YY_RULE_SETUP -#line 349 "./util/configlexer.lex" +#line 348 "./util/configlexer.lex" { YDVAR(1, VAR_DLV_ANCHOR_FILE) } YY_BREAK case 142: YY_RULE_SETUP -#line 350 "./util/configlexer.lex" +#line 349 "./util/configlexer.lex" { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } YY_BREAK case 143: YY_RULE_SETUP -#line 351 "./util/configlexer.lex" +#line 350 "./util/configlexer.lex" { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } YY_BREAK case 144: YY_RULE_SETUP -#line 352 "./util/configlexer.lex" +#line 351 "./util/configlexer.lex" { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } YY_BREAK case 145: YY_RULE_SETUP -#line 353 "./util/configlexer.lex" +#line 352 "./util/configlexer.lex" { YDVAR(1, VAR_TRUST_ANCHOR) } YY_BREAK case 146: YY_RULE_SETUP -#line 354 "./util/configlexer.lex" +#line 353 "./util/configlexer.lex" { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } YY_BREAK case 147: YY_RULE_SETUP -#line 355 "./util/configlexer.lex" +#line 354 "./util/configlexer.lex" { YDVAR(1, VAR_ROOT_KEY_SENTINEL) } YY_BREAK case 148: YY_RULE_SETUP -#line 356 "./util/configlexer.lex" +#line 355 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } YY_BREAK case 149: YY_RULE_SETUP -#line 357 "./util/configlexer.lex" +#line 356 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } YY_BREAK case 150: YY_RULE_SETUP -#line 358 "./util/configlexer.lex" +#line 357 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } YY_BREAK case 151: YY_RULE_SETUP -#line 359 "./util/configlexer.lex" +#line 358 "./util/configlexer.lex" { YDVAR(1, VAR_BOGUS_TTL) } YY_BREAK case 152: YY_RULE_SETUP -#line 360 "./util/configlexer.lex" +#line 359 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } YY_BREAK case 153: YY_RULE_SETUP -#line 361 "./util/configlexer.lex" +#line 360 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } YY_BREAK case 154: YY_RULE_SETUP -#line 362 "./util/configlexer.lex" +#line 361 "./util/configlexer.lex" { YDVAR(1, VAR_AGGRESSIVE_NSEC) } YY_BREAK case 155: YY_RULE_SETUP -#line 363 "./util/configlexer.lex" +#line 362 "./util/configlexer.lex" { YDVAR(1, VAR_IGNORE_CD_FLAG) } YY_BREAK case 156: YY_RULE_SETUP -#line 364 "./util/configlexer.lex" +#line 363 "./util/configlexer.lex" { YDVAR(1, VAR_SERVE_EXPIRED) } YY_BREAK case 157: YY_RULE_SETUP -#line 365 "./util/configlexer.lex" +#line 364 "./util/configlexer.lex" { YDVAR(1, VAR_SERVE_EXPIRED_TTL) } YY_BREAK case 158: YY_RULE_SETUP -#line 366 "./util/configlexer.lex" +#line 365 "./util/configlexer.lex" { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } YY_BREAK case 159: YY_RULE_SETUP -#line 367 "./util/configlexer.lex" +#line 366 "./util/configlexer.lex" { YDVAR(1, VAR_FAKE_DSA) } YY_BREAK case 160: YY_RULE_SETUP -#line 368 "./util/configlexer.lex" +#line 367 "./util/configlexer.lex" { YDVAR(1, VAR_FAKE_SHA1) } YY_BREAK case 161: YY_RULE_SETUP -#line 369 "./util/configlexer.lex" +#line 368 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_LOG_LEVEL) } YY_BREAK case 162: YY_RULE_SETUP -#line 370 "./util/configlexer.lex" +#line 369 "./util/configlexer.lex" { YDVAR(1, VAR_KEY_CACHE_SIZE) } YY_BREAK case 163: YY_RULE_SETUP -#line 371 "./util/configlexer.lex" +#line 370 "./util/configlexer.lex" { YDVAR(1, VAR_KEY_CACHE_SLABS) } YY_BREAK case 164: YY_RULE_SETUP -#line 372 "./util/configlexer.lex" +#line 371 "./util/configlexer.lex" { YDVAR(1, VAR_NEG_CACHE_SIZE) } YY_BREAK case 165: YY_RULE_SETUP -#line 373 "./util/configlexer.lex" +#line 372 "./util/configlexer.lex" { YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } YY_BREAK case 166: YY_RULE_SETUP -#line 375 "./util/configlexer.lex" +#line 374 "./util/configlexer.lex" { YDVAR(1, VAR_ADD_HOLDDOWN) } YY_BREAK case 167: YY_RULE_SETUP -#line 376 "./util/configlexer.lex" +#line 375 "./util/configlexer.lex" { YDVAR(1, VAR_DEL_HOLDDOWN) } YY_BREAK case 168: YY_RULE_SETUP -#line 377 "./util/configlexer.lex" +#line 376 "./util/configlexer.lex" { YDVAR(1, VAR_KEEP_MISSING) } YY_BREAK case 169: YY_RULE_SETUP -#line 378 "./util/configlexer.lex" +#line 377 "./util/configlexer.lex" { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } YY_BREAK case 170: YY_RULE_SETUP -#line 379 "./util/configlexer.lex" +#line 378 "./util/configlexer.lex" { YDVAR(1, VAR_USE_SYSLOG) } YY_BREAK case 171: YY_RULE_SETUP -#line 380 "./util/configlexer.lex" +#line 379 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_IDENTITY) } YY_BREAK case 172: YY_RULE_SETUP -#line 381 "./util/configlexer.lex" +#line 380 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_TIME_ASCII) } YY_BREAK case 173: YY_RULE_SETUP -#line 382 "./util/configlexer.lex" +#line 381 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_QUERIES) } YY_BREAK case 174: YY_RULE_SETUP -#line 383 "./util/configlexer.lex" +#line 382 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_REPLIES) } YY_BREAK case 175: YY_RULE_SETUP -#line 384 "./util/configlexer.lex" +#line 383 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } YY_BREAK case 176: YY_RULE_SETUP -#line 385 "./util/configlexer.lex" +#line 384 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } YY_BREAK case 177: YY_RULE_SETUP -#line 386 "./util/configlexer.lex" +#line 385 "./util/configlexer.lex" { YDVAR(1, VAR_LOG_SERVFAIL) } YY_BREAK case 178: YY_RULE_SETUP -#line 387 "./util/configlexer.lex" +#line 386 "./util/configlexer.lex" { YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 179: YY_RULE_SETUP -#line 388 "./util/configlexer.lex" +#line 387 "./util/configlexer.lex" { YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 180: YY_RULE_SETUP -#line 389 "./util/configlexer.lex" +#line 388 "./util/configlexer.lex" { YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 181: YY_RULE_SETUP -#line 390 "./util/configlexer.lex" +#line 389 "./util/configlexer.lex" { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } YY_BREAK case 182: YY_RULE_SETUP -#line 391 "./util/configlexer.lex" +#line 390 "./util/configlexer.lex" { YDVAR(1, VAR_INSECURE_LAN_ZONES) } YY_BREAK case 183: YY_RULE_SETUP -#line 392 "./util/configlexer.lex" +#line 391 "./util/configlexer.lex" { YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 184: YY_RULE_SETUP -#line 393 "./util/configlexer.lex" +#line 392 "./util/configlexer.lex" { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 185: YY_RULE_SETUP -#line 394 "./util/configlexer.lex" +#line 393 "./util/configlexer.lex" { YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 186: YY_RULE_SETUP -#line 395 "./util/configlexer.lex" +#line 394 "./util/configlexer.lex" { YDVAR(1, VAR_SHM_ENABLE) } YY_BREAK case 187: YY_RULE_SETUP -#line 396 "./util/configlexer.lex" +#line 395 "./util/configlexer.lex" { YDVAR(1, VAR_SHM_KEY) } YY_BREAK case 188: YY_RULE_SETUP -#line 397 "./util/configlexer.lex" +#line 396 "./util/configlexer.lex" { YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 189: YY_RULE_SETUP -#line 398 "./util/configlexer.lex" +#line 397 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 190: YY_RULE_SETUP -#line 399 "./util/configlexer.lex" +#line 398 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 191: YY_RULE_SETUP -#line 400 "./util/configlexer.lex" +#line 399 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 192: YY_RULE_SETUP -#line 401 "./util/configlexer.lex" +#line 400 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_USE_CERT) } YY_BREAK case 193: YY_RULE_SETUP -#line 402 "./util/configlexer.lex" +#line 401 "./util/configlexer.lex" { YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 194: YY_RULE_SETUP -#line 403 "./util/configlexer.lex" +#line 402 "./util/configlexer.lex" { YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 195: YY_RULE_SETUP -#line 404 "./util/configlexer.lex" +#line 403 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 196: YY_RULE_SETUP -#line 405 "./util/configlexer.lex" +#line 404 "./util/configlexer.lex" { YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 197: YY_RULE_SETUP -#line 406 "./util/configlexer.lex" +#line 405 "./util/configlexer.lex" { YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 198: YY_RULE_SETUP -#line 407 "./util/configlexer.lex" +#line 406 "./util/configlexer.lex" { YDVAR(0, VAR_PYTHON) } YY_BREAK case 199: YY_RULE_SETUP -#line 408 "./util/configlexer.lex" +#line 407 "./util/configlexer.lex" { YDVAR(1, VAR_DOMAIN_INSECURE) } YY_BREAK case 200: YY_RULE_SETUP -#line 409 "./util/configlexer.lex" +#line 408 "./util/configlexer.lex" { YDVAR(1, VAR_MINIMAL_RESPONSES) } YY_BREAK case 201: YY_RULE_SETUP -#line 410 "./util/configlexer.lex" +#line 409 "./util/configlexer.lex" { YDVAR(1, VAR_RRSET_ROUNDROBIN) } YY_BREAK case 202: YY_RULE_SETUP -#line 411 "./util/configlexer.lex" +#line 410 "./util/configlexer.lex" { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } YY_BREAK case 203: YY_RULE_SETUP -#line 412 "./util/configlexer.lex" +#line 411 "./util/configlexer.lex" { YDVAR(1, VAR_MAX_UDP_SIZE) } YY_BREAK case 204: YY_RULE_SETUP -#line 413 "./util/configlexer.lex" +#line 412 "./util/configlexer.lex" { YDVAR(1, VAR_DNS64_PREFIX) } YY_BREAK case 205: YY_RULE_SETUP -#line 414 "./util/configlexer.lex" +#line 413 "./util/configlexer.lex" { YDVAR(1, VAR_DNS64_SYNTHALL) } YY_BREAK case 206: YY_RULE_SETUP -#line 415 "./util/configlexer.lex" +#line 414 "./util/configlexer.lex" { YDVAR(1, VAR_DNS64_IGNORE_AAAA) } YY_BREAK case 207: YY_RULE_SETUP -#line 416 "./util/configlexer.lex" +#line 415 "./util/configlexer.lex" { YDVAR(1, VAR_DEFINE_TAG) } YY_BREAK case 208: YY_RULE_SETUP -#line 417 "./util/configlexer.lex" +#line 416 "./util/configlexer.lex" { YDVAR(2, VAR_LOCAL_ZONE_TAG) } YY_BREAK case 209: YY_RULE_SETUP -#line 418 "./util/configlexer.lex" +#line 417 "./util/configlexer.lex" { YDVAR(2, VAR_ACCESS_CONTROL_TAG) } YY_BREAK case 210: YY_RULE_SETUP -#line 419 "./util/configlexer.lex" +#line 418 "./util/configlexer.lex" { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } YY_BREAK case 211: YY_RULE_SETUP -#line 420 "./util/configlexer.lex" +#line 419 "./util/configlexer.lex" { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } YY_BREAK case 212: YY_RULE_SETUP -#line 421 "./util/configlexer.lex" +#line 420 "./util/configlexer.lex" { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } YY_BREAK case 213: YY_RULE_SETUP -#line 422 "./util/configlexer.lex" +#line 421 "./util/configlexer.lex" { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } YY_BREAK case 214: YY_RULE_SETUP -#line 423 "./util/configlexer.lex" +#line 422 "./util/configlexer.lex" { YDVAR(0, VAR_DNSTAP) } YY_BREAK case 215: YY_RULE_SETUP -#line 424 "./util/configlexer.lex" +#line 423 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_ENABLE) } YY_BREAK case 216: YY_RULE_SETUP -#line 425 "./util/configlexer.lex" +#line 424 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } YY_BREAK case 217: YY_RULE_SETUP -#line 426 "./util/configlexer.lex" +#line 425 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } YY_BREAK case 218: YY_RULE_SETUP -#line 427 "./util/configlexer.lex" +#line 426 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_SEND_VERSION) } YY_BREAK case 219: YY_RULE_SETUP -#line 428 "./util/configlexer.lex" +#line 427 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_IDENTITY) } YY_BREAK case 220: YY_RULE_SETUP -#line 429 "./util/configlexer.lex" +#line 428 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_VERSION) } YY_BREAK case 221: YY_RULE_SETUP -#line 430 "./util/configlexer.lex" +#line 429 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } YY_BREAK case 222: YY_RULE_SETUP -#line 432 "./util/configlexer.lex" +#line 431 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } YY_BREAK case 223: YY_RULE_SETUP -#line 434 "./util/configlexer.lex" +#line 433 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } YY_BREAK case 224: YY_RULE_SETUP -#line 436 "./util/configlexer.lex" +#line 435 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } YY_BREAK case 225: YY_RULE_SETUP -#line 438 "./util/configlexer.lex" +#line 437 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } YY_BREAK case 226: YY_RULE_SETUP -#line 440 "./util/configlexer.lex" +#line 439 "./util/configlexer.lex" { YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } YY_BREAK case 227: YY_RULE_SETUP -#line 442 "./util/configlexer.lex" +#line 441 "./util/configlexer.lex" { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } YY_BREAK case 228: YY_RULE_SETUP -#line 443 "./util/configlexer.lex" +#line 442 "./util/configlexer.lex" { YDVAR(1, VAR_IP_RATELIMIT) } YY_BREAK case 229: YY_RULE_SETUP -#line 444 "./util/configlexer.lex" +#line 443 "./util/configlexer.lex" { YDVAR(1, VAR_RATELIMIT) } YY_BREAK case 230: YY_RULE_SETUP -#line 445 "./util/configlexer.lex" +#line 444 "./util/configlexer.lex" { YDVAR(1, VAR_IP_RATELIMIT_SLABS) } YY_BREAK case 231: YY_RULE_SETUP -#line 446 "./util/configlexer.lex" +#line 445 "./util/configlexer.lex" { YDVAR(1, VAR_RATELIMIT_SLABS) } YY_BREAK case 232: YY_RULE_SETUP -#line 447 "./util/configlexer.lex" +#line 446 "./util/configlexer.lex" { YDVAR(1, VAR_IP_RATELIMIT_SIZE) } YY_BREAK case 233: YY_RULE_SETUP -#line 448 "./util/configlexer.lex" +#line 447 "./util/configlexer.lex" { YDVAR(1, VAR_RATELIMIT_SIZE) } YY_BREAK case 234: YY_RULE_SETUP -#line 449 "./util/configlexer.lex" +#line 448 "./util/configlexer.lex" { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } YY_BREAK case 235: YY_RULE_SETUP -#line 450 "./util/configlexer.lex" +#line 449 "./util/configlexer.lex" { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } YY_BREAK case 236: YY_RULE_SETUP -#line 451 "./util/configlexer.lex" +#line 450 "./util/configlexer.lex" { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } YY_BREAK case 237: YY_RULE_SETUP -#line 452 "./util/configlexer.lex" +#line 451 "./util/configlexer.lex" { YDVAR(1, VAR_RATELIMIT_FACTOR) } YY_BREAK case 238: YY_RULE_SETUP -#line 453 "./util/configlexer.lex" +#line 452 "./util/configlexer.lex" { YDVAR(1, VAR_LOW_RTT) } YY_BREAK case 239: YY_RULE_SETUP -#line 454 "./util/configlexer.lex" +#line 453 "./util/configlexer.lex" { YDVAR(1, VAR_FAST_SERVER_NUM) } YY_BREAK case 240: YY_RULE_SETUP -#line 455 "./util/configlexer.lex" +#line 454 "./util/configlexer.lex" { YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 241: YY_RULE_SETUP -#line 456 "./util/configlexer.lex" +#line 455 "./util/configlexer.lex" { YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 242: YY_RULE_SETUP -#line 457 "./util/configlexer.lex" +#line 456 "./util/configlexer.lex" { YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 243: YY_RULE_SETUP -#line 458 "./util/configlexer.lex" +#line 457 "./util/configlexer.lex" { YDVAR(2, VAR_RESPONSE_IP_TAG) } YY_BREAK case 244: YY_RULE_SETUP -#line 459 "./util/configlexer.lex" +#line 458 "./util/configlexer.lex" { YDVAR(2, VAR_RESPONSE_IP) } YY_BREAK case 245: YY_RULE_SETUP -#line 460 "./util/configlexer.lex" +#line 459 "./util/configlexer.lex" { YDVAR(2, VAR_RESPONSE_IP_DATA) } YY_BREAK case 246: YY_RULE_SETUP -#line 461 "./util/configlexer.lex" +#line 460 "./util/configlexer.lex" { YDVAR(0, VAR_DNSCRYPT) } YY_BREAK case 247: YY_RULE_SETUP -#line 462 "./util/configlexer.lex" +#line 461 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_ENABLE) } YY_BREAK case 248: YY_RULE_SETUP -#line 463 "./util/configlexer.lex" +#line 462 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_PORT) } YY_BREAK case 249: YY_RULE_SETUP -#line 464 "./util/configlexer.lex" +#line 463 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_PROVIDER) } YY_BREAK case 250: YY_RULE_SETUP -#line 465 "./util/configlexer.lex" +#line 464 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } YY_BREAK case 251: YY_RULE_SETUP -#line 466 "./util/configlexer.lex" +#line 465 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } YY_BREAK case 252: YY_RULE_SETUP -#line 467 "./util/configlexer.lex" +#line 466 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } YY_BREAK case 253: YY_RULE_SETUP -#line 468 "./util/configlexer.lex" +#line 467 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } YY_BREAK case 254: YY_RULE_SETUP -#line 470 "./util/configlexer.lex" +#line 469 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } YY_BREAK case 255: YY_RULE_SETUP -#line 472 "./util/configlexer.lex" +#line 471 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } YY_BREAK case 256: YY_RULE_SETUP -#line 473 "./util/configlexer.lex" +#line 472 "./util/configlexer.lex" { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } YY_BREAK case 257: YY_RULE_SETUP -#line 474 "./util/configlexer.lex" +#line 473 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_ENABLED) } YY_BREAK case 258: YY_RULE_SETUP -#line 475 "./util/configlexer.lex" +#line 474 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } YY_BREAK case 259: YY_RULE_SETUP -#line 476 "./util/configlexer.lex" +#line 475 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_HOOK) } YY_BREAK case 260: YY_RULE_SETUP -#line 477 "./util/configlexer.lex" +#line 476 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_MAX_TTL) } YY_BREAK case 261: YY_RULE_SETUP -#line 478 "./util/configlexer.lex" +#line 477 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_WHITELIST) } YY_BREAK case 262: YY_RULE_SETUP -#line 479 "./util/configlexer.lex" +#line 478 "./util/configlexer.lex" { YDVAR(1, VAR_IPSECMOD_STRICT) } YY_BREAK case 263: YY_RULE_SETUP -#line 480 "./util/configlexer.lex" +#line 479 "./util/configlexer.lex" { YDVAR(0, VAR_CACHEDB) } YY_BREAK case 264: YY_RULE_SETUP -#line 481 "./util/configlexer.lex" +#line 480 "./util/configlexer.lex" { YDVAR(1, VAR_CACHEDB_BACKEND) } YY_BREAK case 265: YY_RULE_SETUP -#line 482 "./util/configlexer.lex" +#line 481 "./util/configlexer.lex" { YDVAR(1, VAR_CACHEDB_SECRETSEED) } YY_BREAK case 266: YY_RULE_SETUP -#line 483 "./util/configlexer.lex" +#line 482 "./util/configlexer.lex" { YDVAR(1, VAR_CACHEDB_REDISHOST) } YY_BREAK case 267: YY_RULE_SETUP -#line 484 "./util/configlexer.lex" +#line 483 "./util/configlexer.lex" { YDVAR(1, VAR_CACHEDB_REDISPORT) } YY_BREAK case 268: YY_RULE_SETUP -#line 485 "./util/configlexer.lex" +#line 484 "./util/configlexer.lex" { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } YY_BREAK case 269: YY_RULE_SETUP -#line 486 "./util/configlexer.lex" +#line 485 "./util/configlexer.lex" { YDVAR(0, VAR_IPSET) } YY_BREAK case 270: YY_RULE_SETUP -#line 487 "./util/configlexer.lex" +#line 486 "./util/configlexer.lex" { YDVAR(1, VAR_IPSET_NAME_V4) } YY_BREAK case 271: YY_RULE_SETUP -#line 488 "./util/configlexer.lex" +#line 487 "./util/configlexer.lex" { YDVAR(1, VAR_IPSET_NAME_V6) } YY_BREAK case 272: YY_RULE_SETUP -#line 489 "./util/configlexer.lex" +#line 488 "./util/configlexer.lex" { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } YY_BREAK case 273: YY_RULE_SETUP -#line 490 "./util/configlexer.lex" +#line 489 "./util/configlexer.lex" { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } YY_BREAK case 274: /* rule 274 can match eol */ YY_RULE_SETUP -#line 491 "./util/configlexer.lex" +#line 490 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ case 275: YY_RULE_SETUP -#line 494 "./util/configlexer.lex" +#line 493 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 495 "./util/configlexer.lex" +#line 494 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4540,19 +4539,19 @@ case YY_STATE_EOF(quotedstring): YY_BREAK case 276: YY_RULE_SETUP -#line 500 "./util/configlexer.lex" +#line 499 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK case 277: /* rule 277 can match eol */ YY_RULE_SETUP -#line 501 "./util/configlexer.lex" +#line 500 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK case 278: YY_RULE_SETUP -#line 503 "./util/configlexer.lex" +#line 502 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4567,11 +4566,11 @@ YY_RULE_SETUP /* Single Quoted strings. Strip leading and ending quotes */ case 279: YY_RULE_SETUP -#line 515 "./util/configlexer.lex" +#line 514 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 516 "./util/configlexer.lex" +#line 515 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4580,19 +4579,19 @@ case YY_STATE_EOF(singlequotedstr): YY_BREAK case 280: YY_RULE_SETUP -#line 521 "./util/configlexer.lex" +#line 520 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK case 281: /* rule 281 can match eol */ YY_RULE_SETUP -#line 522 "./util/configlexer.lex" +#line 521 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK case 282: YY_RULE_SETUP -#line 524 "./util/configlexer.lex" +#line 523 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -4607,12 +4606,12 @@ YY_RULE_SETUP /* include: directive */ case 283: YY_RULE_SETUP -#line 536 "./util/configlexer.lex" +#line 535 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 538 "./util/configlexer.lex" +#line 537 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); @@ -4620,23 +4619,23 @@ case YY_STATE_EOF(include): YY_BREAK case 284: YY_RULE_SETUP -#line 542 "./util/configlexer.lex" +#line 541 "./util/configlexer.lex" { LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 285: /* rule 285 can match eol */ YY_RULE_SETUP -#line 543 "./util/configlexer.lex" +#line 542 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 286: YY_RULE_SETUP -#line 544 "./util/configlexer.lex" +#line 543 "./util/configlexer.lex" { LEXOUT(("IQS ")); BEGIN(include_quoted); } YY_BREAK case 287: YY_RULE_SETUP -#line 545 "./util/configlexer.lex" +#line 544 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext); @@ -4644,7 +4643,7 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 550 "./util/configlexer.lex" +#line 549 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); @@ -4652,19 +4651,19 @@ case YY_STATE_EOF(include_quoted): YY_BREAK case 288: YY_RULE_SETUP -#line 554 "./util/configlexer.lex" +#line 553 "./util/configlexer.lex" { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } YY_BREAK case 289: /* rule 289 can match eol */ YY_RULE_SETUP -#line 555 "./util/configlexer.lex" +#line 554 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK case 290: YY_RULE_SETUP -#line 557 "./util/configlexer.lex" +#line 556 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -4674,7 +4673,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 563 "./util/configlexer.lex" +#line 562 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -4688,31 +4687,31 @@ case YY_STATE_EOF(val): YY_BREAK case 291: YY_RULE_SETUP -#line 574 "./util/configlexer.lex" +#line 573 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK case 292: YY_RULE_SETUP -#line 578 "./util/configlexer.lex" +#line 577 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK case 293: YY_RULE_SETUP -#line 582 "./util/configlexer.lex" +#line 581 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK case 294: YY_RULE_SETUP -#line 586 "./util/configlexer.lex" +#line 585 "./util/configlexer.lex" ECHO; YY_BREAK -#line 4713 "" +#line 4712 "" case YY_END_OF_BUFFER: { @@ -5678,6 +5677,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 586 "./util/configlexer.lex" +#line 585 "./util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index 7a9729086..a86ddf55d 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -112,8 +112,7 @@ static void config_start_include_glob(const char* filename) /* check for wildcards */ #ifdef HAVE_GLOB glob_t g; - size_t i; - int r, flags; + int i, r, flags; if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && !strchr(filename, '{') && !strchr(filename, '~'))) { flags = 0 @@ -144,7 +143,7 @@ static void config_start_include_glob(const char* filename) return; } /* process files found, if any */ - for(i=0; i<(size_t)g.gl_pathc; i++) { + for(i=(int)g.gl_pathc-1; i>=0; i--) { config_start_include(g.gl_pathv[i]); } globfree(&g);