aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2019-04-23 20:11:39 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2019-04-23 20:11:39 -0400
commitbe04bd20400b39d225b79691df0e2254a96b8564 (patch)
treef95875c73b1c11f30e0b6916a503eeb2e0e0d0d0 /src
parent5140318f8f758141b4e350871db1fe869eb858dc (diff)
New upstream version 1.1.6upstream/1.1.6
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in135
-rw-r--r--src/compat.c2
-rw-r--r--src/compat.h2
-rw-r--r--src/config-lexer.c10
-rw-r--r--src/config-lexer.l2
-rw-r--r--src/config-parser.c513
-rw-r--r--src/config-parser.h12
-rw-r--r--src/config-parser.y7
-rw-r--r--src/config.c2
-rw-r--r--src/config.h2
-rw-r--r--src/dnsbl.c2
-rw-r--r--src/dnsbl.h2
-rw-r--r--src/irc.c2
-rw-r--r--src/irc.h2
-rw-r--r--src/libopm/Makefile.in15
-rw-r--r--src/libopm/src/Makefile.in66
-rw-r--r--src/libopm/src/list.c2
-rw-r--r--src/libopm/src/list.h2
-rw-r--r--src/libopm/src/memory.c2
-rw-r--r--src/libopm/src/memory.h2
-rw-r--r--src/list.c2
-rw-r--r--src/list.h2
-rw-r--r--src/log.c2
-rw-r--r--src/log.h2
-rw-r--r--src/main.c2
-rw-r--r--src/main.h2
-rw-r--r--src/match.c2
-rw-r--r--src/match.h2
-rw-r--r--src/memory.c2
-rw-r--r--src/memory.h2
-rw-r--r--src/misc.c2
-rw-r--r--src/misc.h2
-rw-r--r--src/negcache.c2
-rw-r--r--src/negcache.h2
-rw-r--r--src/opercmd.c2
-rw-r--r--src/opercmd.h2
-rw-r--r--src/patchlevel.h2
-rw-r--r--src/patricia.c65
-rw-r--r--src/patricia.h5
-rw-r--r--src/scan.c2
-rw-r--r--src/scan.h2
-rw-r--r--src/stats.c2
-rw-r--r--src/stats.h2
43 files changed, 510 insertions, 386 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index ee9e35a..5916cca 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -139,7 +139,16 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/compat.Po \
+ ./$(DEPDIR)/config-lexer.Po ./$(DEPDIR)/config-parser.Po \
+ ./$(DEPDIR)/config.Po ./$(DEPDIR)/dnsbl.Po \
+ ./$(DEPDIR)/firedns.Po ./$(DEPDIR)/irc.Po ./$(DEPDIR)/list.Po \
+ ./$(DEPDIR)/log.Po ./$(DEPDIR)/main.Po ./$(DEPDIR)/match.Po \
+ ./$(DEPDIR)/memory.Po ./$(DEPDIR)/misc.Po \
+ ./$(DEPDIR)/negcache.Po ./$(DEPDIR)/opercmd.Po \
+ ./$(DEPDIR)/patricia.Po ./$(DEPDIR)/scan.Po \
+ ./$(DEPDIR)/stats.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -200,7 +209,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)setup.h.in
# Read a list of newline-separated strings from the standard input,
@@ -438,8 +447,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -528,24 +537,30 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config-lexer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config-parser.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnsbl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/firedns.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/match.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/negcache.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opercmd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patricia.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scan.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config-lexer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config-parser.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnsbl.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/firedns.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/match.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/negcache.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opercmd.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patricia.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scan.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stats.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -679,7 +694,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -780,7 +798,24 @@ clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/compat.Po
+ -rm -f ./$(DEPDIR)/config-lexer.Po
+ -rm -f ./$(DEPDIR)/config-parser.Po
+ -rm -f ./$(DEPDIR)/config.Po
+ -rm -f ./$(DEPDIR)/dnsbl.Po
+ -rm -f ./$(DEPDIR)/firedns.Po
+ -rm -f ./$(DEPDIR)/irc.Po
+ -rm -f ./$(DEPDIR)/list.Po
+ -rm -f ./$(DEPDIR)/log.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/match.Po
+ -rm -f ./$(DEPDIR)/memory.Po
+ -rm -f ./$(DEPDIR)/misc.Po
+ -rm -f ./$(DEPDIR)/negcache.Po
+ -rm -f ./$(DEPDIR)/opercmd.Po
+ -rm -f ./$(DEPDIR)/patricia.Po
+ -rm -f ./$(DEPDIR)/scan.Po
+ -rm -f ./$(DEPDIR)/stats.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-tags
@@ -826,7 +861,24 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/compat.Po
+ -rm -f ./$(DEPDIR)/config-lexer.Po
+ -rm -f ./$(DEPDIR)/config-parser.Po
+ -rm -f ./$(DEPDIR)/config.Po
+ -rm -f ./$(DEPDIR)/dnsbl.Po
+ -rm -f ./$(DEPDIR)/firedns.Po
+ -rm -f ./$(DEPDIR)/irc.Po
+ -rm -f ./$(DEPDIR)/list.Po
+ -rm -f ./$(DEPDIR)/log.Po
+ -rm -f ./$(DEPDIR)/main.Po
+ -rm -f ./$(DEPDIR)/match.Po
+ -rm -f ./$(DEPDIR)/memory.Po
+ -rm -f ./$(DEPDIR)/misc.Po
+ -rm -f ./$(DEPDIR)/negcache.Po
+ -rm -f ./$(DEPDIR)/opercmd.Po
+ -rm -f ./$(DEPDIR)/patricia.Po
+ -rm -f ./$(DEPDIR)/scan.Po
+ -rm -f ./$(DEPDIR)/stats.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -847,20 +899,21 @@ uninstall-am: uninstall-binPROGRAMS
.MAKE: $(am__recursive_targets) all install-am install-strip
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
- check-am clean clean-binPROGRAMS clean-generic clean-libtool \
- cscopelist-am ctags ctags-am distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool cscopelist-am ctags ctags-am \
+ distclean distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS
.PRECIOUS: Makefile
diff --git a/src/compat.c b/src/compat.c
index 82f9583..c48ee77 100644
--- a/src/compat.c
+++ b/src/compat.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Andy Smith
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/compat.h b/src/compat.h
index 44284c5..f9a549e 100644
--- a/src/compat.h
+++ b/src/compat.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Andy Smith
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/config-lexer.c b/src/config-lexer.c
index 503fcb5..576db24 100644
--- a/src/config-lexer.c
+++ b/src/config-lexer.c
@@ -1,5 +1,5 @@
-#line 2 "config-lexer.c"
+#line 3 "config-lexer.c"
#define YY_INT_ALIGNED short int
@@ -817,7 +817,7 @@ char *yytext;
#line 1 "config-lexer.l"
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
@@ -887,8 +887,8 @@ conf_yy_fatal_error(const char *msg)
{
return 0;
}
-#line 890 "config-lexer.c"
#line 891 "config-lexer.c"
+#line 892 "config-lexer.c"
#define INITIAL 0
#define IN_COMMENT 1
@@ -1107,7 +1107,7 @@ YY_DECL
#line 88 "config-lexer.l"
-#line 1110 "config-lexer.c"
+#line 1111 "config-lexer.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -1804,7 +1804,7 @@ YY_RULE_SETUP
#line 309 "config-lexer.l"
ECHO;
YY_BREAK
-#line 1807 "config-lexer.c"
+#line 1808 "config-lexer.c"
case YY_END_OF_BUFFER:
{
diff --git a/src/config-lexer.l b/src/config-lexer.l
index bea9365..ad1ed61 100644
--- a/src/config-lexer.l
+++ b/src/config-lexer.l
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/config-parser.c b/src/config-parser.c
index 94a8c31..6bf8767 100644
--- a/src/config-parser.c
+++ b/src/config-parser.c
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 3.3.2. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+ Inc.
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
@@ -40,11 +41,14 @@
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.3.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -61,8 +65,8 @@
-/* Copy the first part of user declarations. */
-#line 21 "config-parser.y" /* yacc.c:339 */
+/* First part of user prologue. */
+#line 21 "config-parser.y" /* yacc.c:337 */
#include <string.h>
@@ -74,13 +78,16 @@ int yylex(void);
static void *tmp; /* Variable to temporarily hold nodes before insertion to list */
-#line 78 "config-parser.c" /* yacc.c:339 */
-
+#line 82 "config-parser.c" /* yacc.c:337 */
# ifndef YY_NULLPTR
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
+# if defined __cplusplus
+# if 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
# else
-# define YY_NULLPTR 0
+# define YY_NULLPTR ((void*)0)
# endif
# endif
@@ -252,12 +259,12 @@ extern int yydebug;
union YYSTYPE
{
-#line 91 "config-parser.y" /* yacc.c:355 */
+#line 91 "config-parser.y" /* yacc.c:352 */
int number;
char *string;
-#line 261 "config-parser.c" /* yacc.c:355 */
+#line 268 "config-parser.c" /* yacc.c:352 */
};
typedef union YYSTYPE YYSTYPE;
@@ -272,9 +279,7 @@ int yyparse (void);
#endif /* !YY_YY_CONFIG_PARSER_H_INCLUDED */
-/* Copy the second part of user declarations. */
-#line 278 "config-parser.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -295,13 +300,13 @@ typedef signed char yytype_int8;
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
-typedef unsigned short int yytype_uint16;
+typedef unsigned short yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
-typedef short int yytype_int16;
+typedef short yytype_int16;
#endif
#ifndef YYSIZE_T
@@ -313,7 +318,7 @@ typedef short int yytype_int16;
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
-# define YYSIZE_T unsigned int
+# define YYSIZE_T unsigned
# endif
#endif
@@ -349,15 +354,6 @@ typedef short int yytype_int16;
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
-# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -365,7 +361,7 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+#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") \
@@ -527,16 +523,16 @@ union yyalloc
/* YYNSTATES -- Number of states. */
#define YYNSTATES 370
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 324
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
+ as returned by yylex. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -588,14 +584,14 @@ static const yytype_uint16 yyrline[] =
227, 233, 239, 245, 251, 257, 263, 269, 274, 279,
284, 289, 294, 300, 306, 312, 318, 327, 327, 340,
341, 343, 344, 345, 347, 355, 363, 374, 374, 384,
- 385, 387, 388, 389, 391, 398, 408, 408, 445, 446,
- 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
- 459, 467, 475, 483, 493, 500, 507, 514, 521, 537,
- 539, 540, 542, 543, 544, 545, 546, 548, 554, 560,
- 569, 569, 585, 586, 588, 589, 590, 591, 592, 593,
- 594, 596, 605, 604, 612, 612, 613, 618, 625, 633,
- 645, 652, 654, 655, 657, 671, 673, 674, 676, 677,
- 679
+ 385, 387, 388, 389, 391, 398, 408, 408, 443, 444,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 457, 465, 473, 481, 494, 501, 508, 515, 522, 538,
+ 540, 541, 543, 544, 545, 546, 547, 549, 555, 561,
+ 570, 570, 586, 587, 589, 590, 591, 592, 593, 594,
+ 595, 597, 606, 605, 613, 613, 614, 619, 626, 634,
+ 646, 653, 655, 656, 658, 672, 674, 675, 677, 678,
+ 680
};
#endif
@@ -967,22 +963,22 @@ static const yytype_uint8 yyr2[] =
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
+#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+ while (0)
/* Error token number */
#define YYTERROR 1
@@ -1022,37 +1018,37 @@ do { \
} while (0)
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO. |
+`-----------------------------------*/
static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- FILE *yyo = yyoutput;
- YYUSE (yyo);
+ FILE *yyoutput = yyo;
+ YYUSE (yyoutput);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+ YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
# endif
YYUSE (yytype);
}
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO. |
+`---------------------------*/
static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- YYFPRINTF (yyoutput, "%s %s (",
+ YYFPRINTF (yyo, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
+ yy_symbol_value_print (yyo, yytype, yyvaluep);
+ YYFPRINTF (yyo, ")");
}
/*------------------------------------------------------------------.
@@ -1086,7 +1082,7 @@ do { \
static void
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
{
- unsigned long int yylno = yyrline[yyrule];
+ unsigned long yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
@@ -1097,7 +1093,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
+ &yyvsp[(yyi + 1) - (yynrhs)]
);
YYFPRINTF (stderr, "\n");
}
@@ -1201,7 +1197,10 @@ yytnamerr (char *yyres, const char *yystr)
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- /* Fall through. */
+ else
+ goto append;
+
+ append:
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -1219,7 +1218,7 @@ yytnamerr (char *yyres, const char *yystr)
if (! yyres)
return yystrlen (yystr);
- return yystpcpy (yyres, yystr) - yyres;
+ return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
}
# endif
@@ -1297,10 +1296,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
}
}
@@ -1312,6 +1311,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
case N: \
yyformat = S; \
break
+ default: /* Avoid compiler warnings. */
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1323,9 +1323,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
if (*yymsg_alloc < yysize)
@@ -1451,23 +1452,31 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
+
/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
+| yynewstate -- push a new state, which is found in yystate. |
`------------------------------------------------------------*/
- yynewstate:
+yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
- yysetstate:
- *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yynewstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
+ *yyssp = (yytype_int16) yystate;
if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+#else
{
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
+ YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
-#ifdef yyoverflow
+# 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
@@ -1483,14 +1492,10 @@ yyparse (void)
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yystacksize);
-
yyss = yyss1;
yyvs = yyvs1;
}
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
@@ -1506,22 +1511,22 @@ yyparse (void)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
-#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1530,11 +1535,11 @@ yyparse (void)
goto yybackup;
+
/*-----------.
| yybackup. |
`-----------*/
yybackup:
-
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
@@ -1607,7 +1612,7 @@ yydefault:
/*-----------------------------.
-| yyreduce -- Do a reduction. |
+| yyreduce -- do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
@@ -1628,313 +1633,313 @@ yyreduce:
switch (yyn)
{
case 10:
-#line 117 "config-parser.y" /* yacc.c:1646 */
+#line 117 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = 0; }
-#line 1634 "config-parser.c" /* yacc.c:1646 */
+#line 1639 "config-parser.c" /* yacc.c:1652 */
break;
case 12:
-#line 118 "config-parser.y" /* yacc.c:1646 */
+#line 118 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1640 "config-parser.c" /* yacc.c:1646 */
+#line 1645 "config-parser.c" /* yacc.c:1652 */
break;
case 13:
-#line 119 "config-parser.y" /* yacc.c:1646 */
+#line 119 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1646 "config-parser.c" /* yacc.c:1646 */
+#line 1651 "config-parser.c" /* yacc.c:1652 */
break;
case 14:
-#line 120 "config-parser.y" /* yacc.c:1646 */
+#line 120 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
-#line 1652 "config-parser.c" /* yacc.c:1646 */
+#line 1657 "config-parser.c" /* yacc.c:1652 */
break;
case 15:
-#line 121 "config-parser.y" /* yacc.c:1646 */
+#line 121 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
-#line 1658 "config-parser.c" /* yacc.c:1646 */
+#line 1663 "config-parser.c" /* yacc.c:1652 */
break;
case 16:
-#line 122 "config-parser.y" /* yacc.c:1646 */
+#line 122 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
-#line 1664 "config-parser.c" /* yacc.c:1646 */
+#line 1669 "config-parser.c" /* yacc.c:1652 */
break;
case 17:
-#line 123 "config-parser.y" /* yacc.c:1646 */
+#line 123 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
-#line 1670 "config-parser.c" /* yacc.c:1646 */
+#line 1675 "config-parser.c" /* yacc.c:1652 */
break;
case 18:
-#line 124 "config-parser.y" /* yacc.c:1646 */
+#line 124 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
-#line 1676 "config-parser.c" /* yacc.c:1646 */
+#line 1681 "config-parser.c" /* yacc.c:1652 */
break;
case 19:
-#line 125 "config-parser.y" /* yacc.c:1646 */
+#line 125 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
-#line 1682 "config-parser.c" /* yacc.c:1646 */
+#line 1687 "config-parser.c" /* yacc.c:1652 */
break;
case 20:
-#line 128 "config-parser.y" /* yacc.c:1646 */
+#line 128 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = 0; }
-#line 1688 "config-parser.c" /* yacc.c:1646 */
+#line 1693 "config-parser.c" /* yacc.c:1652 */
break;
case 22:
-#line 129 "config-parser.y" /* yacc.c:1646 */
+#line 129 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1694 "config-parser.c" /* yacc.c:1646 */
+#line 1699 "config-parser.c" /* yacc.c:1652 */
break;
case 23:
-#line 130 "config-parser.y" /* yacc.c:1646 */
+#line 130 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1700 "config-parser.c" /* yacc.c:1646 */
+#line 1705 "config-parser.c" /* yacc.c:1652 */
break;
case 24:
-#line 131 "config-parser.y" /* yacc.c:1646 */
+#line 131 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
-#line 1706 "config-parser.c" /* yacc.c:1646 */
+#line 1711 "config-parser.c" /* yacc.c:1652 */
break;
case 25:
-#line 132 "config-parser.y" /* yacc.c:1646 */
+#line 132 "config-parser.y" /* yacc.c:1652 */
{ (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
-#line 1712 "config-parser.c" /* yacc.c:1646 */
+#line 1717 "config-parser.c" /* yacc.c:1652 */
break;
case 39:
-#line 154 "config-parser.y" /* yacc.c:1646 */
+#line 154 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.negcache = (yyvsp[-1].number);
}
-#line 1720 "config-parser.c" /* yacc.c:1646 */
+#line 1725 "config-parser.c" /* yacc.c:1652 */
break;
case 40:
-#line 159 "config-parser.y" /* yacc.c:1646 */
+#line 159 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.negcache_rebuild = (yyvsp[-1].number);
}
-#line 1728 "config-parser.c" /* yacc.c:1646 */
+#line 1733 "config-parser.c" /* yacc.c:1652 */
break;
case 41:
-#line 164 "config-parser.y" /* yacc.c:1646 */
+#line 164 "config-parser.y" /* yacc.c:1652 */
{
xfree(OptionsItem.pidfile);
OptionsItem.pidfile = xstrdup((yyvsp[-1].string));
}
-#line 1737 "config-parser.c" /* yacc.c:1646 */
+#line 1742 "config-parser.c" /* yacc.c:1652 */
break;
case 42:
-#line 170 "config-parser.y" /* yacc.c:1646 */
+#line 170 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.dns_fdlimit = (yyvsp[-1].number);
}
-#line 1745 "config-parser.c" /* yacc.c:1646 */
+#line 1750 "config-parser.c" /* yacc.c:1652 */
break;
case 43:
-#line 175 "config-parser.y" /* yacc.c:1646 */
+#line 175 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.dns_timeout = (yyvsp[-1].number);
}
-#line 1753 "config-parser.c" /* yacc.c:1646 */
+#line 1758 "config-parser.c" /* yacc.c:1652 */
break;
case 44:
-#line 180 "config-parser.y" /* yacc.c:1646 */
+#line 180 "config-parser.y" /* yacc.c:1652 */
{
xfree(OptionsItem.scanlog);
OptionsItem.scanlog = xstrdup((yyvsp[-1].string));
}
-#line 1762 "config-parser.c" /* yacc.c:1646 */
+#line 1767 "config-parser.c" /* yacc.c:1652 */
break;
case 45:
-#line 186 "config-parser.y" /* yacc.c:1646 */
+#line 186 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.command_queue_size = (yyvsp[-1].number);
}
-#line 1770 "config-parser.c" /* yacc.c:1646 */
+#line 1775 "config-parser.c" /* yacc.c:1652 */
break;
case 46:
-#line 191 "config-parser.y" /* yacc.c:1646 */
+#line 191 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.command_interval = (yyvsp[-1].number);
}
-#line 1778 "config-parser.c" /* yacc.c:1646 */
+#line 1783 "config-parser.c" /* yacc.c:1652 */
break;
case 47:
-#line 196 "config-parser.y" /* yacc.c:1646 */
+#line 196 "config-parser.y" /* yacc.c:1652 */
{
OptionsItem.command_timeout = (yyvsp[-1].number);
}
-#line 1786 "config-parser.c" /* yacc.c:1646 */
+#line 1791 "config-parser.c" /* yacc.c:1652 */
break;
case 70:
-#line 228 "config-parser.y" /* yacc.c:1646 */
+#line 228 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.away);
IRCItem.away = xstrdup((yyvsp[-1].string));
}
-#line 1795 "config-parser.c" /* yacc.c:1646 */
+#line 1800 "config-parser.c" /* yacc.c:1652 */
break;
case 71:
-#line 234 "config-parser.y" /* yacc.c:1646 */
+#line 234 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.kline);
IRCItem.kline = xstrdup((yyvsp[-1].string));
}
-#line 1804 "config-parser.c" /* yacc.c:1646 */
+#line 1809 "config-parser.c" /* yacc.c:1652 */
break;
case 72:
-#line 240 "config-parser.y" /* yacc.c:1646 */
+#line 240 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.mode);
IRCItem.mode = xstrdup((yyvsp[-1].string));
}
-#line 1813 "config-parser.c" /* yacc.c:1646 */
+#line 1818 "config-parser.c" /* yacc.c:1652 */
break;
case 73:
-#line 246 "config-parser.y" /* yacc.c:1646 */
+#line 246 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.nick);
IRCItem.nick = xstrdup((yyvsp[-1].string));
}
-#line 1822 "config-parser.c" /* yacc.c:1646 */
+#line 1827 "config-parser.c" /* yacc.c:1652 */
break;
case 74:
-#line 252 "config-parser.y" /* yacc.c:1646 */
+#line 252 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.nickserv);
IRCItem.nickserv = xstrdup((yyvsp[-1].string));
}
-#line 1831 "config-parser.c" /* yacc.c:1646 */
+#line 1836 "config-parser.c" /* yacc.c:1652 */
break;
case 75:
-#line 258 "config-parser.y" /* yacc.c:1646 */
+#line 258 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.oper);
IRCItem.oper = xstrdup((yyvsp[-1].string));
}
-#line 1840 "config-parser.c" /* yacc.c:1646 */
+#line 1845 "config-parser.c" /* yacc.c:1652 */
break;
case 76:
-#line 264 "config-parser.y" /* yacc.c:1646 */
+#line 264 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.password);
IRCItem.password = xstrdup((yyvsp[-1].string));
}
-#line 1849 "config-parser.c" /* yacc.c:1646 */
+#line 1854 "config-parser.c" /* yacc.c:1652 */
break;
case 77:
-#line 270 "config-parser.y" /* yacc.c:1646 */
+#line 270 "config-parser.y" /* yacc.c:1652 */
{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.performs);
}
-#line 1857 "config-parser.c" /* yacc.c:1646 */
+#line 1862 "config-parser.c" /* yacc.c:1652 */
break;
case 78:
-#line 275 "config-parser.y" /* yacc.c:1646 */
+#line 275 "config-parser.y" /* yacc.c:1652 */
{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.notices);
}
-#line 1865 "config-parser.c" /* yacc.c:1646 */
+#line 1870 "config-parser.c" /* yacc.c:1652 */
break;
case 79:
-#line 280 "config-parser.y" /* yacc.c:1646 */
+#line 280 "config-parser.y" /* yacc.c:1652 */
{
IRCItem.port = (yyvsp[-1].number);
}
-#line 1873 "config-parser.c" /* yacc.c:1646 */
+#line 1878 "config-parser.c" /* yacc.c:1652 */
break;
case 80:
-#line 285 "config-parser.y" /* yacc.c:1646 */
+#line 285 "config-parser.y" /* yacc.c:1652 */
{
IRCItem.readtimeout = (yyvsp[-1].number);
}
-#line 1881 "config-parser.c" /* yacc.c:1646 */
+#line 1886 "config-parser.c" /* yacc.c:1652 */
break;
case 81:
-#line 290 "config-parser.y" /* yacc.c:1646 */
+#line 290 "config-parser.y" /* yacc.c:1652 */
{
IRCItem.reconnectinterval = (yyvsp[-1].number);
}
-#line 1889 "config-parser.c" /* yacc.c:1646 */
+#line 1894 "config-parser.c" /* yacc.c:1652 */
break;
case 82:
-#line 295 "config-parser.y" /* yacc.c:1646 */
+#line 295 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.realname);
IRCItem.realname = xstrdup((yyvsp[-1].string));
}
-#line 1898 "config-parser.c" /* yacc.c:1646 */
+#line 1903 "config-parser.c" /* yacc.c:1652 */
break;
case 83:
-#line 301 "config-parser.y" /* yacc.c:1646 */
+#line 301 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.server);
IRCItem.server = xstrdup((yyvsp[-1].string));
}
-#line 1907 "config-parser.c" /* yacc.c:1646 */
+#line 1912 "config-parser.c" /* yacc.c:1652 */
break;
case 84:
-#line 307 "config-parser.y" /* yacc.c:1646 */
+#line 307 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.username);
IRCItem.username = xstrdup((yyvsp[-1].string));
}
-#line 1916 "config-parser.c" /* yacc.c:1646 */
+#line 1921 "config-parser.c" /* yacc.c:1652 */
break;
case 85:
-#line 313 "config-parser.y" /* yacc.c:1646 */
+#line 313 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.vhost);
IRCItem.vhost = xstrdup((yyvsp[-1].string));
}
-#line 1925 "config-parser.c" /* yacc.c:1646 */
+#line 1930 "config-parser.c" /* yacc.c:1652 */
break;
case 86:
-#line 319 "config-parser.y" /* yacc.c:1646 */
+#line 319 "config-parser.y" /* yacc.c:1652 */
{
xfree(IRCItem.connregex);
IRCItem.connregex = xstrdup((yyvsp[-1].string));
}
-#line 1934 "config-parser.c" /* yacc.c:1646 */
+#line 1939 "config-parser.c" /* yacc.c:1652 */
break;
case 87:
-#line 327 "config-parser.y" /* yacc.c:1646 */
+#line 327 "config-parser.y" /* yacc.c:1652 */
{
struct ChannelConf *item;
@@ -1946,44 +1951,44 @@ yyreduce:
list_add(item, &item->node, &IRCItem.channels);
tmp = item;
}
-#line 1950 "config-parser.c" /* yacc.c:1646 */
+#line 1955 "config-parser.c" /* yacc.c:1652 */
break;
case 94:
-#line 348 "config-parser.y" /* yacc.c:1646 */
+#line 348 "config-parser.y" /* yacc.c:1652 */
{
struct ChannelConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 1961 "config-parser.c" /* yacc.c:1646 */
+#line 1966 "config-parser.c" /* yacc.c:1652 */
break;
case 95:
-#line 356 "config-parser.y" /* yacc.c:1646 */
+#line 356 "config-parser.y" /* yacc.c:1652 */
{
struct ChannelConf *item = tmp;
xfree(item->key);
item->key = xstrdup((yyvsp[-1].string));
}
-#line 1972 "config-parser.c" /* yacc.c:1646 */
+#line 1977 "config-parser.c" /* yacc.c:1652 */
break;
case 96:
-#line 364 "config-parser.y" /* yacc.c:1646 */
+#line 364 "config-parser.y" /* yacc.c:1652 */
{
struct ChannelConf *item = tmp;
xfree(item->invite);
item->invite = xstrdup((yyvsp[-1].string));
}
-#line 1983 "config-parser.c" /* yacc.c:1646 */
+#line 1988 "config-parser.c" /* yacc.c:1652 */
break;
case 97:
-#line 374 "config-parser.y" /* yacc.c:1646 */
+#line 374 "config-parser.y" /* yacc.c:1652 */
{
struct UserConf *item;
@@ -1992,31 +1997,31 @@ yyreduce:
list_add(item, &item->node, &UserItemList);
tmp = item;
}
-#line 1996 "config-parser.c" /* yacc.c:1646 */
+#line 2001 "config-parser.c" /* yacc.c:1652 */
break;
case 104:
-#line 392 "config-parser.y" /* yacc.c:1646 */
+#line 392 "config-parser.y" /* yacc.c:1652 */
{
struct UserConf *item = tmp;
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->masks);
}
-#line 2006 "config-parser.c" /* yacc.c:1646 */
+#line 2011 "config-parser.c" /* yacc.c:1652 */
break;
case 105:
-#line 399 "config-parser.y" /* yacc.c:1646 */
+#line 399 "config-parser.y" /* yacc.c:1652 */
{
struct UserConf *item = tmp;
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->scanners);
}
-#line 2016 "config-parser.c" /* yacc.c:1646 */
+#line 2021 "config-parser.c" /* yacc.c:1652 */
break;
case 106:
-#line 408 "config-parser.y" /* yacc.c:1646 */
+#line 408 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item, *olditem;
@@ -2035,7 +2040,6 @@ yyreduce:
item->target_port = olditem->target_port;
item->timeout = olditem->timeout;
item->max_read = olditem->max_read;
- item->target_string_created = 0;
memcpy(&item->target_string, &olditem->target_string, sizeof(item->target_string));
}
else
@@ -2046,103 +2050,105 @@ yyreduce:
item->target_port = 6667;
item->timeout = 30;
item->max_read = 4096;
- item->target_string_created = 1;
}
list_add(item, &item->node, &ScannerItemList);
tmp = item;
}
-#line 2056 "config-parser.c" /* yacc.c:1646 */
+#line 2059 "config-parser.c" /* yacc.c:1652 */
break;
case 120:
-#line 460 "config-parser.y" /* yacc.c:1646 */
+#line 458 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 2067 "config-parser.c" /* yacc.c:1646 */
+#line 2070 "config-parser.c" /* yacc.c:1652 */
break;
case 121:
-#line 468 "config-parser.y" /* yacc.c:1646 */
+#line 466 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
xfree(item->vhost);
item->vhost = xstrdup((yyvsp[-1].string));
}
-#line 2078 "config-parser.c" /* yacc.c:1646 */
+#line 2081 "config-parser.c" /* yacc.c:1652 */
break;
case 122:
-#line 476 "config-parser.y" /* yacc.c:1646 */
+#line 474 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
xfree(item->target_ip);
item->target_ip = xstrdup((yyvsp[-1].string));
}
-#line 2089 "config-parser.c" /* yacc.c:1646 */
+#line 2092 "config-parser.c" /* yacc.c:1652 */
break;
case 123:
-#line 484 "config-parser.y" /* yacc.c:1646 */
+#line 482 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
if (item->target_string_created == 0)
+ {
memset(&item->target_string, 0, sizeof(item->target_string));
+ item->target_string_created = 1;
+ }
list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->target_string);
}
-#line 2102 "config-parser.c" /* yacc.c:1646 */
+#line 2108 "config-parser.c" /* yacc.c:1652 */
break;
case 124:
-#line 494 "config-parser.y" /* yacc.c:1646 */
+#line 495 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
item->fd = (yyvsp[-1].number);
}
-#line 2112 "config-parser.c" /* yacc.c:1646 */
+#line 2118 "config-parser.c" /* yacc.c:1652 */
break;
case 125:
-#line 501 "config-parser.y" /* yacc.c:1646 */
+#line 502 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
item->target_port = (yyvsp[-1].number);
}
-#line 2122 "config-parser.c" /* yacc.c:1646 */
+#line 2128 "config-parser.c" /* yacc.c:1652 */
break;
case 126:
-#line 508 "config-parser.y" /* yacc.c:1646 */
+#line 509 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
item->timeout = (yyvsp[-1].number);
}
-#line 2132 "config-parser.c" /* yacc.c:1646 */
+#line 2138 "config-parser.c" /* yacc.c:1652 */
break;
case 127:
-#line 515 "config-parser.y" /* yacc.c:1646 */
+#line 516 "config-parser.y" /* yacc.c:1652 */
{
struct ScannerConf *item = tmp;
item->max_read = (yyvsp[-1].number);
}
-#line 2142 "config-parser.c" /* yacc.c:1646 */
+#line 2148 "config-parser.c" /* yacc.c:1652 */
break;
case 128:
-#line 522 "config-parser.y" /* yacc.c:1646 */
+#line 523 "config-parser.y" /* yacc.c:1652 */
{
struct ProtocolConf *item;
struct ScannerConf *item2;
@@ -2155,38 +2161,38 @@ yyreduce:
list_add(item, node_create(), &item2->protocols);
}
-#line 2159 "config-parser.c" /* yacc.c:1646 */
+#line 2165 "config-parser.c" /* yacc.c:1652 */
break;
case 137:
-#line 549 "config-parser.y" /* yacc.c:1646 */
+#line 550 "config-parser.y" /* yacc.c:1652 */
{
xfree(OpmItem.dnsbl_from);
OpmItem.dnsbl_from = xstrdup((yyvsp[-1].string));
}
-#line 2168 "config-parser.c" /* yacc.c:1646 */
+#line 2174 "config-parser.c" /* yacc.c:1652 */
break;
case 138:
-#line 555 "config-parser.y" /* yacc.c:1646 */
+#line 556 "config-parser.y" /* yacc.c:1652 */
{
xfree(OpmItem.dnsbl_to);
OpmItem.dnsbl_to = xstrdup((yyvsp[-1].string));
}
-#line 2177 "config-parser.c" /* yacc.c:1646 */
+#line 2183 "config-parser.c" /* yacc.c:1652 */
break;
case 139:
-#line 561 "config-parser.y" /* yacc.c:1646 */
+#line 562 "config-parser.y" /* yacc.c:1652 */
{
xfree(OpmItem.sendmail);
OpmItem.sendmail = xstrdup((yyvsp[-1].string));
}
-#line 2186 "config-parser.c" /* yacc.c:1646 */
+#line 2192 "config-parser.c" /* yacc.c:1652 */
break;
case 140:
-#line 569 "config-parser.y" /* yacc.c:1646 */
+#line 570 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item;
@@ -2201,64 +2207,64 @@ yyreduce:
tmp = item;
}
-#line 2205 "config-parser.c" /* yacc.c:1646 */
+#line 2211 "config-parser.c" /* yacc.c:1652 */
break;
case 151:
-#line 597 "config-parser.y" /* yacc.c:1646 */
+#line 598 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
xfree(item->name);
item->name = xstrdup((yyvsp[-1].string));
}
-#line 2216 "config-parser.c" /* yacc.c:1646 */
+#line 2222 "config-parser.c" /* yacc.c:1652 */
break;
case 152:
-#line 605 "config-parser.y" /* yacc.c:1646 */
+#line 606 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
item->ipv4 = 0;
item->ipv6 = 0;
}
-#line 2227 "config-parser.c" /* yacc.c:1646 */
+#line 2233 "config-parser.c" /* yacc.c:1652 */
break;
case 156:
-#line 614 "config-parser.y" /* yacc.c:1646 */
+#line 615 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
item->ipv4 = 1;
}
-#line 2237 "config-parser.c" /* yacc.c:1646 */
+#line 2243 "config-parser.c" /* yacc.c:1652 */
break;
case 157:
-#line 619 "config-parser.y" /* yacc.c:1646 */
+#line 620 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
item->ipv6 = 1;
}
-#line 2247 "config-parser.c" /* yacc.c:1646 */
+#line 2253 "config-parser.c" /* yacc.c:1652 */
break;
case 158:
-#line 626 "config-parser.y" /* yacc.c:1646 */
+#line 627 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
xfree(item->kline);
item->kline = xstrdup((yyvsp[-1].string));
}
-#line 2258 "config-parser.c" /* yacc.c:1646 */
+#line 2264 "config-parser.c" /* yacc.c:1652 */
break;
case 159:
-#line 634 "config-parser.y" /* yacc.c:1646 */
+#line 635 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
@@ -2269,21 +2275,21 @@ yyreduce:
else
yyerror("Unknown blacklist type defined");
}
-#line 2273 "config-parser.c" /* yacc.c:1646 */
+#line 2279 "config-parser.c" /* yacc.c:1652 */
break;
case 160:
-#line 646 "config-parser.y" /* yacc.c:1646 */
+#line 647 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistConf *item = tmp;
item->ban_unknown = (yyvsp[-1].number);
}
-#line 2283 "config-parser.c" /* yacc.c:1646 */
+#line 2289 "config-parser.c" /* yacc.c:1652 */
break;
case 164:
-#line 658 "config-parser.y" /* yacc.c:1646 */
+#line 659 "config-parser.y" /* yacc.c:1652 */
{
struct BlacklistReplyConf *item;
struct BlacklistConf *blacklist = tmp;
@@ -2294,19 +2300,19 @@ yyreduce:
list_add(item, node_create(), &blacklist->reply);
}
-#line 2298 "config-parser.c" /* yacc.c:1646 */
+#line 2304 "config-parser.c" /* yacc.c:1652 */
break;
case 170:
-#line 680 "config-parser.y" /* yacc.c:1646 */
+#line 681 "config-parser.y" /* yacc.c:1652 */
{
list_add(xstrdup((yyvsp[-1].string)), node_create(), &ExemptItem.masks);
}
-#line 2306 "config-parser.c" /* yacc.c:1646 */
+#line 2312 "config-parser.c" /* yacc.c:1652 */
break;
-#line 2310 "config-parser.c" /* yacc.c:1646 */
+#line 2316 "config-parser.c" /* yacc.c:1652 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -2331,14 +2337,13 @@ yyreduce:
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
+ {
+ const int yylhs = yyr1[yyn] - YYNTOKENS;
+ const int yyi = yypgoto[yylhs] + *yyssp;
+ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+ ? yytable[yyi]
+ : yydefgoto[yylhs]);
+ }
goto yynewstate;
@@ -2421,12 +2426,10 @@ yyerrlab:
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
+ /* Pacify compilers when the user code never invokes YYERROR and the
+ label yyerrorlab therefore never appears in user code. */
+ if (0)
+ YYERROR;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -2488,6 +2491,7 @@ yyacceptlab:
yyresult = 0;
goto yyreturn;
+
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
@@ -2495,6 +2499,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
+
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
@@ -2505,6 +2510,10 @@ yyexhaustedlab:
/* Fall through. */
#endif
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result. |
+`-----------------------------------------------------*/
yyreturn:
if (yychar != YYEMPTY)
{
@@ -2534,5 +2543,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 684 "config-parser.y" /* yacc.c:1906 */
+#line 685 "config-parser.y" /* yacc.c:1918 */
diff --git a/src/config-parser.h b/src/config-parser.h
index 8a02091..4daf3ef 100644
--- a/src/config-parser.h
+++ b/src/config-parser.h
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 3.3.2. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
+ Inc.
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
@@ -30,6 +31,9 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
#ifndef YY_YY_CONFIG_PARSER_H_INCLUDED
# define YY_YY_CONFIG_PARSER_H_INCLUDED
/* Debug traces. */
@@ -188,12 +192,12 @@ extern int yydebug;
union YYSTYPE
{
-#line 91 "config-parser.y" /* yacc.c:1909 */
+#line 91 "config-parser.y" /* yacc.c:1921 */
int number;
char *string;
-#line 197 "config-parser.h" /* yacc.c:1909 */
+#line 201 "config-parser.h" /* yacc.c:1921 */
};
typedef union YYSTYPE YYSTYPE;
diff --git a/src/config-parser.y b/src/config-parser.y
index f1c04db..3f98e62 100644
--- a/src/config-parser.y
+++ b/src/config-parser.y
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
@@ -423,7 +423,6 @@ scanner_entry:
item->target_port = olditem->target_port;
item->timeout = olditem->timeout;
item->max_read = olditem->max_read;
- item->target_string_created = 0;
memcpy(&item->target_string, &olditem->target_string, sizeof(item->target_string));
}
else
@@ -434,7 +433,6 @@ scanner_entry:
item->target_port = 6667;
item->timeout = 30;
item->max_read = 4096;
- item->target_string_created = 1;
}
list_add(item, &item->node, &ScannerItemList);
@@ -485,7 +483,10 @@ scanner_target_string: TARGET_STRING '=' STRING ';'
struct ScannerConf *item = tmp;
if (item->target_string_created == 0)
+ {
memset(&item->target_string, 0, sizeof(item->target_string));
+ item->target_string_created = 1;
+ }
list_add(xstrdup($3), node_create(), &item->target_string);
};
diff --git a/src/config.c b/src/config.c
index f42522c..7eb9b18 100644
--- a/src/config.c
+++ b/src/config.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/config.h b/src/config.h
index af83a0e..23caef6 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/dnsbl.c b/src/dnsbl.c
index 4973842..07812d7 100644
--- a/src/dnsbl.c
+++ b/src/dnsbl.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/dnsbl.h b/src/dnsbl.h
index f468214..341d250 100644
--- a/src/dnsbl.h
+++ b/src/dnsbl.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/irc.c b/src/irc.c
index 8027660..97cb048 100644
--- a/src/irc.c
+++ b/src/irc.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/irc.h b/src/irc.h
index 871907d..3a7c3e3 100644
--- a/src/irc.h
+++ b/src/irc.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/libopm/Makefile.in b/src/libopm/Makefile.in
index 2cf5060..8cd7cee 100644
--- a/src/libopm/Makefile.in
+++ b/src/libopm/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -143,7 +143,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- distdir
+ distdir distdir-am
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
@@ -335,8 +335,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -453,7 +453,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
diff --git a/src/libopm/src/Makefile.in b/src/libopm/src/Makefile.in
index 15db3dd..448f383 100644
--- a/src/libopm/src/Makefile.in
+++ b/src/libopm/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -132,7 +132,10 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/config.Plo ./$(DEPDIR)/libopm.Plo \
+ ./$(DEPDIR)/list.Plo ./$(DEPDIR)/memory.Plo \
+ ./$(DEPDIR)/proxy.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -340,8 +343,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -373,11 +376,17 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libopm.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libopm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proxy.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -458,7 +467,10 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -528,7 +540,11 @@ clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/config.Plo
+ -rm -f ./$(DEPDIR)/libopm.Plo
+ -rm -f ./$(DEPDIR)/list.Plo
+ -rm -f ./$(DEPDIR)/memory.Plo
+ -rm -f ./$(DEPDIR)/proxy.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -574,7 +590,11 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/config.Plo
+ -rm -f ./$(DEPDIR)/libopm.Plo
+ -rm -f ./$(DEPDIR)/list.Plo
+ -rm -f ./$(DEPDIR)/memory.Plo
+ -rm -f ./$(DEPDIR)/proxy.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -595,16 +615,16 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
diff --git a/src/libopm/src/list.c b/src/libopm/src/list.c
index b730b73..ac1a601 100644
--- a/src/libopm/src/list.c
+++ b/src/libopm/src/list.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/libopm/src/list.h b/src/libopm/src/list.h
index c18f099..97de670 100644
--- a/src/libopm/src/list.h
+++ b/src/libopm/src/list.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/libopm/src/memory.c b/src/libopm/src/memory.c
index ec54c6c..5c68589 100644
--- a/src/libopm/src/memory.c
+++ b/src/libopm/src/memory.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/libopm/src/memory.h b/src/libopm/src/memory.h
index 24ef445..3c9a5d7 100644
--- a/src/libopm/src/memory.h
+++ b/src/libopm/src/memory.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/list.c b/src/list.c
index 9fa2b3f..f75d280 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/list.h b/src/list.h
index e81a133..7351a97 100644
--- a/src/list.h
+++ b/src/list.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/log.c b/src/log.c
index c6d1f18..2926d97 100644
--- a/src/log.c
+++ b/src/log.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/log.h b/src/log.h
index 3e4fac3..3dea2cc 100644
--- a/src/log.h
+++ b/src/log.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/main.c b/src/main.c
index ead870f..89128b4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/main.h b/src/main.h
index b939962..70d186e 100644
--- a/src/main.h
+++ b/src/main.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/match.c b/src/match.c
index 4dfc839..4a0ecdf 100644
--- a/src/match.c
+++ b/src/match.c
@@ -1,7 +1,7 @@
/*
* ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
*
- * Copyright (c) 1997-2018 ircd-hybrid development team
+ * Copyright (c) 1997-2019 ircd-hybrid development team
*
* 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
diff --git a/src/match.h b/src/match.h
index 63de382..07b5220 100644
--- a/src/match.h
+++ b/src/match.h
@@ -1,7 +1,7 @@
/*
* ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
*
- * Copyright (c) 1997-2018 ircd-hybrid development team
+ * Copyright (c) 1997-2019 ircd-hybrid development team
*
* 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
diff --git a/src/memory.c b/src/memory.c
index 7550152..fd7c796 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/memory.h b/src/memory.h
index 9269f75..1bcd112 100644
--- a/src/memory.h
+++ b/src/memory.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/misc.c b/src/misc.c
index 6ec0a4d..06ff8d1 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/misc.h b/src/misc.h
index aad8709..d5c2cba 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/negcache.c b/src/negcache.c
index 070c503..6223824 100644
--- a/src/negcache.c
+++ b/src/negcache.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Andy Smith
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/negcache.h b/src/negcache.h
index eef2ddb..bcceddb 100644
--- a/src/negcache.h
+++ b/src/negcache.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002-2003 Andy Smith
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/opercmd.c b/src/opercmd.c
index 0cae2ad..d609f0e 100644
--- a/src/opercmd.c
+++ b/src/opercmd.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/opercmd.h b/src/opercmd.h
index 8220801..6ded982 100644
--- a/src/opercmd.h
+++ b/src/opercmd.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/patchlevel.h b/src/patchlevel.h
index bc7b009..db582bb 100644
--- a/src/patchlevel.h
+++ b/src/patchlevel.h
@@ -4,5 +4,5 @@
*/
#ifndef PATCHLEVEL
-#define PATCHLEVEL "hopm-1.1.5"
+#define PATCHLEVEL "hopm-1.1.6"
#endif
diff --git a/src/patricia.c b/src/patricia.c
index c2c972a..90ce7d4 100644
--- a/src/patricia.c
+++ b/src/patricia.c
@@ -1,5 +1,5 @@
/*
- * $Id: patricia.c 7851 2016-11-06 18:19:57Z michael $
+ * $Id: patricia.c 8630 2018-11-03 19:27:05Z michael $
* Dave Plonka <plonka@doit.wisc.edu>
*
* This file had been called "radix.c" in the MRT sources.
@@ -65,7 +65,7 @@ comp_with_mask(void *addr, void *dest, unsigned int mask)
if ( /* mask/8 == 0 || */ memcmp(addr, dest, mask / 8) == 0)
{
int n = mask / 8;
- int m = ((-1) << (8 - (mask % 8)));
+ int m = ~((1 << (8 - (mask % 8))) - 1);
if (mask % 8 == 0 || (((unsigned char *)addr)[n] & m) == (((unsigned char *)dest)[n] & m))
return 1;
@@ -113,7 +113,7 @@ New_Prefix2(int family, void *dest, int bitlen, prefix_t *prefix)
if (prefix == NULL)
{
- prefix = xcalloc(sizeof(prefix_t));
+ prefix = xcalloc(sizeof(*prefix));
dynamic_allocated = 1;
}
@@ -137,6 +137,7 @@ New_Prefix(int family, void *dest, int bitlen)
static prefix_t *
ascii2prefix(int family, const char *string)
{
+ char save[INET6_ADDRSTRLEN];
int bitlen, maxbitlen = 0;
union
{
@@ -151,7 +152,7 @@ ascii2prefix(int family, const char *string)
{
family = AF_INET;
- if (strchr (string, ':'))
+ if (strchr(string, ':'))
family = AF_INET6;
}
@@ -163,16 +164,17 @@ ascii2prefix(int family, const char *string)
const char *const cp = strchr(string, '/');
if (cp)
{
- char save[MAXLINE];
+ size_t length = cp - string;
+
+ if (length >= sizeof(save))
+ return NULL;
bitlen = atoi(cp + 1);
- /* *cp = '\0'; */
/* Copy the string to save. Avoid destroying the string */
- assert(cp - string < MAXLINE);
- memcpy(save, string, cp - string);
+ memcpy(save, string, length);
+ save[length] = '\0';
- save[cp - string] = '\0';
string = save;
if (bitlen < 0 || bitlen > maxbitlen)
@@ -222,7 +224,7 @@ Deref_Prefix(prefix_t *prefix)
patricia_tree_t *
patricia_new(unsigned int maxbits)
{
- patricia_tree_t *patricia = xcalloc(sizeof *patricia);
+ patricia_tree_t *patricia = xcalloc(sizeof(*patricia));
patricia->maxbits = maxbits;
assert(maxbits <= PATRICIA_MAXBITS); /* XXX */
@@ -288,8 +290,9 @@ patricia_clear(patricia_tree_t *patricia, void (*func)(void *))
}
}
+ patricia->head = NULL;
+
assert(patricia->num_active_node == 0);
- /* xfree (patricia); */
}
void
@@ -504,9 +507,9 @@ patricia_lookup(patricia_tree_t *patricia, prefix_t *prefix)
if (patricia->head == NULL)
{
- node = xcalloc(sizeof *node);
+ node = xcalloc(sizeof(*node));
node->bit = prefix->bitlen;
- node->prefix = Ref_Prefix (prefix);
+ node->prefix = Ref_Prefix(prefix);
patricia->head = node;
#ifdef PATRICIA_DEBUG
fprintf(stderr, "patricia_lookup: new_node #0 %s/%d (head)\n",
@@ -629,7 +632,7 @@ patricia_lookup(patricia_tree_t *patricia, prefix_t *prefix)
return node;
}
- new_node = xcalloc(sizeof *new_node);
+ new_node = xcalloc(sizeof(*new_node));
new_node->bit = prefix->bitlen;
new_node->prefix = Ref_Prefix(prefix);
patricia->num_active_node++;
@@ -690,7 +693,7 @@ patricia_lookup(patricia_tree_t *patricia, prefix_t *prefix)
}
else
{
- glue = xcalloc(sizeof *glue);
+ glue = xcalloc(sizeof(*glue));
glue->bit = differ_bit;
glue->parent = node->parent;
patricia->num_active_node++;
@@ -873,6 +876,38 @@ patricia_make_and_lookup(patricia_tree_t *tree, const char *string)
return NULL;
}
+patricia_node_t *
+patricia_make_and_lookup_addr(patricia_tree_t *tree, struct sockaddr *addr, int bitlen)
+{
+ int family;
+ void *dest;
+
+ if (addr->sa_family == AF_INET6)
+ {
+ if (bitlen == 0 || bitlen > 128)
+ bitlen = 128;
+ family = AF_INET6;
+ dest = &((struct sockaddr_in6 *)addr)->sin6_addr;
+ }
+ else
+ {
+ if (bitlen == 0 || bitlen > 32)
+ bitlen = 32;
+ family = AF_INET;
+ dest = &((struct sockaddr_in *)addr)->sin_addr;
+ }
+
+ prefix_t *prefix = New_Prefix(family, dest, bitlen);
+ if (prefix)
+ {
+ patricia_node_t *node = patricia_lookup(tree, prefix);
+ Deref_Prefix(prefix);
+ return node;
+ }
+
+ return NULL;
+}
+
void
patricia_lookup_then_remove(patricia_tree_t *tree, const char *string)
{
diff --git a/src/patricia.h b/src/patricia.h
index 2e6fb45..68c4150 100644
--- a/src/patricia.h
+++ b/src/patricia.h
@@ -1,5 +1,5 @@
/*
- * $Id: patricia.h 7852 2016-11-06 18:20:25Z michael $
+ * $Id: patricia.h 8597 2018-10-22 18:53:58Z michael $
* Dave Plonka <plonka@doit.wisc.edu>
*
* This file had been called "radix.h" in the MRT sources.
@@ -38,7 +38,6 @@
/* { from defs.h */
#define prefix_touchar(prefix) ((unsigned char *)&(prefix)->add.sin)
-#define MAXLINE 1024
#define BIT_TEST(f, b) ((f) & (b))
/* } */
@@ -67,7 +66,6 @@ typedef struct _patricia_node_t
struct _patricia_node_t *l, *r; /* left and right children */
struct _patricia_node_t *parent; /* may be used */
void *data; /* pointer to data */
- void *user1; /* pointer to usr data (ex. route flap info) */
} patricia_node_t;
typedef struct _patricia_tree_t
@@ -96,6 +94,7 @@ extern patricia_node_t *patricia_try_search_best_addr(patricia_tree_t *, struct
/* { from demo.c */
extern patricia_node_t *patricia_make_and_lookup(patricia_tree_t *, const char *);
+extern patricia_node_t *patricia_make_and_lookup_addr(patricia_tree_t *, struct sockaddr *, int);
/* } */
#define PATRICIA_MAXBITS (sizeof(struct in6_addr) * 8)
diff --git a/src/scan.c b/src/scan.c
index 2008e8c..4dbfecc 100644
--- a/src/scan.c
+++ b/src/scan.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/scan.h b/src/scan.h
index c923d1d..d59a09c 100644
--- a/src/scan.h
+++ b/src/scan.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/stats.c b/src/stats.c
index 800a4cc..1a5dc6e 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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
diff --git a/src/stats.h b/src/stats.h
index f017a09..4412057 100644
--- a/src/stats.h
+++ b/src/stats.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002 Erik Fears
- * Copyright (c) 2014-2018 ircd-hybrid development team
+ * Copyright (c) 2014-2019 ircd-hybrid development team
*
* 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