]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- The unbound.conf includes are sorted ascending, for include
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 25 Sep 2019 14:50:30 +0000 (16:50 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 25 Sep 2019 14:50:30 +0000 (16:50 +0200)
  statements with a '*' from glob.

doc/Changelog
util/configlexer.c
util/configlexer.lex

index 12f17f5620e5a471aa3c8ca5dc1882ac61832e3b..c14862755c9c0471066f84be48503da91e50d59e 100644 (file)
@@ -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.
index 72622a0c092889f0e775ddbdeae2b12273aa5b12..cedb4878d4ff07d9a6c7e49a1a6533b3e55f31f5 100644 (file)
@@ -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 "<stdout>"
+#line 2845 "<stdout>"
 #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 "<stdout>"
+#line 2854 "<stdout>"
 
-#line 2857 "<stdout>"
+#line 2856 "<stdout>"
 
 #define INITIAL 0
 #define quotedstring 1
@@ -3076,9 +3075,9 @@ YY_DECL
                }
 
        {
-#line 205 "./util/configlexer.lex"
+#line 204 "./util/configlexer.lex"
 
-#line 3079 "<stdout>"
+#line 3078 "<stdout>"
 
        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 "<stdout>"
+#line 4712 "<stdout>"
 
        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"
 
 
index 7a9729086afcfbb19bcb83490e72781c15296d8c..a86ddf55d9beb5f9e9957537e3a2549e419089f9 100644 (file)
@@ -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);