- Fix to simplify empty string checking from Michael McConville.

git-svn-id: file:///svn/unbound/trunk@3600 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2016-01-14 08:28:46 +00:00
parent 9bb637e7a4
commit c53222e101
8 changed files with 1596 additions and 1849 deletions

View file

@ -1,3 +1,6 @@
14 January 2016: Wouter
- Fix to simplify empty string checking from Michael McConville.
12 January 2016: Wouter 12 January 2016: Wouter
- Fix #734: Do not log an error when the PID file cannot be chown'ed. - Fix #734: Do not log an error when the PID file cannot be chown'ed.
Patch from Simon Deziel. Patch from Simon Deziel.

View file

@ -204,7 +204,7 @@ rrinternal_get_owner(sldns_buffer* strbuf, uint8_t* rr, size_t* len,
return RET_ERR(LDNS_WIREPARSE_ERR_BUFFER_TOO_SMALL, return RET_ERR(LDNS_WIREPARSE_ERR_BUFFER_TOO_SMALL,
sldns_buffer_position(strbuf)); sldns_buffer_position(strbuf));
memmove(rr, tocopy, *dname_len); memmove(rr, tocopy, *dname_len);
} else if(strlen(token) == 0) { } else if(*token == '\0') {
/* no ownername was given, try prev, if that fails /* no ownername was given, try prev, if that fails
* origin, else default to root */ * origin, else default to root */
uint8_t* tocopy; uint8_t* tocopy;
@ -1091,7 +1091,7 @@ int sldns_str2wire_apl_buf(const char* str, uint8_t* rd, size_t* len)
uint8_t prefix; uint8_t prefix;
size_t i; size_t i;
if(strlen(my_str) == 0) { if(*my_str == '\0') {
/* empty APL element, no data, no string */ /* empty APL element, no data, no string */
*len = 0; *len = 0;
return LDNS_WIREPARSE_ERR_OK; return LDNS_WIREPARSE_ERR_OK;

View file

@ -142,7 +142,7 @@ spool_auto_file(FILE* in, int* lineno, FILE* cfg, char* id)
/* find filename for new file */ /* find filename for new file */
while(isspace((unsigned char)*id)) while(isspace((unsigned char)*id))
id++; id++;
if(strlen(id)==0) if(*id == '\0')
fatal_exit("AUTROTRUST_FILE must have id, line %d", *lineno); fatal_exit("AUTROTRUST_FILE must have id, line %d", *lineno);
id[strlen(id)-1]=0; /* remove newline */ id[strlen(id)-1]=0; /* remove newline */
fake_temp_file("_auto_", id, line, sizeof(line)); fake_temp_file("_auto_", id, line, sizeof(line));

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 5 #define YY_FLEX_MINOR_VERSION 5
#define YY_FLEX_SUBMINOR_VERSION 37 #define YY_FLEX_SUBMINOR_VERSION 39
#if YY_FLEX_SUBMINOR_VERSION > 0 #if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA #define FLEX_BETA
#endif #endif
@ -169,6 +169,7 @@ extern FILE *yyin, *yyout;
#define EOB_ACT_LAST_MATCH 2 #define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n) #define YY_LESS_LINENO(n)
#define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */ /* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \ #define yyless(n) \
@ -1890,7 +1891,7 @@ static void config_start_include(const char* filename)
ub_c_error_msg("too many include files"); ub_c_error_msg("too many include files");
return; return;
} }
if(strlen(filename) == 0) { if(*filename == '\0') {
ub_c_error_msg("empty include file name"); ub_c_error_msg("empty include file name");
return; return;
} }
@ -2010,7 +2011,7 @@ static void config_end_include(void)
#define YY_NO_INPUT 1 #define YY_NO_INPUT 1
#endif #endif
#line 2012 "<stdout>" #line 2013 "<stdout>"
#define INITIAL 0 #define INITIAL 0
#define quotedstring 1 #define quotedstring 1
@ -2195,10 +2196,6 @@ YY_DECL
register char *yy_cp, *yy_bp; register char *yy_cp, *yy_bp;
register int yy_act; register int yy_act;
#line 201 "./util/configlexer.lex"
#line 2199 "<stdout>"
if ( !(yy_init) ) if ( !(yy_init) )
{ {
(yy_init) = 1; (yy_init) = 1;
@ -2225,6 +2222,11 @@ YY_DECL
yy_load_buffer_state( ); yy_load_buffer_state( );
} }
{
#line 201 "./util/configlexer.lex"
#line 2227 "<stdout>"
while ( 1 ) /* loops until end-of-file is reached */ while ( 1 ) /* loops until end-of-file is reached */
{ {
(yy_more_len) = 0; (yy_more_len) = 0;
@ -2247,7 +2249,7 @@ YY_DECL
yy_match: yy_match:
do do
{ {
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] ) if ( yy_accept[yy_current_state] )
{ {
(yy_last_accepting_state) = yy_current_state; (yy_last_accepting_state) = yy_current_state;
@ -3275,7 +3277,7 @@ YY_RULE_SETUP
#line 464 "./util/configlexer.lex" #line 464 "./util/configlexer.lex"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 3277 "<stdout>" #line 3279 "<stdout>"
case YY_END_OF_BUFFER: case YY_END_OF_BUFFER:
{ {
@ -3404,6 +3406,7 @@ ECHO;
"fatal flex scanner internal error--no action found" ); "fatal flex scanner internal error--no action found" );
} /* end of action switch */ } /* end of action switch */
} /* end of scanning one token */ } /* end of scanning one token */
} /* end of user's declarations */
} /* end of yylex */ } /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer /* yy_get_next_buffer - try to read in a new buffer

View file

@ -63,7 +63,7 @@ static void config_start_include(const char* filename)
ub_c_error_msg("too many include files"); ub_c_error_msg("too many include files");
return; return;
} }
if(strlen(filename) == 0) { if(*filename == '\0') {
ub_c_error_msg("empty include file name"); ub_c_error_msg("empty include file name");
return; return;
} }

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,8 @@
/* A Bison parser, made by GNU Bison 2.7. */ /* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -32,7 +32,7 @@
#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED #ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED # define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
/* Enabling traces. */ /* Debug traces. */
#ifndef YYDEBUG #ifndef YYDEBUG
# define YYDEBUG 0 # define YYDEBUG 0
#endif #endif
@ -40,175 +40,174 @@
extern int yydebug; extern int yydebug;
#endif #endif
/* Tokens. */ /* Token type. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
# define YYTOKENTYPE # define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers enum yytokentype
know about them. */ {
enum yytokentype { SPACE = 258,
SPACE = 258, LETTER = 259,
LETTER = 259, NEWLINE = 260,
NEWLINE = 260, COMMENT = 261,
COMMENT = 261, COLON = 262,
COLON = 262, ANY = 263,
ANY = 263, ZONESTR = 264,
ZONESTR = 264, STRING_ARG = 265,
STRING_ARG = 265, VAR_SERVER = 266,
VAR_SERVER = 266, VAR_VERBOSITY = 267,
VAR_VERBOSITY = 267, VAR_NUM_THREADS = 268,
VAR_NUM_THREADS = 268, VAR_PORT = 269,
VAR_PORT = 269, VAR_OUTGOING_RANGE = 270,
VAR_OUTGOING_RANGE = 270, VAR_INTERFACE = 271,
VAR_INTERFACE = 271, VAR_DO_IP4 = 272,
VAR_DO_IP4 = 272, VAR_DO_IP6 = 273,
VAR_DO_IP6 = 273, VAR_DO_UDP = 274,
VAR_DO_UDP = 274, VAR_DO_TCP = 275,
VAR_DO_TCP = 275, VAR_TCP_MSS = 276,
VAR_TCP_MSS = 276, VAR_OUTGOING_TCP_MSS = 277,
VAR_OUTGOING_TCP_MSS = 277, VAR_CHROOT = 278,
VAR_CHROOT = 278, VAR_USERNAME = 279,
VAR_USERNAME = 279, VAR_DIRECTORY = 280,
VAR_DIRECTORY = 280, VAR_LOGFILE = 281,
VAR_LOGFILE = 281, VAR_PIDFILE = 282,
VAR_PIDFILE = 282, VAR_MSG_CACHE_SIZE = 283,
VAR_MSG_CACHE_SIZE = 283, VAR_MSG_CACHE_SLABS = 284,
VAR_MSG_CACHE_SLABS = 284, VAR_NUM_QUERIES_PER_THREAD = 285,
VAR_NUM_QUERIES_PER_THREAD = 285, VAR_RRSET_CACHE_SIZE = 286,
VAR_RRSET_CACHE_SIZE = 286, VAR_RRSET_CACHE_SLABS = 287,
VAR_RRSET_CACHE_SLABS = 287, VAR_OUTGOING_NUM_TCP = 288,
VAR_OUTGOING_NUM_TCP = 288, VAR_INFRA_HOST_TTL = 289,
VAR_INFRA_HOST_TTL = 289, VAR_INFRA_LAME_TTL = 290,
VAR_INFRA_LAME_TTL = 290, VAR_INFRA_CACHE_SLABS = 291,
VAR_INFRA_CACHE_SLABS = 291, VAR_INFRA_CACHE_NUMHOSTS = 292,
VAR_INFRA_CACHE_NUMHOSTS = 292, VAR_INFRA_CACHE_LAME_SIZE = 293,
VAR_INFRA_CACHE_LAME_SIZE = 293, VAR_NAME = 294,
VAR_NAME = 294, VAR_STUB_ZONE = 295,
VAR_STUB_ZONE = 295, VAR_STUB_HOST = 296,
VAR_STUB_HOST = 296, VAR_STUB_ADDR = 297,
VAR_STUB_ADDR = 297, VAR_TARGET_FETCH_POLICY = 298,
VAR_TARGET_FETCH_POLICY = 298, VAR_HARDEN_SHORT_BUFSIZE = 299,
VAR_HARDEN_SHORT_BUFSIZE = 299, VAR_HARDEN_LARGE_QUERIES = 300,
VAR_HARDEN_LARGE_QUERIES = 300, VAR_FORWARD_ZONE = 301,
VAR_FORWARD_ZONE = 301, VAR_FORWARD_HOST = 302,
VAR_FORWARD_HOST = 302, VAR_FORWARD_ADDR = 303,
VAR_FORWARD_ADDR = 303, VAR_DO_NOT_QUERY_ADDRESS = 304,
VAR_DO_NOT_QUERY_ADDRESS = 304, VAR_HIDE_IDENTITY = 305,
VAR_HIDE_IDENTITY = 305, VAR_HIDE_VERSION = 306,
VAR_HIDE_VERSION = 306, VAR_IDENTITY = 307,
VAR_IDENTITY = 307, VAR_VERSION = 308,
VAR_VERSION = 308, VAR_HARDEN_GLUE = 309,
VAR_HARDEN_GLUE = 309, VAR_MODULE_CONF = 310,
VAR_MODULE_CONF = 310, VAR_TRUST_ANCHOR_FILE = 311,
VAR_TRUST_ANCHOR_FILE = 311, VAR_TRUST_ANCHOR = 312,
VAR_TRUST_ANCHOR = 312, VAR_VAL_OVERRIDE_DATE = 313,
VAR_VAL_OVERRIDE_DATE = 313, VAR_BOGUS_TTL = 314,
VAR_BOGUS_TTL = 314, VAR_VAL_CLEAN_ADDITIONAL = 315,
VAR_VAL_CLEAN_ADDITIONAL = 315, VAR_VAL_PERMISSIVE_MODE = 316,
VAR_VAL_PERMISSIVE_MODE = 316, VAR_INCOMING_NUM_TCP = 317,
VAR_INCOMING_NUM_TCP = 317, VAR_MSG_BUFFER_SIZE = 318,
VAR_MSG_BUFFER_SIZE = 318, VAR_KEY_CACHE_SIZE = 319,
VAR_KEY_CACHE_SIZE = 319, VAR_KEY_CACHE_SLABS = 320,
VAR_KEY_CACHE_SLABS = 320, VAR_TRUSTED_KEYS_FILE = 321,
VAR_TRUSTED_KEYS_FILE = 321, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322,
VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 322, VAR_USE_SYSLOG = 323,
VAR_USE_SYSLOG = 323, VAR_OUTGOING_INTERFACE = 324,
VAR_OUTGOING_INTERFACE = 324, VAR_ROOT_HINTS = 325,
VAR_ROOT_HINTS = 325, VAR_DO_NOT_QUERY_LOCALHOST = 326,
VAR_DO_NOT_QUERY_LOCALHOST = 326, VAR_CACHE_MAX_TTL = 327,
VAR_CACHE_MAX_TTL = 327, VAR_HARDEN_DNSSEC_STRIPPED = 328,
VAR_HARDEN_DNSSEC_STRIPPED = 328, VAR_ACCESS_CONTROL = 329,
VAR_ACCESS_CONTROL = 329, VAR_LOCAL_ZONE = 330,
VAR_LOCAL_ZONE = 330, VAR_LOCAL_DATA = 331,
VAR_LOCAL_DATA = 331, VAR_INTERFACE_AUTOMATIC = 332,
VAR_INTERFACE_AUTOMATIC = 332, VAR_STATISTICS_INTERVAL = 333,
VAR_STATISTICS_INTERVAL = 333, VAR_DO_DAEMONIZE = 334,
VAR_DO_DAEMONIZE = 334, VAR_USE_CAPS_FOR_ID = 335,
VAR_USE_CAPS_FOR_ID = 335, VAR_STATISTICS_CUMULATIVE = 336,
VAR_STATISTICS_CUMULATIVE = 336, VAR_OUTGOING_PORT_PERMIT = 337,
VAR_OUTGOING_PORT_PERMIT = 337, VAR_OUTGOING_PORT_AVOID = 338,
VAR_OUTGOING_PORT_AVOID = 338, VAR_DLV_ANCHOR_FILE = 339,
VAR_DLV_ANCHOR_FILE = 339, VAR_DLV_ANCHOR = 340,
VAR_DLV_ANCHOR = 340, VAR_NEG_CACHE_SIZE = 341,
VAR_NEG_CACHE_SIZE = 341, VAR_HARDEN_REFERRAL_PATH = 342,
VAR_HARDEN_REFERRAL_PATH = 342, VAR_PRIVATE_ADDRESS = 343,
VAR_PRIVATE_ADDRESS = 343, VAR_PRIVATE_DOMAIN = 344,
VAR_PRIVATE_DOMAIN = 344, VAR_REMOTE_CONTROL = 345,
VAR_REMOTE_CONTROL = 345, VAR_CONTROL_ENABLE = 346,
VAR_CONTROL_ENABLE = 346, VAR_CONTROL_INTERFACE = 347,
VAR_CONTROL_INTERFACE = 347, VAR_CONTROL_PORT = 348,
VAR_CONTROL_PORT = 348, VAR_SERVER_KEY_FILE = 349,
VAR_SERVER_KEY_FILE = 349, VAR_SERVER_CERT_FILE = 350,
VAR_SERVER_CERT_FILE = 350, VAR_CONTROL_KEY_FILE = 351,
VAR_CONTROL_KEY_FILE = 351, VAR_CONTROL_CERT_FILE = 352,
VAR_CONTROL_CERT_FILE = 352, VAR_CONTROL_USE_CERT = 353,
VAR_CONTROL_USE_CERT = 353, VAR_EXTENDED_STATISTICS = 354,
VAR_EXTENDED_STATISTICS = 354, VAR_LOCAL_DATA_PTR = 355,
VAR_LOCAL_DATA_PTR = 355, VAR_JOSTLE_TIMEOUT = 356,
VAR_JOSTLE_TIMEOUT = 356, VAR_STUB_PRIME = 357,
VAR_STUB_PRIME = 357, VAR_UNWANTED_REPLY_THRESHOLD = 358,
VAR_UNWANTED_REPLY_THRESHOLD = 358, VAR_LOG_TIME_ASCII = 359,
VAR_LOG_TIME_ASCII = 359, VAR_DOMAIN_INSECURE = 360,
VAR_DOMAIN_INSECURE = 360, VAR_PYTHON = 361,
VAR_PYTHON = 361, VAR_PYTHON_SCRIPT = 362,
VAR_PYTHON_SCRIPT = 362, VAR_VAL_SIG_SKEW_MIN = 363,
VAR_VAL_SIG_SKEW_MIN = 363, VAR_VAL_SIG_SKEW_MAX = 364,
VAR_VAL_SIG_SKEW_MAX = 364, VAR_CACHE_MIN_TTL = 365,
VAR_CACHE_MIN_TTL = 365, VAR_VAL_LOG_LEVEL = 366,
VAR_VAL_LOG_LEVEL = 366, VAR_AUTO_TRUST_ANCHOR_FILE = 367,
VAR_AUTO_TRUST_ANCHOR_FILE = 367, VAR_KEEP_MISSING = 368,
VAR_KEEP_MISSING = 368, VAR_ADD_HOLDDOWN = 369,
VAR_ADD_HOLDDOWN = 369, VAR_DEL_HOLDDOWN = 370,
VAR_DEL_HOLDDOWN = 370, VAR_SO_RCVBUF = 371,
VAR_SO_RCVBUF = 371, VAR_EDNS_BUFFER_SIZE = 372,
VAR_EDNS_BUFFER_SIZE = 372, VAR_PREFETCH = 373,
VAR_PREFETCH = 373, VAR_PREFETCH_KEY = 374,
VAR_PREFETCH_KEY = 374, VAR_SO_SNDBUF = 375,
VAR_SO_SNDBUF = 375, VAR_SO_REUSEPORT = 376,
VAR_SO_REUSEPORT = 376, VAR_HARDEN_BELOW_NXDOMAIN = 377,
VAR_HARDEN_BELOW_NXDOMAIN = 377, VAR_IGNORE_CD_FLAG = 378,
VAR_IGNORE_CD_FLAG = 378, VAR_LOG_QUERIES = 379,
VAR_LOG_QUERIES = 379, VAR_TCP_UPSTREAM = 380,
VAR_TCP_UPSTREAM = 380, VAR_SSL_UPSTREAM = 381,
VAR_SSL_UPSTREAM = 381, VAR_SSL_SERVICE_KEY = 382,
VAR_SSL_SERVICE_KEY = 382, VAR_SSL_SERVICE_PEM = 383,
VAR_SSL_SERVICE_PEM = 383, VAR_SSL_PORT = 384,
VAR_SSL_PORT = 384, VAR_FORWARD_FIRST = 385,
VAR_FORWARD_FIRST = 385, VAR_STUB_FIRST = 386,
VAR_STUB_FIRST = 386, VAR_MINIMAL_RESPONSES = 387,
VAR_MINIMAL_RESPONSES = 387, VAR_RRSET_ROUNDROBIN = 388,
VAR_RRSET_ROUNDROBIN = 388, VAR_MAX_UDP_SIZE = 389,
VAR_MAX_UDP_SIZE = 389, VAR_DELAY_CLOSE = 390,
VAR_DELAY_CLOSE = 390, VAR_UNBLOCK_LAN_ZONES = 391,
VAR_UNBLOCK_LAN_ZONES = 391, VAR_INFRA_CACHE_MIN_RTT = 392,
VAR_INFRA_CACHE_MIN_RTT = 392, VAR_DNS64_PREFIX = 393,
VAR_DNS64_PREFIX = 393, VAR_DNS64_SYNTHALL = 394,
VAR_DNS64_SYNTHALL = 394, VAR_DNSTAP = 395,
VAR_DNSTAP = 395, VAR_DNSTAP_ENABLE = 396,
VAR_DNSTAP_ENABLE = 396, VAR_DNSTAP_SOCKET_PATH = 397,
VAR_DNSTAP_SOCKET_PATH = 397, VAR_DNSTAP_SEND_IDENTITY = 398,
VAR_DNSTAP_SEND_IDENTITY = 398, VAR_DNSTAP_SEND_VERSION = 399,
VAR_DNSTAP_SEND_VERSION = 399, VAR_DNSTAP_IDENTITY = 400,
VAR_DNSTAP_IDENTITY = 400, VAR_DNSTAP_VERSION = 401,
VAR_DNSTAP_VERSION = 401, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 402,
VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 402, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 403,
VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 403, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 404,
VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 404, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 405,
VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 405, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 406,
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 406, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 407,
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 407, VAR_HARDEN_ALGO_DOWNGRADE = 408,
VAR_HARDEN_ALGO_DOWNGRADE = 408, VAR_IP_TRANSPARENT = 409,
VAR_IP_TRANSPARENT = 409, VAR_RATELIMIT = 410,
VAR_RATELIMIT = 410, VAR_RATELIMIT_SLABS = 411,
VAR_RATELIMIT_SLABS = 411, VAR_RATELIMIT_SIZE = 412,
VAR_RATELIMIT_SIZE = 412, VAR_RATELIMIT_FOR_DOMAIN = 413,
VAR_RATELIMIT_FOR_DOMAIN = 413, VAR_RATELIMIT_BELOW_DOMAIN = 414,
VAR_RATELIMIT_BELOW_DOMAIN = 414, VAR_RATELIMIT_FACTOR = 415,
VAR_RATELIMIT_FACTOR = 415, VAR_CAPS_WHITELIST = 416,
VAR_CAPS_WHITELIST = 416, VAR_CACHE_MAX_NEGATIVE_TTL = 417,
VAR_CACHE_MAX_NEGATIVE_TTL = 417, VAR_PERMIT_SMALL_HOLDDOWN = 418,
VAR_PERMIT_SMALL_HOLDDOWN = 418, VAR_QNAME_MINIMISATION = 419
VAR_QNAME_MINIMISATION = 419 };
};
#endif #endif
/* Tokens. */ /* Tokens. */
#define SPACE 258 #define SPACE 258
@ -374,39 +373,26 @@ extern int yydebug;
#define VAR_PERMIT_SMALL_HOLDDOWN 418 #define VAR_PERMIT_SMALL_HOLDDOWN 418
#define VAR_QNAME_MINIMISATION 419 #define VAR_QNAME_MINIMISATION 419
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
union YYSTYPE
{ {
/* Line 2058 of yacc.c */ #line 64 "./util/configparser.y" /* yacc.c:1909 */
#line 64 "./util/configparser.y"
char* str; char* str;
#line 386 "util/configparser.h" /* yacc.c:1909 */
};
/* Line 2058 of yacc.c */ typedef union YYSTYPE YYSTYPE;
#line 390 "util/configparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
#endif #endif
extern YYSTYPE yylval; extern YYSTYPE yylval;
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void); int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */ #endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */

View file

@ -998,7 +998,7 @@ server_module_conf: VAR_MODULE_CONF STRING_ARG
server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG
{ {
OUTYY(("P(server_val_override_date:%s)\n", $2)); OUTYY(("P(server_val_override_date:%s)\n", $2));
if(strlen($2) == 0 || strcmp($2, "0") == 0) { if(*$2 == '\0' || strcmp($2, "0") == 0) {
cfg_parser->cfg->val_date_override = 0; cfg_parser->cfg->val_date_override = 0;
} else if(strlen($2) == 14) { } else if(strlen($2) == 14) {
cfg_parser->cfg->val_date_override = cfg_parser->cfg->val_date_override =
@ -1016,7 +1016,7 @@ server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG
server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG
{ {
OUTYY(("P(server_val_sig_skew_min:%s)\n", $2)); OUTYY(("P(server_val_sig_skew_min:%s)\n", $2));
if(strlen($2) == 0 || strcmp($2, "0") == 0) { if(*$2 == '\0' || strcmp($2, "0") == 0) {
cfg_parser->cfg->val_sig_skew_min = 0; cfg_parser->cfg->val_sig_skew_min = 0;
} else { } else {
cfg_parser->cfg->val_sig_skew_min = atoi($2); cfg_parser->cfg->val_sig_skew_min = atoi($2);
@ -1029,7 +1029,7 @@ server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG
server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG
{ {
OUTYY(("P(server_val_sig_skew_max:%s)\n", $2)); OUTYY(("P(server_val_sig_skew_max:%s)\n", $2));
if(strlen($2) == 0 || strcmp($2, "0") == 0) { if(*$2 == '\0' || strcmp($2, "0") == 0) {
cfg_parser->cfg->val_sig_skew_max = 0; cfg_parser->cfg->val_sig_skew_max = 0;
} else { } else {
cfg_parser->cfg->val_sig_skew_max = atoi($2); cfg_parser->cfg->val_sig_skew_max = atoi($2);