aboutsummaryrefslogtreecommitdiffstats
path: root/src/config-parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config-parser.c')
-rw-r--r--src/config-parser.c1705
1 files changed, 914 insertions, 791 deletions
diff --git a/src/config-parser.c b/src/config-parser.c
index 221da4b..f9802a4 100644
--- a/src/config-parser.c
+++ b/src/config-parser.c
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.3.2. */
+/* A Bison parser, made by GNU Bison 3.5.1. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -48,7 +48,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.3.2"
+#define YYBISON_VERSION "3.5.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -66,7 +66,7 @@
/* First part of user prologue. */
-#line 21 "config-parser.y" /* yacc.c:337 */
+#line 21 "config-parser.y"
#include <string.h>
@@ -78,7 +78,17 @@ int yylex(void);
static void *tmp; /* Variable to temporarily hold nodes before insertion to list */
-#line 82 "config-parser.c" /* yacc.c:337 */
+#line 82 "config-parser.c"
+
+# ifndef YY_CAST
+# ifdef __cplusplus
+# define YY_CAST(Type, Val) static_cast<Type> (Val)
+# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+# else
+# define YY_CAST(Type, Val) ((Type) (Val))
+# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+# endif
+# endif
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
@@ -99,8 +109,8 @@ static void *tmp; /* Variable to temporarily hold nodes before insertion to lis
# define YYERROR_VERBOSE 0
#endif
-/* In a future release of Bison, this section will be replaced
- by #include "y.tab.h". */
+/* Use api.header.include to #include this header
+ instead of duplicating it here. */
#ifndef YY_YY_CONFIG_PARSER_H_INCLUDED
# define YY_YY_CONFIG_PARSER_H_INCLUDED
/* Debug traces. */
@@ -119,158 +129,161 @@ extern int yydebug;
ADDRESS_FAMILY = 258,
AWAY = 259,
BAN_UNKNOWN = 260,
- BLACKLIST = 261,
- BYTES = 262,
- KBYTES = 263,
- MBYTES = 264,
- CHANNEL = 265,
- COMMAND_INTERVAL = 266,
- COMMAND_QUEUE_SIZE = 267,
- COMMAND_TIMEOUT = 268,
- CONNREGEX = 269,
- DNS_FDLIMIT = 270,
- DNS_TIMEOUT = 271,
- DNSBL_FROM = 272,
- DNSBL_TO = 273,
- EXEMPT = 274,
- FD = 275,
- INVITE = 276,
- IPV4 = 277,
- IPV6 = 278,
- IRC = 279,
- KLINE = 280,
- KEY = 281,
- MASK = 282,
- MAX_READ = 283,
- MODE = 284,
- NAME = 285,
- NEGCACHE = 286,
- NEGCACHE_REBUILD = 287,
- NICK = 288,
- NICKSERV = 289,
- NOTICE = 290,
- OPER = 291,
- OPM = 292,
- OPTIONS = 293,
- PASSWORD = 294,
- PERFORM = 295,
- PIDFILE = 296,
- PORT = 297,
- PROTOCOL = 298,
- READTIMEOUT = 299,
- REALNAME = 300,
- RECONNECTINTERVAL = 301,
- REPLY = 302,
- SCANLOG = 303,
- SCANNER = 304,
- SECONDS = 305,
- MINUTES = 306,
- HOURS = 307,
- DAYS = 308,
- WEEKS = 309,
- MONTHS = 310,
- YEARS = 311,
- SENDMAIL = 312,
- SERVER = 313,
- TARGET_IP = 314,
- TARGET_PORT = 315,
- TARGET_STRING = 316,
- TIMEOUT = 317,
- TLS = 318,
- TLS_HOSTNAME_VERIFICATION = 319,
- TYPE = 320,
- USERNAME = 321,
- USER = 322,
- VHOST = 323,
- NUMBER = 324,
- STRING = 325,
- PROTOCOLTYPE = 326
+ BIND = 261,
+ BLACKLIST = 262,
+ BYTES = 263,
+ KBYTES = 264,
+ MBYTES = 265,
+ CHANNEL = 266,
+ COMMAND_INTERVAL = 267,
+ COMMAND_QUEUE_SIZE = 268,
+ COMMAND_TIMEOUT = 269,
+ CONNREGEX = 270,
+ DNS_FDLIMIT = 271,
+ DNS_TIMEOUT = 272,
+ DNSBL_FROM = 273,
+ DNSBL_TO = 274,
+ EXEMPT = 275,
+ FD = 276,
+ INVITE = 277,
+ IPV4 = 278,
+ IPV6 = 279,
+ IRC = 280,
+ KLINE = 281,
+ KEY = 282,
+ MASK = 283,
+ MAX_READ = 284,
+ MODE = 285,
+ NAME = 286,
+ NEGCACHE = 287,
+ NEGCACHE_REBUILD = 288,
+ NICK = 289,
+ NICKSERV = 290,
+ NOTICE = 291,
+ OPER = 292,
+ OPM = 293,
+ OPTIONS = 294,
+ PASSWORD = 295,
+ PERFORM = 296,
+ PIDFILE = 297,
+ PORT = 298,
+ PROTOCOL = 299,
+ RSA_PRIVATE_KEY_FILE = 300,
+ READTIMEOUT = 301,
+ REALNAME = 302,
+ RECONNECTINTERVAL = 303,
+ REPLY = 304,
+ SCANLOG = 305,
+ SCANNER = 306,
+ SECONDS = 307,
+ MINUTES = 308,
+ HOURS = 309,
+ DAYS = 310,
+ WEEKS = 311,
+ MONTHS = 312,
+ YEARS = 313,
+ SENDMAIL = 314,
+ SERVER = 315,
+ TARGET_IP = 316,
+ TARGET_PORT = 317,
+ TARGET_STRING = 318,
+ TIMEOUT = 319,
+ TLS = 320,
+ TLS_CERTIFICATE_FILE = 321,
+ TLS_HOSTNAME_VERIFICATION = 322,
+ TYPE = 323,
+ USERNAME = 324,
+ USER = 325,
+ NUMBER = 326,
+ STRING = 327,
+ PROTOCOLTYPE = 328
};
#endif
/* Tokens. */
#define ADDRESS_FAMILY 258
#define AWAY 259
#define BAN_UNKNOWN 260
-#define BLACKLIST 261
-#define BYTES 262
-#define KBYTES 263
-#define MBYTES 264
-#define CHANNEL 265
-#define COMMAND_INTERVAL 266
-#define COMMAND_QUEUE_SIZE 267
-#define COMMAND_TIMEOUT 268
-#define CONNREGEX 269
-#define DNS_FDLIMIT 270
-#define DNS_TIMEOUT 271
-#define DNSBL_FROM 272
-#define DNSBL_TO 273
-#define EXEMPT 274
-#define FD 275
-#define INVITE 276
-#define IPV4 277
-#define IPV6 278
-#define IRC 279
-#define KLINE 280
-#define KEY 281
-#define MASK 282
-#define MAX_READ 283
-#define MODE 284
-#define NAME 285
-#define NEGCACHE 286
-#define NEGCACHE_REBUILD 287
-#define NICK 288
-#define NICKSERV 289
-#define NOTICE 290
-#define OPER 291
-#define OPM 292
-#define OPTIONS 293
-#define PASSWORD 294
-#define PERFORM 295
-#define PIDFILE 296
-#define PORT 297
-#define PROTOCOL 298
-#define READTIMEOUT 299
-#define REALNAME 300
-#define RECONNECTINTERVAL 301
-#define REPLY 302
-#define SCANLOG 303
-#define SCANNER 304
-#define SECONDS 305
-#define MINUTES 306
-#define HOURS 307
-#define DAYS 308
-#define WEEKS 309
-#define MONTHS 310
-#define YEARS 311
-#define SENDMAIL 312
-#define SERVER 313
-#define TARGET_IP 314
-#define TARGET_PORT 315
-#define TARGET_STRING 316
-#define TIMEOUT 317
-#define TLS 318
-#define TLS_HOSTNAME_VERIFICATION 319
-#define TYPE 320
-#define USERNAME 321
-#define USER 322
-#define VHOST 323
-#define NUMBER 324
-#define STRING 325
-#define PROTOCOLTYPE 326
+#define BIND 261
+#define BLACKLIST 262
+#define BYTES 263
+#define KBYTES 264
+#define MBYTES 265
+#define CHANNEL 266
+#define COMMAND_INTERVAL 267
+#define COMMAND_QUEUE_SIZE 268
+#define COMMAND_TIMEOUT 269
+#define CONNREGEX 270
+#define DNS_FDLIMIT 271
+#define DNS_TIMEOUT 272
+#define DNSBL_FROM 273
+#define DNSBL_TO 274
+#define EXEMPT 275
+#define FD 276
+#define INVITE 277
+#define IPV4 278
+#define IPV6 279
+#define IRC 280
+#define KLINE 281
+#define KEY 282
+#define MASK 283
+#define MAX_READ 284
+#define MODE 285
+#define NAME 286
+#define NEGCACHE 287
+#define NEGCACHE_REBUILD 288
+#define NICK 289
+#define NICKSERV 290
+#define NOTICE 291
+#define OPER 292
+#define OPM 293
+#define OPTIONS 294
+#define PASSWORD 295
+#define PERFORM 296
+#define PIDFILE 297
+#define PORT 298
+#define PROTOCOL 299
+#define RSA_PRIVATE_KEY_FILE 300
+#define READTIMEOUT 301
+#define REALNAME 302
+#define RECONNECTINTERVAL 303
+#define REPLY 304
+#define SCANLOG 305
+#define SCANNER 306
+#define SECONDS 307
+#define MINUTES 308
+#define HOURS 309
+#define DAYS 310
+#define WEEKS 311
+#define MONTHS 312
+#define YEARS 313
+#define SENDMAIL 314
+#define SERVER 315
+#define TARGET_IP 316
+#define TARGET_PORT 317
+#define TARGET_STRING 318
+#define TIMEOUT 319
+#define TLS 320
+#define TLS_CERTIFICATE_FILE 321
+#define TLS_HOSTNAME_VERIFICATION 322
+#define TYPE 323
+#define USERNAME 324
+#define USER 325
+#define NUMBER 326
+#define STRING 327
+#define PROTOCOLTYPE 328
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
union YYSTYPE
{
-#line 93 "config-parser.y" /* yacc.c:352 */
+#line 95 "config-parser.y"
int number;
char *string;
-#line 272 "config-parser.c" /* yacc.c:352 */
-};
+#line 285 "config-parser.c"
+};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -289,28 +302,75 @@ int yyparse (void);
# undef short
#endif
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+ <limits.h> and (if available) <stdint.h> are included
+ so that the code can choose integer types of a good width. */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_STDINT_H
+# endif
#endif
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
+/* Narrow types that promote to a signed type and that can represent a
+ signed or unsigned integer of at least N bits. In tables they can
+ save space and decrease cache pressure. Promoting to a signed type
+ helps avoid bugs in integer arithmetic. */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
#else
typedef signed char yytype_int8;
#endif
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
#else
-typedef unsigned short yytype_uint16;
+typedef short yytype_int16;
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
#endif
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
#else
-typedef short yytype_int16;
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+# define YYPTRDIFF_T __PTRDIFF_TYPE__
+# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+# ifndef ptrdiff_t
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# endif
+# define YYPTRDIFF_T ptrdiff_t
+# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+# define YYPTRDIFF_T long
+# define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
#endif
#ifndef YYSIZE_T
@@ -318,7 +378,7 @@ typedef short yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -326,7 +386,19 @@ typedef short yytype_int16;
# endif
#endif
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+#define YYSIZE_MAXIMUM \
+ YY_CAST (YYPTRDIFF_T, \
+ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
+ ? YYPTRDIFF_MAXIMUM \
+ : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations. */
+typedef int yy_state_fast_t;
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
@@ -340,22 +412,20 @@ typedef short yytype_int16;
# endif
#endif
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
# else
-# define YY_ATTRIBUTE(Spec) /* empty */
+# define YY_ATTRIBUTE_PURE
# endif
#endif
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
-#endif
-
#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+# define YY_ATTRIBUTE_UNUSED
+# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
@@ -367,11 +437,11 @@ typedef short yytype_int16;
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
@@ -384,6 +454,20 @@ typedef short yytype_int16;
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END \
+ _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -460,17 +544,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss_alloc;
+ yy_state_t yyss_alloc;
YYSTYPE yyvs_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
@@ -483,11 +567,11 @@ union yyalloc
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
- YYSIZE_T yynewbytes; \
+ YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
+ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
@@ -499,12 +583,12 @@ union yyalloc
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
- YYSIZE_T yyi; \
+ YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
@@ -516,42 +600,43 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 355
+#define YYLAST 374
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 78
+#define YYNTOKENS 80
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 92
+#define YYNNTS 94
/* YYNRULES -- Number of rules. */
-#define YYNRULES 174
+#define YYNRULES 178
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 380
+#define YYNSTATES 390
#define YYUNDEFTOK 2
-#define YYMAXUTOK 326
+#define YYMAXUTOK 328
+
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
-static const yytype_uint8 yytranslate[] =
+static const yytype_int8 yytranslate[] =
{
0, 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, 77, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 76, 74,
- 2, 75, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 79, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 78, 76,
+ 2, 77, 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, 2, 72, 2, 73, 2, 2, 2, 2,
+ 2, 2, 2, 74, 2, 75, 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,
@@ -571,31 +656,31 @@ static const yytype_uint8 yytranslate[] =
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 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
+ 65, 66, 67, 68, 69, 70, 71, 72, 73
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 108, 108, 109, 112, 113, 114, 115, 116, 117,
- 119, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 130, 130, 131, 132, 133, 134, 139, 141, 142, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 155,
- 160, 165, 171, 176, 181, 187, 192, 197, 204, 206,
- 207, 209, 210, 211, 212, 213, 214, 215, 216, 217,
- 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
- 228, 229, 231, 237, 243, 249, 255, 261, 267, 273,
- 278, 283, 288, 293, 298, 303, 308, 314, 320, 326,
- 332, 341, 341, 354, 355, 357, 358, 359, 361, 369,
- 377, 388, 388, 398, 399, 401, 402, 403, 405, 412,
- 422, 422, 457, 458, 460, 461, 462, 463, 464, 465,
- 466, 467, 468, 469, 471, 479, 487, 495, 508, 515,
- 522, 529, 536, 552, 554, 555, 557, 558, 559, 560,
- 561, 563, 569, 575, 584, 584, 600, 601, 603, 604,
- 605, 606, 607, 608, 609, 611, 620, 619, 627, 627,
- 628, 633, 640, 648, 660, 667, 669, 670, 672, 686,
- 688, 689, 691, 692, 694
+static const yytype_int16 yyrline[] =
+{
+ 0, 110, 110, 111, 114, 115, 116, 117, 118, 119,
+ 121, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 132, 132, 133, 134, 135, 136, 141, 143, 144, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 157,
+ 162, 167, 173, 178, 183, 189, 194, 199, 206, 208,
+ 209, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 235, 241, 247, 253, 259, 265,
+ 271, 277, 282, 287, 292, 297, 304, 310, 315, 320,
+ 325, 331, 337, 343, 349, 358, 358, 371, 372, 374,
+ 375, 376, 378, 386, 394, 405, 405, 415, 416, 418,
+ 419, 420, 422, 429, 439, 439, 474, 475, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 488, 496,
+ 504, 512, 525, 532, 539, 546, 553, 569, 571, 572,
+ 574, 575, 576, 577, 578, 580, 586, 592, 601, 601,
+ 617, 618, 620, 621, 622, 623, 624, 625, 626, 628,
+ 637, 636, 644, 644, 645, 650, 657, 665, 677, 684,
+ 686, 687, 689, 703, 705, 706, 708, 709, 711
};
#endif
@@ -605,32 +690,34 @@ static const yytype_uint16 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "ADDRESS_FAMILY", "AWAY", "BAN_UNKNOWN",
- "BLACKLIST", "BYTES", "KBYTES", "MBYTES", "CHANNEL", "COMMAND_INTERVAL",
- "COMMAND_QUEUE_SIZE", "COMMAND_TIMEOUT", "CONNREGEX", "DNS_FDLIMIT",
- "DNS_TIMEOUT", "DNSBL_FROM", "DNSBL_TO", "EXEMPT", "FD", "INVITE",
- "IPV4", "IPV6", "IRC", "KLINE", "KEY", "MASK", "MAX_READ", "MODE",
- "NAME", "NEGCACHE", "NEGCACHE_REBUILD", "NICK", "NICKSERV", "NOTICE",
- "OPER", "OPM", "OPTIONS", "PASSWORD", "PERFORM", "PIDFILE", "PORT",
- "PROTOCOL", "READTIMEOUT", "REALNAME", "RECONNECTINTERVAL", "REPLY",
- "SCANLOG", "SCANNER", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
- "MONTHS", "YEARS", "SENDMAIL", "SERVER", "TARGET_IP", "TARGET_PORT",
- "TARGET_STRING", "TIMEOUT", "TLS", "TLS_HOSTNAME_VERIFICATION", "TYPE",
- "USERNAME", "USER", "VHOST", "NUMBER", "STRING", "PROTOCOLTYPE", "'{'",
- "'}'", "';'", "'='", "':'", "','", "$accept", "config", "config_items",
- "timespec_", "timespec", "sizespec_", "sizespec", "options_entry",
- "options_items", "options_item", "options_negcache",
- "options_negcache_rebuild", "options_pidfile", "options_dns_fdlimit",
- "options_dns_timeout", "options_scanlog", "options_command_queue_size",
+ "BIND", "BLACKLIST", "BYTES", "KBYTES", "MBYTES", "CHANNEL",
+ "COMMAND_INTERVAL", "COMMAND_QUEUE_SIZE", "COMMAND_TIMEOUT", "CONNREGEX",
+ "DNS_FDLIMIT", "DNS_TIMEOUT", "DNSBL_FROM", "DNSBL_TO", "EXEMPT", "FD",
+ "INVITE", "IPV4", "IPV6", "IRC", "KLINE", "KEY", "MASK", "MAX_READ",
+ "MODE", "NAME", "NEGCACHE", "NEGCACHE_REBUILD", "NICK", "NICKSERV",
+ "NOTICE", "OPER", "OPM", "OPTIONS", "PASSWORD", "PERFORM", "PIDFILE",
+ "PORT", "PROTOCOL", "RSA_PRIVATE_KEY_FILE", "READTIMEOUT", "REALNAME",
+ "RECONNECTINTERVAL", "REPLY", "SCANLOG", "SCANNER", "SECONDS", "MINUTES",
+ "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SENDMAIL", "SERVER",
+ "TARGET_IP", "TARGET_PORT", "TARGET_STRING", "TIMEOUT", "TLS",
+ "TLS_CERTIFICATE_FILE", "TLS_HOSTNAME_VERIFICATION", "TYPE", "USERNAME",
+ "USER", "NUMBER", "STRING", "PROTOCOLTYPE", "'{'", "'}'", "';'", "'='",
+ "':'", "','", "$accept", "config", "config_items", "timespec_",
+ "timespec", "sizespec_", "sizespec", "options_entry", "options_items",
+ "options_item", "options_negcache", "options_negcache_rebuild",
+ "options_pidfile", "options_dns_fdlimit", "options_dns_timeout",
+ "options_scanlog", "options_command_queue_size",
"options_command_interval", "options_command_timeout", "irc_entry",
"irc_items", "irc_item", "irc_away", "irc_kline", "irc_mode", "irc_nick",
"irc_nickserv", "irc_oper", "irc_password", "irc_perform", "irc_notice",
- "irc_port", "irc_tls", "irc_tls_hostname_verification",
+ "irc_port", "irc_tls", "irc_rsa_private_key_file",
+ "irc_tls_certificate_file", "irc_tls_hostname_verification",
"irc_readtimeout", "irc_reconnectinterval", "irc_realname", "irc_server",
- "irc_username", "irc_vhost", "irc_connregex", "channel_entry", "$@1",
+ "irc_username", "irc_bind", "irc_connregex", "channel_entry", "$@1",
"channel_items", "channel_item", "channel_name", "channel_key",
"channel_invite", "user_entry", "$@2", "user_items", "user_item",
"user_mask", "user_scanner", "scanner_entry", "$@3", "scanner_items",
- "scanner_item", "scanner_name", "scanner_vhost", "scanner_target_ip",
+ "scanner_item", "scanner_name", "scanner_bind", "scanner_target_ip",
"scanner_target_string", "scanner_fd", "scanner_target_port",
"scanner_timeout", "scanner_max_read", "scanner_protocol", "opm_entry",
"opm_items", "opm_item", "opm_dnsbl_from", "opm_dnsbl_to",
@@ -646,7 +733,7 @@ static const char *const yytname[] =
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
-static const yytype_uint16 yytoknum[] =
+static const yytype_int16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -655,62 +742,63 @@ static const yytype_uint16 yytoknum[] =
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 123, 125, 59, 61, 58, 44
+ 325, 326, 327, 328, 123, 125, 59, 61, 58, 44
};
# endif
-#define YYPACT_NINF -304
+#define YYPACT_NINF (-209)
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-304)))
+#define yypact_value_is_default(Yyn) \
+ ((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF -145
+#define YYTABLE_NINF (-149)
-#define yytable_value_is_error(Yytable_value) \
+#define yytable_value_is_error(Yyn) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -304, 164, -304, -65, -56, -52, -48, -304, -304, -304,
- -304, -37, -304, -6, -304, -304, 10, 123, 83, 183,
- -23, -22, -304, -13, 4, -304, -304, -304, -5, 1,
- 7, 11, 17, 18, 20, 27, 28, 29, 33, 34,
- 36, 39, 41, 43, 47, 50, 51, 0, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, 59,
- -304, 56, 60, 61, 73, -304, -304, -304, -304, -304,
- 69, -304, 63, 66, 68, 70, 74, 75, 78, 79,
- 85, 40, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, -304, 93, 150, 64, 92, -304, 101, 103, 104,
- 106, 107, 112, 115, 120, 122, 127, 131, 134, 135,
- 134, 136, 138, 139, 146, 147, 98, -304, 132, 149,
- 151, 152, 153, -304, 148, 134, 154, 134, 156, 134,
- 134, 134, 158, 159, 172, -304, -304, 155, 173, 5,
- -304, -304, -304, -304, 174, 175, 177, 178, 179, 180,
- 181, 184, 185, 37, -304, -304, -304, -304, -304, -304,
- -304, -304, -304, -304, 187, -304, 188, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 182, 199, 200,
- 201, 202, 203, 204, 205, 206, -304, -18, 207, 208,
- 209, -304, 114, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, -304, 223, 224, 221, -304, 157, 227, 228,
- 176, 229, 231, 232, 134, 233, 230, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- 134, 134, 134, 134, 134, 134, 134, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, 222, 226, 234,
- 102, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- 235, 236, 237, 186, 238, 82, -304, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, -304, 240, 241, -304, 242, 52, 243, 244, 245,
- 246, 248, 249, 250, 251, -304, -304, -304, -304, -304,
- -304, -304, -304, 256, 257, 258, 255, -304, 259, 239,
- 260, 261, 263, 265, 262, -304, -304, -304, -304, 227,
- 227, 227, -304, -304, -304, -304, 264, -304, -304, -304,
- -304, -304, 266, 267, 268, -304, 25, 269, 270, 271,
- 272, -60, -304, 274, -304, -304, -304, -304, 275, -304,
- -304, -304, -304, -304, -59, -304, -304, -304, -304, 276,
- 277, -304, -304, -304, -304, 25, 278, -304, -304, -304
+ -209, 77, -209, -69, -67, -61, -49, -209, -209, -209,
+ -209, -28, -209, -7, -209, -209, 63, 116, 71, 183,
+ -25, -17, -209, 10, 30, -209, -209, -209, 15, 23,
+ 27, 41, 42, 44, 49, 59, 60, 61, 62, 64,
+ 66, 67, 68, 70, 72, 96, 97, 98, 101, 0,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, 75, -209, 102, 110, 112, 9, -209,
+ -209, -209, -209, -209, 92, -209, 114, 117, 121, 124,
+ 125, 127, 135, 136, 137, 38, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, 31, 159, 36, 78,
+ -209, 120, 145, 146, 147, 154, 155, 156, 157, 158,
+ 160, 162, 122, 163, 165, 166, 165, 167, 169, 170,
+ 172, 173, 161, -209, 174, 175, 177, 178, 168, -209,
+ 179, 165, 180, 165, 181, 165, 165, 165, 182, 184,
+ 185, -209, -209, 164, 186, 28, -209, -209, -209, -209,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 32,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ 197, -209, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 153, 211, 212, 213, 214,
+ 215, 216, 217, 218, -209, -19, 219, 220, 221, -209,
+ 109, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ -209, 235, 236, 233, -209, 238, 240, 241, 242, 243,
+ 245, 244, 246, 165, 237, -209, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ 165, 165, 165, 165, 165, 165, 165, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, 247, 248, 249,
+ -13, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ 250, 251, 252, 256, 254, 80, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, 257, 258, -209, 259, 260, 115, 261, 262,
+ 263, 264, 266, 267, 268, -209, -209, -209, -209, -209,
+ -209, -209, -209, 273, 274, 275, 272, -209, 255, 278,
+ 279, 280, 282, 283, 281, -209, -209, -209, -209, -209,
+ 241, 241, 241, -209, -209, -209, -209, 285, -209, -209,
+ -209, -209, 284, 286, 287, -209, 50, 288, 289, 290,
+ 277, -51, -209, 291, -209, -209, -209, -209, 292, -209,
+ -209, -209, -209, -209, 22, -209, -209, -209, -209, 297,
+ 294, -209, -209, -209, -209, 50, 295, -209, -209, -209
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -718,74 +806,75 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 2, 101, 1, 0, 0, 0, 0, 3, 5, 4,
+ 2, 105, 1, 0, 0, 0, 0, 3, 5, 4,
7, 0, 8, 0, 6, 9, 0, 0, 0, 0,
- 0, 0, 173, 0, 0, 171, 172, 71, 0, 0,
+ 0, 0, 177, 0, 0, 175, 176, 73, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 50, 51, 53, 56, 54, 55, 57, 58, 70, 71,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 52, 72, 0, 144, 0, 0, 0, 0, 139,
+ 140, 141, 142, 143, 0, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 0, 0, 0, 0,
+ 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 49, 0, 0, 0, 0, 0, 138,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 111, 0, 0, 0, 108, 109, 110, 127,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 50, 51,
- 53, 56, 54, 55, 57, 58, 68, 69, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 52, 70, 0,
- 140, 0, 0, 0, 0, 135, 136, 137, 138, 139,
- 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 0, 0, 0, 0, 170, 0, 0, 0,
+ 117, 118, 119, 121, 123, 120, 122, 125, 126, 124,
+ 0, 173, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 137,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
- 0, 0, 0, 134, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 27, 107, 0, 0, 0,
- 104, 105, 106, 123, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 113, 114, 115, 117, 119, 116,
- 118, 121, 122, 120, 0, 169, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
- 0, 0, 0, 0, 0, 0, 48, 0, 0, 0,
- 0, 133, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 103, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 112, 174, 72,
- 90, 73, 74, 75, 76, 80, 77, 78, 79, 81,
- 10, 10, 10, 10, 10, 10, 10, 12, 11, 84,
- 86, 85, 87, 82, 83, 88, 89, 0, 0, 0,
- 0, 94, 95, 96, 97, 141, 142, 143, 154, 156,
- 0, 0, 0, 0, 0, 0, 147, 148, 149, 151,
- 150, 152, 153, 46, 45, 47, 42, 43, 39, 40,
- 41, 44, 0, 0, 102, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 111, 13, 14, 15, 16,
- 17, 18, 19, 0, 0, 0, 0, 93, 0, 0,
- 0, 0, 0, 0, 0, 146, 108, 109, 128, 20,
- 20, 20, 22, 21, 131, 124, 0, 126, 129, 127,
- 130, 125, 0, 0, 0, 92, 0, 0, 0, 0,
- 0, 0, 167, 0, 145, 23, 24, 25, 0, 100,
- 99, 98, 160, 161, 0, 159, 164, 162, 155, 0,
- 0, 166, 163, 132, 157, 0, 0, 165, 158, 168
+ 26, 0, 0, 0, 107, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 116, 178, 74, 93, 94,
+ 75, 76, 77, 78, 82, 79, 80, 81, 83, 85,
+ 10, 10, 10, 10, 10, 10, 10, 12, 11, 88,
+ 90, 89, 91, 84, 86, 87, 92, 0, 0, 0,
+ 0, 98, 99, 100, 101, 145, 146, 147, 158, 160,
+ 0, 0, 0, 0, 0, 0, 151, 152, 153, 155,
+ 154, 156, 157, 46, 45, 47, 42, 43, 39, 40,
+ 41, 44, 0, 0, 106, 0, 0, 20, 0, 0,
+ 0, 0, 0, 0, 0, 115, 13, 14, 15, 16,
+ 17, 18, 19, 0, 0, 0, 0, 97, 0, 0,
+ 0, 0, 0, 0, 0, 150, 112, 113, 129, 132,
+ 20, 20, 20, 22, 21, 135, 128, 0, 130, 133,
+ 131, 134, 0, 0, 0, 96, 0, 0, 0, 0,
+ 0, 0, 171, 0, 149, 23, 24, 25, 0, 104,
+ 103, 102, 164, 165, 0, 163, 168, 166, 159, 0,
+ 0, 170, 167, 136, 161, 0, 0, 169, 162, 172
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -304, -304, -304, -1, -118, -303, 87, -304, -304, 166,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, 290, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
- -304, -304, -304, -304, 46, -304, -304, -304, -304, -304,
- -304, 170, -304, -304, -304, -304, -304, 144, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, 279,
- -304, -304, -304, -304, -304, -304, 80, -304, -304, -304,
- -304, -36, -304, -304, -304, -304, -304, 3, -304, -304,
- 314, -304
+ -209, -209, -209, -84, -124, -208, 4, -209, -209, 151,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, 270, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -15, -209, -209, -209,
+ -209, -209, -209, 103, -209, -209, -209, -209, -209, 88,
+ -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, 296, -209, -209, -209, -209, -209, -209, -26, -209,
+ -209, -209, -209, -125, -209, -209, -209, -209, -209, -99,
+ -209, -209, 298, -209
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 7, 247, 248, 332, 333, 8, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 9,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 260, 261, 262, 263, 264, 10, 11,
- 149, 150, 151, 152, 12, 13, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 14, 74, 75,
- 76, 77, 78, 79, 80, 275, 276, 277, 278, 318,
- 364, 365, 279, 280, 281, 282, 351, 352, 15, 24,
- 25, 26
+ -1, 1, 7, 257, 258, 343, 344, 8, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 9,
+ 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, 270, 271, 272, 273, 274,
+ 10, 11, 155, 156, 157, 158, 12, 13, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 14,
+ 78, 79, 80, 81, 82, 83, 84, 285, 286, 287,
+ 288, 328, 374, 375, 289, 290, 291, 292, 361, 362,
+ 15, 24, 25, 26
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -793,153 +882,158 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 188, 27, 190, 257, 28, 22, 146, 16, 258, 350,
- -91, 22, 259, 370, 29, 374, 17, 203, 375, 205,
- 18, 207, 208, 209, 19, 30, 355, 356, 357, 31,
- 20, 23, 147, 32, 33, 34, 35, 23, 153, 36,
- 37, 81, 38, 21, 39, 40, 41, 362, 363, 102,
- 103, 82, 83, 84, 148, 85, 86, 154, 42, 329,
- 330, 331, 104, 43, 44, 155, 45, 156, 46, 128,
- 107, 87, 88, 126, 70, 134, 108, 105, 215, -144,
- 157, 89, 109, 268, 70, 269, 110, 270, 90, -144,
- 71, 72, 111, 112, 146, 113, 158, 159, 160, 161,
- 71, 72, 114, 115, 116, 162, 303, 271, 117, 118,
- 226, 119, 272, 144, 120, 268, 121, 269, 122, 270,
- 147, 296, 123, 257, 27, 124, 125, 28, 258, 273,
- 73, 129, 259, -91, 174, 130, 131, 29, 135, 271,
- 73, 136, 148, 137, 272, 138, 132, 274, 30, 139,
- 140, 153, 31, 141, 142, 324, 32, 33, 34, 35,
- 143, 273, 36, 37, 2, 38, 175, 39, 40, 41,
- 154, 176, 196, 177, 178, 316, 179, 180, 155, 274,
- 156, 42, 181, 3, 81, 182, 43, 44, 4, 45,
- 183, 46, 184, 157, 82, 83, 84, 185, 85, 86,
- 186, 5, 6, 187, 197, 189, 191, 192, 193, 158,
- 159, 160, 161, -110, 87, 88, 194, 195, 162, 198,
- 202, 199, 200, 204, 89, 206, 295, 201, 210, 211,
- 213, 90, 240, 241, 242, 243, 244, 245, 246, 306,
- 307, 308, 309, 310, 311, 312, 212, 299, 214, 217,
- 218, 187, 219, 220, 221, 222, 223, 145, 322, 224,
- 225, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 249, 250, 251, 252, 253, 254, 255,
- 256, 265, 266, 267, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 296, 313, 298, 300,
- 301, 314, 302, 304, 305, 297, 317, 227, 347, 315,
- 319, 320, 321, 323, 326, 327, 328, 334, 335, 216,
- 337, 336, 338, 339, 340, 341, 342, 343, 344, 345,
- 348, 349, 350, 358, 346, 353, 354, 127, 106, 378,
- 359, 360, 361, 366, 367, 368, 376, 369, 372, 373,
- 0, 377, 379, 133, 371, 325
+ 196, 27, 198, 267, 28, 16, 29, 17, 268, 267,
+ 74, -95, 269, 18, 268, 30, -148, 211, 269, 213,
+ 360, 215, 216, 217, 380, 19, 31, 75, 76, 152,
+ 32, 22, 152, 159, 33, 34, 35, 36, 160, 85,
+ 37, 38, 20, 39, 21, 40, 41, 42, 43, 106,
+ 86, 87, 88, 161, 89, 90, 153, 107, 23, 153,
+ 44, 162, 326, 163, 22, 45, 46, 47, 77, 48,
+ 91, 92, 74, 372, 373, 132, 164, 2, -148, 154,
+ 93, 278, 154, 279, 138, 280, 134, 108, 94, 75,
+ 76, 23, 111, 165, 166, 167, 168, 3, 384, 140,
+ 112, 385, 4, 223, 113, 109, 281, 234, 180, 314,
+ 278, 282, 279, 150, 280, 5, 6, 27, 114, 115,
+ 28, 116, 29, 340, 341, 342, 117, -95, -114, 283,
+ 77, 30, 365, 366, 367, 281, 118, 119, 120, 121,
+ 282, 122, 31, 123, 124, 125, 32, 126, 284, 127,
+ 33, 34, 35, 36, 181, 334, 37, 38, 283, 39,
+ 159, 40, 41, 42, 43, 160, 316, 317, 318, 319,
+ 320, 321, 322, 128, 129, 130, 44, 284, 131, 135,
+ 161, 45, 46, 47, 85, 48, 307, 136, 162, 137,
+ 163, 141, 182, 193, 142, 86, 87, 88, 143, 89,
+ 90, 144, 145, 164, 146, 250, 251, 252, 253, 254,
+ 255, 256, 147, 148, 149, 91, 92, 183, 184, 185,
+ 165, 166, 167, 168, 195, 93, 186, 187, 188, 189,
+ 190, 308, 191, 94, 192, 194, 195, 204, 197, 199,
+ 200, 221, 201, 202, 209, 203, 151, 206, 205, 207,
+ 208, 212, 214, 210, 218, 327, 219, 235, 224, 335,
+ 388, 220, 381, 222, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 259, 260, 261,
+ 262, 263, 264, 265, 266, 275, 276, 277, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+ 305, 306, 307, 315, 309, 312, 310, 311, 313, 133,
+ 0, 0, 110, 0, 323, 324, 325, 329, 330, 331,
+ 332, 333, 356, 336, 337, 338, 339, 345, 346, 0,
+ 348, 347, 349, 350, 351, 352, 353, 354, 355, 357,
+ 0, 358, 359, 360, 379, 363, 368, 364, 0, 0,
+ 369, 0, 370, 371, 376, 377, 378, 382, 383, 386,
+ 387, 389, 0, 0, 139
};
static const yytype_int16 yycheck[] =
{
- 118, 1, 120, 21, 4, 1, 1, 72, 26, 69,
- 10, 1, 30, 73, 14, 74, 72, 135, 77, 137,
- 72, 139, 140, 141, 72, 25, 329, 330, 331, 29,
- 67, 27, 27, 33, 34, 35, 36, 27, 1, 39,
- 40, 1, 42, 49, 44, 45, 46, 22, 23, 72,
- 72, 11, 12, 13, 49, 15, 16, 20, 58, 7,
- 8, 9, 75, 63, 64, 28, 66, 30, 68, 10,
- 75, 31, 32, 73, 1, 6, 75, 73, 73, 6,
- 43, 41, 75, 1, 1, 3, 75, 5, 48, 6,
- 17, 18, 75, 75, 1, 75, 59, 60, 61, 62,
- 17, 18, 75, 75, 75, 68, 224, 25, 75, 75,
- 73, 75, 30, 73, 75, 1, 75, 3, 75, 5,
- 27, 69, 75, 21, 1, 75, 75, 4, 26, 47,
- 57, 75, 30, 10, 70, 75, 75, 14, 75, 25,
- 57, 75, 49, 75, 30, 75, 73, 65, 25, 75,
- 75, 1, 29, 75, 75, 73, 33, 34, 35, 36,
- 75, 47, 39, 40, 0, 42, 74, 44, 45, 46,
- 20, 70, 74, 70, 70, 73, 70, 70, 28, 65,
- 30, 58, 70, 19, 1, 70, 63, 64, 24, 66,
- 70, 68, 70, 43, 11, 12, 13, 70, 15, 16,
- 69, 37, 38, 69, 72, 70, 70, 69, 69, 59,
- 60, 61, 62, 49, 31, 32, 70, 70, 68, 70,
- 72, 70, 70, 69, 41, 69, 69, 74, 70, 70,
- 75, 48, 50, 51, 52, 53, 54, 55, 56, 240,
- 241, 242, 243, 244, 245, 246, 74, 71, 75, 75,
- 75, 69, 75, 75, 75, 75, 75, 91, 72, 75,
- 75, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 70, 70, 74, 69, 75, 70, 70,
- 69, 75, 70, 70, 74, 218, 260, 163, 69, 75,
- 75, 75, 75, 75, 74, 74, 74, 74, 74, 149,
- 74, 76, 74, 74, 74, 74, 70, 70, 70, 74,
- 70, 70, 69, 69, 75, 70, 74, 47, 24, 375,
- 74, 74, 74, 74, 74, 74, 70, 75, 74, 74,
- -1, 74, 74, 74, 351, 275
+ 124, 1, 126, 22, 4, 74, 6, 74, 27, 22,
+ 1, 11, 31, 74, 27, 15, 7, 141, 31, 143,
+ 71, 145, 146, 147, 75, 74, 26, 18, 19, 1,
+ 30, 1, 1, 1, 34, 35, 36, 37, 6, 1,
+ 40, 41, 70, 43, 51, 45, 46, 47, 48, 74,
+ 12, 13, 14, 21, 16, 17, 28, 74, 28, 28,
+ 60, 29, 75, 31, 1, 65, 66, 67, 59, 69,
+ 32, 33, 1, 23, 24, 75, 44, 0, 7, 51,
+ 42, 1, 51, 3, 75, 5, 11, 77, 50, 18,
+ 19, 28, 77, 61, 62, 63, 64, 20, 76, 7,
+ 77, 79, 25, 75, 77, 75, 26, 75, 72, 233,
+ 1, 31, 3, 75, 5, 38, 39, 1, 77, 77,
+ 4, 77, 6, 8, 9, 10, 77, 11, 51, 49,
+ 59, 15, 340, 341, 342, 26, 77, 77, 77, 77,
+ 31, 77, 26, 77, 77, 77, 30, 77, 68, 77,
+ 34, 35, 36, 37, 76, 75, 40, 41, 49, 43,
+ 1, 45, 46, 47, 48, 6, 250, 251, 252, 253,
+ 254, 255, 256, 77, 77, 77, 60, 68, 77, 77,
+ 21, 65, 66, 67, 1, 69, 71, 77, 29, 77,
+ 31, 77, 72, 71, 77, 12, 13, 14, 77, 16,
+ 17, 77, 77, 44, 77, 52, 53, 54, 55, 56,
+ 57, 58, 77, 77, 77, 32, 33, 72, 72, 72,
+ 61, 62, 63, 64, 71, 42, 72, 72, 72, 72,
+ 72, 227, 72, 50, 72, 72, 71, 76, 72, 72,
+ 71, 77, 72, 71, 76, 72, 95, 72, 74, 72,
+ 72, 71, 71, 74, 72, 270, 72, 169, 155, 285,
+ 385, 76, 361, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 72, 72, 76,
+ 72, 71, 71, 76, 72, 71, 73, 72, 72, 49,
+ -1, -1, 24, -1, 77, 77, 77, 77, 77, 77,
+ 74, 77, 77, 76, 76, 76, 76, 76, 76, -1,
+ 76, 78, 76, 76, 76, 72, 72, 72, 76, 71,
+ -1, 72, 72, 71, 77, 72, 71, 76, -1, -1,
+ 76, -1, 76, 76, 76, 76, 76, 76, 76, 72,
+ 76, 76, -1, -1, 78
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 79, 0, 19, 24, 37, 38, 80, 85, 97,
- 126, 127, 132, 133, 145, 166, 72, 72, 72, 72,
- 67, 49, 1, 27, 167, 168, 169, 1, 4, 14,
- 25, 29, 33, 34, 35, 36, 39, 40, 42, 44,
- 45, 46, 58, 63, 64, 66, 68, 98, 99, 100,
+ 0, 81, 0, 20, 25, 38, 39, 82, 87, 99,
+ 130, 131, 136, 137, 149, 170, 74, 74, 74, 74,
+ 70, 51, 1, 28, 171, 172, 173, 1, 4, 6,
+ 15, 26, 30, 34, 35, 36, 37, 40, 41, 43,
+ 45, 46, 47, 48, 60, 65, 66, 67, 69, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 1, 17, 18, 57, 146, 147, 148, 149, 150, 151,
- 152, 1, 11, 12, 13, 15, 16, 31, 32, 41,
- 48, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 72, 72, 75, 73, 168, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 73, 99, 10, 75,
- 75, 75, 73, 147, 6, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 73, 87, 1, 27, 49, 128,
- 129, 130, 131, 1, 20, 28, 30, 43, 59, 60,
- 61, 62, 68, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 70, 74, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 69, 69, 82, 70,
- 82, 70, 69, 69, 70, 70, 74, 72, 70, 70,
- 70, 74, 72, 82, 69, 82, 69, 82, 82, 82,
- 70, 70, 74, 75, 75, 73, 129, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 73, 135, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 50, 51, 52, 53, 54, 55, 56, 81, 82, 74,
- 74, 74, 74, 74, 74, 74, 74, 21, 26, 30,
- 121, 122, 123, 124, 125, 74, 74, 74, 1, 3,
- 5, 25, 30, 47, 65, 153, 154, 155, 156, 160,
- 161, 162, 163, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 70, 70, 74, 69, 69, 84, 70, 71,
- 70, 69, 70, 82, 70, 74, 81, 81, 81, 81,
- 81, 81, 81, 75, 75, 75, 73, 122, 157, 75,
- 75, 75, 72, 75, 73, 154, 74, 74, 74, 7,
- 8, 9, 83, 84, 74, 74, 76, 74, 74, 74,
- 74, 74, 70, 70, 70, 74, 75, 69, 70, 70,
- 69, 164, 165, 70, 74, 83, 83, 83, 69, 74,
- 74, 74, 22, 23, 158, 159, 74, 74, 74, 75,
- 73, 165, 74, 74, 74, 77, 70, 74, 159, 74
+ 121, 122, 123, 124, 1, 18, 19, 59, 150, 151,
+ 152, 153, 154, 155, 156, 1, 12, 13, 14, 16,
+ 17, 32, 33, 42, 50, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 74, 74, 77, 75,
+ 172, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 75, 101, 11, 77, 77, 77, 75, 151,
+ 7, 77, 77, 77, 77, 77, 77, 77, 77, 77,
+ 75, 89, 1, 28, 51, 132, 133, 134, 135, 1,
+ 6, 21, 29, 31, 44, 61, 62, 63, 64, 138,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 72, 76, 72, 72, 72, 72, 72, 72, 72, 72,
+ 72, 72, 72, 71, 72, 71, 84, 72, 84, 72,
+ 71, 72, 71, 72, 76, 74, 72, 72, 72, 76,
+ 74, 84, 71, 84, 71, 84, 84, 84, 72, 72,
+ 76, 77, 77, 75, 133, 77, 77, 77, 77, 77,
+ 77, 77, 77, 77, 75, 139, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 52, 53, 54, 55, 56, 57, 58, 83, 84, 76,
+ 76, 76, 76, 76, 76, 76, 76, 22, 27, 31,
+ 125, 126, 127, 128, 129, 76, 76, 76, 1, 3,
+ 5, 26, 31, 49, 68, 157, 158, 159, 160, 164,
+ 165, 166, 167, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 72, 72, 76, 72, 71, 71, 86, 72,
+ 73, 72, 71, 72, 84, 76, 83, 83, 83, 83,
+ 83, 83, 83, 77, 77, 77, 75, 126, 161, 77,
+ 77, 77, 74, 77, 75, 158, 76, 76, 76, 76,
+ 8, 9, 10, 85, 86, 76, 76, 78, 76, 76,
+ 76, 76, 72, 72, 72, 76, 77, 71, 72, 72,
+ 71, 168, 169, 72, 76, 85, 85, 85, 71, 76,
+ 76, 76, 23, 24, 162, 163, 76, 76, 76, 77,
+ 75, 169, 76, 76, 76, 79, 72, 76, 163, 76
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 78, 79, 79, 80, 80, 80, 80, 80, 80,
- 81, 81, 82, 82, 82, 82, 82, 82, 82, 82,
- 83, 83, 84, 84, 84, 84, 85, 86, 86, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 98, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 0, 80, 81, 81, 82, 82, 82, 82, 82, 82,
+ 83, 83, 84, 84, 84, 84, 84, 84, 84, 84,
+ 85, 85, 86, 86, 86, 86, 87, 88, 88, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 101, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 120, 119, 121, 121, 122, 122, 122, 123, 124,
- 125, 127, 126, 128, 128, 129, 129, 129, 130, 131,
- 133, 132, 134, 134, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 136, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 146, 146, 147, 147, 147, 147,
- 147, 148, 149, 150, 152, 151, 153, 153, 154, 154,
- 154, 154, 154, 154, 154, 155, 157, 156, 158, 158,
- 159, 159, 160, 161, 162, 163, 164, 164, 165, 166,
- 167, 167, 168, 168, 169
+ 118, 119, 120, 121, 122, 124, 123, 125, 125, 126,
+ 126, 126, 127, 128, 129, 131, 130, 132, 132, 133,
+ 133, 133, 134, 135, 137, 136, 138, 138, 139, 139,
+ 139, 139, 139, 139, 139, 139, 139, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 150,
+ 151, 151, 151, 151, 151, 152, 153, 154, 156, 155,
+ 157, 157, 158, 158, 158, 158, 158, 158, 158, 159,
+ 161, 160, 162, 162, 163, 163, 164, 165, 166, 167,
+ 168, 168, 169, 170, 171, 171, 172, 172, 173
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
+static const yytype_int8 yyr2[] =
{
0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
0, 1, 2, 3, 3, 3, 3, 3, 3, 3,
@@ -948,17 +1042,17 @@ static const yytype_uint8 yyr2[] =
4, 4, 4, 4, 4, 4, 4, 4, 5, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 6, 2, 1, 1, 1, 1, 4, 4,
- 4, 0, 6, 2, 1, 1, 1, 1, 4, 4,
- 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
- 4, 4, 6, 5, 2, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 0, 6, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 4, 0, 5, 3, 1,
- 1, 1, 4, 4, 4, 5, 2, 1, 4, 5,
- 2, 1, 1, 1, 4
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 0, 6, 2, 1, 1,
+ 1, 1, 4, 4, 4, 0, 6, 2, 1, 1,
+ 1, 1, 4, 4, 0, 6, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
+ 4, 4, 4, 4, 4, 4, 6, 5, 2, 1,
+ 1, 1, 1, 1, 1, 4, 4, 4, 0, 6,
+ 2, 1, 1, 1, 1, 1, 1, 1, 1, 4,
+ 0, 5, 3, 1, 1, 1, 4, 4, 4, 5,
+ 2, 1, 4, 5, 2, 1, 1, 1, 4
};
@@ -1044,7 +1138,9 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
if (yytype < YYNTOKENS)
YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
# endif
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1068,7 +1164,7 @@ yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
`------------------------------------------------------------------*/
static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -1091,19 +1187,19 @@ do { \
`------------------------------------------------*/
static void
-yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
{
- unsigned long yylno = yyrline[yyrule];
+ int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
+ yystos[+yyssp[yyi + 1 - yynrhs]],
&yyvsp[(yyi + 1) - (yynrhs)]
);
YYFPRINTF (stderr, "\n");
@@ -1148,13 +1244,13 @@ int yydebug;
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
+# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
# else
/* Return the length of YYSTR. */
-static YYSIZE_T
+static YYPTRDIFF_T
yystrlen (const char *yystr)
{
- YYSIZE_T yylen;
+ YYPTRDIFF_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
@@ -1190,12 +1286,12 @@ yystpcpy (char *yydest, const char *yysrc)
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
-static YYSIZE_T
+static YYPTRDIFF_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
- YYSIZE_T yyn = 0;
+ YYPTRDIFF_T yyn = 0;
char const *yyp = yystr;
for (;;)
@@ -1226,10 +1322,10 @@ yytnamerr (char *yyres, const char *yystr)
do_not_strip_quotes: ;
}
- if (! yyres)
+ if (yyres)
+ return yystpcpy (yyres, yystr) - yyres;
+ else
return yystrlen (yystr);
-
- return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
}
# endif
@@ -1242,19 +1338,19 @@ yytnamerr (char *yyres, const char *yystr)
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
+yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
+ yy_state_t *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
+ /* Arguments of yyformat: reported tokens (one for the "unexpected",
+ one per "expected"). */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
+ /* Actual size of YYARG. */
int yycount = 0;
+ /* Cumulated lengths of YYARG. */
+ YYPTRDIFF_T yysize = 0;
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
@@ -1281,7 +1377,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
*/
if (yytoken != YYEMPTY)
{
- int yyn = yypact[*yyssp];
+ int yyn = yypact[+*yyssp];
+ YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ yysize = yysize0;
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
@@ -1306,7 +1404,8 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ YYPTRDIFF_T yysize1
+ = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
yysize = yysize1;
else
@@ -1333,7 +1432,9 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
{
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ /* Don't count the "%s"s in the final size, but reserve room for
+ the terminator. */
+ YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
yysize = yysize1;
else
@@ -1363,8 +1464,8 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
else
{
- yyp++;
- yyformat++;
+ ++yyp;
+ ++yyformat;
}
}
return 0;
@@ -1407,7 +1508,7 @@ int yynerrs;
int
yyparse (void)
{
- int yystate;
+ yy_state_fast_t yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -1419,16 +1520,16 @@ yyparse (void)
to reallocate them elsewhere. */
/* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
+ yy_state_t yyssa[YYINITDEPTH];
+ yy_state_t *yyss;
+ yy_state_t *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;
- YYSIZE_T yystacksize;
+ YYPTRDIFF_T yystacksize;
int yyn;
int yyresult;
@@ -1442,7 +1543,7 @@ yyparse (void)
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+ YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
@@ -1474,10 +1575,14 @@ yynewstate:
/*--------------------------------------------------------------------.
-| yynewstate -- set current state (the top of the stack) to yystate. |
+| yysetstate -- set current state (the top of the stack) to yystate. |
`--------------------------------------------------------------------*/
yysetstate:
- *yyssp = (yytype_int16) yystate;
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ YY_IGNORE_USELESS_CAST_BEGIN
+ *yyssp = YY_CAST (yy_state_t, yystate);
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
@@ -1485,23 +1590,23 @@ yysetstate:
#else
{
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
+ YYPTRDIFF_T yysize = yyssp - yyss + 1;
# if defined yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
+ yy_state_t *yyss1 = yyss;
YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
+ &yyss1, yysize * YYSIZEOF (*yyssp),
+ &yyvs1, yysize * YYSIZEOF (*yyvsp),
&yystacksize);
yyss = yyss1;
yyvs = yyvs1;
@@ -1515,9 +1620,10 @@ yysetstate:
yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
+ yy_state_t *yyss1 = yyss;
union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ YY_CAST (union yyalloc *,
+ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
@@ -1531,16 +1637,16 @@ yysetstate:
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long) yystacksize));
+ YY_IGNORE_USELESS_CAST_BEGIN
+ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+ YY_CAST (long, yystacksize)));
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
if (yystate == YYFINAL)
YYACCEPT;
@@ -1600,15 +1706,13 @@ yybackup:
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
goto yynewstate;
@@ -1643,331 +1747,349 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 10:
-#line 119 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = 0; }
-#line 1650 "config-parser.c" /* yacc.c:1652 */
+ case 10:
+#line 121 "config-parser.y"
+ { (yyval.number) = 0; }
+#line 1754 "config-parser.c"
break;
case 12:
-#line 120 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1656 "config-parser.c" /* yacc.c:1652 */
+#line 122 "config-parser.y"
+ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
+#line 1760 "config-parser.c"
break;
case 13:
-#line 121 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1662 "config-parser.c" /* yacc.c:1652 */
+#line 123 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
+#line 1766 "config-parser.c"
break;
case 14:
-#line 122 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
-#line 1668 "config-parser.c" /* yacc.c:1652 */
+#line 124 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
+#line 1772 "config-parser.c"
break;
case 15:
-#line 123 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
-#line 1674 "config-parser.c" /* yacc.c:1652 */
+#line 125 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
+#line 1778 "config-parser.c"
break;
case 16:
-#line 124 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
-#line 1680 "config-parser.c" /* yacc.c:1652 */
+#line 126 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
+#line 1784 "config-parser.c"
break;
case 17:
-#line 125 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
-#line 1686 "config-parser.c" /* yacc.c:1652 */
+#line 127 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
+#line 1790 "config-parser.c"
break;
case 18:
-#line 126 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
-#line 1692 "config-parser.c" /* yacc.c:1652 */
+#line 128 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
+#line 1796 "config-parser.c"
break;
case 19:
-#line 127 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
-#line 1698 "config-parser.c" /* yacc.c:1652 */
+#line 129 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
+#line 1802 "config-parser.c"
break;
case 20:
-#line 130 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = 0; }
-#line 1704 "config-parser.c" /* yacc.c:1652 */
+#line 132 "config-parser.y"
+ { (yyval.number) = 0; }
+#line 1808 "config-parser.c"
break;
case 22:
-#line 131 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1710 "config-parser.c" /* yacc.c:1652 */
+#line 133 "config-parser.y"
+ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
+#line 1814 "config-parser.c"
break;
case 23:
-#line 132 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1716 "config-parser.c" /* yacc.c:1652 */
+#line 134 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
+#line 1820 "config-parser.c"
break;
case 24:
-#line 133 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
-#line 1722 "config-parser.c" /* yacc.c:1652 */
+#line 135 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
+#line 1826 "config-parser.c"
break;
case 25:
-#line 134 "config-parser.y" /* yacc.c:1652 */
- { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
-#line 1728 "config-parser.c" /* yacc.c:1652 */
+#line 136 "config-parser.y"
+ { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
+#line 1832 "config-parser.c"
break;
case 39:
-#line 156 "config-parser.y" /* yacc.c:1652 */
- {
+#line 158 "config-parser.y"
+{
OptionsItem.negcache = (yyvsp[-1].number);
}
-#line 1736 "config-parser.c" /* yacc.c:1652 */
+#line 1840 "config-parser.c"
break;
case 40:
-#line 161 "config-parser.y" /* yacc.c:1652 */
- {
+#line 163 "config-parser.y"
+{
OptionsItem.negcache_rebuild = (yyvsp[-1].number);
}
-#line 1744 "config-parser.c" /* yacc.c:1652 */
+#line 1848 "config-parser.c"
break;
case 41:
-#line 166 "config-parser.y" /* yacc.c:1652 */
- {
+#line 168 "config-parser.y"
+{
xfree(OptionsItem.pidfile);
OptionsItem.pidfile = xstrdup((yyvsp[-1].string));
}
-#line 1753 "config-parser.c" /* yacc.c:1652 */
+#line 1857 "config-parser.c"
break;
case 42:
-#line 172 "config-parser.y" /* yacc.c:1652 */
- {
+#line 174 "config-parser.y"
+{
OptionsItem.dns_fdlimit = (yyvsp[-1].number);
}
-#line 1761 "config-parser.c" /* yacc.c:1652 */
+#line 1865 "config-parser.c"
break;
case 43:
-#line 177 "config-parser.y" /* yacc.c:1652 */
- {
+#line 179 "config-parser.y"
+{
OptionsItem.dns_timeout = (yyvsp[-1].number);
}
-#line 1769 "config-parser.c" /* yacc.c:1652 */
+#line 1873 "config-parser.c"
break;
case 44:
-#line 182 "config-parser.y" /* yacc.c:1652 */
- {
+#line 184 "config-parser.y"
+{
xfree(OptionsItem.scanlog);
OptionsItem.scanlog = xstrdup((yyvsp[-1].string));
}
-#line 1778 "config-parser.c" /* yacc.c:1652 */
+#line 1882 "config-parser.c"
break;
case 45:
-#line 188 "config-parser.y" /* yacc.c:1652 */
- {
+#line 190 "config-parser.y"
+{
OptionsItem.command_queue_size = (yyvsp[-1].number);
}
-#line 1786 "config-parser.c" /* yacc.c:1652 */
+#line 1890 "config-parser.c"
break;
case 46:
-#line 193 "config-parser.y" /* yacc.c:1652 */
- {
+#line 195 "config-parser.y"
+{
OptionsItem.command_interval = (yyvsp[-1].number);
}
-#line 1794 "config-parser.c" /* yacc.c:1652 */
+#line 1898 "config-parser.c"
break;
case 47:
-#line 198 "config-parser.y" /* yacc.c:1652 */
- {
+#line 200 "config-parser.y"
+{
OptionsItem.command_timeout = (yyvsp[-1].number);
}
-#line 1802 "config-parser.c" /* yacc.c:1652 */
+#line 1906 "config-parser.c"
break;
- case 72:
-#line 232 "config-parser.y" /* yacc.c:1652 */
- {
+ case 74:
+#line 236 "config-parser.y"
+{
xfree(IRCItem.away);
IRCItem.away = xstrdup((yyvsp[-1].string));
}
-#line 1811 "config-parser.c" /* yacc.c:1652 */
+#line 1915 "config-parser.c"
break;
- case 73:
-#line 238 "config-parser.y" /* yacc.c:1652 */
- {
+ case 75:
+#line 242 "config-parser.y"
+{
xfree(IRCItem.kline);
IRCItem.kline = xstrdup((yyvsp[-1].string));
}
-#line 1820 "config-parser.c" /* yacc.c:1652 */
+#line 1924 "config-parser.c"
break;
- case 74:
-#line 244 "config-parser.y" /* yacc.c:1652 */
- {
+ case 76:
+#line 248 "config-parser.y"
+{
xfree(IRCItem.mode);
IRCItem.mode = xstrdup((yyvsp[-1].string));
}
-#line 1829 "config-parser.c" /* yacc.c:1652 */
+#line 1933 "config-parser.c"
break;
- case 75:
-#line 250 "config-parser.y" /* yacc.c:1652 */
- {
+ case 77:
+#line 254 "config-parser.y"
+{
xfree(IRCItem.nick);
IRCItem.nick = xstrdup((yyvsp[-1].string));
}
-#line 1838 "config-parser.c" /* yacc.c:1652 */
+#line 1942 "config-parser.c"
break;
- case 76:
-#line 256 "config-parser.y" /* yacc.c:1652 */
- {
+ case 78:
+#line 260 "config-parser.y"
+{
xfree(IRCItem.nickserv);
IRCItem.nickserv = xstrdup((yyvsp[-1].string));
}
-#line 1847 "config-parser.c" /* yacc.c:1652 */
+#line 1951 "config-parser.c"
break;
- case 77:
-#line 262 "config-parser.y" /* yacc.c:1652 */
- {
+ case 79:
+#line 266 "config-parser.y"
+{
xfree(IRCItem.oper);
IRCItem.oper = xstrdup((yyvsp[-1].string));
}
-#line 1856 "config-parser.c" /* yacc.c:1652 */
+#line 1960 "config-parser.c"
break;
- case 78:
-#line 268 "config-parser.y" /* yacc.c:1652 */
- {
+ case 80:
+#line 272 "config-parser.y"
+{
xfree(IRCItem.password);
IRCItem.password = xstrdup((yyvsp[-1].string));
}
-#line 1865 "config-parser.c" /* yacc.c:1652 */
+#line 1969 "config-parser.c"
break;
- case 79:
-#line 274 "config-parser.y" /* yacc.c:1652 */
- {
+ case 81:
+#line 278 "config-parser.y"
+{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.performs);
}
-#line 1873 "config-parser.c" /* yacc.c:1652 */
+#line 1977 "config-parser.c"
break;
- case 80:
-#line 279 "config-parser.y" /* yacc.c:1652 */
- {
+ case 82:
+#line 283 "config-parser.y"
+{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.notices);
}
-#line 1881 "config-parser.c" /* yacc.c:1652 */
+#line 1985 "config-parser.c"
break;
- case 81:
-#line 284 "config-parser.y" /* yacc.c:1652 */
- {
+ case 83:
+#line 288 "config-parser.y"
+{
IRCItem.port = (yyvsp[-1].number);
}
-#line 1889 "config-parser.c" /* yacc.c:1652 */
+#line 1993 "config-parser.c"
break;
- case 82:
-#line 289 "config-parser.y" /* yacc.c:1652 */
- {
+ case 84:
+#line 293 "config-parser.y"
+{
IRCItem.tls = (yyvsp[-1].number);
}
-#line 1897 "config-parser.c" /* yacc.c:1652 */
+#line 2001 "config-parser.c"
break;
- case 83:
-#line 294 "config-parser.y" /* yacc.c:1652 */
- {
+ case 85:
+#line 298 "config-parser.y"
+{
+ xfree(IRCItem.rsa_private_key_file);
+ IRCItem.rsa_private_key_file = xstrdup((yyvsp[-1].string));
+}
+#line 2010 "config-parser.c"
+ break;
+
+ case 86:
+#line 305 "config-parser.y"
+{
+ xfree(IRCItem.tls_certificate_file);
+ IRCItem.tls_certificate_file = xstrdup((yyvsp[-1].string));
+}
+#line 2019 "config-parser.c"
+ break;
+
+ case 87:
+#line 311 "config-parser.y"
+{
IRCItem.tls_hostname_verification = (yyvsp[-1].number);
}
-#line 1905 "config-parser.c" /* yacc.c:1652 */
+#line 2027 "config-parser.c"
break;
- case 84:
-#line 299 "config-parser.y" /* yacc.c:1652 */
- {
+ case 88:
+#line 316 "config-parser.y"
+{
IRCItem.readtimeout = (yyvsp[-1].number);
}
-#line 1913 "config-parser.c" /* yacc.c:1652 */
+#line 2035 "config-parser.c"
break;
- case 85:
-#line 304 "config-parser.y" /* yacc.c:1652 */
- {
+ case 89:
+#line 321 "config-parser.y"
+{
IRCItem.reconnectinterval = (yyvsp[-1].number);
}
-#line 1921 "config-parser.c" /* yacc.c:1652 */
+#line 2043 "config-parser.c"
break;
- case 86:
-#line 309 "config-parser.y" /* yacc.c:1652 */
- {
+ case 90:
+#line 326 "config-parser.y"
+{
xfree(IRCItem.realname);
IRCItem.realname = xstrdup((yyvsp[-1].string));
}
-#line 1930 "config-parser.c" /* yacc.c:1652 */
+#line 2052 "config-parser.c"
break;
- case 87:
-#line 315 "config-parser.y" /* yacc.c:1652 */
- {
+ case 91:
+#line 332 "config-parser.y"
+{
xfree(IRCItem.server);
IRCItem.server = xstrdup((yyvsp[-1].string));
}
-#line 1939 "config-parser.c" /* yacc.c:1652 */
+#line 2061 "config-parser.c"
break;
- case 88:
-#line 321 "config-parser.y" /* yacc.c:1652 */
- {
+ case 92:
+#line 338 "config-parser.y"
+{
xfree(IRCItem.username);
IRCItem.username = xstrdup((yyvsp[-1].string));
}
-#line 1948 "config-parser.c" /* yacc.c:1652 */
+#line 2070 "config-parser.c"
break;
- case 89:
-#line 327 "config-parser.y" /* yacc.c:1652 */
- {
- xfree(IRCItem.vhost);
- IRCItem.vhost = xstrdup((yyvsp[-1].string));
+ case 93:
+#line 344 "config-parser.y"
+{
+ xfree(IRCItem.bind);
+ IRCItem.bind = xstrdup((yyvsp[-1].string));
}
-#line 1957 "config-parser.c" /* yacc.c:1652 */
+#line 2079 "config-parser.c"
break;
- case 90:
-#line 333 "config-parser.y" /* yacc.c:1652 */
- {
+ case 94:
+#line 350 "config-parser.y"
+{
xfree(IRCItem.connregex);
IRCItem.connregex = xstrdup((yyvsp[-1].string));
}
-#line 1966 "config-parser.c" /* yacc.c:1652 */
+#line 2088 "config-parser.c"
break;
- case 91:
-#line 341 "config-parser.y" /* yacc.c:1652 */
- {
+ case 95:
+#line 358 "config-parser.y"
+{
struct ChannelConf *item;
item = xcalloc(sizeof(*item));
@@ -1978,45 +2100,45 @@ yyreduce:
list_add(item, &item->node, &IRCItem.channels);
tmp = item;
}
-#line 1982 "config-parser.c" /* yacc.c:1652 */
+#line 2104 "config-parser.c"
break;
- case 98:
-#line 362 "config-parser.y" /* yacc.c:1652 */
- {
+ case 102:
+#line 379 "config-parser.y"
+{
struct ChannelConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 1993 "config-parser.c" /* yacc.c:1652 */
+#line 2115 "config-parser.c"
break;
- case 99:
-#line 370 "config-parser.y" /* yacc.c:1652 */
- {
+ case 103:
+#line 387 "config-parser.y"
+{
struct ChannelConf *item = tmp;
xfree(item->key);
item->key = xstrdup((yyvsp[-1].string));
}
-#line 2004 "config-parser.c" /* yacc.c:1652 */
+#line 2126 "config-parser.c"
break;
- case 100:
-#line 378 "config-parser.y" /* yacc.c:1652 */
- {
+ case 104:
+#line 395 "config-parser.y"
+{
struct ChannelConf *item = tmp;
xfree(item->invite);
item->invite = xstrdup((yyvsp[-1].string));
}
-#line 2015 "config-parser.c" /* yacc.c:1652 */
+#line 2137 "config-parser.c"
break;
- case 101:
-#line 388 "config-parser.y" /* yacc.c:1652 */
- {
+ case 105:
+#line 405 "config-parser.y"
+{
struct UserConf *item;
item = xcalloc(sizeof(*item));
@@ -2024,32 +2146,32 @@ yyreduce:
list_add(item, &item->node, &UserItemList);
tmp = item;
}
-#line 2028 "config-parser.c" /* yacc.c:1652 */
+#line 2150 "config-parser.c"
break;
- case 108:
-#line 406 "config-parser.y" /* yacc.c:1652 */
- {
+ case 112:
+#line 423 "config-parser.y"
+{
struct UserConf *item = tmp;
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->masks);
}
-#line 2038 "config-parser.c" /* yacc.c:1652 */
+#line 2160 "config-parser.c"
break;
- case 109:
-#line 413 "config-parser.y" /* yacc.c:1652 */
- {
+ case 113:
+#line 430 "config-parser.y"
+{
struct UserConf *item = tmp;
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->scanners);
}
-#line 2048 "config-parser.c" /* yacc.c:1652 */
+#line 2170 "config-parser.c"
break;
- case 110:
-#line 422 "config-parser.y" /* yacc.c:1652 */
- {
+ case 114:
+#line 439 "config-parser.y"
+{
struct ScannerConf *item, *olditem;
item = xcalloc(sizeof(*item));
@@ -2061,7 +2183,7 @@ yyreduce:
{
olditem = ScannerItemList.tail->data;
- item->vhost = xstrdup(olditem->vhost);
+ item->bind = xstrdup(olditem->bind);
item->fd = olditem->fd;
item->target_ip = xstrdup(olditem->target_ip);
item->target_port = olditem->target_port;
@@ -2071,7 +2193,7 @@ yyreduce:
}
else
{
- item->vhost = xstrdup("0.0.0.0");
+ item->bind = xstrdup("0.0.0.0");
item->fd = 512;
item->target_ip = xstrdup("127.0.0.1");
item->target_port = 6667;
@@ -2082,45 +2204,45 @@ yyreduce:
list_add(item, &item->node, &ScannerItemList);
tmp = item;
}
-#line 2086 "config-parser.c" /* yacc.c:1652 */
+#line 2208 "config-parser.c"
break;
- case 124:
-#line 472 "config-parser.y" /* yacc.c:1652 */
- {
+ case 128:
+#line 489 "config-parser.y"
+{
struct ScannerConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 2097 "config-parser.c" /* yacc.c:1652 */
+#line 2219 "config-parser.c"
break;
- case 125:
-#line 480 "config-parser.y" /* yacc.c:1652 */
- {
+ case 129:
+#line 497 "config-parser.y"
+{
struct ScannerConf *item = tmp;
- xfree(item->vhost);
- item->vhost = xstrdup((yyvsp[-1].string));
+ xfree(item->bind);
+ item->bind = xstrdup((yyvsp[-1].string));
}
-#line 2108 "config-parser.c" /* yacc.c:1652 */
+#line 2230 "config-parser.c"
break;
- case 126:
-#line 488 "config-parser.y" /* yacc.c:1652 */
- {
+ case 130:
+#line 505 "config-parser.y"
+{
struct ScannerConf *item = tmp;
xfree(item->target_ip);
item->target_ip = xstrdup((yyvsp[-1].string));
}
-#line 2119 "config-parser.c" /* yacc.c:1652 */
+#line 2241 "config-parser.c"
break;
- case 127:
-#line 496 "config-parser.y" /* yacc.c:1652 */
- {
+ case 131:
+#line 513 "config-parser.y"
+{
struct ScannerConf *item = tmp;
if (item->target_string_created == 0)
@@ -2131,52 +2253,52 @@ yyreduce:
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->target_string);
}
-#line 2135 "config-parser.c" /* yacc.c:1652 */
+#line 2257 "config-parser.c"
break;
- case 128:
-#line 509 "config-parser.y" /* yacc.c:1652 */
- {
+ case 132:
+#line 526 "config-parser.y"
+{
struct ScannerConf *item = tmp;
item->fd = (yyvsp[-1].number);
}
-#line 2145 "config-parser.c" /* yacc.c:1652 */
+#line 2267 "config-parser.c"
break;
- case 129:
-#line 516 "config-parser.y" /* yacc.c:1652 */
- {
+ case 133:
+#line 533 "config-parser.y"
+{
struct ScannerConf *item = tmp;
item->target_port = (yyvsp[-1].number);
}
-#line 2155 "config-parser.c" /* yacc.c:1652 */
+#line 2277 "config-parser.c"
break;
- case 130:
-#line 523 "config-parser.y" /* yacc.c:1652 */
- {
+ case 134:
+#line 540 "config-parser.y"
+{
struct ScannerConf *item = tmp;
item->timeout = (yyvsp[-1].number);
}
-#line 2165 "config-parser.c" /* yacc.c:1652 */
+#line 2287 "config-parser.c"
break;
- case 131:
-#line 530 "config-parser.y" /* yacc.c:1652 */
- {
+ case 135:
+#line 547 "config-parser.y"
+{
struct ScannerConf *item = tmp;
item->max_read = (yyvsp[-1].number);
}
-#line 2175 "config-parser.c" /* yacc.c:1652 */
+#line 2297 "config-parser.c"
break;
- case 132:
-#line 537 "config-parser.y" /* yacc.c:1652 */
- {
+ case 136:
+#line 554 "config-parser.y"
+{
struct ProtocolConf *item;
struct ScannerConf *item2;
@@ -2188,39 +2310,39 @@ yyreduce:
list_add(item, node_create(), &item2->protocols);
}
-#line 2192 "config-parser.c" /* yacc.c:1652 */
+#line 2314 "config-parser.c"
break;
- case 141:
-#line 564 "config-parser.y" /* yacc.c:1652 */
- {
+ case 145:
+#line 581 "config-parser.y"
+{
xfree(OpmItem.dnsbl_from);
OpmItem.dnsbl_from = xstrdup((yyvsp[-1].string));
}
-#line 2201 "config-parser.c" /* yacc.c:1652 */
+#line 2323 "config-parser.c"
break;
- case 142:
-#line 570 "config-parser.y" /* yacc.c:1652 */
- {
+ case 146:
+#line 587 "config-parser.y"
+{
xfree(OpmItem.dnsbl_to);
OpmItem.dnsbl_to = xstrdup((yyvsp[-1].string));
}
-#line 2210 "config-parser.c" /* yacc.c:1652 */
+#line 2332 "config-parser.c"
break;
- case 143:
-#line 576 "config-parser.y" /* yacc.c:1652 */
- {
+ case 147:
+#line 593 "config-parser.y"
+{
xfree(OpmItem.sendmail);
OpmItem.sendmail = xstrdup((yyvsp[-1].string));
}
-#line 2219 "config-parser.c" /* yacc.c:1652 */
+#line 2341 "config-parser.c"
break;
- case 144:
-#line 584 "config-parser.y" /* yacc.c:1652 */
- {
+ case 148:
+#line 601 "config-parser.y"
+{
struct BlacklistConf *item;
item = xcalloc(sizeof(*item));
@@ -2234,65 +2356,65 @@ yyreduce:
tmp = item;
}
-#line 2238 "config-parser.c" /* yacc.c:1652 */
+#line 2360 "config-parser.c"
break;
- case 155:
-#line 612 "config-parser.y" /* yacc.c:1652 */
- {
+ case 159:
+#line 629 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 2249 "config-parser.c" /* yacc.c:1652 */
+#line 2371 "config-parser.c"
break;
- case 156:
-#line 620 "config-parser.y" /* yacc.c:1652 */
- {
+ case 160:
+#line 637 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
item->ipv4 = 0;
item->ipv6 = 0;
}
-#line 2260 "config-parser.c" /* yacc.c:1652 */
+#line 2382 "config-parser.c"
break;
- case 160:
-#line 629 "config-parser.y" /* yacc.c:1652 */
- {
+ case 164:
+#line 646 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
item->ipv4 = 1;
}
-#line 2270 "config-parser.c" /* yacc.c:1652 */
+#line 2392 "config-parser.c"
break;
- case 161:
-#line 634 "config-parser.y" /* yacc.c:1652 */
- {
+ case 165:
+#line 651 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
item->ipv6 = 1;
}
-#line 2280 "config-parser.c" /* yacc.c:1652 */
+#line 2402 "config-parser.c"
break;
- case 162:
-#line 641 "config-parser.y" /* yacc.c:1652 */
- {
+ case 166:
+#line 658 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
xfree(item->kline);
item->kline = xstrdup((yyvsp[-1].string));
}
-#line 2291 "config-parser.c" /* yacc.c:1652 */
+#line 2413 "config-parser.c"
break;
- case 163:
-#line 649 "config-parser.y" /* yacc.c:1652 */
- {
+ case 167:
+#line 666 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
if (strcmp("A record bitmask", (yyvsp[-1].string)) == 0)
@@ -2302,22 +2424,22 @@ yyreduce:
else
yyerror("Unknown blacklist type defined");
}
-#line 2306 "config-parser.c" /* yacc.c:1652 */
+#line 2428 "config-parser.c"
break;
- case 164:
-#line 661 "config-parser.y" /* yacc.c:1652 */
- {
+ case 168:
+#line 678 "config-parser.y"
+{
struct BlacklistConf *item = tmp;
item->ban_unknown = (yyvsp[-1].number);
}
-#line 2316 "config-parser.c" /* yacc.c:1652 */
+#line 2438 "config-parser.c"
break;
- case 168:
-#line 673 "config-parser.y" /* yacc.c:1652 */
- {
+ case 172:
+#line 690 "config-parser.y"
+{
struct BlacklistReplyConf *item;
struct BlacklistConf *blacklist = tmp;
@@ -2327,19 +2449,20 @@ yyreduce:
list_add(item, node_create(), &blacklist->reply);
}
-#line 2331 "config-parser.c" /* yacc.c:1652 */
+#line 2453 "config-parser.c"
break;
- case 174:
-#line 695 "config-parser.y" /* yacc.c:1652 */
- {
+ case 178:
+#line 712 "config-parser.y"
+{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &ExemptItem.masks);
}
-#line 2339 "config-parser.c" /* yacc.c:1652 */
+#line 2461 "config-parser.c"
break;
-#line 2343 "config-parser.c" /* yacc.c:1652 */
+#line 2465 "config-parser.c"
+
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -2402,7 +2525,7 @@ yyerrlab:
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
if (!yymsg)
{
yymsg = yymsgbuf;
@@ -2557,7 +2680,7 @@ yyreturn:
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[+*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -2570,5 +2693,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 699 "config-parser.y" /* yacc.c:1918 */
+#line 716 "config-parser.y"