- Fix #1188: Unresolved symbol 'fake_dsa' in libunbound.so when built with

Nettle


git-svn-id: file:///svn/unbound/trunk@3971 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Ralph Dolmans 2016-12-21 10:29:19 +00:00
parent 6f757b28f3
commit 95d5334783
4 changed files with 220 additions and 227 deletions

View file

@ -1,3 +1,7 @@
21 December 2016: Ralph
- Fix #1188: Unresolved symbol 'fake_dsa' in libunbound.so when built
with Nettle
19 December 2016: Ralph 19 December 2016: Ralph
- Fix #1191: remove comment about view deletion. - Fix #1191: remove comment about view deletion.

View file

@ -10,7 +10,7 @@
#define FLEX_SCANNER #define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6 #define YY_FLEX_MINOR_VERSION 6
#define YY_FLEX_SUBMINOR_VERSION 0 #define YY_FLEX_SUBMINOR_VERSION 1
#if YY_FLEX_SUBMINOR_VERSION > 0 #if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA #define FLEX_BETA
#endif #endif
@ -89,25 +89,13 @@ typedef unsigned int flex_uint32_t;
#endif /* ! FLEXINT_H */ #endif /* ! FLEXINT_H */
#ifdef __cplusplus /* TODO: this is always defined, so inline it */
/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
/* C99 requires __STDC__ to be defined as 1. */
#if defined (__STDC__)
#define YY_USE_CONST
#endif /* defined (__STDC__) */
#endif /* ! __cplusplus */
#ifdef YY_USE_CONST
#define yyconst const #define yyconst const
#if defined(__GNUC__) && __GNUC__ >= 3
#define yynoreturn __attribute__((__noreturn__))
#else #else
#define yyconst #define yynoreturn
#endif #endif
/* Returned upon end-of-file. */ /* Returned upon end-of-file. */
@ -168,7 +156,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
typedef size_t yy_size_t; typedef size_t yy_size_t;
#endif #endif
extern yy_size_t yyleng; extern int yyleng;
extern FILE *yyin, *yyout; extern FILE *yyin, *yyout;
@ -207,12 +195,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB /* Size of input buffer in bytes, not including room for EOB
* characters. * characters.
*/ */
yy_size_t yy_buf_size; int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB /* Number of characters read into yy_ch_buf, not including EOB
* characters. * characters.
*/ */
yy_size_t yy_n_chars; int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it, /* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to * and can realloc() it to grow it, and should free() it to
@ -235,7 +223,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */ int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */ int yy_bs_column; /**< The column count. */
/* Whether to try to fill the input buffer when we reach the /* Whether to try to fill the input buffer when we reach the
* end of it. * end of it.
*/ */
@ -263,7 +251,7 @@ struct yy_buffer_state
/* Stack of input buffers. */ /* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the /* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general * future we want to put the buffer states in a more general
@ -282,11 +270,11 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* yy_hold_char holds the character lost when yytext is formed. */ /* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char; static char yy_hold_char;
static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ static int yy_n_chars; /* number of characters read into yy_ch_buf */
yy_size_t yyleng; int yyleng;
/* Points to current character in buffer. */ /* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0; static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */ static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */ static int yy_start = 0; /* start state number */
@ -311,7 +299,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
void *yyalloc (yy_size_t ); void *yyalloc (yy_size_t );
void *yyrealloc (void *,yy_size_t ); void *yyrealloc (void *,yy_size_t );
@ -345,7 +333,7 @@ void yyfree (void * );
typedef unsigned char YY_CHAR; typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type; typedef int yy_state_type;
@ -362,10 +350,7 @@ extern char *yytext;
static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_get_previous_state (void );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
static int yy_get_next_buffer (void ); static int yy_get_next_buffer (void );
#if defined(__GNUC__) && __GNUC__ >= 3 static void yynoreturn yy_fatal_error (yyconst char* msg );
__attribute__((__noreturn__))
#endif
static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the /* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext. * corresponding action - sets up yytext.
@ -373,7 +358,7 @@ static void yy_fatal_error (yyconst char msg[] );
#define YY_DO_BEFORE_ACTION \ #define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \ (yytext_ptr) = yy_bp; \
(yytext_ptr) -= (yy_more_len); \ (yytext_ptr) -= (yy_more_len); \
yyleng = (size_t) (yy_cp - (yytext_ptr)); \ yyleng = (int) (yy_cp - (yytext_ptr)); \
(yy_hold_char) = *yy_cp; \ (yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \ *yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp; (yy_c_buf_p) = yy_cp;
@ -2162,7 +2147,7 @@ static void config_end_include(void)
#define YY_NO_INPUT 1 #define YY_NO_INPUT 1
#endif #endif
#line 2164 "<stdout>" #line 2149 "<stdout>"
#define INITIAL 0 #define INITIAL 0
#define quotedstring 1 #define quotedstring 1
@ -2206,7 +2191,7 @@ FILE *yyget_out (void );
void yyset_out (FILE * _out_str ); void yyset_out (FILE * _out_str );
yy_size_t yyget_leng (void ); int yyget_leng (void );
char *yyget_text (void ); char *yyget_text (void );
@ -2263,7 +2248,7 @@ static int input (void );
/* This used to be an fputs(), but since the string might contain NUL's, /* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite(). * we now use fwrite().
*/ */
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
#endif #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@ -2287,7 +2272,7 @@ static int input (void );
else \ else \
{ \ { \
errno=0; \ errno=0; \
while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
{ \ { \
if( errno != EINTR) \ if( errno != EINTR) \
{ \ { \
@ -2385,7 +2370,7 @@ YY_DECL
{ {
#line 207 "./util/configlexer.lex" #line 207 "./util/configlexer.lex"
#line 2387 "<stdout>" #line 2372 "<stdout>"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{ {
@ -2421,7 +2406,7 @@ yy_match:
if ( yy_current_state >= 1956 ) if ( yy_current_state >= 1956 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
++yy_cp; ++yy_cp;
} }
while ( yy_base[yy_current_state] != 3865 ); while ( yy_base[yy_current_state] != 3865 );
@ -3532,7 +3517,7 @@ YY_RULE_SETUP
#line 489 "./util/configlexer.lex" #line 489 "./util/configlexer.lex"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 3534 "<stdout>" #line 3519 "<stdout>"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@ -3731,7 +3716,7 @@ static int yy_get_next_buffer (void)
if ( b->yy_is_our_buffer ) if ( b->yy_is_our_buffer )
{ {
yy_size_t new_size = b->yy_buf_size * 2; int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 ) if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8; b->yy_buf_size += b->yy_buf_size / 8;
@ -3744,7 +3729,7 @@ static int yy_get_next_buffer (void)
} }
else else
/* Can't grow it, we don't own it. */ /* Can't grow it, we don't own it. */
b->yy_ch_buf = 0; b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf ) if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( YY_FATAL_ERROR(
@ -3786,9 +3771,9 @@ static int yy_get_next_buffer (void)
else else
ret_val = EOB_ACT_CONTINUE_SCAN; ret_val = EOB_ACT_CONTINUE_SCAN;
if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */ /* Extend the array by 50%, plus the number we really need. */
yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
@ -3826,7 +3811,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 1956 ) if ( yy_current_state >= 1956 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
} }
return yy_current_state; return yy_current_state;
@ -3854,7 +3839,7 @@ static int yy_get_next_buffer (void)
if ( yy_current_state >= 1956 ) if ( yy_current_state >= 1956 )
yy_c = yy_meta[(unsigned int) yy_c]; yy_c = yy_meta[(unsigned int) yy_c];
} }
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_is_jam = (yy_current_state == 1955); yy_is_jam = (yy_current_state == 1955);
return yy_is_jam ? 0 : yy_current_state; return yy_is_jam ? 0 : yy_current_state;
@ -3888,7 +3873,7 @@ static int yy_get_next_buffer (void)
else else
{ /* need more input */ { /* need more input */
yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); int offset = (yy_c_buf_p) - (yytext_ptr);
++(yy_c_buf_p); ++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) ) switch ( yy_get_next_buffer( ) )
@ -3912,7 +3897,7 @@ static int yy_get_next_buffer (void)
case EOB_ACT_END_OF_FILE: case EOB_ACT_END_OF_FILE:
{ {
if ( yywrap( ) ) if ( yywrap( ) )
return EOF; return 0;
if ( ! (yy_did_buffer_switch_on_eof) ) if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE; YY_NEW_FILE;
@ -4160,7 +4145,7 @@ void yypop_buffer_state (void)
*/ */
static void yyensure_buffer_stack (void) static void yyensure_buffer_stack (void)
{ {
yy_size_t num_to_alloc; int num_to_alloc;
if (!(yy_buffer_stack)) { if (!(yy_buffer_stack)) {
@ -4168,15 +4153,15 @@ static void yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an * scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call. * immediate realloc on the next call.
*/ */
num_to_alloc = 1; // After all that talk, this was set to 1 anyways... num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*) (num_to_alloc * sizeof(struct yy_buffer_state*)
); );
if ( ! (yy_buffer_stack) ) if ( ! (yy_buffer_stack) )
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
(yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_max) = num_to_alloc;
(yy_buffer_stack_top) = 0; (yy_buffer_stack_top) = 0;
return; return;
@ -4205,7 +4190,7 @@ static void yyensure_buffer_stack (void)
* @param base the character buffer * @param base the character buffer
* @param size the size in bytes of the character buffer * @param size the size in bytes of the character buffer
* *
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{ {
@ -4215,7 +4200,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR ) base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */ /* They forgot to leave room for the EOB's. */
return 0; return NULL;
b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
if ( ! b ) if ( ! b )
@ -4224,7 +4209,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base; b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0; b->yy_is_our_buffer = 0;
b->yy_input_file = 0; b->yy_input_file = NULL;
b->yy_n_chars = b->yy_buf_size; b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0; b->yy_is_interactive = 0;
b->yy_at_bol = 1; b->yy_at_bol = 1;
@ -4247,7 +4232,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
{ {
return yy_scan_bytes(yystr,strlen(yystr) ); return yy_scan_bytes(yystr,(int) strlen(yystr) );
} }
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
@ -4257,7 +4242,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
* *
* @return the newly allocated buffer state object. * @return the newly allocated buffer state object.
*/ */
YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
{ {
YY_BUFFER_STATE b; YY_BUFFER_STATE b;
char *buf; char *buf;
@ -4265,7 +4250,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
yy_size_t i; yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */ /* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2; n = (yy_size_t) _yybytes_len + 2;
buf = (char *) yyalloc(n ); buf = (char *) yyalloc(n );
if ( ! buf ) if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
@ -4291,7 +4276,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
#define YY_EXIT_FAILURE 2 #define YY_EXIT_FAILURE 2
#endif #endif
static void yy_fatal_error (yyconst char* msg ) static void yynoreturn yy_fatal_error (yyconst char* msg )
{ {
(void) fprintf( stderr, "%s\n", msg ); (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE ); exit( YY_EXIT_FAILURE );
@ -4321,7 +4306,7 @@ static void yy_fatal_error (yyconst char* msg )
*/ */
int yyget_lineno (void) int yyget_lineno (void)
{ {
return yylineno; return yylineno;
} }
@ -4344,7 +4329,7 @@ FILE *yyget_out (void)
/** Get the length of the current token. /** Get the length of the current token.
* *
*/ */
yy_size_t yyget_leng (void) int yyget_leng (void)
{ {
return yyleng; return yyleng;
} }
@ -4400,10 +4385,10 @@ static int yy_init_globals (void)
* This function is called from yylex_destroy(), so don't allocate here. * This function is called from yylex_destroy(), so don't allocate here.
*/ */
(yy_buffer_stack) = 0; (yy_buffer_stack) = NULL;
(yy_buffer_stack_top) = 0; (yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0; (yy_buffer_stack_max) = 0;
(yy_c_buf_p) = (char *) 0; (yy_c_buf_p) = NULL;
(yy_init) = 0; (yy_init) = 0;
(yy_start) = 0; (yy_start) = 0;
@ -4412,8 +4397,8 @@ static int yy_init_globals (void)
yyin = stdin; yyin = stdin;
yyout = stdout; yyout = stdout;
#else #else
yyin = (FILE *) 0; yyin = NULL;
yyout = (FILE *) 0; yyout = NULL;
#endif #endif
/* For future reference: Set errno on error, since we are called by /* For future reference: Set errno on error, since we are called by
@ -4471,7 +4456,7 @@ static int yy_flex_strlen (yyconst char * s )
void *yyalloc (yy_size_t size ) void *yyalloc (yy_size_t size )
{ {
return (void *) malloc( size ); return malloc(size);
} }
void *yyrealloc (void * ptr, yy_size_t size ) void *yyrealloc (void * ptr, yy_size_t size )
@ -4484,7 +4469,7 @@ void *yyrealloc (void * ptr, yy_size_t size )
* any pointer type to void*, and deal with argument conversions * any pointer type to void*, and deal with argument conversions
* as though doing an assignment. * as though doing an assignment.
*/ */
return (void *) realloc( (char *) ptr, size ); return realloc(ptr, size);
} }
void yyfree (void * ptr ) void yyfree (void * ptr )

View file

@ -858,17 +858,17 @@ static const yytype_uint16 yyrline[] =
896, 905, 912, 922, 932, 942, 952, 962, 972, 982, 896, 905, 912, 922, 932, 942, 952, 962, 972, 982,
992, 999, 1006, 1013, 1022, 1031, 1040, 1047, 1057, 1074, 992, 999, 1006, 1013, 1022, 1031, 1040, 1047, 1057, 1074,
1081, 1099, 1112, 1125, 1134, 1143, 1152, 1161, 1171, 1181, 1081, 1099, 1112, 1125, 1134, 1143, 1152, 1161, 1171, 1181,
1190, 1199, 1210, 1219, 1226, 1235, 1244, 1253, 1262, 1270, 1190, 1199, 1212, 1221, 1228, 1237, 1246, 1255, 1264, 1272,
1283, 1291, 1319, 1326, 1341, 1351, 1361, 1368, 1375, 1384, 1285, 1293, 1321, 1328, 1343, 1353, 1363, 1370, 1377, 1386,
1398, 1417, 1436, 1448, 1460, 1472, 1483, 1492, 1500, 1513, 1400, 1419, 1438, 1450, 1462, 1474, 1485, 1494, 1502, 1515,
1526, 1539, 1548, 1558, 1568, 1578, 1585, 1592, 1601, 1611, 1528, 1541, 1550, 1560, 1570, 1580, 1587, 1594, 1603, 1613,
1621, 1631, 1638, 1645, 1654, 1664, 1674, 1703, 1712, 1721, 1623, 1633, 1640, 1647, 1656, 1666, 1676, 1705, 1714, 1723,
1726, 1727, 1728, 1728, 1728, 1729, 1729, 1729, 1730, 1730, 1728, 1729, 1730, 1730, 1730, 1731, 1731, 1731, 1732, 1732,
1732, 1742, 1751, 1758, 1768, 1775, 1782, 1789, 1796, 1801, 1734, 1744, 1753, 1760, 1770, 1777, 1784, 1791, 1798, 1803,
1802, 1803, 1803, 1804, 1804, 1805, 1805, 1806, 1807, 1808, 1804, 1805, 1805, 1806, 1806, 1807, 1807, 1808, 1809, 1810,
1809, 1810, 1811, 1813, 1821, 1828, 1836, 1844, 1851, 1858, 1811, 1812, 1813, 1815, 1823, 1830, 1838, 1846, 1853, 1860,
1867, 1876, 1885, 1894, 1903, 1912, 1917, 1918, 1919, 1921, 1869, 1878, 1887, 1896, 1905, 1914, 1919, 1920, 1921, 1923,
1927, 1937 1929, 1939
}; };
#endif #endif
@ -3435,16 +3435,18 @@ yyreduce:
OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
yyerror("expected yes or no."); yyerror("expected yes or no.");
#ifdef HAVE_SSL
else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0); else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0);
if(fake_dsa) if(fake_dsa)
log_warn("test option fake_dsa is enabled"); log_warn("test option fake_dsa is enabled");
#endif
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3444 "util/configparser.c" /* yacc.c:1646 */ #line 3446 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 272: case 272:
#line 1211 "./util/configparser.y" /* yacc.c:1646 */ #line 1213 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3452,21 +3454,21 @@ yyreduce:
else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3456 "util/configparser.c" /* yacc.c:1646 */ #line 3458 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 273: case 273:
#line 1220 "./util/configparser.y" /* yacc.c:1646 */ #line 1222 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations); free(cfg_parser->cfg->val_nsec3_key_iterations);
cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str);
} }
#line 3466 "util/configparser.c" /* yacc.c:1646 */ #line 3468 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 274: case 274:
#line 1227 "./util/configparser.y" /* yacc.c:1646 */ #line 1229 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3474,11 +3476,11 @@ yyreduce:
else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3478 "util/configparser.c" /* yacc.c:1646 */ #line 3480 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 275: case 275:
#line 1236 "./util/configparser.y" /* yacc.c:1646 */ #line 1238 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3486,11 +3488,11 @@ yyreduce:
else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3490 "util/configparser.c" /* yacc.c:1646 */ #line 3492 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 276: case 276:
#line 1245 "./util/configparser.y" /* yacc.c:1646 */ #line 1247 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3498,11 +3500,11 @@ yyreduce:
else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3502 "util/configparser.c" /* yacc.c:1646 */ #line 3504 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 277: case 277:
#line 1254 "./util/configparser.y" /* yacc.c:1646 */ #line 1256 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3511,22 +3513,22 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3515 "util/configparser.c" /* yacc.c:1646 */ #line 3517 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 278: case 278:
#line 1263 "./util/configparser.y" /* yacc.c:1646 */ #line 1265 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str)));
if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size))
yyerror("memory size expected"); yyerror("memory size expected");
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3526 "util/configparser.c" /* yacc.c:1646 */ #line 3528 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 279: case 279:
#line 1271 "./util/configparser.y" /* yacc.c:1646 */ #line 1273 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0) if(atoi((yyvsp[0].str)) == 0)
@ -3538,22 +3540,22 @@ yyreduce:
} }
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3542 "util/configparser.c" /* yacc.c:1646 */ #line 3544 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 280: case 280:
#line 1284 "./util/configparser.y" /* yacc.c:1646 */ #line 1286 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str)));
if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size))
yyerror("memory size expected"); yyerror("memory size expected");
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3553 "util/configparser.c" /* yacc.c:1646 */ #line 3555 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 281: case 281:
#line 1292 "./util/configparser.y" /* yacc.c:1646 */ #line 1294 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 &&
@ -3580,21 +3582,21 @@ yyreduce:
fatal_exit("out of memory adding local-zone"); fatal_exit("out of memory adding local-zone");
} }
} }
#line 3584 "util/configparser.c" /* yacc.c:1646 */ #line 3586 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 282: case 282:
#line 1320 "./util/configparser.y" /* yacc.c:1646 */ #line 1322 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str)))
fatal_exit("out of memory adding local-data"); fatal_exit("out of memory adding local-data");
} }
#line 3594 "util/configparser.c" /* yacc.c:1646 */ #line 3596 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 283: case 283:
#line 1327 "./util/configparser.y" /* yacc.c:1646 */ #line 1329 "./util/configparser.y" /* yacc.c:1646 */
{ {
char* ptr; char* ptr;
OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str)));
@ -3608,11 +3610,11 @@ yyreduce:
yyerror("local-data-ptr could not be reversed"); yyerror("local-data-ptr could not be reversed");
} }
} }
#line 3612 "util/configparser.c" /* yacc.c:1646 */ #line 3614 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 284: case 284:
#line 1342 "./util/configparser.y" /* yacc.c:1646 */ #line 1344 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3621,11 +3623,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3625 "util/configparser.c" /* yacc.c:1646 */ #line 3627 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 285: case 285:
#line 1352 "./util/configparser.y" /* yacc.c:1646 */ #line 1354 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3634,31 +3636,31 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3638 "util/configparser.c" /* yacc.c:1646 */ #line 3640 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 286: case 286:
#line 1362 "./util/configparser.y" /* yacc.c:1646 */ #line 1364 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str)));
cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3648 "util/configparser.c" /* yacc.c:1646 */ #line 3650 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 287: case 287:
#line 1369 "./util/configparser.y" /* yacc.c:1646 */ #line 1371 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->dns64_prefix); free(cfg_parser->cfg->dns64_prefix);
cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str);
} }
#line 3658 "util/configparser.c" /* yacc.c:1646 */ #line 3660 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 288: case 288:
#line 1376 "./util/configparser.y" /* yacc.c:1646 */ #line 1378 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3666,11 +3668,11 @@ yyreduce:
else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3670 "util/configparser.c" /* yacc.c:1646 */ #line 3672 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 289: case 289:
#line 1385 "./util/configparser.y" /* yacc.c:1646 */ #line 1387 "./util/configparser.y" /* yacc.c:1646 */
{ {
char* p, *s = (yyvsp[0].str); char* p, *s = (yyvsp[0].str);
OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str)));
@ -3683,11 +3685,11 @@ yyreduce:
} }
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3687 "util/configparser.c" /* yacc.c:1646 */ #line 3689 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 290: case 290:
#line 1399 "./util/configparser.y" /* yacc.c:1646 */ #line 1401 "./util/configparser.y" /* yacc.c:1646 */
{ {
size_t len = 0; size_t len = 0;
uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
@ -3705,11 +3707,11 @@ yyreduce:
} }
} }
} }
#line 3709 "util/configparser.c" /* yacc.c:1646 */ #line 3711 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 291: case 291:
#line 1418 "./util/configparser.y" /* yacc.c:1646 */ #line 1420 "./util/configparser.y" /* yacc.c:1646 */
{ {
size_t len = 0; size_t len = 0;
uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
@ -3727,11 +3729,11 @@ yyreduce:
} }
} }
} }
#line 3731 "util/configparser.c" /* yacc.c:1646 */ #line 3733 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 292: case 292:
#line 1437 "./util/configparser.y" /* yacc.c:1646 */ #line 1439 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions,
@ -3742,11 +3744,11 @@ yyreduce:
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
} }
#line 3746 "util/configparser.c" /* yacc.c:1646 */ #line 3748 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 293: case 293:
#line 1449 "./util/configparser.y" /* yacc.c:1646 */ #line 1451 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas,
@ -3757,11 +3759,11 @@ yyreduce:
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
} }
#line 3761 "util/configparser.c" /* yacc.c:1646 */ #line 3763 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 294: case 294:
#line 1461 "./util/configparser.y" /* yacc.c:1646 */ #line 1463 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)));
if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides,
@ -3772,11 +3774,11 @@ yyreduce:
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
} }
#line 3776 "util/configparser.c" /* yacc.c:1646 */ #line 3778 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 295: case 295:
#line 1473 "./util/configparser.y" /* yacc.c:1646 */ #line 1475 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view,
@ -3786,11 +3788,11 @@ yyreduce:
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
} }
#line 3790 "util/configparser.c" /* yacc.c:1646 */ #line 3792 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 296: case 296:
#line 1484 "./util/configparser.y" /* yacc.c:1646 */ #line 1486 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3798,22 +3800,22 @@ yyreduce:
else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3802 "util/configparser.c" /* yacc.c:1646 */ #line 3804 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 297: case 297:
#line 1493 "./util/configparser.y" /* yacc.c:1646 */ #line 1495 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str)));
if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size))
yyerror("memory size expected"); yyerror("memory size expected");
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3813 "util/configparser.c" /* yacc.c:1646 */ #line 3815 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 298: case 298:
#line 1501 "./util/configparser.y" /* yacc.c:1646 */ #line 1503 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0) if(atoi((yyvsp[0].str)) == 0)
@ -3825,11 +3827,11 @@ yyreduce:
} }
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3829 "util/configparser.c" /* yacc.c:1646 */ #line 3831 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 299: case 299:
#line 1514 "./util/configparser.y" /* yacc.c:1646 */ #line 1516 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
@ -3841,11 +3843,11 @@ yyreduce:
"ratelimit-for-domain"); "ratelimit-for-domain");
} }
} }
#line 3845 "util/configparser.c" /* yacc.c:1646 */ #line 3847 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 300: case 300:
#line 1527 "./util/configparser.y" /* yacc.c:1646 */ #line 1529 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) {
@ -3857,11 +3859,11 @@ yyreduce:
"ratelimit-below-domain"); "ratelimit-below-domain");
} }
} }
#line 3861 "util/configparser.c" /* yacc.c:1646 */ #line 3863 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 301: case 301:
#line 1540 "./util/configparser.y" /* yacc.c:1646 */ #line 1542 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
@ -3869,11 +3871,11 @@ yyreduce:
else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3873 "util/configparser.c" /* yacc.c:1646 */ #line 3875 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 302: case 302:
#line 1549 "./util/configparser.y" /* yacc.c:1646 */ #line 1551 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3882,11 +3884,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3886 "util/configparser.c" /* yacc.c:1646 */ #line 3888 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 303: case 303:
#line 1559 "./util/configparser.y" /* yacc.c:1646 */ #line 1561 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3895,11 +3897,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3899 "util/configparser.c" /* yacc.c:1646 */ #line 3901 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 304: case 304:
#line 1569 "./util/configparser.y" /* yacc.c:1646 */ #line 1571 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(name:%s)\n", (yyvsp[0].str))); OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
if(cfg_parser->cfg->stubs->name) if(cfg_parser->cfg->stubs->name)
@ -3908,31 +3910,31 @@ yyreduce:
free(cfg_parser->cfg->stubs->name); free(cfg_parser->cfg->stubs->name);
cfg_parser->cfg->stubs->name = (yyvsp[0].str); cfg_parser->cfg->stubs->name = (yyvsp[0].str);
} }
#line 3912 "util/configparser.c" /* yacc.c:1646 */ #line 3914 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 305: case 305:
#line 1579 "./util/configparser.y" /* yacc.c:1646 */ #line 1581 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str)))
yyerror("out of memory"); yyerror("out of memory");
} }
#line 3922 "util/configparser.c" /* yacc.c:1646 */ #line 3924 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 306: case 306:
#line 1586 "./util/configparser.y" /* yacc.c:1646 */ #line 1588 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str)))
yyerror("out of memory"); yyerror("out of memory");
} }
#line 3932 "util/configparser.c" /* yacc.c:1646 */ #line 3934 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 307: case 307:
#line 1593 "./util/configparser.y" /* yacc.c:1646 */ #line 1595 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3940,11 +3942,11 @@ yyreduce:
else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3944 "util/configparser.c" /* yacc.c:1646 */ #line 3946 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 308: case 308:
#line 1602 "./util/configparser.y" /* yacc.c:1646 */ #line 1604 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3953,11 +3955,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3957 "util/configparser.c" /* yacc.c:1646 */ #line 3959 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 309: case 309:
#line 1612 "./util/configparser.y" /* yacc.c:1646 */ #line 1614 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -3966,11 +3968,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 3970 "util/configparser.c" /* yacc.c:1646 */ #line 3972 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 310: case 310:
#line 1622 "./util/configparser.y" /* yacc.c:1646 */ #line 1624 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(name:%s)\n", (yyvsp[0].str))); OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
if(cfg_parser->cfg->forwards->name) if(cfg_parser->cfg->forwards->name)
@ -3979,31 +3981,31 @@ yyreduce:
free(cfg_parser->cfg->forwards->name); free(cfg_parser->cfg->forwards->name);
cfg_parser->cfg->forwards->name = (yyvsp[0].str); cfg_parser->cfg->forwards->name = (yyvsp[0].str);
} }
#line 3983 "util/configparser.c" /* yacc.c:1646 */ #line 3985 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 311: case 311:
#line 1632 "./util/configparser.y" /* yacc.c:1646 */ #line 1634 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str)))
yyerror("out of memory"); yyerror("out of memory");
} }
#line 3993 "util/configparser.c" /* yacc.c:1646 */ #line 3995 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 312: case 312:
#line 1639 "./util/configparser.y" /* yacc.c:1646 */ #line 1641 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str)))
yyerror("out of memory"); yyerror("out of memory");
} }
#line 4003 "util/configparser.c" /* yacc.c:1646 */ #line 4005 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 313: case 313:
#line 1646 "./util/configparser.y" /* yacc.c:1646 */ #line 1648 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4011,11 +4013,11 @@ yyreduce:
else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4015 "util/configparser.c" /* yacc.c:1646 */ #line 4017 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 314: case 314:
#line 1655 "./util/configparser.y" /* yacc.c:1646 */ #line 1657 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4024,11 +4026,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4028 "util/configparser.c" /* yacc.c:1646 */ #line 4030 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 315: case 315:
#line 1665 "./util/configparser.y" /* yacc.c:1646 */ #line 1667 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(name:%s)\n", (yyvsp[0].str))); OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
if(cfg_parser->cfg->views->name) if(cfg_parser->cfg->views->name)
@ -4037,11 +4039,11 @@ yyreduce:
free(cfg_parser->cfg->views->name); free(cfg_parser->cfg->views->name);
cfg_parser->cfg->views->name = (yyvsp[0].str); cfg_parser->cfg->views->name = (yyvsp[0].str);
} }
#line 4041 "util/configparser.c" /* yacc.c:1646 */ #line 4043 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 316: case 316:
#line 1675 "./util/configparser.y" /* yacc.c:1646 */ #line 1677 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 &&
@ -4069,11 +4071,11 @@ yyreduce:
fatal_exit("out of memory adding local-zone"); fatal_exit("out of memory adding local-zone");
} }
} }
#line 4073 "util/configparser.c" /* yacc.c:1646 */ #line 4075 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 317: case 317:
#line 1704 "./util/configparser.y" /* yacc.c:1646 */ #line 1706 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) {
@ -4081,11 +4083,11 @@ yyreduce:
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
} }
#line 4085 "util/configparser.c" /* yacc.c:1646 */ #line 4087 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 318: case 318:
#line 1713 "./util/configparser.y" /* yacc.c:1646 */ #line 1715 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); OUTYY(("P(view-first:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4093,19 +4095,19 @@ yyreduce:
else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4097 "util/configparser.c" /* yacc.c:1646 */ #line 4099 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 319: case 319:
#line 1722 "./util/configparser.y" /* yacc.c:1646 */ #line 1724 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("\nP(remote-control:)\n")); OUTYY(("\nP(remote-control:)\n"));
} }
#line 4105 "util/configparser.c" /* yacc.c:1646 */ #line 4107 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 330: case 330:
#line 1733 "./util/configparser.y" /* yacc.c:1646 */ #line 1735 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4114,11 +4116,11 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4118 "util/configparser.c" /* yacc.c:1646 */ #line 4120 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 331: case 331:
#line 1743 "./util/configparser.y" /* yacc.c:1646 */ #line 1745 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); OUTYY(("P(control_port:%s)\n", (yyvsp[0].str)));
if(atoi((yyvsp[0].str)) == 0) if(atoi((yyvsp[0].str)) == 0)
@ -4126,21 +4128,21 @@ yyreduce:
else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); else cfg_parser->cfg->control_port = atoi((yyvsp[0].str));
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4130 "util/configparser.c" /* yacc.c:1646 */ #line 4132 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 332: case 332:
#line 1752 "./util/configparser.y" /* yacc.c:1646 */ #line 1754 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[0].str)))
yyerror("out of memory"); yyerror("out of memory");
} }
#line 4140 "util/configparser.c" /* yacc.c:1646 */ #line 4142 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 333: case 333:
#line 1759 "./util/configparser.y" /* yacc.c:1646 */ #line 1761 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4149,122 +4151,122 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4153 "util/configparser.c" /* yacc.c:1646 */ #line 4155 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 334: case 334:
#line 1769 "./util/configparser.y" /* yacc.c:1646 */ #line 1771 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->server_key_file); free(cfg_parser->cfg->server_key_file);
cfg_parser->cfg->server_key_file = (yyvsp[0].str); cfg_parser->cfg->server_key_file = (yyvsp[0].str);
} }
#line 4163 "util/configparser.c" /* yacc.c:1646 */ #line 4165 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 335: case 335:
#line 1776 "./util/configparser.y" /* yacc.c:1646 */ #line 1778 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->server_cert_file); free(cfg_parser->cfg->server_cert_file);
cfg_parser->cfg->server_cert_file = (yyvsp[0].str); cfg_parser->cfg->server_cert_file = (yyvsp[0].str);
} }
#line 4173 "util/configparser.c" /* yacc.c:1646 */ #line 4175 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 336: case 336:
#line 1783 "./util/configparser.y" /* yacc.c:1646 */ #line 1785 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->control_key_file); free(cfg_parser->cfg->control_key_file);
cfg_parser->cfg->control_key_file = (yyvsp[0].str); cfg_parser->cfg->control_key_file = (yyvsp[0].str);
} }
#line 4183 "util/configparser.c" /* yacc.c:1646 */ #line 4185 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 337: case 337:
#line 1790 "./util/configparser.y" /* yacc.c:1646 */ #line 1792 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->control_cert_file); free(cfg_parser->cfg->control_cert_file);
cfg_parser->cfg->control_cert_file = (yyvsp[0].str); cfg_parser->cfg->control_cert_file = (yyvsp[0].str);
} }
#line 4193 "util/configparser.c" /* yacc.c:1646 */ #line 4195 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 338: case 338:
#line 1797 "./util/configparser.y" /* yacc.c:1646 */ #line 1799 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("\nP(dnstap:)\n")); OUTYY(("\nP(dnstap:)\n"));
} }
#line 4201 "util/configparser.c" /* yacc.c:1646 */ #line 4203 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 353: case 353:
#line 1814 "./util/configparser.y" /* yacc.c:1646 */ #line 1816 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
yyerror("expected yes or no."); yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4212 "util/configparser.c" /* yacc.c:1646 */ #line 4214 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 354: case 354:
#line 1822 "./util/configparser.y" /* yacc.c:1646 */ #line 1824 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->dnstap_socket_path); free(cfg_parser->cfg->dnstap_socket_path);
cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str);
} }
#line 4222 "util/configparser.c" /* yacc.c:1646 */ #line 4224 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 355: case 355:
#line 1829 "./util/configparser.y" /* yacc.c:1646 */ #line 1831 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
yyerror("expected yes or no."); yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4233 "util/configparser.c" /* yacc.c:1646 */ #line 4235 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 356: case 356:
#line 1837 "./util/configparser.y" /* yacc.c:1646 */ #line 1839 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
yyerror("expected yes or no."); yyerror("expected yes or no.");
else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4244 "util/configparser.c" /* yacc.c:1646 */ #line 4246 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 357: case 357:
#line 1845 "./util/configparser.y" /* yacc.c:1646 */ #line 1847 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->dnstap_identity); free(cfg_parser->cfg->dnstap_identity);
cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); cfg_parser->cfg->dnstap_identity = (yyvsp[0].str);
} }
#line 4254 "util/configparser.c" /* yacc.c:1646 */ #line 4256 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 358: case 358:
#line 1852 "./util/configparser.y" /* yacc.c:1646 */ #line 1854 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->dnstap_version); free(cfg_parser->cfg->dnstap_version);
cfg_parser->cfg->dnstap_version = (yyvsp[0].str); cfg_parser->cfg->dnstap_version = (yyvsp[0].str);
} }
#line 4264 "util/configparser.c" /* yacc.c:1646 */ #line 4266 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 359: case 359:
#line 1859 "./util/configparser.y" /* yacc.c:1646 */ #line 1861 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4272,11 +4274,11 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_resolver_query_messages = else cfg_parser->cfg->dnstap_log_resolver_query_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4276 "util/configparser.c" /* yacc.c:1646 */ #line 4278 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 360: case 360:
#line 1868 "./util/configparser.y" /* yacc.c:1646 */ #line 1870 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4284,11 +4286,11 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_resolver_response_messages = else cfg_parser->cfg->dnstap_log_resolver_response_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4288 "util/configparser.c" /* yacc.c:1646 */ #line 4290 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 361: case 361:
#line 1877 "./util/configparser.y" /* yacc.c:1646 */ #line 1879 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4296,11 +4298,11 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_client_query_messages = else cfg_parser->cfg->dnstap_log_client_query_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4300 "util/configparser.c" /* yacc.c:1646 */ #line 4302 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 362: case 362:
#line 1886 "./util/configparser.y" /* yacc.c:1646 */ #line 1888 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4308,11 +4310,11 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_client_response_messages = else cfg_parser->cfg->dnstap_log_client_response_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4312 "util/configparser.c" /* yacc.c:1646 */ #line 4314 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 363: case 363:
#line 1895 "./util/configparser.y" /* yacc.c:1646 */ #line 1897 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4320,11 +4322,11 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_forwarder_query_messages = else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4324 "util/configparser.c" /* yacc.c:1646 */ #line 4326 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 364: case 364:
#line 1904 "./util/configparser.y" /* yacc.c:1646 */ #line 1906 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str)));
if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4332,29 +4334,29 @@ yyreduce:
else cfg_parser->cfg->dnstap_log_forwarder_response_messages = else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
} }
#line 4336 "util/configparser.c" /* yacc.c:1646 */ #line 4338 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 365: case 365:
#line 1913 "./util/configparser.y" /* yacc.c:1646 */ #line 1915 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("\nP(python:)\n")); OUTYY(("\nP(python:)\n"));
} }
#line 4344 "util/configparser.c" /* yacc.c:1646 */ #line 4346 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 369: case 369:
#line 1922 "./util/configparser.y" /* yacc.c:1646 */ #line 1924 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); OUTYY(("P(python-script:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->python_script); free(cfg_parser->cfg->python_script);
cfg_parser->cfg->python_script = (yyvsp[0].str); cfg_parser->cfg->python_script = (yyvsp[0].str);
} }
#line 4354 "util/configparser.c" /* yacc.c:1646 */ #line 4356 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 370: case 370:
#line 1928 "./util/configparser.y" /* yacc.c:1646 */ #line 1930 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str)));
if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
@ -4363,21 +4365,21 @@ yyreduce:
(strcmp((yyvsp[0].str), "yes")==0); (strcmp((yyvsp[0].str), "yes")==0);
free((yyvsp[0].str)); free((yyvsp[0].str));
} }
#line 4367 "util/configparser.c" /* yacc.c:1646 */ #line 4369 "util/configparser.c" /* yacc.c:1646 */
break; break;
case 371: case 371:
#line 1938 "./util/configparser.y" /* yacc.c:1646 */ #line 1940 "./util/configparser.y" /* yacc.c:1646 */
{ {
OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str)));
free(cfg_parser->cfg->log_identity); free(cfg_parser->cfg->log_identity);
cfg_parser->cfg->log_identity = (yyvsp[0].str); cfg_parser->cfg->log_identity = (yyvsp[0].str);
} }
#line 4377 "util/configparser.c" /* yacc.c:1646 */ #line 4379 "util/configparser.c" /* yacc.c:1646 */
break; break;
#line 4381 "util/configparser.c" /* yacc.c:1646 */ #line 4383 "util/configparser.c" /* yacc.c:1646 */
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
@ -4605,7 +4607,7 @@ yyreturn:
#endif #endif
return yyresult; return yyresult;
} }
#line 1944 "./util/configparser.y" /* yacc.c:1906 */ #line 1946 "./util/configparser.y" /* yacc.c:1906 */
/* parse helper routines could be here */ /* parse helper routines could be here */

View file

@ -1201,9 +1201,11 @@ server_fake_dsa: VAR_FAKE_DSA STRING_ARG
OUTYY(("P(server_fake_dsa:%s)\n", $2)); OUTYY(("P(server_fake_dsa:%s)\n", $2));
if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0) if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
yyerror("expected yes or no."); yyerror("expected yes or no.");
#ifdef HAVE_SSL
else fake_dsa = (strcmp($2, "yes")==0); else fake_dsa = (strcmp($2, "yes")==0);
if(fake_dsa) if(fake_dsa)
log_warn("test option fake_dsa is enabled"); log_warn("test option fake_dsa is enabled");
#endif
free($2); free($2);
} }
; ;