diff --git a/doc/Changelog b/doc/Changelog index 4ebcf4c26..e02e46afc 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,8 @@ 20 July 2009: Wouter - Ignore transient sendto errors, no route to host, and host, net down. - contrib/update-anchor.sh has -r option for root-hints. + - feature val-log-level: 1 prints validation failures so you can + keep track of them during dnssec deployment. 16 July 2009: Wouter - fix replacement malloc code. Used in crosscompile. diff --git a/doc/example.conf.in b/doc/example.conf.in index 36cd00fdb..1a0baba20 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -342,6 +342,10 @@ server: # replies if the message is found secure. The default is off. # val-permissive-mode: no + # Have the validator log failed validations for your diagnosis. + # 0: off. 1: A line per failed user query. + # val-log-level: 0 + # It is possible to configure NSEC3 maximum iteration counts per # keysize. Keep this table very short, as linear search is done. # A message with an NSEC3 with larger count is marked insecure. diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 64e4ac669..07a19c935 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -563,6 +563,13 @@ indeterminate or unchecked are not affected. Default is yes. Use this setting to protect the users that rely on this validator for authentication from protentially bad data in the additional section. .TP +.B val\-log\-level: \fI +Have the validator print validation failures to the log. Regardless of the +verbosity setting. Default is 0, off. At 1, for every user query that fails +a line is printed to the logs. This way you can monitor what happens with +validation. Use a diagnosis tool, such as dig or drill, to find out why +validation is failing for these queries. +.TP .B val\-permissive\-mode: \fI Instruct the validator to mark bogus messages as indeterminate. The security checks are performed, but if the result is bogus (failed security), the diff --git a/smallapp/unbound-checkconf.c b/smallapp/unbound-checkconf.c index af5a346a4..91c5a4ec6 100644 --- a/smallapp/unbound-checkconf.c +++ b/smallapp/unbound-checkconf.c @@ -175,6 +175,7 @@ print_option(struct config_file* cfg, const char* opt) else O_STR(opt, "dlv-anchor-file", dlv_anchor_file) else O_DEC(opt, "val-bogus-ttl", bogus_ttl) else O_YNO(opt, "val-clean-additional", val_clean_additional) + else O_DEC(opt, "val-log-level", val_log_level) else O_YNO(opt, "val-permissive-mode", val_permissive_mode) else O_STR(opt, "val-nsec3-keysize-iterations",val_nsec3_key_iterations) else O_MEM(opt, "key-cache-size", key_cache_size) diff --git a/util/config_file.c b/util/config_file.c index ec30c35c5..a11546637 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -155,6 +155,7 @@ config_create() cfg->val_sig_skew_min = 3600; /* at least daylight savings trouble */ cfg->val_sig_skew_max = 86400; /* at most timezone settings trouble */ cfg->val_clean_additional = 1; + cfg->val_log_level = 0; cfg->val_permissive_mode = 0; cfg->key_cache_size = 4 * 1024 * 1024; cfg->key_cache_slabs = 4; @@ -375,6 +376,9 @@ int config_set_option(struct config_file* cfg, const char* opt, } else if(strcmp(opt, "val-clean-additional:") == 0) { IS_YES_OR_NO; cfg->val_clean_additional = (strcmp(val, "yes") == 0); + } else if(strcmp(opt, "val-log-level:") == 0) { + IS_NUMBER_OR_ZERO; + cfg->val_log_level = atoi(val); } else if(strcmp(opt, "val-permissive-mode:") == 0) { IS_YES_OR_NO; cfg->val_permissive_mode = (strcmp(val, "yes") == 0); diff --git a/util/config_file.h b/util/config_file.h index 49ef8e3a7..54e38e425 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -213,6 +213,8 @@ struct config_file { int bogus_ttl; /** should validator clean additional section for secure msgs */ int val_clean_additional; + /** log bogus messages by the validator */ + int val_log_level; /** should validator allow bogus messages to go through */ int val_permissive_mode; /** nsec3 maximum iterations per key size, string */ diff --git a/util/configlexer.c b/util/configlexer.c index 84fa7a2f8..496704909 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -362,8 +362,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 120 -#define YY_END_OF_BUFFER 121 +#define YY_NUM_RULES 121 +#define YY_END_OF_BUFFER 122 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -371,130 +371,131 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1111] = +static yyconst flex_int16_t yy_accept[1121] = { 0, - 1, 1, 102, 102, 106, 106, 110, 110, 114, 114, - 1, 1, 121, 118, 1, 100, 100, 119, 118, 119, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 102, - 103, 103, 104, 119, 106, 107, 107, 108, 119, 113, - 110, 111, 111, 112, 119, 114, 115, 115, 116, 119, - 117, 101, 117, 105, 119, 117, 118, 0, 1, 0, - 118, 0, 2, 0, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 1, 1, 103, 103, 107, 107, 111, 111, 115, 115, + 1, 1, 122, 119, 1, 101, 101, 120, 119, 120, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 103, + 104, 104, 105, 120, 107, 108, 108, 109, 120, 114, + 111, 112, 112, 113, 120, 115, 116, 116, 117, 120, + 118, 102, 118, 106, 120, 118, 119, 0, 1, 0, + 119, 0, 2, 0, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 102, 0, 106, 0, 113, 0, 110, 114, 0, - 117, 0, 117, 0, 117, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 117, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 103, 0, 107, 0, 114, 0, 111, 115, 0, + 118, 0, 118, 0, 118, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 118, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 117, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 51, 118, - 118, 118, 118, 118, 6, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 117, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 118, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 51, 119, + 119, 119, 119, 119, 6, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 118, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 117, 118, 118, 20, 118, 118, 118, 118, 12, 13, - 118, 15, 14, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 98, 118, 118, 118, 118, 3, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 118, 119, 119, 20, 119, 119, 119, 119, + 12, 13, 119, 15, 14, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 99, 119, 119, 119, 119, 3, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 118, 118, 118, 118, 118, 118, 118, 117, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 109, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 23, - 118, 118, 118, 118, 118, 118, 118, 24, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 64, 109, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 118, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 110, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 23, 119, 119, 119, 119, 119, 119, 119, + 24, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 64, 110, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 63, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 21, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 22, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 17, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 52, + 119, 119, 119, 119, 63, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 21, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 22, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 17, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 53, 118, 50, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 5, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 66, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 84, 83, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 25, 118, 118, 118, 118, - 54, 118, 118, 118, 118, 118, 81, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 52, 53, 119, 50, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 5, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 66, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 85, 84, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 25, 119, 119, 119, 119, 54, 119, 119, 119, + 119, 119, 82, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 43, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 4, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 92, 118, 16, 118, 118, 118, - 56, 57, 55, 118, 118, 118, 118, 118, 62, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 119, 119, 119, 119, 119, 119, 119, 43, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 4, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 93, 119, 16, 119, 119, 119, 56, 57, + 55, 119, 119, 119, 119, 119, 62, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 118, 70, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 31, 32, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 61, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 65, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 97, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 74, 118, 118, 118, - 118, 118, 60, 118, 90, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 33, 34, 118, 39, 77, 118, 85, 82, 118, 27, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 70, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 31, 32, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 61, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 65, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 98, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 74, 119, 77, 119, 119, + 119, 119, 60, 119, 91, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 118, 79, 118, 118, 118, 118, 118, 7, 118, 49, - 89, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 67, 118, 118, 99, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 78, 26, 28, 118, 118, - 118, 118, 118, 48, 118, 118, 118, 93, 118, 118, - 118, 118, 118, 118, 46, 118, 118, 118, 118, 118, - 118, 118, 118, 95, 118, 118, 118, 118, 118, 118, - 118, 11, 118, 118, 118, 118, 118, 118, 10, 118, - 118, 29, 118, 94, 118, 118, 118, 118, 118, 118, + 33, 34, 119, 39, 78, 119, 86, 83, 119, 27, + 119, 80, 119, 119, 119, 119, 119, 7, 119, 49, + 90, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 67, 119, 119, 100, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 79, 26, 28, 119, 119, + 119, 119, 119, 48, 119, 119, 119, 94, 119, 119, + 119, 119, 119, 119, 46, 119, 119, 119, 119, 119, + 119, 119, 119, 96, 119, 119, 119, 119, 119, 119, + 119, 11, 119, 119, 119, 119, 119, 119, 10, 119, - 118, 118, 118, 118, 73, 72, 96, 91, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 35, 118, 118, - 118, 118, 118, 30, 118, 118, 118, 68, 69, 118, - 118, 118, 71, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 18, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 88, 118, 118, - 118, 118, 118, 118, 19, 118, 9, 118, 118, 86, - 40, 118, 118, 118, 76, 58, 118, 118, 42, 45, - 41, 118, 36, 118, 8, 118, 118, 75, 118, 118, - 118, 37, 118, 87, 118, 118, 59, 44, 38, 118, + 119, 29, 119, 95, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 73, 72, 97, 92, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 35, 119, 119, + 119, 119, 119, 30, 119, 119, 119, 68, 69, 119, + 119, 119, 71, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 18, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 89, 119, 119, + 119, 119, 119, 119, 19, 119, 9, 119, 119, 87, + 40, 119, 119, 119, 76, 58, 119, 119, 42, 45, + 41, 119, 36, 119, 8, 119, 119, 75, 119, 119, - 118, 118, 118, 47, 118, 118, 118, 118, 80, 0 + 119, 37, 119, 88, 119, 119, 59, 44, 38, 119, + 119, 119, 119, 47, 119, 119, 119, 119, 81, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -537,22 +538,22 @@ static yyconst flex_int32_t yy_meta[40] = 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[1125] = +static yyconst flex_int16_t yy_base[1135] = { 0, 0, 0, 37, 40, 44, 51, 63, 75, 56, 68, - 87, 108, 2142, 2128, 50, 2227, 2227, 2227, 129, 94, + 87, 108, 2160, 2146, 50, 2250, 2250, 2250, 129, 94, 33, 124, 94, 49, 74, 61, 91, 92, 110, 111, - 112, 133, 50, 135, 137, 136, 145, 143, 164, 2126, - 2227, 2227, 2227, 122, 2125, 2227, 2227, 2227, 157, 2124, - 2134, 2227, 2227, 2227, 179, 2122, 2227, 2227, 2227, 167, - 2121, 2227, 185, 2227, 189, 90, 2060, 195, 199, 2001, - 206, 1955, 2227, 1917, 190, 199, 122, 116, 149, 182, + 112, 133, 50, 135, 137, 136, 145, 143, 164, 2145, + 2250, 2250, 2250, 122, 2144, 2250, 2250, 2250, 157, 2083, + 2025, 2250, 2250, 2250, 179, 1968, 2250, 2250, 2250, 167, + 1930, 2250, 185, 2250, 189, 90, 1920, 195, 199, 1782, + 206, 1556, 2250, 1362, 190, 199, 122, 116, 149, 182, 208, 191, 201, 207, 209, 161, 212, 210, 147, 217, 222, 216, 214, 228, 230, 231, 233, 234, 236, 238, 240, 239, 241, 244, 246, 248, 242, 249, 250, 72, - 256, 1897, 273, 1504, 277, 894, 284, 740, 663, 278, - 521, 288, 294, 502, 287, 291, 281, 292, 293, 295, + 256, 1200, 273, 1113, 277, 828, 284, 676, 655, 278, + 627, 288, 294, 537, 287, 291, 281, 292, 293, 295, 302, 314, 298, 301, 303, 257, 304, 305, 310, 311, 312, 316, 320, 330, 332, 321, 344, 340, 346, 348, 347, 349, 333, 337, 350, 351, 352, 356, 357, 360, @@ -563,237 +564,239 @@ static yyconst flex_int16_t yy_base[1125] = 445, 447, 449, 452, 453, 460, 456, 458, 459, 466, 464, 462, 465, 471, 470, 491, 472, 477, 475, 478, - 485, 481, 483, 488, 489, 495, 514, 499, 502, 504, - 509, 513, 515, 516, 522, 525, 524, 526, 532, 536, - 538, 539, 546, 545, 537, 547, 529, 555, 2227, 557, - 548, 551, 553, 560, 2227, 561, 563, 565, 566, 573, - 564, 567, 575, 578, 584, 580, 587, 571, 592, 590, - 585, 594, 595, 599, 602, 603, 606, 608, 614, 607, - 616, 618, 610, 623, 619, 628, 634, 629, 636, 638, - 644, 640, 642, 648, 647, 649, 641, 650, 652, 656, + 485, 481, 483, 488, 495, 499, 514, 500, 502, 513, + 516, 515, 517, 522, 523, 524, 521, 528, 531, 534, + 538, 541, 544, 546, 547, 548, 549, 550, 2250, 556, + 552, 554, 558, 560, 2250, 561, 563, 564, 566, 576, + 565, 568, 578, 575, 585, 582, 588, 584, 591, 593, + 598, 596, 597, 599, 600, 603, 601, 607, 613, 619, + 615, 624, 606, 625, 489, 626, 630, 632, 638, 635, + 637, 646, 642, 644, 650, 649, 651, 643, 652, 654, - 657, 665, 667, 669, 662, 671, 677, 674, 678, 679, - 683, 684, 685, 686, 687, 694, 701, 697, 700, 709, - 690, 707, 698, 705, 712, 719, 715, 717, 720, 718, - 722, 724, 726, 730, 731, 738, 728, 732, 740, 742, - 745, 744, 751, 2227, 753, 754, 755, 758, 2227, 2227, - 757, 2227, 2227, 759, 761, 767, 775, 764, 766, 770, - 777, 771, 780, 783, 785, 788, 789, 792, 796, 790, - 799, 802, 803, 807, 808, 810, 811, 812, 814, 820, - 827, 815, 2227, 823, 824, 830, 825, 2227, 832, 833, - 835, 839, 842, 840, 843, 849, 847, 845, 850, 853, + 658, 659, 667, 669, 671, 664, 673, 679, 676, 680, + 681, 685, 686, 687, 688, 689, 696, 703, 699, 702, + 711, 692, 709, 700, 707, 714, 721, 717, 719, 722, + 720, 724, 726, 728, 732, 731, 740, 741, 730, 742, + 744, 733, 750, 751, 756, 2250, 763, 734, 759, 760, + 2250, 2250, 761, 2250, 2250, 762, 764, 774, 779, 772, + 766, 770, 781, 782, 787, 785, 792, 773, 790, 794, + 803, 796, 801, 808, 809, 799, 813, 814, 815, 818, + 817, 820, 830, 816, 2250, 826, 827, 831, 834, 2250, + 838, 836, 839, 842, 843, 844, 846, 853, 852, 849, - 852, 859, 863, 861, 855, 870, 867, 872, 875, 869, - 876, 877, 901, 878, 880, 882, 881, 883, 890, 907, - 899, 886, 888, 909, 911, 916, 905, 893, 2227, 923, - 922, 920, 921, 926, 927, 932, 928, 929, 940, 2227, - 938, 941, 942, 944, 945, 950, 957, 2227, 955, 958, - 960, 962, 963, 964, 965, 968, 967, 972, 973, 974, - 976, 977, 978, 988, 995, 984, 994, 987, 991, 1000, - 997, 998, 1001, 1002, 2227, 259, 1003, 1009, 1013, 1011, - 1010, 1012, 1014, 1018, 1022, 1023, 1025, 1030, 1028, 1029, - 1032, 1031, 1037, 1038, 1039, 1040, 1043, 1044, 1042, 1045, + 854, 859, 855, 861, 870, 869, 863, 867, 878, 871, + 875, 883, 877, 879, 884, 904, 885, 886, 888, 887, + 897, 894, 916, 900, 893, 895, 918, 919, 912, 906, + 922, 2250, 933, 929, 930, 931, 934, 890, 935, 936, + 937, 943, 2250, 945, 941, 947, 948, 950, 954, 962, + 2250, 963, 958, 965, 966, 968, 969, 970, 973, 972, + 977, 978, 979, 982, 985, 981, 994, 998, 995, 1000, + 983, 1001, 996, 1007, 1004, 1005, 1006, 1009, 2250, 259, + 1012, 1016, 1018, 1019, 1017, 1021, 1023, 1027, 1030, 1020, + 1032, 1039, 1033, 1036, 1043, 1045, 1046, 1037, 1048, 1040, - 2227, 1050, 1053, 1051, 1063, 1070, 1066, 1072, 1055, 1073, - 1074, 1076, 1077, 1085, 1086, 1082, 1084, 1083, 1089, 1091, - 1094, 1096, 1098, 1100, 1102, 1103, 1104, 1114, 1116, 1119, - 1122, 1105, 1118, 1127, 1111, 1130, 1131, 2227, 1139, 1140, - 1142, 1141, 1133, 1143, 1145, 1146, 1147, 1148, 1151, 1155, - 1153, 1149, 1157, 2227, 1163, 1159, 1160, 1165, 1161, 1172, - 1164, 1177, 1171, 1179, 1180, 1188, 1182, 1186, 1189, 1192, - 1194, 1201, 1202, 1205, 2227, 1198, 1207, 1215, 1209, 1211, - 1212, 1221, 1217, 1219, 1220, 1222, 1223, 1224, 1225, 1227, - 1229, 1231, 1234, 1232, 1247, 1248, 1235, 1254, 1256, 2227, + 1051, 1049, 1050, 1053, 2250, 1054, 1059, 1063, 1066, 1077, + 1065, 1079, 1080, 1082, 1084, 1075, 1073, 1093, 1095, 1092, + 1094, 1096, 1099, 1086, 1100, 1102, 1104, 1107, 1106, 1108, + 1109, 1120, 1122, 1125, 1127, 1111, 1129, 1134, 1117, 1132, + 1136, 2250, 1145, 1146, 1142, 1149, 1148, 1150, 1151, 1153, + 1154, 1155, 1156, 1159, 1160, 1158, 1163, 1164, 2250, 1171, + 1165, 1167, 1168, 1172, 1179, 1180, 1181, 1184, 1189, 1186, + 1196, 1187, 1197, 1198, 1190, 1202, 1209, 1215, 1216, 2250, + 1214, 1208, 1223, 1221, 1212, 1224, 1233, 1225, 1226, 1229, + 1232, 1235, 1234, 1237, 1238, 1236, 1241, 1247, 1242, 1258, - 2227, 1258, 2227, 1259, 1250, 1242, 1261, 1260, 1264, 1268, - 1269, 1271, 1272, 1273, 1274, 2227, 1277, 1278, 1280, 1281, - 1107, 1284, 1290, 1283, 1287, 2227, 1286, 1294, 1296, 1304, - 1297, 1302, 1306, 1307, 1309, 1313, 1310, 1314, 1316, 1317, - 1320, 1326, 1323, 1324, 1325, 1327, 1329, 1332, 2227, 2227, - 1337, 1330, 1335, 1347, 1349, 1350, 1352, 1353, 1355, 1357, - 1360, 1361, 1362, 1364, 1365, 2227, 1371, 1372, 1370, 1378, - 2227, 1369, 1382, 1384, 1385, 1386, 2227, 1388, 1389, 1390, - 1391, 1397, 1392, 1394, 1398, 1399, 1407, 1405, 1412, 1413, - 1421, 1414, 1425, 1427, 1416, 1418, 1429, 1432, 1434, 1436, + 1259, 1243, 1265, 1266, 2250, 2250, 1268, 2250, 1250, 1269, + 1246, 1270, 1272, 1274, 1276, 1277, 1279, 1280, 1281, 1283, + 1288, 2250, 1282, 1286, 1289, 1290, 1292, 1298, 1304, 1295, + 1305, 2250, 1307, 1297, 1313, 1317, 1308, 1314, 1319, 1320, + 1328, 1330, 1321, 1323, 1329, 1331, 1333, 1337, 1336, 1338, + 1340, 1342, 1341, 1344, 2250, 2250, 1348, 1354, 1347, 1355, + 1359, 1370, 1372, 1362, 1373, 1369, 1374, 1375, 1376, 1378, + 1379, 2250, 1385, 1389, 1390, 1392, 2250, 1383, 1381, 1398, + 1400, 1402, 2250, 1403, 1404, 1405, 1406, 1407, 1409, 1413, + 1414, 1415, 1419, 1426, 1422, 1424, 1432, 1440, 1428, 1444, - 2227, 1440, 1426, 1446, 1442, 1448, 1450, 1443, 1449, 1451, - 1452, 1453, 1454, 1458, 1456, 1461, 1466, 1468, 1460, 1463, - 1465, 1478, 2227, 1479, 1487, 1475, 1481, 1485, 1483, 1489, - 1493, 1496, 1497, 1498, 1499, 1500, 1506, 1517, 1510, 1511, - 1518, 1519, 1521, 1502, 1529, 631, 1533, 1522, 1536, 1538, - 1526, 1539, 1540, 1541, 2227, 1530, 2227, 1547, 1543, 1545, - 2227, 2227, 2227, 1556, 1549, 1552, 1555, 1563, 2227, 1558, - 1564, 1560, 1567, 1568, 1570, 1569, 1571, 1572, 1573, 1574, - 1576, 1587, 1583, 1588, 1594, 1590, 1597, 1589, 1598, 1604, - 1600, 1601, 1603, 1611, 1612, 1613, 1606, 1614, 1608, 1616, + 1430, 1433, 1435, 1446, 1448, 1450, 1453, 2250, 1457, 1441, + 1463, 1451, 1461, 1467, 1465, 1466, 1468, 1469, 1464, 1470, + 1471, 1473, 1474, 1475, 1478, 1480, 1490, 1481, 1492, 2250, + 1494, 1500, 1497, 1498, 1504, 1501, 1502, 1503, 1511, 1513, + 1512, 1514, 1515, 1525, 1528, 1531, 1524, 1537, 1533, 1534, + 1539, 1516, 1547, 1540, 1548, 1544, 1550, 1553, 1554, 1558, + 1555, 1557, 2250, 1559, 2250, 1564, 1567, 1568, 2250, 2250, + 2250, 1574, 1570, 1572, 1578, 1582, 2250, 1575, 1583, 1579, + 1586, 1589, 1590, 1588, 1591, 1592, 1594, 1599, 1604, 1606, + 1593, 1607, 1608, 1609, 1615, 1616, 1618, 1626, 1622, 1623, - 1619, 1623, 2227, 1627, 1628, 1630, 1632, 1634, 1637, 1638, - 1640, 1641, 1647, 2227, 2227, 1648, 1650, 1651, 1655, 1658, - 1660, 1644, 1661, 1662, 1665, 1668, 1670, 1669, 2227, 1671, - 1672, 1673, 1675, 1678, 1680, 1683, 1688, 1692, 1693, 1695, - 1698, 2227, 1699, 1701, 1702, 1706, 1707, 1703, 1708, 1713, - 1716, 1717, 1719, 2227, 1723, 1720, 1726, 1728, 1730, 1710, - 1732, 1724, 1733, 1734, 1749, 1741, 2227, 1738, 1747, 1750, - 1753, 1754, 2227, 1752, 2227, 1757, 1761, 1768, 1765, 1759, - 1771, 1772, 1773, 1774, 1780, 1776, 1778, 1781, 1777, 1787, - 2227, 2227, 1783, 2227, 2227, 1791, 2227, 2227, 1796, 2227, + 1625, 1629, 1624, 1631, 1632, 1633, 1635, 1630, 1637, 1646, + 2250, 1649, 1644, 1647, 1658, 1651, 1662, 1654, 1659, 1665, + 1664, 1667, 2250, 2250, 1671, 1675, 1678, 1672, 1676, 1682, + 1668, 1685, 1687, 1688, 1689, 1691, 1692, 2250, 1693, 1695, + 1698, 1699, 1702, 1705, 1709, 1715, 1717, 1712, 1719, 1721, + 2250, 1723, 1725, 1726, 1730, 1732, 1727, 1694, 1735, 1738, + 1734, 1740, 2250, 1742, 1743, 1746, 1744, 1749, 1752, 1755, + 1748, 1757, 1758, 1764, 1761, 2250, 1762, 2250, 1768, 1770, + 1779, 1775, 2250, 1778, 2250, 1780, 1781, 1788, 1785, 1791, + 1793, 1795, 1796, 1797, 1803, 1799, 1801, 1804, 1800, 1810, - 1798, 2227, 1804, 1800, 1802, 1788, 1803, 2227, 1806, 2227, - 2227, 1807, 1809, 1814, 1816, 1813, 1817, 1820, 1821, 1822, - 1823, 1827, 1828, 1824, 1829, 1831, 1830, 1838, 1836, 1840, - 1847, 2227, 1839, 1855, 2227, 1842, 1848, 1853, 1858, 1859, - 1861, 1867, 1864, 1863, 1865, 2227, 2227, 2227, 1868, 1869, - 1876, 1877, 1873, 2227, 1881, 1870, 1884, 2227, 1886, 1890, - 1893, 1894, 1895, 1896, 2227, 1898, 1901, 1903, 1905, 1910, - 1915, 1917, 1919, 2227, 1921, 1911, 1922, 1924, 1927, 1928, - 1930, 2227, 1931, 1932, 1935, 1937, 1940, 1938, 2227, 1944, - 1941, 2227, 1956, 2227, 1942, 1957, 1949, 1960, 1964, 1947, + 2250, 2250, 1806, 2250, 2250, 1814, 2250, 2250, 1819, 2250, + 1821, 2250, 1827, 1823, 1825, 1811, 1826, 2250, 1829, 2250, + 2250, 1830, 1832, 1837, 1839, 1836, 1840, 1843, 1844, 1845, + 1846, 1850, 1851, 1847, 1852, 1854, 1853, 1861, 1859, 1863, + 1870, 2250, 1862, 1878, 2250, 1865, 1871, 1876, 1881, 1882, + 1884, 1890, 1887, 1886, 1888, 2250, 2250, 2250, 1891, 1892, + 1899, 1900, 1896, 2250, 1904, 1893, 1907, 2250, 1909, 1913, + 1916, 1917, 1918, 1919, 2250, 1921, 1924, 1926, 1928, 1933, + 1938, 1940, 1942, 2250, 1944, 1934, 1945, 1947, 1950, 1951, + 1953, 2250, 1954, 1955, 1958, 1960, 1963, 1961, 2250, 1967, - 1961, 1971, 1968, 1969, 2227, 2227, 2227, 2227, 1970, 1972, - 1974, 1976, 1977, 1978, 1979, 1981, 1983, 2227, 1984, 1986, - 1995, 1996, 1988, 2227, 1999, 2001, 1985, 2227, 2227, 2002, - 2011, 2006, 2227, 2009, 2016, 2017, 2019, 2020, 2021, 2022, - 2023, 2024, 2025, 2027, 2029, 2227, 2038, 2031, 2033, 2042, - 2046, 2039, 2047, 2043, 2049, 2053, 2054, 2227, 2056, 2065, - 2067, 2069, 2057, 2071, 2227, 2074, 2227, 2077, 2078, 2227, - 2227, 2072, 2082, 2079, 2227, 2227, 2085, 2086, 2227, 2227, - 2227, 2088, 2227, 2089, 2227, 2092, 2094, 2227, 2095, 2097, - 2099, 2227, 2101, 2227, 2102, 2103, 2227, 2227, 2227, 2106, + 1964, 2250, 1979, 2250, 1965, 1980, 1972, 1983, 1987, 1970, + 1984, 1994, 1991, 1992, 2250, 2250, 2250, 2250, 1993, 1995, + 1997, 1999, 2000, 2001, 2002, 2004, 2006, 2250, 2007, 2009, + 2018, 2019, 2011, 2250, 2022, 2024, 2008, 2250, 2250, 2025, + 2034, 2029, 2250, 2032, 2039, 2040, 2042, 2043, 2044, 2045, + 2046, 2047, 2048, 2050, 2052, 2250, 2061, 2054, 2056, 2065, + 2069, 2062, 2070, 2066, 2072, 2076, 2077, 2250, 2079, 2088, + 2090, 2092, 2080, 2094, 2250, 2097, 2250, 2100, 2101, 2250, + 2250, 2095, 2105, 2102, 2250, 2250, 2108, 2109, 2250, 2250, + 2250, 2111, 2250, 2112, 2250, 2115, 2117, 2250, 2118, 2120, - 2107, 2112, 2108, 2227, 2115, 2118, 2116, 2120, 2227, 2227, - 2148, 2154, 2160, 2166, 2172, 94, 2178, 2184, 2190, 2196, - 2202, 2208, 2214, 2220 + 2122, 2250, 2124, 2250, 2125, 2126, 2250, 2250, 2250, 2129, + 2130, 2135, 2131, 2250, 2138, 2141, 2139, 2143, 2250, 2250, + 2171, 2177, 2183, 2189, 2195, 94, 2201, 2207, 2213, 2219, + 2225, 2231, 2237, 2243 } ; -static yyconst flex_int16_t yy_def[1125] = +static yyconst flex_int16_t yy_def[1135] = { 0, - 1110, 1, 1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, - 1115, 1115, 1110, 1116, 1110, 1110, 1110, 1110, 1117, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1118, - 1110, 1110, 1110, 1118, 1119, 1110, 1110, 1110, 1119, 1120, - 1110, 1110, 1110, 1110, 1120, 1121, 1110, 1110, 1110, 1121, - 1122, 1110, 1123, 1110, 1122, 1122, 1116, 1116, 1110, 1124, - 1117, 1124, 1110, 1117, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1120, 1, 1121, 1121, 1122, 1122, 1123, 1123, 1124, 1124, + 1125, 1125, 1120, 1126, 1120, 1120, 1120, 1120, 1127, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1128, + 1120, 1120, 1120, 1128, 1129, 1120, 1120, 1120, 1129, 1130, + 1120, 1120, 1120, 1120, 1130, 1131, 1120, 1120, 1120, 1131, + 1132, 1120, 1133, 1120, 1132, 1132, 1126, 1126, 1120, 1134, + 1127, 1134, 1120, 1127, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1118, 1118, 1119, 1119, 1120, 1120, 1110, 1121, 1121, - 1122, 1122, 1123, 1123, 1122, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1128, 1128, 1129, 1129, 1130, 1130, 1120, 1131, 1131, + 1132, 1132, 1133, 1133, 1132, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, - 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, + 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1122, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 1110, - 1116, 1110, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1132, 1126, 1126, 1120, 1126, 1126, 1126, 1126, + 1120, 1120, 1126, 1120, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1120, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1110, 1122, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1132, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1132, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, + 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1110, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, - 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1120, 1120, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1120, 1120, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, + 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1116, - 1110, 1110, 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1120, 1120, + 1120, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1110, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, - 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1110, 1110, 1116, 1110, 1110, 1116, 1110, 1110, 1116, 1110, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1120, 1120, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1120, 1126, 1126, + 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1110, - 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1110, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1110, 1110, 1110, 1116, 1116, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, - 1116, 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, + 1120, 1120, 1126, 1120, 1120, 1126, 1120, 1120, 1126, 1120, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1120, + 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1120, 1120, 1120, 1126, 1126, + 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, - 1116, 1116, 1116, 1116, 1110, 1110, 1110, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1110, 1110, 1116, - 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, - 1116, 1116, 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1110, - 1110, 1116, 1116, 1116, 1110, 1110, 1116, 1116, 1110, 1110, - 1110, 1116, 1110, 1116, 1110, 1116, 1116, 1110, 1116, 1116, - 1116, 1110, 1116, 1110, 1116, 1116, 1110, 1110, 1110, 1116, + 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1120, 1120, 1120, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1120, 1120, 1126, + 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, + 1126, 1126, 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1120, + 1120, 1126, 1126, 1126, 1120, 1120, 1126, 1126, 1120, 1120, + 1120, 1126, 1120, 1126, 1120, 1126, 1126, 1120, 1126, 1126, - 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 0, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110 + 1126, 1120, 1126, 1120, 1126, 1126, 1120, 1120, 1120, 1126, + 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1120, 0, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120 } ; -static yyconst flex_int16_t yy_nxt[2267] = +static yyconst flex_int16_t yy_nxt[2290] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 14, 18, 20, 21, 14, 22, 23, 24, 25, 14, @@ -848,205 +851,207 @@ static yyconst flex_int16_t yy_nxt[2267] = 251, 68, 256, 252, 68, 68, 254, 259, 68, 253, 68, 68, 68, 263, 68, 261, 68, 68, 68, 257, 262, 264, 68, 68, 68, 258, 267, 122, 260, 68, - 68, 266, 280, 68, 265, 68, 269, 68, 277, 276, + 68, 266, 281, 68, 265, 68, 269, 68, 278, 277, - 68, 68, 268, 68, 73, 270, 271, 68, 278, 279, - 282, 68, 285, 281, 68, 284, 68, 272, 273, 274, - 283, 68, 275, 286, 287, 68, 68, 68, 68, 292, - 289, 288, 290, 122, 68, 291, 68, 68, 68, 300, - 298, 68, 294, 295, 68, 293, 297, 299, 68, 68, - 68, 68, 303, 304, 301, 302, 296, 68, 68, 68, - 68, 306, 308, 68, 307, 68, 305, 68, 309, 68, - 310, 312, 68, 68, 313, 68, 68, 68, 68, 68, - 319, 311, 317, 68, 314, 68, 318, 68, 322, 316, - 68, 327, 68, 315, 320, 323, 68, 68, 321, 68, + 68, 68, 268, 68, 349, 270, 271, 68, 279, 280, + 283, 68, 68, 282, 68, 272, 286, 273, 274, 275, + 284, 285, 276, 287, 288, 68, 68, 68, 68, 68, + 290, 293, 289, 68, 68, 68, 68, 299, 301, 73, + 68, 291, 292, 68, 296, 298, 68, 294, 295, 300, + 68, 305, 302, 68, 304, 303, 68, 297, 68, 68, + 68, 68, 68, 310, 68, 308, 68, 306, 68, 311, + 68, 307, 68, 68, 313, 68, 68, 68, 68, 314, + 68, 318, 309, 320, 315, 312, 319, 68, 68, 317, + 68, 323, 328, 316, 68, 321, 68, 68, 324, 322, - 330, 328, 68, 324, 68, 332, 68, 68, 331, 334, - 326, 68, 329, 325, 68, 68, 337, 333, 68, 68, - 122, 342, 68, 338, 341, 335, 68, 344, 68, 336, - 68, 68, 343, 340, 339, 68, 351, 346, 347, 349, - 68, 68, 345, 68, 348, 350, 68, 352, 68, 353, - 68, 354, 68, 68, 68, 357, 68, 355, 356, 68, - 68, 68, 68, 358, 68, 811, 359, 361, 68, 68, - 366, 363, 367, 360, 68, 120, 364, 68, 362, 68, - 365, 68, 368, 68, 373, 369, 68, 371, 372, 68, - 68, 68, 374, 375, 376, 68, 68, 68, 68, 68, + 68, 331, 329, 68, 333, 68, 325, 327, 68, 68, + 68, 68, 68, 68, 330, 68, 326, 339, 68, 68, + 334, 332, 335, 336, 340, 122, 344, 68, 337, 343, + 347, 68, 341, 338, 342, 346, 68, 68, 68, 122, + 345, 351, 68, 352, 68, 353, 354, 68, 355, 68, + 68, 350, 348, 356, 68, 68, 68, 359, 68, 357, + 358, 68, 68, 68, 68, 360, 68, 120, 361, 363, + 68, 68, 368, 365, 369, 362, 68, 118, 366, 68, + 364, 68, 367, 68, 370, 68, 375, 371, 68, 373, + 374, 68, 68, 68, 376, 377, 378, 68, 68, 68, - 377, 382, 68, 380, 381, 383, 68, 370, 384, 68, - 68, 379, 68, 68, 378, 386, 387, 68, 385, 68, - 388, 68, 389, 390, 68, 391, 394, 68, 395, 68, - 68, 68, 68, 396, 68, 392, 68, 397, 68, 393, - 68, 118, 68, 68, 68, 401, 398, 402, 403, 400, - 68, 406, 68, 399, 68, 404, 68, 122, 405, 410, - 413, 407, 409, 68, 411, 68, 68, 68, 408, 68, - 68, 68, 412, 68, 420, 415, 68, 419, 68, 68, - 418, 426, 68, 68, 414, 416, 417, 68, 429, 68, - 430, 421, 68, 431, 422, 68, 427, 68, 433, 423, + 68, 68, 379, 384, 68, 382, 383, 385, 68, 372, + 386, 68, 68, 381, 68, 68, 380, 388, 389, 68, + 387, 68, 390, 68, 391, 392, 68, 393, 396, 68, + 397, 68, 68, 68, 68, 398, 68, 394, 68, 399, + 68, 395, 68, 68, 68, 68, 68, 403, 400, 404, + 405, 402, 68, 68, 68, 401, 68, 406, 407, 411, + 408, 409, 122, 68, 417, 410, 413, 412, 68, 414, + 416, 68, 68, 68, 68, 68, 68, 415, 68, 418, + 422, 423, 68, 421, 68, 68, 68, 419, 437, 429, + 420, 68, 432, 68, 68, 424, 430, 68, 425, 68, - 68, 68, 68, 434, 68, 424, 425, 428, 68, 437, - 432, 68, 436, 440, 68, 68, 439, 438, 441, 68, - 68, 435, 68, 68, 68, 442, 68, 68, 443, 446, - 444, 448, 68, 447, 449, 68, 68, 68, 451, 68, - 454, 445, 68, 453, 68, 68, 450, 68, 455, 457, - 452, 68, 68, 456, 68, 68, 463, 68, 461, 68, - 459, 68, 68, 464, 68, 68, 458, 68, 460, 462, - 467, 68, 469, 68, 466, 68, 465, 473, 470, 68, - 472, 68, 68, 475, 68, 468, 476, 122, 68, 68, - 68, 471, 68, 68, 68, 68, 477, 490, 68, 474, + 434, 433, 68, 426, 68, 436, 68, 431, 68, 427, + 428, 68, 435, 68, 439, 68, 440, 445, 442, 443, + 68, 68, 438, 441, 444, 68, 68, 68, 68, 68, + 68, 451, 68, 446, 447, 449, 450, 452, 68, 68, + 117, 454, 68, 68, 456, 448, 68, 453, 68, 457, + 68, 68, 460, 455, 68, 68, 68, 458, 68, 459, + 466, 68, 464, 462, 68, 68, 68, 68, 467, 463, + 461, 68, 465, 68, 472, 68, 470, 473, 469, 68, + 468, 68, 68, 68, 474, 477, 479, 68, 471, 68, + 68, 68, 476, 475, 480, 122, 68, 68, 68, 68, - 68, 496, 68, 479, 501, 68, 117, 486, 487, 489, - 495, 68, 478, 68, 488, 485, 480, 68, 481, 68, - 491, 68, 482, 68, 483, 494, 497, 492, 68, 484, - 502, 498, 68, 68, 68, 68, 500, 503, 68, 68, - 68, 68, 499, 506, 68, 493, 505, 511, 507, 508, - 68, 504, 68, 68, 68, 510, 68, 68, 513, 514, - 509, 515, 68, 517, 518, 512, 516, 68, 519, 68, - 68, 520, 68, 521, 68, 68, 68, 68, 524, 68, - 68, 525, 526, 527, 68, 68, 68, 522, 68, 68, - 68, 531, 533, 532, 523, 535, 68, 528, 530, 68, + 68, 494, 68, 478, 481, 68, 68, 68, 500, 68, + 483, 511, 68, 490, 491, 482, 68, 499, 68, 484, + 492, 485, 489, 493, 68, 486, 498, 487, 68, 495, + 68, 68, 488, 505, 68, 501, 496, 504, 503, 502, + 506, 68, 68, 68, 507, 68, 68, 68, 68, 68, + 515, 510, 512, 68, 497, 68, 509, 68, 517, 68, + 68, 508, 68, 514, 518, 519, 68, 521, 513, 522, + 68, 520, 516, 525, 68, 68, 523, 68, 68, 524, + 68, 68, 68, 528, 68, 68, 529, 530, 531, 68, + 68, 68, 526, 68, 68, 68, 535, 68, 527, 536, - 68, 534, 536, 68, 529, 538, 68, 68, 541, 68, - 68, 537, 68, 68, 68, 68, 547, 540, 539, 543, - 548, 68, 68, 68, 68, 68, 68, 542, 549, 546, - 68, 552, 544, 554, 68, 68, 550, 68, 551, 545, - 68, 68, 68, 68, 68, 553, 556, 557, 560, 68, - 68, 68, 68, 555, 68, 68, 68, 68, 561, 558, - 559, 566, 68, 68, 562, 68, 569, 68, 578, 563, - 565, 567, 564, 571, 568, 68, 570, 574, 68, 577, - 573, 575, 68, 572, 68, 68, 68, 580, 68, 68, - 579, 576, 583, 584, 68, 68, 68, 68, 68, 585, + 537, 539, 532, 534, 538, 540, 68, 68, 68, 533, + 68, 542, 68, 68, 543, 546, 68, 68, 68, 68, + 545, 68, 541, 552, 68, 553, 548, 544, 68, 68, + 68, 68, 68, 68, 547, 68, 554, 549, 551, 68, + 557, 559, 68, 555, 68, 68, 550, 556, 68, 68, + 560, 68, 68, 561, 558, 68, 562, 68, 68, 565, + 68, 68, 68, 68, 563, 68, 68, 564, 568, 571, + 570, 68, 566, 567, 574, 68, 572, 68, 68, 576, + 575, 569, 573, 578, 579, 68, 582, 68, 580, 68, + 581, 68, 68, 583, 68, 577, 68, 585, 68, 584, - 586, 68, 581, 68, 587, 591, 68, 582, 68, 588, - 68, 589, 68, 590, 68, 68, 68, 68, 592, 68, - 596, 688, 594, 68, 593, 600, 68, 601, 68, 595, - 68, 68, 597, 603, 68, 599, 602, 604, 605, 68, - 598, 607, 68, 68, 606, 68, 610, 611, 608, 612, - 609, 68, 68, 68, 68, 68, 616, 68, 68, 68, - 68, 68, 613, 68, 614, 68, 615, 68, 621, 68, - 625, 68, 68, 68, 626, 68, 68, 68, 617, 618, - 619, 620, 629, 68, 68, 622, 623, 624, 631, 68, - 628, 68, 68, 630, 68, 632, 635, 627, 68, 636, + 588, 586, 589, 587, 68, 68, 68, 68, 68, 590, + 591, 68, 68, 597, 68, 596, 68, 592, 68, 68, + 68, 68, 593, 68, 594, 115, 595, 601, 599, 68, + 598, 605, 68, 606, 68, 600, 602, 68, 608, 68, + 604, 68, 607, 609, 68, 603, 68, 612, 68, 610, + 613, 611, 615, 616, 68, 614, 618, 68, 68, 617, + 68, 68, 68, 68, 622, 68, 68, 68, 68, 619, + 68, 68, 68, 627, 621, 68, 68, 68, 631, 68, + 68, 620, 632, 68, 68, 635, 623, 624, 625, 626, + 628, 68, 68, 68, 630, 637, 68, 634, 68, 68, - 68, 68, 634, 633, 68, 637, 68, 639, 643, 644, - 68, 642, 638, 68, 68, 646, 640, 68, 645, 68, - 650, 68, 648, 68, 68, 641, 649, 68, 653, 68, - 652, 68, 68, 68, 68, 68, 68, 68, 647, 68, - 661, 68, 651, 68, 68, 662, 68, 68, 654, 658, - 655, 656, 660, 657, 68, 664, 663, 659, 666, 68, - 68, 669, 68, 670, 665, 667, 68, 668, 68, 671, - 68, 68, 68, 68, 672, 677, 68, 673, 675, 674, - 68, 68, 679, 68, 68, 68, 68, 676, 681, 68, - 68, 683, 68, 68, 680, 68, 68, 690, 68, 68, + 629, 68, 68, 633, 636, 642, 641, 639, 68, 68, + 68, 638, 113, 643, 68, 640, 649, 644, 645, 648, + 68, 68, 650, 647, 68, 646, 68, 68, 68, 651, + 654, 652, 656, 68, 655, 68, 68, 68, 68, 653, + 659, 68, 658, 657, 68, 68, 68, 68, 68, 68, + 68, 667, 668, 68, 68, 68, 660, 661, 68, 68, + 662, 664, 68, 663, 666, 678, 669, 665, 670, 672, + 68, 68, 675, 676, 671, 674, 673, 68, 68, 677, + 68, 68, 68, 680, 68, 683, 68, 681, 68, 68, + 685, 68, 68, 68, 68, 68, 679, 688, 68, 682, - 678, 689, 68, 693, 682, 692, 68, 684, 68, 68, - 685, 695, 686, 687, 68, 691, 68, 696, 68, 68, - 701, 68, 68, 699, 700, 68, 68, 697, 68, 68, - 702, 694, 68, 708, 698, 68, 68, 68, 68, 68, - 703, 68, 68, 706, 68, 707, 704, 68, 705, 68, - 713, 717, 716, 714, 712, 709, 710, 722, 711, 68, - 715, 68, 68, 723, 68, 68, 718, 68, 719, 68, - 721, 720, 68, 68, 68, 729, 68, 68, 732, 733, - 725, 68, 68, 68, 68, 724, 727, 726, 734, 737, - 68, 728, 730, 735, 68, 731, 68, 68, 68, 736, + 68, 68, 68, 687, 68, 690, 695, 68, 684, 68, + 68, 697, 691, 686, 689, 696, 68, 68, 692, 68, + 68, 693, 694, 699, 700, 68, 68, 698, 702, 68, + 703, 68, 68, 68, 701, 68, 706, 707, 704, 708, + 68, 68, 68, 68, 715, 68, 705, 709, 68, 68, + 68, 710, 68, 68, 68, 711, 68, 713, 714, 68, + 68, 712, 720, 723, 73, 721, 68, 68, 716, 719, + 717, 68, 722, 718, 68, 724, 726, 729, 725, 727, + 728, 68, 68, 730, 68, 68, 68, 68, 68, 736, + 68, 68, 739, 68, 731, 68, 740, 68, 732, 733, - 68, 68, 68, 68, 68, 743, 68, 744, 745, 68, - 68, 68, 738, 740, 751, 739, 741, 68, 746, 68, - 742, 748, 749, 750, 68, 68, 68, 747, 68, 752, - 68, 754, 755, 68, 758, 756, 757, 68, 68, 68, - 761, 68, 753, 762, 68, 763, 68, 765, 68, 759, - 760, 764, 68, 767, 68, 68, 766, 770, 68, 769, - 68, 68, 68, 68, 68, 68, 68, 771, 68, 772, - 68, 779, 68, 68, 773, 68, 785, 68, 68, 768, - 68, 774, 781, 775, 776, 782, 777, 68, 780, 783, - 68, 68, 778, 68, 789, 68, 788, 68, 784, 68, + 734, 68, 68, 744, 68, 735, 737, 742, 741, 738, + 68, 745, 68, 743, 68, 68, 68, 68, 68, 68, + 750, 68, 751, 752, 753, 68, 68, 68, 747, 746, + 754, 68, 748, 759, 68, 749, 68, 766, 68, 757, + 68, 756, 68, 758, 68, 68, 760, 68, 755, 764, + 762, 763, 68, 68, 761, 765, 68, 769, 68, 770, + 68, 771, 68, 68, 773, 68, 767, 768, 772, 68, + 775, 774, 777, 68, 778, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 787, 68, 68, 68, 776, 779, + 68, 780, 68, 68, 790, 789, 781, 785, 782, 791, - 791, 68, 792, 786, 793, 68, 787, 790, 68, 68, - 68, 68, 68, 801, 68, 797, 115, 804, 68, 798, - 795, 794, 68, 68, 802, 806, 800, 796, 803, 68, - 68, 68, 799, 68, 68, 805, 810, 808, 68, 809, - 812, 68, 68, 807, 816, 68, 813, 814, 68, 815, - 68, 68, 68, 68, 820, 68, 817, 68, 818, 68, - 821, 68, 819, 825, 68, 827, 824, 68, 68, 828, - 68, 822, 68, 823, 829, 68, 68, 831, 826, 68, - 68, 68, 68, 68, 68, 68, 68, 839, 68, 838, - 830, 833, 834, 832, 835, 68, 836, 841, 842, 68, + 783, 784, 68, 793, 68, 788, 68, 797, 786, 68, + 68, 796, 68, 68, 68, 68, 68, 799, 792, 794, + 795, 800, 801, 68, 68, 68, 68, 68, 68, 798, + 803, 805, 809, 806, 802, 810, 68, 68, 812, 811, + 68, 808, 804, 68, 814, 68, 68, 807, 813, 68, + 816, 68, 68, 818, 819, 821, 68, 815, 73, 68, + 68, 823, 68, 817, 824, 68, 68, 68, 822, 68, + 68, 68, 825, 827, 820, 826, 68, 830, 828, 68, + 68, 834, 68, 829, 68, 836, 68, 68, 831, 833, + 68, 68, 837, 838, 68, 68, 840, 832, 68, 835, - 68, 68, 68, 837, 840, 844, 68, 846, 845, 68, - 68, 850, 68, 68, 847, 68, 68, 851, 68, 848, - 68, 843, 854, 68, 68, 68, 68, 858, 68, 853, - 849, 68, 852, 860, 856, 68, 855, 857, 859, 68, - 68, 863, 68, 867, 68, 864, 68, 862, 861, 68, - 68, 866, 68, 68, 870, 868, 68, 871, 873, 68, - 68, 875, 68, 68, 876, 865, 872, 68, 869, 874, - 68, 880, 68, 68, 68, 878, 879, 68, 881, 877, - 68, 68, 68, 68, 68, 68, 887, 68, 890, 891, - 68, 892, 68, 882, 885, 68, 883, 888, 889, 894, + 68, 68, 68, 68, 68, 68, 68, 839, 848, 847, + 842, 68, 841, 843, 844, 845, 68, 851, 68, 68, + 68, 68, 854, 846, 853, 850, 855, 68, 68, 849, + 68, 852, 856, 859, 68, 68, 68, 68, 68, 860, + 863, 68, 68, 68, 68, 68, 857, 68, 864, 68, + 858, 862, 865, 867, 861, 866, 68, 868, 68, 68, + 869, 68, 870, 68, 872, 871, 68, 873, 875, 876, + 68, 68, 877, 878, 68, 880, 68, 68, 883, 68, + 68, 874, 881, 68, 68, 879, 885, 68, 68, 882, + 68, 886, 884, 888, 68, 890, 887, 68, 889, 68, - 68, 884, 886, 895, 68, 68, 897, 68, 893, 898, - 68, 68, 900, 68, 68, 68, 899, 902, 68, 68, - 68, 904, 68, 905, 896, 68, 906, 908, 68, 68, - 910, 68, 68, 901, 911, 68, 68, 903, 68, 913, - 68, 907, 68, 916, 68, 68, 68, 915, 909, 917, - 68, 918, 914, 68, 919, 920, 921, 922, 912, 68, - 926, 68, 68, 925, 68, 68, 68, 927, 924, 68, - 923, 68, 930, 68, 934, 928, 929, 68, 931, 932, - 68, 933, 935, 68, 68, 68, 68, 939, 68, 68, - 68, 938, 68, 68, 940, 68, 945, 943, 942, 68, + 68, 68, 891, 68, 68, 68, 68, 68, 897, 915, + 68, 68, 900, 901, 68, 895, 902, 68, 892, 893, + 898, 68, 894, 899, 68, 896, 904, 68, 905, 68, + 907, 68, 908, 68, 903, 68, 910, 68, 68, 68, + 909, 912, 68, 906, 68, 914, 68, 68, 916, 918, + 68, 920, 68, 921, 68, 68, 68, 911, 68, 923, + 68, 68, 913, 917, 68, 919, 925, 68, 924, 68, + 68, 931, 927, 68, 68, 928, 68, 932, 929, 930, + 68, 922, 68, 935, 73, 926, 936, 68, 937, 934, + 68, 68, 68, 68, 933, 940, 938, 68, 941, 942, - 68, 944, 946, 68, 936, 937, 941, 947, 68, 948, - 68, 949, 68, 950, 68, 68, 68, 954, 68, 68, - 953, 68, 952, 956, 955, 68, 68, 958, 68, 68, - 951, 957, 68, 68, 68, 68, 68, 959, 965, 68, - 68, 68, 68, 68, 961, 962, 963, 960, 68, 966, - 68, 68, 68, 972, 68, 964, 969, 973, 974, 68, - 68, 968, 967, 977, 971, 68, 970, 68, 976, 975, - 68, 68, 982, 68, 983, 68, 68, 68, 978, 68, - 68, 68, 68, 979, 988, 68, 980, 989, 68, 68, - 981, 984, 992, 68, 985, 994, 68, 986, 68, 995, + 68, 943, 939, 68, 945, 68, 944, 68, 68, 68, + 949, 68, 68, 68, 948, 68, 68, 950, 68, 955, + 953, 952, 68, 68, 954, 956, 68, 946, 947, 951, + 957, 68, 958, 68, 959, 68, 960, 68, 68, 68, + 964, 68, 68, 963, 68, 962, 966, 965, 68, 68, + 968, 68, 68, 961, 967, 68, 68, 68, 68, 68, + 969, 975, 68, 68, 68, 68, 68, 971, 972, 973, + 970, 68, 976, 68, 68, 68, 982, 68, 974, 979, + 983, 984, 68, 68, 978, 977, 987, 981, 68, 980, + 68, 986, 985, 68, 68, 992, 68, 993, 68, 68, - 987, 993, 68, 991, 990, 68, 68, 68, 68, 113, - 68, 998, 999, 68, 997, 68, 1000, 68, 1002, 73, - 1003, 1005, 68, 68, 996, 1001, 1006, 68, 1007, 68, - 1008, 68, 1004, 68, 68, 1010, 68, 1011, 1009, 68, - 68, 1014, 68, 68, 68, 1012, 1018, 68, 1013, 68, - 68, 1015, 68, 68, 68, 1021, 68, 73, 1019, 68, - 1020, 68, 1016, 1017, 1027, 1022, 1023, 1024, 68, 68, - 1026, 1028, 68, 68, 1025, 1029, 68, 1030, 1032, 1033, - 68, 68, 68, 68, 68, 1034, 68, 1031, 68, 68, - 68, 68, 1036, 68, 1039, 68, 68, 68, 68, 1044, + 68, 988, 68, 68, 68, 68, 989, 998, 68, 990, + 999, 68, 68, 991, 994, 1002, 68, 995, 1004, 68, + 996, 68, 1005, 997, 1003, 68, 1001, 1000, 68, 68, + 68, 68, 68, 68, 1008, 1009, 68, 1007, 68, 1010, + 68, 1012, 122, 1013, 1015, 68, 68, 1006, 1011, 1016, + 68, 1017, 68, 1018, 68, 1014, 68, 68, 1020, 68, + 1021, 1019, 68, 68, 1024, 68, 68, 68, 1022, 1028, + 68, 1023, 68, 68, 1025, 68, 68, 68, 1031, 68, + 120, 1029, 68, 1030, 68, 1026, 1027, 1037, 1032, 1033, + 1034, 68, 68, 1036, 1038, 68, 68, 1035, 1039, 68, - 68, 1035, 1042, 73, 1038, 1037, 1046, 68, 68, 1048, - 1040, 68, 1047, 68, 68, 1043, 1045, 1041, 68, 1052, - 1049, 68, 1051, 68, 1053, 1050, 1055, 1054, 68, 68, - 1058, 68, 68, 68, 68, 68, 68, 68, 1065, 68, - 1062, 68, 1061, 68, 1057, 68, 1066, 1056, 1059, 1067, - 68, 68, 1060, 1070, 68, 68, 1064, 1071, 68, 68, - 1075, 68, 1063, 1068, 1076, 68, 68, 1069, 68, 68, - 1072, 1073, 68, 1078, 1082, 1074, 1079, 68, 1080, 68, - 1081, 68, 1083, 68, 68, 1077, 68, 1084, 1085, 68, - 68, 68, 1087, 1088, 68, 1086, 1089, 68, 68, 1092, + 1040, 1042, 1043, 68, 68, 68, 68, 68, 1044, 68, + 1041, 68, 68, 68, 68, 1046, 68, 1049, 68, 68, + 68, 68, 1054, 68, 1045, 1052, 118, 1048, 1047, 1056, + 68, 68, 1058, 1050, 68, 1057, 68, 68, 1053, 1055, + 1051, 68, 1062, 1059, 68, 1061, 68, 1063, 1060, 1065, + 1064, 68, 68, 1068, 68, 68, 68, 68, 68, 68, + 68, 1075, 68, 1072, 68, 1071, 68, 1067, 68, 1076, + 1066, 1069, 1077, 68, 68, 1070, 1080, 68, 68, 1074, + 1081, 68, 68, 1085, 68, 1073, 1078, 1086, 68, 68, + 1079, 68, 68, 1082, 1083, 117, 1088, 1092, 1084, 1089, - 68, 68, 1091, 1094, 68, 1093, 68, 68, 1097, 68, - 1098, 68, 1099, 68, 68, 68, 1101, 1090, 68, 68, - 68, 1095, 1102, 1104, 68, 1096, 1100, 68, 68, 1105, - 68, 1109, 68, 122, 120, 118, 117, 115, 113, 1103, - 68, 1110, 1106, 1110, 1107, 1110, 1110, 1108, 40, 40, - 40, 40, 40, 40, 45, 45, 45, 45, 45, 45, - 50, 50, 50, 50, 50, 50, 56, 56, 56, 56, - 56, 56, 61, 61, 61, 61, 61, 61, 71, 71, - 71, 71, 71, 71, 112, 112, 1110, 1110, 112, 112, - 114, 114, 1110, 114, 1110, 114, 116, 1110, 1110, 1110, + 68, 1090, 68, 1091, 68, 1093, 68, 68, 1087, 68, + 1094, 1095, 68, 68, 68, 1097, 1098, 68, 1096, 1099, + 68, 68, 1102, 68, 68, 1101, 1104, 68, 1103, 68, + 68, 1107, 68, 1108, 68, 1109, 68, 68, 68, 1111, + 1100, 68, 68, 68, 1105, 1112, 1114, 68, 1106, 1110, + 68, 68, 1115, 68, 1119, 68, 115, 113, 68, 1120, + 1120, 1120, 1113, 1120, 1120, 1116, 1120, 1117, 1120, 1120, + 1118, 40, 40, 40, 40, 40, 40, 45, 45, 45, + 45, 45, 45, 50, 50, 50, 50, 50, 50, 56, + 56, 56, 56, 56, 56, 61, 61, 61, 61, 61, - 1110, 116, 119, 119, 1110, 1110, 119, 119, 121, 1110, - 1110, 1110, 1110, 121, 123, 123, 123, 123, 123, 123, - 72, 72, 72, 72, 72, 72, 13, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110 + 61, 71, 71, 71, 71, 71, 71, 112, 112, 1120, + 1120, 112, 112, 114, 114, 1120, 114, 1120, 114, 116, + 1120, 1120, 1120, 1120, 116, 119, 119, 1120, 1120, 119, + 119, 121, 1120, 1120, 1120, 1120, 121, 123, 123, 123, + 123, 123, 123, 72, 72, 72, 72, 72, 72, 13, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120 } ; -static yyconst flex_int16_t yy_chk[2267] = +static yyconst flex_int16_t yy_chk[2290] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1057,7 +1062,7 @@ static yyconst flex_int16_t yy_chk[2267] = 9, 24, 33, 6, 7, 7, 7, 7, 9, 7, 10, 10, 10, 26, 26, 7, 8, 8, 8, 8, 10, 8, 26, 33, 110, 24, 25, 8, 11, 11, - 11, 11, 11, 11, 1116, 20, 110, 20, 20, 11, + 11, 11, 11, 11, 1126, 20, 110, 20, 20, 11, 20, 25, 66, 27, 28, 20, 23, 27, 11, 12, 12, 12, 12, 12, 12, 23, 66, 27, 23, 28, @@ -1077,7 +1082,7 @@ static yyconst flex_int16_t yy_chk[2267] = 94, 88, 95, 96, 87, 97, 98, 94, 99, 97, 100, 102, 101, 103, 107, 95, 104, 99, 105, 105, 106, 108, 109, 96, 98, 101, 102, 109, 111, 136, - 100, 476, 103, 136, 104, 107, 113, 113, 106, 105, + 100, 480, 103, 136, 104, 107, 113, 113, 106, 105, 115, 120, 120, 115, 108, 117, 111, 117, 117, 122, 117, 122, 122, 127, 122, 123, 123, 123, 123, 125, @@ -1103,200 +1108,202 @@ static yyconst flex_int16_t yy_chk[2267] = 209, 211, 215, 214, 217, 205, 214, 219, 207, 218, 220, 213, 221, 222, 212, 223, 215, 221, 218, 217, - 224, 225, 214, 216, 124, 216, 216, 226, 219, 220, - 223, 228, 226, 222, 229, 225, 230, 216, 216, 216, - 224, 231, 216, 227, 227, 232, 227, 233, 234, 232, - 229, 228, 230, 121, 235, 231, 237, 236, 238, 239, - 237, 247, 234, 235, 239, 233, 236, 238, 240, 245, - 241, 242, 242, 243, 240, 241, 235, 244, 243, 246, - 251, 245, 247, 252, 246, 253, 244, 248, 248, 250, - 250, 252, 254, 256, 253, 257, 261, 258, 259, 262, - 260, 251, 258, 268, 254, 260, 259, 263, 263, 257, - 264, 265, 266, 256, 261, 263, 265, 271, 262, 267, + 224, 285, 214, 216, 285, 216, 216, 225, 219, 220, + 223, 226, 228, 222, 229, 216, 226, 216, 216, 216, + 224, 225, 216, 227, 227, 230, 227, 232, 231, 233, + 229, 232, 228, 237, 234, 235, 236, 237, 239, 124, + 238, 230, 231, 239, 235, 236, 240, 233, 234, 238, + 241, 243, 240, 242, 242, 241, 243, 235, 244, 245, + 246, 247, 248, 248, 251, 246, 252, 244, 250, 250, + 253, 245, 254, 256, 252, 257, 258, 261, 259, 253, + 262, 258, 247, 260, 254, 251, 259, 264, 260, 257, + 263, 263, 265, 256, 266, 261, 268, 265, 263, 262, - 267, 265, 270, 263, 269, 269, 272, 273, 268, 271, - 264, 274, 266, 263, 275, 276, 274, 270, 277, 280, - 278, 279, 283, 275, 278, 272, 279, 281, 281, 273, - 282, 285, 280, 277, 276, 284, 288, 283, 284, 286, - 286, 288, 282, 746, 285, 287, 287, 289, 289, 290, - 290, 291, 292, 297, 293, 294, 291, 292, 293, 295, - 294, 296, 298, 295, 299, 746, 296, 298, 300, 301, - 301, 300, 302, 297, 305, 119, 300, 302, 299, 303, - 300, 304, 303, 306, 307, 304, 308, 305, 306, 307, - 309, 310, 308, 309, 310, 311, 312, 313, 314, 315, + 267, 267, 265, 269, 269, 270, 263, 264, 272, 273, + 271, 274, 275, 277, 266, 276, 263, 275, 283, 278, + 270, 268, 271, 272, 276, 279, 280, 281, 273, 279, + 283, 280, 277, 274, 278, 282, 282, 284, 286, 121, + 281, 287, 287, 288, 288, 289, 290, 290, 291, 291, + 289, 286, 284, 292, 293, 298, 294, 295, 292, 293, + 294, 296, 295, 297, 299, 296, 300, 119, 297, 299, + 301, 302, 302, 301, 303, 298, 306, 118, 301, 303, + 300, 304, 301, 305, 304, 307, 308, 305, 309, 306, + 307, 308, 310, 311, 309, 310, 311, 312, 313, 314, - 311, 316, 321, 314, 315, 316, 316, 304, 317, 318, - 323, 313, 319, 317, 312, 319, 320, 324, 318, 322, - 320, 320, 321, 322, 325, 323, 326, 327, 327, 328, - 330, 326, 329, 328, 331, 324, 332, 329, 333, 325, - 337, 118, 334, 335, 338, 333, 330, 334, 335, 332, - 336, 338, 339, 331, 340, 336, 342, 341, 337, 342, - 345, 339, 341, 343, 343, 345, 346, 347, 340, 351, - 348, 354, 343, 355, 356, 347, 358, 355, 359, 356, - 354, 358, 360, 362, 346, 348, 351, 357, 361, 361, - 362, 357, 363, 363, 357, 364, 359, 365, 365, 357, + 315, 316, 312, 317, 322, 315, 316, 317, 317, 305, + 318, 319, 324, 314, 320, 318, 313, 320, 321, 325, + 319, 323, 321, 321, 322, 323, 326, 324, 327, 328, + 328, 329, 331, 327, 330, 329, 332, 325, 333, 330, + 334, 326, 339, 336, 335, 342, 348, 334, 331, 335, + 336, 333, 337, 338, 340, 332, 341, 337, 338, 342, + 339, 340, 343, 344, 348, 341, 344, 343, 345, 345, + 347, 349, 350, 353, 356, 347, 357, 345, 361, 349, + 357, 358, 362, 356, 360, 368, 358, 350, 368, 360, + 353, 359, 363, 363, 364, 359, 361, 366, 359, 365, - 366, 367, 370, 366, 368, 357, 357, 360, 369, 369, - 364, 371, 368, 372, 372, 373, 371, 370, 373, 374, - 375, 367, 376, 377, 378, 374, 379, 382, 375, 378, - 376, 380, 380, 379, 381, 384, 385, 387, 384, 381, - 387, 377, 386, 386, 389, 390, 382, 391, 387, 390, - 385, 392, 394, 389, 393, 395, 396, 398, 394, 397, - 392, 396, 399, 397, 401, 400, 391, 405, 393, 395, - 400, 402, 402, 404, 399, 403, 398, 406, 403, 407, - 405, 410, 406, 408, 408, 401, 409, 409, 411, 412, - 414, 404, 415, 417, 416, 418, 410, 419, 422, 407, + 365, 364, 369, 359, 367, 367, 370, 362, 372, 359, + 359, 376, 366, 373, 370, 371, 371, 376, 373, 374, + 374, 375, 369, 372, 375, 377, 378, 379, 384, 381, + 380, 382, 382, 377, 378, 380, 381, 383, 386, 387, + 116, 386, 383, 388, 388, 379, 389, 384, 392, 389, + 391, 393, 392, 387, 394, 395, 396, 389, 397, 391, + 398, 400, 396, 394, 399, 398, 401, 403, 399, 395, + 393, 402, 397, 404, 404, 407, 402, 405, 401, 408, + 400, 406, 405, 410, 406, 409, 411, 411, 403, 413, + 409, 414, 408, 407, 412, 412, 415, 417, 418, 420, - 423, 423, 419, 412, 428, 428, 116, 415, 416, 418, - 422, 421, 411, 413, 417, 414, 413, 427, 413, 420, - 420, 424, 413, 425, 413, 421, 424, 420, 426, 413, - 430, 425, 432, 433, 431, 430, 427, 431, 434, 435, - 437, 438, 426, 434, 436, 420, 433, 439, 435, 436, - 441, 432, 439, 442, 443, 438, 444, 445, 442, 443, - 437, 444, 446, 446, 447, 441, 445, 449, 449, 447, - 450, 449, 451, 450, 452, 453, 454, 455, 453, 457, - 456, 454, 455, 456, 458, 459, 460, 451, 461, 462, - 463, 460, 462, 461, 452, 464, 466, 457, 459, 468, + 419, 422, 438, 410, 413, 425, 422, 426, 426, 421, + 415, 438, 424, 418, 419, 414, 416, 425, 430, 416, + 420, 416, 417, 421, 429, 416, 424, 416, 423, 423, + 427, 428, 416, 431, 431, 427, 423, 430, 429, 428, + 433, 434, 435, 436, 434, 433, 437, 439, 440, 441, + 442, 437, 439, 445, 423, 442, 436, 444, 445, 446, + 447, 435, 448, 441, 446, 447, 449, 449, 440, 450, + 453, 448, 444, 453, 450, 452, 452, 454, 455, 452, + 456, 457, 458, 456, 460, 459, 457, 458, 459, 461, + 462, 463, 454, 466, 464, 471, 463, 465, 455, 464, - 464, 463, 465, 469, 458, 467, 467, 465, 470, 471, - 472, 466, 470, 473, 474, 477, 478, 469, 468, 472, - 479, 478, 481, 480, 482, 479, 483, 471, 480, 477, - 484, 483, 473, 485, 485, 486, 481, 487, 482, 474, - 489, 490, 488, 492, 491, 484, 487, 488, 491, 493, - 494, 495, 496, 486, 499, 497, 498, 500, 492, 489, - 490, 497, 502, 504, 493, 503, 500, 509, 509, 494, - 496, 498, 495, 503, 499, 505, 502, 506, 507, 508, - 505, 506, 506, 504, 508, 510, 511, 511, 512, 513, - 510, 507, 514, 515, 516, 518, 517, 514, 515, 516, + 465, 467, 460, 462, 466, 468, 467, 469, 473, 461, + 468, 470, 470, 472, 471, 474, 475, 476, 477, 474, + 473, 478, 469, 482, 481, 483, 476, 472, 482, 485, + 483, 484, 490, 486, 475, 487, 484, 477, 481, 488, + 487, 489, 489, 485, 491, 493, 478, 486, 494, 498, + 490, 492, 500, 491, 488, 495, 492, 496, 497, 495, + 499, 502, 503, 501, 493, 504, 506, 494, 498, 501, + 500, 507, 496, 497, 504, 508, 502, 511, 509, 507, + 506, 499, 503, 509, 510, 517, 512, 516, 510, 510, + 511, 512, 513, 513, 514, 508, 515, 515, 524, 514, - 517, 519, 512, 520, 518, 519, 521, 513, 522, 518, - 523, 518, 524, 518, 525, 526, 527, 532, 520, 621, - 524, 621, 522, 535, 521, 528, 528, 529, 529, 523, - 533, 530, 525, 531, 531, 527, 530, 532, 533, 534, - 526, 535, 536, 537, 534, 543, 539, 540, 536, 541, - 537, 539, 540, 542, 541, 544, 545, 545, 546, 547, - 548, 552, 542, 549, 543, 551, 544, 550, 550, 553, - 555, 556, 557, 559, 555, 555, 561, 558, 546, 547, - 548, 549, 558, 563, 560, 551, 552, 553, 560, 562, - 557, 564, 565, 559, 567, 561, 564, 556, 568, 565, + 518, 516, 519, 517, 520, 518, 521, 519, 522, 520, + 521, 523, 525, 524, 526, 523, 527, 522, 529, 528, + 530, 531, 522, 536, 522, 114, 522, 528, 526, 539, + 525, 532, 532, 533, 533, 527, 529, 534, 535, 535, + 531, 537, 534, 536, 540, 530, 538, 539, 541, 537, + 540, 538, 543, 544, 545, 541, 546, 543, 544, 545, + 547, 546, 548, 549, 550, 550, 551, 552, 553, 547, + 556, 554, 555, 555, 549, 557, 558, 561, 560, 562, + 563, 548, 560, 560, 564, 563, 551, 552, 553, 554, + 556, 565, 566, 567, 558, 565, 568, 562, 570, 572, - 566, 569, 563, 562, 570, 566, 571, 568, 572, 573, - 576, 571, 567, 572, 573, 576, 569, 574, 574, 577, - 579, 579, 578, 580, 581, 570, 578, 578, 582, 583, - 581, 584, 585, 582, 586, 587, 588, 589, 577, 590, - 590, 591, 580, 592, 594, 591, 593, 597, 583, 587, - 584, 585, 589, 586, 606, 593, 592, 588, 595, 595, - 596, 598, 605, 599, 594, 596, 598, 597, 599, 602, - 602, 604, 608, 607, 604, 609, 609, 605, 607, 606, - 610, 611, 611, 612, 613, 614, 615, 608, 613, 617, - 618, 615, 619, 620, 612, 624, 622, 623, 627, 625, + 557, 569, 575, 561, 564, 570, 569, 567, 571, 573, + 574, 566, 112, 571, 576, 568, 577, 572, 573, 576, + 582, 577, 578, 575, 585, 574, 581, 578, 579, 579, + 583, 581, 584, 584, 583, 583, 586, 588, 589, 582, + 587, 590, 586, 585, 591, 587, 593, 592, 596, 594, + 595, 595, 596, 597, 599, 602, 588, 589, 611, 598, + 590, 592, 609, 591, 594, 609, 597, 593, 598, 600, + 600, 601, 603, 604, 599, 602, 601, 603, 604, 607, + 607, 610, 612, 611, 613, 614, 614, 612, 615, 616, + 616, 617, 618, 619, 623, 620, 610, 619, 624, 613, - 610, 622, 623, 627, 614, 625, 628, 617, 629, 631, - 618, 629, 619, 620, 632, 624, 630, 630, 633, 634, - 635, 635, 637, 633, 634, 636, 638, 631, 639, 640, - 636, 628, 641, 642, 632, 643, 644, 645, 642, 646, - 637, 647, 652, 640, 648, 641, 638, 653, 639, 651, - 647, 652, 651, 647, 646, 643, 644, 656, 645, 654, - 648, 655, 656, 657, 657, 658, 653, 659, 654, 660, - 655, 654, 661, 662, 663, 663, 664, 665, 667, 668, - 659, 672, 669, 667, 668, 658, 661, 660, 669, 672, - 670, 662, 664, 670, 673, 665, 674, 675, 676, 670, + 621, 625, 626, 618, 627, 621, 627, 630, 615, 634, + 628, 629, 623, 617, 620, 628, 629, 631, 624, 633, + 637, 625, 626, 631, 633, 635, 638, 630, 635, 636, + 636, 639, 640, 643, 634, 644, 639, 640, 637, 641, + 641, 645, 642, 646, 648, 647, 638, 642, 649, 648, + 650, 643, 651, 653, 652, 644, 654, 646, 647, 659, + 657, 645, 653, 657, 74, 653, 658, 660, 649, 652, + 650, 661, 654, 651, 664, 658, 660, 662, 659, 660, + 661, 666, 662, 663, 663, 665, 667, 668, 669, 669, + 670, 671, 673, 679, 664, 678, 674, 673, 665, 666, - 678, 679, 680, 681, 683, 679, 684, 680, 681, 682, - 685, 686, 673, 675, 687, 674, 676, 688, 682, 687, - 678, 684, 685, 686, 689, 690, 692, 683, 695, 688, - 696, 690, 691, 691, 694, 692, 693, 693, 703, 694, - 697, 697, 689, 698, 698, 699, 699, 702, 700, 695, - 696, 700, 702, 704, 705, 708, 703, 707, 704, 706, - 706, 709, 707, 710, 711, 712, 713, 708, 715, 708, - 714, 714, 719, 716, 708, 720, 720, 721, 717, 705, - 718, 709, 716, 710, 711, 717, 712, 726, 715, 718, - 722, 724, 713, 727, 725, 729, 724, 728, 719, 725, + 667, 674, 675, 678, 676, 668, 670, 676, 675, 671, + 680, 679, 681, 676, 682, 684, 685, 686, 687, 688, + 685, 689, 686, 687, 688, 690, 691, 692, 681, 680, + 689, 693, 682, 694, 695, 684, 696, 701, 694, 692, + 699, 691, 701, 693, 697, 702, 695, 703, 690, 699, + 697, 698, 698, 710, 696, 700, 700, 704, 704, 705, + 705, 706, 706, 712, 709, 707, 702, 703, 707, 709, + 711, 710, 713, 713, 714, 711, 719, 715, 716, 714, + 717, 718, 720, 721, 721, 722, 723, 724, 712, 715, + 725, 715, 726, 728, 724, 723, 715, 719, 716, 725, - 727, 730, 728, 721, 729, 731, 722, 726, 732, 733, - 734, 735, 736, 737, 744, 733, 114, 739, 737, 734, - 731, 730, 739, 740, 738, 741, 736, 732, 738, 738, - 741, 742, 735, 743, 748, 740, 745, 743, 751, 744, - 747, 745, 756, 742, 751, 747, 748, 749, 749, 750, - 750, 752, 753, 754, 756, 759, 752, 760, 753, 758, - 758, 765, 754, 764, 766, 766, 760, 767, 764, 767, - 770, 758, 772, 759, 768, 768, 771, 771, 765, 773, - 774, 776, 775, 777, 778, 779, 780, 779, 781, 778, - 770, 773, 774, 772, 775, 783, 776, 781, 782, 782, + 717, 718, 727, 727, 729, 722, 731, 732, 720, 733, + 734, 731, 732, 736, 737, 738, 735, 734, 726, 728, + 729, 735, 736, 739, 741, 740, 742, 743, 752, 733, + 738, 740, 744, 741, 737, 745, 747, 744, 746, 745, + 745, 743, 739, 746, 748, 749, 750, 742, 747, 748, + 750, 751, 754, 752, 753, 755, 756, 749, 72, 753, + 755, 757, 757, 751, 758, 758, 759, 761, 756, 762, + 760, 764, 759, 761, 754, 760, 766, 766, 762, 767, + 768, 772, 773, 764, 774, 774, 772, 778, 766, 768, + 775, 780, 775, 776, 776, 779, 779, 767, 781, 773, - 784, 788, 786, 777, 780, 784, 785, 786, 785, 787, - 789, 790, 791, 792, 787, 793, 790, 791, 797, 788, - 799, 783, 794, 794, 795, 796, 798, 797, 800, 793, - 789, 801, 792, 799, 796, 802, 795, 796, 798, 804, - 805, 802, 806, 807, 807, 804, 808, 801, 800, 809, - 810, 806, 811, 812, 810, 808, 822, 811, 813, 813, - 816, 817, 817, 818, 818, 805, 812, 819, 809, 816, - 820, 822, 821, 823, 824, 820, 821, 825, 823, 819, - 826, 828, 827, 830, 831, 832, 830, 833, 833, 834, - 834, 835, 835, 824, 827, 836, 825, 831, 832, 837, + 784, 782, 783, 785, 786, 791, 787, 778, 787, 786, + 781, 788, 780, 782, 783, 784, 789, 790, 790, 792, + 793, 794, 793, 785, 792, 789, 794, 795, 796, 788, + 797, 791, 795, 798, 799, 800, 803, 801, 798, 799, + 802, 802, 808, 804, 805, 806, 796, 807, 803, 809, + 797, 801, 804, 805, 800, 804, 813, 806, 810, 814, + 807, 812, 808, 816, 810, 809, 818, 812, 814, 815, + 815, 819, 816, 817, 817, 819, 821, 820, 822, 822, + 831, 813, 820, 825, 828, 818, 826, 826, 829, 821, + 827, 827, 825, 829, 830, 831, 828, 832, 830, 833, - 837, 826, 828, 838, 838, 839, 840, 840, 836, 841, - 841, 843, 844, 844, 845, 848, 843, 846, 846, 847, - 849, 848, 860, 849, 839, 850, 850, 851, 851, 852, - 853, 853, 856, 845, 855, 855, 862, 847, 857, 857, - 858, 850, 859, 860, 861, 863, 864, 859, 852, 861, - 868, 862, 858, 866, 863, 864, 865, 866, 856, 869, - 871, 865, 870, 870, 874, 871, 872, 872, 869, 876, - 868, 880, 876, 877, 880, 872, 874, 879, 877, 878, - 878, 879, 881, 881, 882, 883, 884, 885, 886, 889, - 887, 884, 885, 888, 886, 893, 893, 889, 888, 890, + 834, 835, 832, 836, 837, 839, 858, 840, 839, 858, + 841, 842, 842, 843, 843, 836, 844, 844, 833, 834, + 840, 845, 835, 841, 848, 837, 846, 846, 847, 847, + 849, 849, 850, 850, 845, 852, 853, 853, 854, 857, + 852, 855, 855, 848, 856, 857, 861, 859, 859, 860, + 860, 862, 862, 864, 864, 865, 867, 854, 866, 866, + 871, 868, 856, 859, 869, 861, 868, 870, 867, 872, + 873, 874, 870, 875, 877, 871, 874, 875, 872, 873, + 879, 865, 880, 880, 70, 869, 881, 882, 882, 879, + 884, 881, 886, 887, 877, 886, 882, 889, 887, 888, - 906, 890, 896, 896, 882, 883, 887, 899, 899, 901, - 901, 903, 904, 904, 905, 907, 903, 909, 909, 912, - 907, 913, 906, 913, 912, 916, 914, 915, 915, 917, - 905, 914, 918, 919, 920, 921, 924, 916, 922, 922, - 923, 925, 927, 926, 918, 919, 920, 917, 929, 923, - 928, 933, 930, 929, 936, 921, 926, 930, 931, 931, - 937, 925, 924, 936, 928, 938, 927, 934, 934, 933, - 939, 940, 941, 941, 942, 944, 943, 945, 937, 942, - 949, 950, 956, 938, 950, 953, 939, 951, 951, 952, - 940, 943, 955, 955, 944, 957, 957, 945, 959, 959, + 888, 889, 884, 890, 891, 891, 890, 892, 893, 894, + 895, 896, 899, 897, 894, 895, 898, 896, 903, 903, + 899, 898, 900, 916, 900, 906, 906, 892, 893, 897, + 909, 909, 911, 911, 913, 914, 914, 915, 917, 913, + 919, 919, 922, 917, 923, 916, 923, 922, 926, 924, + 925, 925, 927, 915, 924, 928, 929, 930, 931, 934, + 926, 932, 932, 933, 935, 937, 936, 928, 929, 930, + 927, 939, 933, 938, 943, 940, 939, 946, 931, 936, + 940, 941, 941, 947, 935, 934, 946, 938, 948, 937, + 944, 944, 943, 949, 950, 951, 951, 952, 954, 953, - 949, 956, 960, 953, 952, 961, 962, 963, 964, 112, - 966, 962, 963, 967, 961, 968, 964, 969, 967, 74, - 968, 970, 970, 976, 960, 966, 971, 971, 972, 972, - 973, 973, 969, 975, 977, 976, 978, 977, 975, 979, - 980, 980, 981, 983, 984, 978, 985, 985, 979, 986, - 988, 981, 987, 991, 995, 988, 990, 72, 986, 1000, - 987, 997, 983, 984, 997, 990, 991, 993, 993, 996, - 996, 998, 998, 1001, 995, 999, 999, 1000, 1002, 1003, - 1003, 1004, 1009, 1002, 1010, 1004, 1011, 1001, 1012, 1013, - 1014, 1015, 1010, 1016, 1013, 1017, 1019, 1027, 1020, 1019, + 955, 947, 952, 959, 960, 966, 948, 960, 963, 949, + 961, 961, 962, 950, 953, 965, 965, 954, 967, 967, + 955, 969, 969, 959, 966, 970, 963, 962, 971, 972, + 973, 974, 67, 976, 972, 973, 977, 971, 978, 974, + 979, 977, 61, 978, 980, 980, 986, 970, 976, 981, + 981, 982, 982, 983, 983, 979, 985, 987, 986, 988, + 987, 985, 989, 990, 990, 991, 993, 994, 988, 995, + 995, 989, 996, 998, 991, 997, 1001, 1005, 998, 1000, + 56, 996, 1010, 997, 1007, 993, 994, 1007, 1000, 1001, + 1003, 1003, 1006, 1006, 1008, 1008, 1011, 1005, 1009, 1009, - 1023, 1009, 1016, 70, 1012, 1011, 1021, 1021, 1022, 1023, - 1014, 1025, 1022, 1026, 1030, 1017, 1020, 1015, 1032, 1030, - 1025, 1034, 1027, 1031, 1031, 1026, 1034, 1032, 1035, 1036, - 1037, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1044, - 1041, 1045, 1040, 1048, 1036, 1049, 1045, 1035, 1038, 1047, - 1047, 1052, 1039, 1050, 1050, 1054, 1043, 1051, 1051, 1053, - 1055, 1055, 1042, 1048, 1056, 1056, 1057, 1049, 1059, 1063, - 1052, 1053, 67, 1059, 1063, 1054, 1060, 1060, 1061, 1061, - 1062, 1062, 1064, 1064, 1072, 1057, 1066, 1066, 1068, 1068, - 1069, 1074, 1072, 1073, 1073, 1069, 1074, 1077, 1078, 1082, + 1010, 1012, 1013, 1013, 1014, 1019, 1012, 1020, 1014, 1021, + 1011, 1022, 1023, 1024, 1025, 1020, 1026, 1023, 1027, 1029, + 1037, 1030, 1029, 1033, 1019, 1026, 51, 1022, 1021, 1031, + 1031, 1032, 1033, 1024, 1035, 1032, 1036, 1040, 1027, 1030, + 1025, 1042, 1040, 1035, 1044, 1037, 1041, 1041, 1036, 1044, + 1042, 1045, 1046, 1047, 1047, 1048, 1049, 1050, 1051, 1052, + 1053, 1054, 1054, 1051, 1055, 1050, 1058, 1046, 1059, 1055, + 1045, 1048, 1057, 1057, 1062, 1049, 1060, 1060, 1064, 1053, + 1061, 1061, 1063, 1065, 1065, 1052, 1058, 1066, 1066, 1067, + 1059, 1069, 1073, 1062, 1063, 50, 1069, 1073, 1064, 1070, - 1082, 1084, 1078, 1086, 1086, 1084, 1087, 1089, 1090, 1090, - 1091, 1091, 1093, 1093, 1095, 1096, 1096, 1077, 1100, 1101, - 1103, 1087, 1100, 1102, 1102, 1089, 1095, 1105, 1107, 1103, - 1106, 1108, 1108, 61, 56, 51, 50, 45, 40, 1101, - 14, 13, 1105, 0, 1106, 0, 0, 1107, 1111, 1111, - 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, 1112, 1112, - 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, - 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1117, 1117, - 1117, 1117, 1117, 1117, 1118, 1118, 0, 0, 1118, 1118, - 1119, 1119, 0, 1119, 0, 1119, 1120, 0, 0, 0, + 1070, 1071, 1071, 1072, 1072, 1074, 1074, 1082, 1067, 1076, + 1076, 1078, 1078, 1079, 1084, 1082, 1083, 1083, 1079, 1084, + 1087, 1088, 1092, 1092, 1094, 1088, 1096, 1096, 1094, 1097, + 1099, 1100, 1100, 1101, 1101, 1103, 1103, 1105, 1106, 1106, + 1087, 1110, 1111, 1113, 1097, 1110, 1112, 1112, 1099, 1105, + 1115, 1117, 1113, 1116, 1118, 1118, 45, 40, 14, 13, + 0, 0, 1111, 0, 0, 1115, 0, 1116, 0, 0, + 1117, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, + 1122, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1124, + 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, - 0, 1120, 1121, 1121, 0, 0, 1121, 1121, 1122, 0, - 0, 0, 0, 1122, 1123, 1123, 1123, 1123, 1123, 1123, - 1124, 1124, 1124, 1124, 1124, 1124, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110 + 1125, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 0, + 0, 1128, 1128, 1129, 1129, 0, 1129, 0, 1129, 1130, + 0, 0, 0, 0, 1130, 1131, 1131, 0, 0, 1131, + 1131, 1132, 0, 0, 0, 0, 1132, 1133, 1133, 1133, + 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120 } ; static yy_state_type yy_last_accepting_state; @@ -1423,7 +1430,7 @@ static void config_end_include(void) #define YY_NO_INPUT 1 #endif -#line 1425 "" +#line 1432 "" #define INITIAL 0 #define quotedstring 1 @@ -1610,7 +1617,7 @@ YY_DECL #line 123 "util/configlexer.lex" -#line 1612 "" +#line 1619 "" if ( !(yy_init) ) { @@ -1669,13 +1676,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1121 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2227 ); + while ( yy_base[yy_current_state] != 2250 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2087,154 +2094,159 @@ YY_RULE_SETUP case 77: YY_RULE_SETUP #line 202 "util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SIZE) } +{ YDVAR(1, VAR_VAL_LOG_LEVEL) } YY_BREAK case 78: YY_RULE_SETUP #line 203 "util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SLABS) } +{ YDVAR(1, VAR_KEY_CACHE_SIZE) } YY_BREAK case 79: YY_RULE_SETUP #line 204 "util/configlexer.lex" -{ YDVAR(1, VAR_NEG_CACHE_SIZE) } +{ YDVAR(1, VAR_KEY_CACHE_SLABS) } YY_BREAK case 80: YY_RULE_SETUP #line 205 "util/configlexer.lex" -{ - YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } +{ YDVAR(1, VAR_NEG_CACHE_SIZE) } YY_BREAK case 81: YY_RULE_SETUP -#line 207 "util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSLOG) } +#line 206 "util/configlexer.lex" +{ + YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } YY_BREAK case 82: YY_RULE_SETUP #line 208 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TIME_ASCII) } +{ YDVAR(1, VAR_USE_SYSLOG) } YY_BREAK case 83: YY_RULE_SETUP #line 209 "util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_TIME_ASCII) } YY_BREAK case 84: YY_RULE_SETUP #line 210 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 85: YY_RULE_SETUP #line 211 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 86: YY_RULE_SETUP #line 212 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 87: YY_RULE_SETUP #line 213 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 88: YY_RULE_SETUP #line 214 "util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 89: YY_RULE_SETUP #line 215 "util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 90: YY_RULE_SETUP #line 216 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 91: YY_RULE_SETUP #line 217 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 92: YY_RULE_SETUP #line 218 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 93: YY_RULE_SETUP #line 219 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 94: YY_RULE_SETUP #line 220 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 95: YY_RULE_SETUP #line 221 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 96: YY_RULE_SETUP #line 222 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 97: YY_RULE_SETUP #line 223 "util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 98: YY_RULE_SETUP #line 224 "util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 99: YY_RULE_SETUP #line 225 "util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 100: -/* rule 100 can match eol */ YY_RULE_SETUP #line 226 "util/configlexer.lex" +{ YDVAR(1, VAR_DOMAIN_INSECURE) } + YY_BREAK +case 101: +/* rule 101 can match eol */ +YY_RULE_SETUP +#line 227 "util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 101: +case 102: YY_RULE_SETUP -#line 229 "util/configlexer.lex" +#line 230 "util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 230 "util/configlexer.lex" +#line 231 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 102: -YY_RULE_SETUP -#line 235 "util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 103: -/* rule 103 can match eol */ YY_RULE_SETUP #line 236 "util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 104: +/* rule 104 can match eol */ +YY_RULE_SETUP +#line 237 "util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 238 "util/configlexer.lex" +#line 239 "util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -2247,34 +2259,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 105: +case 106: YY_RULE_SETUP -#line 250 "util/configlexer.lex" +#line 251 "util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 251 "util/configlexer.lex" +#line 252 "util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 106: -YY_RULE_SETUP -#line 256 "util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 107: -/* rule 107 can match eol */ YY_RULE_SETUP #line 257 "util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 108: +/* rule 108 can match eol */ +YY_RULE_SETUP +#line 258 "util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 108: +case 109: YY_RULE_SETUP -#line 259 "util/configlexer.lex" +#line 260 "util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -2287,38 +2299,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 109: +case 110: YY_RULE_SETUP -#line 271 "util/configlexer.lex" +#line 272 "util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 273 "util/configlexer.lex" +#line 274 "util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 110: -YY_RULE_SETUP -#line 277 "util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 111: -/* rule 111 can match eol */ YY_RULE_SETUP #line 278 "util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 112: +/* rule 112 can match eol */ YY_RULE_SETUP #line 279 "util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 113: YY_RULE_SETUP #line 280 "util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 114: +YY_RULE_SETUP +#line 281 "util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include(yytext); @@ -2326,27 +2338,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 285 "util/configlexer.lex" +#line 286 "util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 114: -YY_RULE_SETUP -#line 289 "util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK case 115: -/* rule 115 can match eol */ YY_RULE_SETUP #line 290 "util/configlexer.lex" +{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 116: +/* rule 116 can match eol */ +YY_RULE_SETUP +#line 291 "util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 292 "util/configlexer.lex" +#line 293 "util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -2356,7 +2368,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 298 "util/configlexer.lex" +#line 299 "util/configlexer.lex" { yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ if (config_include_stack_ptr == 0) { @@ -2367,33 +2379,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 117: +case 118: YY_RULE_SETUP -#line 308 "util/configlexer.lex" +#line 309 "util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 312 "util/configlexer.lex" +#line 313 "util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 119: +case 120: YY_RULE_SETUP -#line 316 "util/configlexer.lex" +#line 317 "util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 320 "util/configlexer.lex" +#line 321 "util/configlexer.lex" ECHO; YY_BREAK -#line 2395 "" +#line 2407 "" case YY_END_OF_BUFFER: { @@ -2683,7 +2695,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1121 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2711,11 +2723,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1111 ) + if ( yy_current_state >= 1121 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1110); + yy_is_jam = (yy_current_state == 1120); return yy_is_jam ? 0 : yy_current_state; } @@ -3352,7 +3364,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 320 "util/configlexer.lex" +#line 321 "util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index 3fed360fb..7c21253b7 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -199,6 +199,7 @@ val-sig-skew-max{COLON} { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } val-bogus-ttl{COLON} { YDVAR(1, VAR_BOGUS_TTL) } val-clean-additional{COLON} { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } val-permissive-mode{COLON} { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } +val-log-level{COLON} { YDVAR(1, VAR_VAL_LOG_LEVEL) } key-cache-size{COLON} { YDVAR(1, VAR_KEY_CACHE_SIZE) } key-cache-slabs{COLON} { YDVAR(1, VAR_KEY_CACHE_SLABS) } neg-cache-size{COLON} { YDVAR(1, VAR_NEG_CACHE_SIZE) } diff --git a/util/configparser.c b/util/configparser.c index 942524061..1231b7745 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -228,7 +228,8 @@ extern struct config_parser_state* cfg_parser; VAR_PYTHON_SCRIPT = 359, VAR_VAL_SIG_SKEW_MIN = 360, VAR_VAL_SIG_SKEW_MAX = 361, - VAR_CACHE_MIN_TTL = 362 + VAR_CACHE_MIN_TTL = 362, + VAR_VAL_LOG_LEVEL = 363 }; #endif /* Tokens. */ @@ -337,6 +338,7 @@ extern struct config_parser_state* cfg_parser; #define VAR_VAL_SIG_SKEW_MIN 360 #define VAR_VAL_SIG_SKEW_MAX 361 #define VAR_CACHE_MIN_TTL 362 +#define VAR_VAL_LOG_LEVEL 363 @@ -353,7 +355,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 357 "util/configparser.c" +#line 359 "util/configparser.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -365,7 +367,7 @@ typedef union YYSTYPE /* Line 264 of yacc.c */ -#line 369 "util/configparser.c" +#line 371 "util/configparser.c" #ifdef short # undef short @@ -580,20 +582,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 199 +#define YYLAST 200 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 108 +#define YYNTOKENS 109 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 111 +#define YYNNTS 112 /* YYNRULES -- Number of rules. */ -#define YYNRULES 209 +#define YYNRULES 211 /* YYNRULES -- Number of states. */ -#define YYNSTATES 305 +#define YYNSTATES 308 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 362 +#define YYMAXUTOK 363 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -637,7 +639,7 @@ static const yytype_uint8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107 + 105, 106, 107, 108 }; #if YYDEBUG @@ -654,75 +656,77 @@ static const yytype_uint16 yyprhs[] = 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, - 184, 186, 189, 190, 192, 194, 196, 198, 200, 203, - 204, 206, 208, 210, 213, 216, 219, 222, 225, 228, - 231, 234, 237, 240, 243, 246, 249, 252, 255, 258, - 261, 264, 267, 270, 273, 276, 279, 282, 285, 288, - 291, 294, 297, 300, 303, 306, 309, 312, 315, 318, - 321, 324, 327, 330, 333, 336, 339, 342, 345, 348, - 351, 354, 357, 360, 363, 366, 369, 372, 375, 378, - 381, 384, 387, 390, 393, 397, 400, 403, 406, 409, - 412, 415, 418, 421, 424, 427, 430, 433, 436, 440, - 443, 446, 449, 452, 455, 458, 461, 464, 467, 469, - 472, 473, 475, 477, 479, 481, 483, 485, 487, 490, - 493, 496, 499, 502, 505, 508, 510, 513, 514, 516 + 184, 186, 188, 191, 192, 194, 196, 198, 200, 202, + 205, 206, 208, 210, 212, 215, 218, 221, 224, 227, + 230, 233, 236, 239, 242, 245, 248, 251, 254, 257, + 260, 263, 266, 269, 272, 275, 278, 281, 284, 287, + 290, 293, 296, 299, 302, 305, 308, 311, 314, 317, + 320, 323, 326, 329, 332, 335, 338, 341, 344, 347, + 350, 353, 356, 359, 362, 365, 368, 371, 374, 377, + 380, 383, 386, 389, 392, 395, 399, 402, 405, 408, + 411, 414, 417, 420, 423, 426, 429, 432, 435, 438, + 441, 445, 448, 451, 454, 457, 460, 463, 466, 469, + 472, 474, 477, 478, 480, 482, 484, 486, 488, 490, + 492, 495, 498, 501, 504, 507, 510, 513, 515, 518, + 519, 521 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 109, 0, -1, -1, 109, 110, -1, 111, 112, -1, - 114, 115, -1, 117, 118, -1, 215, 216, -1, 205, - 206, -1, 11, -1, 112, 113, -1, -1, 120, -1, - 121, -1, 125, -1, 128, -1, 134, -1, 135, -1, - 136, -1, 137, -1, 126, -1, 141, -1, 142, -1, - 143, -1, 144, -1, 145, -1, 158, -1, 159, -1, - 160, -1, 162, -1, 163, -1, 131, -1, 164, -1, - 165, -1, 168, -1, 166, -1, 167, -1, 169, -1, - 170, -1, 171, -1, 179, -1, 153, -1, 154, -1, - 155, -1, 156, -1, 172, -1, 182, -1, 149, -1, - 151, -1, 183, -1, 188, -1, 189, -1, 190, -1, - 132, -1, 157, -1, 192, -1, 193, -1, 150, -1, - 191, -1, 139, -1, 127, -1, 146, -1, 180, -1, - 186, -1, 173, -1, 181, -1, 195, -1, 196, -1, - 133, -1, 122, -1, 138, -1, 175, -1, 123, -1, - 129, -1, 130, -1, 147, -1, 148, -1, 194, -1, - 174, -1, 176, -1, 177, -1, 124, -1, 197, -1, - 161, -1, 178, -1, 140, -1, 152, -1, 184, -1, - 185, -1, 187, -1, 38, -1, 115, 116, -1, -1, - 198, -1, 199, -1, 200, -1, 201, -1, 44, -1, - 118, 119, -1, -1, 202, -1, 203, -1, 204, -1, - 13, 10, -1, 12, 10, -1, 76, 10, -1, 79, - 10, -1, 96, 10, -1, 14, 10, -1, 16, 10, - -1, 67, 10, -1, 15, 10, -1, 80, 10, -1, - 81, 10, -1, 31, 10, -1, 60, 10, -1, 75, - 10, -1, 17, 10, -1, 18, 10, -1, 19, 10, - -1, 20, 10, -1, 77, 10, -1, 66, 10, -1, - 101, 10, -1, 21, 10, -1, 22, 10, -1, 23, - 10, -1, 24, 10, -1, 25, 10, -1, 68, 10, - -1, 82, 10, -1, 83, 10, -1, 54, 10, -1, - 64, 10, -1, 55, 10, -1, 102, 10, -1, 48, - 10, -1, 49, 10, -1, 50, 10, -1, 51, 10, - -1, 61, 10, -1, 26, 10, -1, 27, 10, -1, - 28, 10, -1, 98, 10, -1, 29, 10, -1, 30, - 10, -1, 32, 10, -1, 33, 10, -1, 35, 10, - -1, 36, 10, -1, 34, 10, -1, 41, 10, -1, - 42, 10, -1, 43, 10, -1, 52, 10, -1, 71, - 10, -1, 85, 10, -1, 78, 10, -1, 86, 10, - -1, 87, 10, -1, 100, 10, -1, 47, 10, -1, - 69, 10, -1, 72, 10, 10, -1, 53, 10, -1, - 56, 10, -1, 105, 10, -1, 106, 10, -1, 70, - 10, -1, 107, 10, -1, 57, 10, -1, 58, 10, - -1, 59, 10, -1, 65, 10, -1, 62, 10, -1, - 63, 10, -1, 84, 10, -1, 73, 10, 10, -1, - 74, 10, -1, 97, 10, -1, 37, 10, -1, 39, - 10, -1, 40, 10, -1, 99, 10, -1, 37, 10, - -1, 45, 10, -1, 46, 10, -1, 88, -1, 206, - 207, -1, -1, 208, -1, 210, -1, 209, -1, 211, - -1, 212, -1, 213, -1, 214, -1, 89, 10, -1, - 91, 10, -1, 90, 10, -1, 92, 10, -1, 93, - 10, -1, 94, 10, -1, 95, 10, -1, 103, -1, - 216, 217, -1, -1, 218, -1, 104, 10, -1 + 110, 0, -1, -1, 110, 111, -1, 112, 113, -1, + 115, 116, -1, 118, 119, -1, 217, 218, -1, 207, + 208, -1, 11, -1, 113, 114, -1, -1, 121, -1, + 122, -1, 126, -1, 129, -1, 135, -1, 136, -1, + 137, -1, 138, -1, 127, -1, 142, -1, 143, -1, + 144, -1, 145, -1, 146, -1, 159, -1, 160, -1, + 161, -1, 163, -1, 164, -1, 132, -1, 165, -1, + 166, -1, 169, -1, 167, -1, 168, -1, 170, -1, + 171, -1, 172, -1, 180, -1, 154, -1, 155, -1, + 156, -1, 157, -1, 173, -1, 183, -1, 150, -1, + 152, -1, 184, -1, 189, -1, 190, -1, 191, -1, + 133, -1, 158, -1, 194, -1, 195, -1, 151, -1, + 193, -1, 140, -1, 128, -1, 147, -1, 181, -1, + 187, -1, 174, -1, 182, -1, 197, -1, 198, -1, + 134, -1, 123, -1, 139, -1, 176, -1, 124, -1, + 130, -1, 131, -1, 148, -1, 149, -1, 196, -1, + 175, -1, 177, -1, 178, -1, 125, -1, 199, -1, + 162, -1, 179, -1, 141, -1, 153, -1, 185, -1, + 186, -1, 188, -1, 192, -1, 38, -1, 116, 117, + -1, -1, 200, -1, 201, -1, 202, -1, 203, -1, + 44, -1, 119, 120, -1, -1, 204, -1, 205, -1, + 206, -1, 13, 10, -1, 12, 10, -1, 76, 10, + -1, 79, 10, -1, 96, 10, -1, 14, 10, -1, + 16, 10, -1, 67, 10, -1, 15, 10, -1, 80, + 10, -1, 81, 10, -1, 31, 10, -1, 60, 10, + -1, 75, 10, -1, 17, 10, -1, 18, 10, -1, + 19, 10, -1, 20, 10, -1, 77, 10, -1, 66, + 10, -1, 101, 10, -1, 21, 10, -1, 22, 10, + -1, 23, 10, -1, 24, 10, -1, 25, 10, -1, + 68, 10, -1, 82, 10, -1, 83, 10, -1, 54, + 10, -1, 64, 10, -1, 55, 10, -1, 102, 10, + -1, 48, 10, -1, 49, 10, -1, 50, 10, -1, + 51, 10, -1, 61, 10, -1, 26, 10, -1, 27, + 10, -1, 28, 10, -1, 98, 10, -1, 29, 10, + -1, 30, 10, -1, 32, 10, -1, 33, 10, -1, + 35, 10, -1, 36, 10, -1, 34, 10, -1, 41, + 10, -1, 42, 10, -1, 43, 10, -1, 52, 10, + -1, 71, 10, -1, 85, 10, -1, 78, 10, -1, + 86, 10, -1, 87, 10, -1, 100, 10, -1, 47, + 10, -1, 69, 10, -1, 72, 10, 10, -1, 53, + 10, -1, 56, 10, -1, 105, 10, -1, 106, 10, + -1, 70, 10, -1, 107, 10, -1, 57, 10, -1, + 58, 10, -1, 59, 10, -1, 108, 10, -1, 65, + 10, -1, 62, 10, -1, 63, 10, -1, 84, 10, + -1, 73, 10, 10, -1, 74, 10, -1, 97, 10, + -1, 37, 10, -1, 39, 10, -1, 40, 10, -1, + 99, 10, -1, 37, 10, -1, 45, 10, -1, 46, + 10, -1, 88, -1, 208, 209, -1, -1, 210, -1, + 212, -1, 211, -1, 213, -1, 214, -1, 215, -1, + 216, -1, 89, 10, -1, 91, 10, -1, 90, 10, + -1, 92, 10, -1, 93, 10, -1, 94, 10, -1, + 95, 10, -1, 103, -1, 218, 219, -1, -1, 220, + -1, 104, 10, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -737,18 +741,19 @@ static const yytype_uint16 yyrline[] = 138, 138, 139, 139, 140, 140, 141, 141, 141, 142, 142, 143, 143, 144, 144, 145, 145, 145, 146, 146, 147, 147, 148, 148, 149, 149, 150, 150, 151, 151, - 153, 165, 166, 167, 167, 167, 167, 169, 181, 182, - 183, 183, 183, 185, 194, 203, 214, 223, 232, 241, - 254, 269, 278, 287, 296, 305, 314, 323, 332, 341, - 350, 359, 368, 382, 391, 398, 405, 412, 420, 427, - 434, 441, 448, 456, 464, 471, 478, 487, 496, 503, - 510, 521, 529, 542, 551, 560, 568, 581, 590, 599, - 608, 617, 630, 637, 647, 657, 667, 677, 687, 697, - 704, 711, 720, 727, 737, 751, 758, 776, 789, 802, - 811, 820, 829, 839, 849, 856, 864, 877, 885, 905, - 912, 927, 934, 941, 948, 958, 965, 972, 979, 984, - 985, 986, 986, 986, 987, 987, 987, 988, 990, 1000, - 1009, 1016, 1023, 1030, 1037, 1044, 1049, 1050, 1051, 1053 + 151, 153, 165, 166, 167, 167, 167, 167, 169, 181, + 182, 183, 183, 183, 185, 194, 203, 214, 223, 232, + 241, 254, 269, 278, 287, 296, 305, 314, 323, 332, + 341, 350, 359, 368, 382, 391, 398, 405, 412, 420, + 427, 434, 441, 448, 456, 464, 471, 478, 487, 496, + 503, 510, 521, 529, 542, 551, 560, 568, 581, 590, + 599, 608, 617, 630, 637, 647, 657, 667, 677, 687, + 697, 704, 711, 720, 727, 737, 751, 758, 776, 789, + 802, 811, 820, 829, 839, 849, 857, 864, 872, 885, + 893, 913, 920, 935, 942, 949, 956, 966, 973, 980, + 987, 992, 993, 994, 994, 994, 995, 995, 995, 996, + 998, 1008, 1017, 1024, 1031, 1038, 1045, 1052, 1057, 1058, + 1059, 1061 }; #endif @@ -791,16 +796,17 @@ static const char *const yytname[] = "VAR_STUB_PRIME", "VAR_UNWANTED_REPLY_THRESHOLD", "VAR_LOG_TIME_ASCII", "VAR_DOMAIN_INSECURE", "VAR_PYTHON", "VAR_PYTHON_SCRIPT", "VAR_VAL_SIG_SKEW_MIN", "VAR_VAL_SIG_SKEW_MAX", "VAR_CACHE_MIN_TTL", - "$accept", "toplevelvars", "toplevelvar", "serverstart", - "contents_server", "content_server", "stubstart", "contents_stub", - "content_stub", "forwardstart", "contents_forward", "content_forward", - "server_num_threads", "server_verbosity", "server_statistics_interval", - "server_statistics_cumulative", "server_extended_statistics", - "server_port", "server_interface", "server_outgoing_interface", - "server_outgoing_range", "server_outgoing_port_permit", - "server_outgoing_port_avoid", "server_outgoing_num_tcp", - "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4", - "server_do_ip6", "server_do_udp", "server_do_tcp", "server_do_daemonize", + "VAR_VAL_LOG_LEVEL", "$accept", "toplevelvars", "toplevelvar", + "serverstart", "contents_server", "content_server", "stubstart", + "contents_stub", "content_stub", "forwardstart", "contents_forward", + "content_forward", "server_num_threads", "server_verbosity", + "server_statistics_interval", "server_statistics_cumulative", + "server_extended_statistics", "server_port", "server_interface", + "server_outgoing_interface", "server_outgoing_range", + "server_outgoing_port_permit", "server_outgoing_port_avoid", + "server_outgoing_num_tcp", "server_incoming_num_tcp", + "server_interface_automatic", "server_do_ip4", "server_do_ip6", + "server_do_udp", "server_do_tcp", "server_do_daemonize", "server_use_syslog", "server_log_time_ascii", "server_chroot", "server_username", "server_directory", "server_logfile", "server_pidfile", "server_root_hints", "server_dlv_anchor_file", @@ -824,15 +830,15 @@ static const char *const yytname[] = "server_val_sig_skew_min", "server_val_sig_skew_max", "server_cache_max_ttl", "server_cache_min_ttl", "server_bogus_ttl", "server_val_clean_additional", "server_val_permissive_mode", - "server_val_nsec3_keysize_iterations", "server_key_cache_size", - "server_key_cache_slabs", "server_neg_cache_size", "server_local_zone", - "server_local_data", "server_local_data_ptr", "stub_name", "stub_host", - "stub_addr", "stub_prime", "forward_name", "forward_host", - "forward_addr", "rcstart", "contents_rc", "content_rc", - "rc_control_enable", "rc_control_port", "rc_control_interface", - "rc_server_key_file", "rc_server_cert_file", "rc_control_key_file", - "rc_control_cert_file", "pythonstart", "contents_py", "content_py", - "py_script", 0 + "server_val_log_level", "server_val_nsec3_keysize_iterations", + "server_key_cache_size", "server_key_cache_slabs", + "server_neg_cache_size", "server_local_zone", "server_local_data", + "server_local_data_ptr", "stub_name", "stub_host", "stub_addr", + "stub_prime", "forward_name", "forward_host", "forward_addr", "rcstart", + "contents_rc", "content_rc", "rc_control_enable", "rc_control_port", + "rc_control_interface", "rc_server_key_file", "rc_server_cert_file", + "rc_control_key_file", "rc_control_cert_file", "pythonstart", + "contents_py", "content_py", "py_script", 0 }; #endif @@ -851,24 +857,24 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362 + 355, 356, 357, 358, 359, 360, 361, 362, 363 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 108, 109, 109, 110, 110, 110, 110, 110, 111, - 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 114, 115, 115, 116, 116, 116, 116, 117, 118, 118, - 119, 119, 119, 120, 121, 122, 123, 124, 125, 126, + 0, 109, 110, 110, 111, 111, 111, 111, 111, 112, + 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 115, 116, 116, 117, 117, 117, 117, 118, 119, + 119, 120, 120, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, @@ -877,8 +883,9 @@ static const yytype_uint8 yyr1[] = 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 206, 207, 207, 207, 207, 207, 207, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 216, 217, 218 + 207, 208, 208, 209, 209, 209, 209, 209, 209, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 218, + 219, 220 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -893,18 +900,19 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 0, 1, 1, 1, 1, 1, 2, 0, - 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 2, 0, 1, 1, 1, 1, 1, 2, + 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 0, 1, 2 + 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, + 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -912,8 +920,8 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 2, 0, 1, 9, 90, 97, 188, 205, 3, 11, - 92, 99, 190, 207, 4, 5, 6, 8, 7, 0, + 2, 0, 1, 9, 91, 98, 190, 207, 3, 11, + 93, 100, 192, 209, 4, 5, 6, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -921,45 +929,45 @@ static const yytype_uint8 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 12, 13, - 69, 72, 81, 14, 20, 60, 15, 73, 74, 31, - 53, 68, 16, 17, 18, 19, 70, 59, 85, 21, - 22, 23, 24, 25, 61, 75, 76, 47, 57, 48, - 86, 41, 42, 43, 44, 54, 26, 27, 28, 83, - 29, 30, 32, 33, 35, 36, 34, 37, 38, 39, - 45, 64, 78, 71, 79, 80, 84, 40, 62, 65, - 46, 49, 87, 88, 63, 89, 50, 51, 52, 58, - 55, 56, 77, 66, 67, 82, 0, 0, 0, 0, - 91, 93, 94, 95, 96, 0, 0, 0, 98, 100, - 101, 102, 0, 0, 0, 0, 0, 0, 0, 189, - 191, 193, 192, 194, 195, 196, 197, 0, 206, 208, - 104, 103, 108, 111, 109, 117, 118, 119, 120, 124, - 125, 126, 127, 128, 141, 142, 143, 145, 146, 114, - 147, 148, 151, 149, 150, 152, 153, 154, 162, 136, - 137, 138, 139, 155, 165, 132, 134, 166, 171, 172, - 173, 115, 140, 175, 176, 133, 174, 122, 110, 129, - 163, 169, 156, 0, 0, 179, 116, 105, 121, 158, - 106, 112, 113, 130, 131, 177, 157, 159, 160, 107, - 180, 144, 161, 123, 135, 167, 168, 170, 181, 182, - 183, 184, 185, 186, 187, 198, 200, 199, 201, 202, - 203, 204, 209, 164, 178 + 0, 0, 0, 0, 0, 0, 0, 0, 10, 12, + 13, 69, 72, 81, 14, 20, 60, 15, 73, 74, + 31, 53, 68, 16, 17, 18, 19, 70, 59, 85, + 21, 22, 23, 24, 25, 61, 75, 76, 47, 57, + 48, 86, 41, 42, 43, 44, 54, 26, 27, 28, + 83, 29, 30, 32, 33, 35, 36, 34, 37, 38, + 39, 45, 64, 78, 71, 79, 80, 84, 40, 62, + 65, 46, 49, 87, 88, 63, 89, 50, 51, 52, + 90, 58, 55, 56, 77, 66, 67, 82, 0, 0, + 0, 0, 92, 94, 95, 96, 97, 0, 0, 0, + 99, 101, 102, 103, 0, 0, 0, 0, 0, 0, + 0, 191, 193, 195, 194, 196, 197, 198, 199, 0, + 208, 210, 105, 104, 109, 112, 110, 118, 119, 120, + 121, 125, 126, 127, 128, 129, 142, 143, 144, 146, + 147, 115, 148, 149, 152, 150, 151, 153, 154, 155, + 163, 137, 138, 139, 140, 156, 166, 133, 135, 167, + 172, 173, 174, 116, 141, 177, 178, 134, 176, 123, + 111, 130, 164, 170, 157, 0, 0, 181, 117, 106, + 122, 159, 107, 113, 114, 131, 132, 179, 158, 160, + 161, 108, 182, 145, 162, 124, 136, 168, 169, 171, + 175, 183, 184, 185, 186, 187, 188, 189, 200, 202, + 201, 203, 204, 205, 206, 211, 165, 180 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 8, 9, 14, 97, 10, 15, 180, 11, - 16, 188, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 181, 182, 183, 184, 189, 190, 191, 12, 17, 199, - 200, 201, 202, 203, 204, 205, 206, 13, 18, 208, - 209 + -1, 1, 8, 9, 14, 98, 10, 15, 182, 11, + 16, 190, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 183, 184, 185, 186, 191, 192, 193, 12, 17, + 201, 202, 203, 204, 205, 206, 207, 208, 13, 18, + 210, 211 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing @@ -976,7 +984,7 @@ static const yytype_int16 yypact[] = 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, -103, -103, -103, + 82, 83, 84, 85, 86, 87, 88, 89, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, @@ -984,20 +992,20 @@ static const yytype_int16 yypact[] = -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 89, 90, 91, 119, - -103, -103, -103, -103, -103, 120, 121, 122, -103, -103, - -103, -103, 126, 127, 128, 170, 171, 172, 173, -103, - -103, -103, -103, -103, -103, -103, -103, 174, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, 90, 91, + 119, 120, -103, -103, -103, -103, -103, 121, 122, 126, + -103, -103, -103, -103, 127, 128, 170, 171, 172, 173, + 174, -103, -103, -103, -103, -103, -103, -103, -103, 175, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, 175, 176, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, 176, 177, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103 + -103, -103, -103, -103, -103, -103, -103, -103 }; /* YYPGOTO[NTERM-NUM]. */ @@ -1014,7 +1022,7 @@ static const yytype_int8 yypgoto[] = -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103 + -103, -103 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1024,26 +1032,27 @@ static const yytype_int8 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint16 yytable[] = { - 2, 176, 207, 177, 178, 185, 210, 211, 212, 213, - 0, 3, 214, 186, 187, 192, 193, 194, 195, 196, - 197, 198, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 4, 231, - 232, 233, 234, 235, 5, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 179, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 6, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 0, 7, 19, 20, 21, 22, 23, 24, + 2, 178, 209, 179, 180, 187, 212, 213, 214, 215, + 0, 3, 216, 188, 189, 194, 195, 196, 197, 198, + 199, 200, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 4, 233, + 234, 235, 236, 237, 5, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 181, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 6, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 0, 7, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 291, - 292, 293, 294, 44, 45, 46, 295, 296, 297, 47, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 293, + 294, 295, 296, 44, 45, 46, 297, 298, 299, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 298, 299, 300, 301, 302, 303, 304, 0, 88, 89, - 90, 0, 91, 92, 93, 0, 0, 94, 95, 96 + 300, 301, 302, 303, 304, 305, 306, 307, 88, 89, + 90, 0, 91, 92, 93, 0, 0, 94, 95, 96, + 97 }; static const yytype_int8 yycheck[] = @@ -1066,16 +1075,17 @@ static const yytype_int8 yycheck[] = 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 10, 10, 10, 10, 10, 10, 10, -1, 96, 97, - 98, -1, 100, 101, 102, -1, -1, 105, 106, 107 + 10, 10, 10, 10, 10, 10, 10, 10, 96, 97, + 98, -1, 100, 101, 102, -1, -1, 105, 106, 107, + 108 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 109, 0, 11, 38, 44, 88, 103, 110, 111, - 114, 117, 205, 215, 112, 115, 118, 206, 216, 12, + 0, 110, 0, 11, 38, 44, 88, 103, 111, 112, + 115, 118, 207, 217, 113, 116, 119, 208, 218, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 43, 47, 48, 49, @@ -1083,7 +1093,7 @@ static const yytype_uint8 yystos[] = 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 96, 97, - 98, 100, 101, 102, 105, 106, 107, 113, 120, 121, + 98, 100, 101, 102, 105, 106, 107, 108, 114, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, @@ -1091,10 +1101,11 @@ static const yytype_uint8 yystos[] = 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 37, 39, 40, 99, - 116, 198, 199, 200, 201, 37, 45, 46, 119, 202, - 203, 204, 89, 90, 91, 92, 93, 94, 95, 207, - 208, 209, 210, 211, 212, 213, 214, 104, 217, 218, + 192, 193, 194, 195, 196, 197, 198, 199, 37, 39, + 40, 99, 117, 200, 201, 202, 203, 37, 45, 46, + 120, 204, 205, 206, 89, 90, 91, 92, 93, 94, + 95, 209, 210, 211, 212, 213, 214, 215, 216, 104, + 219, 220, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1103,8 +1114,7 @@ static const yytype_uint8 yystos[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10 + 10, 10, 10, 10, 10, 10, 10, 10 }; #define yyerrok (yyerrstatus = 0) @@ -1924,7 +1934,7 @@ yyreduce: } break; - case 90: + case 91: /* Line 1455 of yacc.c */ #line 154 "util/configparser.y" @@ -1940,7 +1950,7 @@ yyreduce: } break; - case 97: + case 98: /* Line 1455 of yacc.c */ #line 170 "util/configparser.y" @@ -1956,7 +1966,7 @@ yyreduce: } break; - case 103: + case 104: /* Line 1455 of yacc.c */ #line 186 "util/configparser.y" @@ -1969,7 +1979,7 @@ yyreduce: } break; - case 104: + case 105: /* Line 1455 of yacc.c */ #line 195 "util/configparser.y" @@ -1982,7 +1992,7 @@ yyreduce: } break; - case 105: + case 106: /* Line 1455 of yacc.c */ #line 204 "util/configparser.y" @@ -1997,7 +2007,7 @@ yyreduce: } break; - case 106: + case 107: /* Line 1455 of yacc.c */ #line 215 "util/configparser.y" @@ -2010,7 +2020,7 @@ yyreduce: } break; - case 107: + case 108: /* Line 1455 of yacc.c */ #line 224 "util/configparser.y" @@ -2023,7 +2033,7 @@ yyreduce: } break; - case 108: + case 109: /* Line 1455 of yacc.c */ #line 233 "util/configparser.y" @@ -2036,7 +2046,7 @@ yyreduce: } break; - case 109: + case 110: /* Line 1455 of yacc.c */ #line 242 "util/configparser.y" @@ -2053,7 +2063,7 @@ yyreduce: } break; - case 110: + case 111: /* Line 1455 of yacc.c */ #line 255 "util/configparser.y" @@ -2072,7 +2082,7 @@ yyreduce: } break; - case 111: + case 112: /* Line 1455 of yacc.c */ #line 270 "util/configparser.y" @@ -2085,7 +2095,7 @@ yyreduce: } break; - case 112: + case 113: /* Line 1455 of yacc.c */ #line 279 "util/configparser.y" @@ -2098,7 +2108,7 @@ yyreduce: } break; - case 113: + case 114: /* Line 1455 of yacc.c */ #line 288 "util/configparser.y" @@ -2111,7 +2121,7 @@ yyreduce: } break; - case 114: + case 115: /* Line 1455 of yacc.c */ #line 297 "util/configparser.y" @@ -2124,7 +2134,7 @@ yyreduce: } break; - case 115: + case 116: /* Line 1455 of yacc.c */ #line 306 "util/configparser.y" @@ -2137,7 +2147,7 @@ yyreduce: } break; - case 116: + case 117: /* Line 1455 of yacc.c */ #line 315 "util/configparser.y" @@ -2150,7 +2160,7 @@ yyreduce: } break; - case 117: + case 118: /* Line 1455 of yacc.c */ #line 324 "util/configparser.y" @@ -2163,7 +2173,7 @@ yyreduce: } break; - case 118: + case 119: /* Line 1455 of yacc.c */ #line 333 "util/configparser.y" @@ -2176,7 +2186,7 @@ yyreduce: } break; - case 119: + case 120: /* Line 1455 of yacc.c */ #line 342 "util/configparser.y" @@ -2189,7 +2199,7 @@ yyreduce: } break; - case 120: + case 121: /* Line 1455 of yacc.c */ #line 351 "util/configparser.y" @@ -2202,7 +2212,7 @@ yyreduce: } break; - case 121: + case 122: /* Line 1455 of yacc.c */ #line 360 "util/configparser.y" @@ -2215,7 +2225,7 @@ yyreduce: } break; - case 122: + case 123: /* Line 1455 of yacc.c */ #line 369 "util/configparser.y" @@ -2233,7 +2243,7 @@ yyreduce: } break; - case 123: + case 124: /* Line 1455 of yacc.c */ #line 383 "util/configparser.y" @@ -2246,7 +2256,7 @@ yyreduce: } break; - case 124: + case 125: /* Line 1455 of yacc.c */ #line 392 "util/configparser.y" @@ -2257,7 +2267,7 @@ yyreduce: } break; - case 125: + case 126: /* Line 1455 of yacc.c */ #line 399 "util/configparser.y" @@ -2268,7 +2278,7 @@ yyreduce: } break; - case 126: + case 127: /* Line 1455 of yacc.c */ #line 406 "util/configparser.y" @@ -2279,7 +2289,7 @@ yyreduce: } break; - case 127: + case 128: /* Line 1455 of yacc.c */ #line 413 "util/configparser.y" @@ -2291,7 +2301,7 @@ yyreduce: } break; - case 128: + case 129: /* Line 1455 of yacc.c */ #line 421 "util/configparser.y" @@ -2302,7 +2312,7 @@ yyreduce: } break; - case 129: + case 130: /* Line 1455 of yacc.c */ #line 428 "util/configparser.y" @@ -2313,7 +2323,7 @@ yyreduce: } break; - case 130: + case 131: /* Line 1455 of yacc.c */ #line 435 "util/configparser.y" @@ -2324,7 +2334,7 @@ yyreduce: } break; - case 131: + case 132: /* Line 1455 of yacc.c */ #line 442 "util/configparser.y" @@ -2335,7 +2345,7 @@ yyreduce: } break; - case 132: + case 133: /* Line 1455 of yacc.c */ #line 449 "util/configparser.y" @@ -2347,7 +2357,7 @@ yyreduce: } break; - case 133: + case 134: /* Line 1455 of yacc.c */ #line 457 "util/configparser.y" @@ -2359,7 +2369,7 @@ yyreduce: } break; - case 134: + case 135: /* Line 1455 of yacc.c */ #line 465 "util/configparser.y" @@ -2370,7 +2380,7 @@ yyreduce: } break; - case 135: + case 136: /* Line 1455 of yacc.c */ #line 472 "util/configparser.y" @@ -2381,7 +2391,7 @@ yyreduce: } break; - case 136: + case 137: /* Line 1455 of yacc.c */ #line 479 "util/configparser.y" @@ -2394,7 +2404,7 @@ yyreduce: } break; - case 137: + case 138: /* Line 1455 of yacc.c */ #line 488 "util/configparser.y" @@ -2407,7 +2417,7 @@ yyreduce: } break; - case 138: + case 139: /* Line 1455 of yacc.c */ #line 497 "util/configparser.y" @@ -2418,7 +2428,7 @@ yyreduce: } break; - case 139: + case 140: /* Line 1455 of yacc.c */ #line 504 "util/configparser.y" @@ -2429,7 +2439,7 @@ yyreduce: } break; - case 140: + case 141: /* Line 1455 of yacc.c */ #line 511 "util/configparser.y" @@ -2444,7 +2454,7 @@ yyreduce: } break; - case 141: + case 142: /* Line 1455 of yacc.c */ #line 522 "util/configparser.y" @@ -2456,7 +2466,7 @@ yyreduce: } break; - case 142: + case 143: /* Line 1455 of yacc.c */ #line 530 "util/configparser.y" @@ -2473,7 +2483,7 @@ yyreduce: } break; - case 143: + case 144: /* Line 1455 of yacc.c */ #line 543 "util/configparser.y" @@ -2486,7 +2496,7 @@ yyreduce: } break; - case 144: + case 145: /* Line 1455 of yacc.c */ #line 552 "util/configparser.y" @@ -2499,7 +2509,7 @@ yyreduce: } break; - case 145: + case 146: /* Line 1455 of yacc.c */ #line 561 "util/configparser.y" @@ -2511,7 +2521,7 @@ yyreduce: } break; - case 146: + case 147: /* Line 1455 of yacc.c */ #line 569 "util/configparser.y" @@ -2528,7 +2538,7 @@ yyreduce: } break; - case 147: + case 148: /* Line 1455 of yacc.c */ #line 582 "util/configparser.y" @@ -2541,7 +2551,7 @@ yyreduce: } break; - case 148: + case 149: /* Line 1455 of yacc.c */ #line 591 "util/configparser.y" @@ -2554,7 +2564,7 @@ yyreduce: } break; - case 149: + case 150: /* Line 1455 of yacc.c */ #line 600 "util/configparser.y" @@ -2567,7 +2577,7 @@ yyreduce: } break; - case 150: + case 151: /* Line 1455 of yacc.c */ #line 609 "util/configparser.y" @@ -2580,7 +2590,7 @@ yyreduce: } break; - case 151: + case 152: /* Line 1455 of yacc.c */ #line 618 "util/configparser.y" @@ -2597,7 +2607,7 @@ yyreduce: } break; - case 152: + case 153: /* Line 1455 of yacc.c */ #line 631 "util/configparser.y" @@ -2608,7 +2618,7 @@ yyreduce: } break; - case 153: + case 154: /* Line 1455 of yacc.c */ #line 638 "util/configparser.y" @@ -2622,7 +2632,7 @@ yyreduce: } break; - case 154: + case 155: /* Line 1455 of yacc.c */ #line 648 "util/configparser.y" @@ -2636,7 +2646,7 @@ yyreduce: } break; - case 155: + case 156: /* Line 1455 of yacc.c */ #line 658 "util/configparser.y" @@ -2650,7 +2660,7 @@ yyreduce: } break; - case 156: + case 157: /* Line 1455 of yacc.c */ #line 668 "util/configparser.y" @@ -2664,7 +2674,7 @@ yyreduce: } break; - case 157: + case 158: /* Line 1455 of yacc.c */ #line 678 "util/configparser.y" @@ -2678,7 +2688,7 @@ yyreduce: } break; - case 158: + case 159: /* Line 1455 of yacc.c */ #line 688 "util/configparser.y" @@ -2692,7 +2702,7 @@ yyreduce: } break; - case 159: + case 160: /* Line 1455 of yacc.c */ #line 698 "util/configparser.y" @@ -2703,7 +2713,7 @@ yyreduce: } break; - case 160: + case 161: /* Line 1455 of yacc.c */ #line 705 "util/configparser.y" @@ -2714,7 +2724,7 @@ yyreduce: } break; - case 161: + case 162: /* Line 1455 of yacc.c */ #line 712 "util/configparser.y" @@ -2727,7 +2737,7 @@ yyreduce: } break; - case 162: + case 163: /* Line 1455 of yacc.c */ #line 721 "util/configparser.y" @@ -2738,7 +2748,7 @@ yyreduce: } break; - case 163: + case 164: /* Line 1455 of yacc.c */ #line 728 "util/configparser.y" @@ -2752,7 +2762,7 @@ yyreduce: } break; - case 164: + case 165: /* Line 1455 of yacc.c */ #line 738 "util/configparser.y" @@ -2770,7 +2780,7 @@ yyreduce: } break; - case 165: + case 166: /* Line 1455 of yacc.c */ #line 752 "util/configparser.y" @@ -2781,7 +2791,7 @@ yyreduce: } break; - case 166: + case 167: /* Line 1455 of yacc.c */ #line 759 "util/configparser.y" @@ -2803,7 +2813,7 @@ yyreduce: } break; - case 167: + case 168: /* Line 1455 of yacc.c */ #line 777 "util/configparser.y" @@ -2820,7 +2830,7 @@ yyreduce: } break; - case 168: + case 169: /* Line 1455 of yacc.c */ #line 790 "util/configparser.y" @@ -2837,7 +2847,7 @@ yyreduce: } break; - case 169: + case 170: /* Line 1455 of yacc.c */ #line 803 "util/configparser.y" @@ -2850,7 +2860,7 @@ yyreduce: } break; - case 170: + case 171: /* Line 1455 of yacc.c */ #line 812 "util/configparser.y" @@ -2863,7 +2873,7 @@ yyreduce: } break; - case 171: + case 172: /* Line 1455 of yacc.c */ #line 821 "util/configparser.y" @@ -2876,7 +2886,7 @@ yyreduce: } break; - case 172: + case 173: /* Line 1455 of yacc.c */ #line 830 "util/configparser.y" @@ -2890,7 +2900,7 @@ yyreduce: } break; - case 173: + case 174: /* Line 1455 of yacc.c */ #line 840 "util/configparser.y" @@ -2904,10 +2914,22 @@ yyreduce: } break; - case 174: + case 175: /* Line 1455 of yacc.c */ #line 850 "util/configparser.y" + { + OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str))); + if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str)); + } + break; + + case 176: + +/* Line 1455 of yacc.c */ +#line 858 "util/configparser.y" { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); @@ -2915,10 +2937,10 @@ yyreduce: } break; - case 175: + case 177: /* Line 1455 of yacc.c */ -#line 857 "util/configparser.y" +#line 865 "util/configparser.y" { OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size)) @@ -2927,10 +2949,10 @@ yyreduce: } break; - case 176: + case 178: /* Line 1455 of yacc.c */ -#line 865 "util/configparser.y" +#line 873 "util/configparser.y" { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -2944,10 +2966,10 @@ yyreduce: } break; - case 177: + case 179: /* Line 1455 of yacc.c */ -#line 878 "util/configparser.y" +#line 886 "util/configparser.y" { OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size)) @@ -2956,10 +2978,10 @@ yyreduce: } break; - case 178: + case 180: /* Line 1455 of yacc.c */ -#line 886 "util/configparser.y" +#line 894 "util/configparser.y" { OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && @@ -2980,10 +3002,10 @@ yyreduce: } break; - case 179: + case 181: /* Line 1455 of yacc.c */ -#line 906 "util/configparser.y" +#line 914 "util/configparser.y" { OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str))) @@ -2991,10 +3013,10 @@ yyreduce: } break; - case 180: + case 182: /* Line 1455 of yacc.c */ -#line 913 "util/configparser.y" +#line 921 "util/configparser.y" { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str))); @@ -3010,10 +3032,10 @@ yyreduce: } break; - case 181: + case 183: /* Line 1455 of yacc.c */ -#line 928 "util/configparser.y" +#line 936 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->stubs->name); @@ -3021,10 +3043,10 @@ yyreduce: } break; - case 182: + case 184: /* Line 1455 of yacc.c */ -#line 935 "util/configparser.y" +#line 943 "util/configparser.y" { OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str))) @@ -3032,10 +3054,10 @@ yyreduce: } break; - case 183: + case 185: /* Line 1455 of yacc.c */ -#line 942 "util/configparser.y" +#line 950 "util/configparser.y" { OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str))) @@ -3043,10 +3065,10 @@ yyreduce: } break; - case 184: + case 186: /* Line 1455 of yacc.c */ -#line 949 "util/configparser.y" +#line 957 "util/configparser.y" { OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3057,10 +3079,10 @@ yyreduce: } break; - case 185: + case 187: /* Line 1455 of yacc.c */ -#line 959 "util/configparser.y" +#line 967 "util/configparser.y" { OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->forwards->name); @@ -3068,10 +3090,10 @@ yyreduce: } break; - case 186: + case 188: /* Line 1455 of yacc.c */ -#line 966 "util/configparser.y" +#line 974 "util/configparser.y" { OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str))) @@ -3079,10 +3101,10 @@ yyreduce: } break; - case 187: + case 189: /* Line 1455 of yacc.c */ -#line 973 "util/configparser.y" +#line 981 "util/configparser.y" { OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str))) @@ -3090,19 +3112,19 @@ yyreduce: } break; - case 188: + case 190: /* Line 1455 of yacc.c */ -#line 980 "util/configparser.y" +#line 988 "util/configparser.y" { OUTYY(("\nP(remote-control:)\n")); } break; - case 198: + case 200: /* Line 1455 of yacc.c */ -#line 991 "util/configparser.y" +#line 999 "util/configparser.y" { OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str))); if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) @@ -3113,10 +3135,10 @@ yyreduce: } break; - case 199: + case 201: /* Line 1455 of yacc.c */ -#line 1001 "util/configparser.y" +#line 1009 "util/configparser.y" { OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str))); if(atoi((yyvsp[(2) - (2)].str)) == 0) @@ -3126,10 +3148,10 @@ yyreduce: } break; - case 200: + case 202: /* Line 1455 of yacc.c */ -#line 1010 "util/configparser.y" +#line 1018 "util/configparser.y" { OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str))) @@ -3137,10 +3159,10 @@ yyreduce: } break; - case 201: + case 203: /* Line 1455 of yacc.c */ -#line 1017 "util/configparser.y" +#line 1025 "util/configparser.y" { OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->server_key_file); @@ -3148,10 +3170,10 @@ yyreduce: } break; - case 202: + case 204: /* Line 1455 of yacc.c */ -#line 1024 "util/configparser.y" +#line 1032 "util/configparser.y" { OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->server_cert_file); @@ -3159,10 +3181,10 @@ yyreduce: } break; - case 203: + case 205: /* Line 1455 of yacc.c */ -#line 1031 "util/configparser.y" +#line 1039 "util/configparser.y" { OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->control_key_file); @@ -3170,10 +3192,10 @@ yyreduce: } break; - case 204: + case 206: /* Line 1455 of yacc.c */ -#line 1038 "util/configparser.y" +#line 1046 "util/configparser.y" { OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->control_cert_file); @@ -3181,19 +3203,19 @@ yyreduce: } break; - case 205: + case 207: /* Line 1455 of yacc.c */ -#line 1045 "util/configparser.y" +#line 1053 "util/configparser.y" { OUTYY(("\nP(python:)\n")); } break; - case 209: + case 211: /* Line 1455 of yacc.c */ -#line 1054 "util/configparser.y" +#line 1062 "util/configparser.y" { OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str))); free(cfg_parser->cfg->python_script); @@ -3204,7 +3226,7 @@ yyreduce: /* Line 1455 of yacc.c */ -#line 3208 "util/configparser.c" +#line 3230 "util/configparser.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3416,7 +3438,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 1059 "util/configparser.y" +#line 1067 "util/configparser.y" /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index 3b141227d..da82420fc 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -143,7 +143,8 @@ VAR_PYTHON_SCRIPT = 359, VAR_VAL_SIG_SKEW_MIN = 360, VAR_VAL_SIG_SKEW_MAX = 361, - VAR_CACHE_MIN_TTL = 362 + VAR_CACHE_MIN_TTL = 362, + VAR_VAL_LOG_LEVEL = 363 }; #endif /* Tokens. */ @@ -252,6 +253,7 @@ #define VAR_VAL_SIG_SKEW_MIN 360 #define VAR_VAL_SIG_SKEW_MAX 361 #define VAR_CACHE_MIN_TTL 362 +#define VAR_VAL_LOG_LEVEL 363 @@ -268,7 +270,7 @@ typedef union YYSTYPE /* Line 1676 of yacc.c */ -#line 272 "util/configparser.h" +#line 274 "util/configparser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/util/configparser.y b/util/configparser.y index c2a0b2c91..e420b618e 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -98,7 +98,7 @@ extern struct config_parser_state* cfg_parser; %token VAR_EXTENDED_STATISTICS VAR_LOCAL_DATA_PTR VAR_JOSTLE_TIMEOUT %token VAR_STUB_PRIME VAR_UNWANTED_REPLY_THRESHOLD VAR_LOG_TIME_ASCII %token VAR_DOMAIN_INSECURE VAR_PYTHON VAR_PYTHON_SCRIPT VAR_VAL_SIG_SKEW_MIN -%token VAR_VAL_SIG_SKEW_MAX VAR_CACHE_MIN_TTL +%token VAR_VAL_SIG_SKEW_MAX VAR_CACHE_MIN_TTL VAR_VAL_LOG_LEVEL %% toplevelvars: /* empty */ | toplevelvars toplevelvar ; @@ -148,7 +148,7 @@ content_server: server_num_threads | server_verbosity | server_port | server_local_data_ptr | server_jostle_timeout | server_unwanted_reply_threshold | server_log_time_ascii | server_domain_insecure | server_val_sig_skew_min | - server_val_sig_skew_max | server_cache_min_ttl + server_val_sig_skew_max | server_cache_min_ttl | server_val_log_level ; stubstart: VAR_STUB_ZONE { @@ -846,6 +846,14 @@ server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG free($2); } ; +server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG + { + OUTYY(("P(server_val_log_level:%s)\n", $2)); + if(atoi($2) == 0 && strcmp($2, "0") != 0) + yyerror("number expected"); + else cfg_parser->cfg->val_log_level = atoi($2); + } + ; server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", $2)); diff --git a/validator/validator.c b/validator/validator.c index 69faff191..526ff8dc9 100644 --- a/validator/validator.c +++ b/validator/validator.c @@ -1796,6 +1796,9 @@ processFinished(struct module_qstate* qstate, struct val_qstate* vq, * endless bogus revalidation */ if(vq->orig_msg->rep->security == sec_status_bogus) { vq->orig_msg->rep->ttl = *qstate->env->now + ve->bogus_ttl; + if(qstate->env->cfg->val_log_level >= 1) { + log_query_info(0, "validation failure", &qstate->qinfo); + } /* If we are in permissive mode, bogus gets indeterminate */ if(ve->permissive_mode) vq->orig_msg->rep->security = sec_status_indeterminate;