Thread: [IRC-Dev CVS] [CVS] Module ircd-ircdev: Change committed (Page 3)
Brought to you by:
zolty
From: Toni G. <zo...@us...> - 2005-01-10 12:30:27
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:30:13 UTC Modified files: Makefile.in tools/wrapper.c tools/ringlog.c tools/README tools/Makefile.crypt Log message: Actualizacion anio 2005 en los copyrights. ---------------------- diff included ---------------------- Index: ircd-ircdev/Makefile.in diff -u ircd-ircdev/Makefile.in:1.6 ircd-ircdev/Makefile.in:1.7 --- ircd-ircdev/Makefile.in:1.6 Wed Jan 5 03:58:33 2005 +++ ircd-ircdev/Makefile.in Mon Jan 10 04:29:52 2005 @@ -1,6 +1,6 @@ # IRC-Dev IRCD - An advanced and innovative IRC Daemon, Makefile -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> # Copyright (C) 1997, Carlo Wood <ca...@ru...> # This program is free software; you can redistribute it and/or modify Index: ircd-ircdev/tools/Makefile.crypt diff -u ircd-ircdev/tools/Makefile.crypt:1.2 ircd-ircdev/tools/Makefile.crypt:1.3 --- ircd-ircdev/tools/Makefile.crypt:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/Makefile.crypt Mon Jan 10 04:30:03 2005 @@ -1,7 +1,7 @@ # # IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/Makefile.crypt # -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> # Copyright (C) 1991 Darren Reed # # This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# $Id: Makefile.crypt,v 1.2 2004/02/22 16:14:25 zolty Exp $ +# $Id: Makefile.crypt,v 1.3 2005/01/10 12:30:03 zolty Exp $ # # Change this to the path of your local ircd.conf file Index: ircd-ircdev/tools/README diff -u ircd-ircdev/tools/README:1.2 ircd-ircdev/tools/README:1.3 --- ircd-ircdev/tools/README:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/README Mon Jan 10 04:30:03 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/README * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 1991 Nelson Minar * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: README,v 1.2 2004/02/22 16:14:25 zolty Exp $ + * $Id: README,v 1.3 2005/01/10 12:30:03 zolty Exp $ * */ Index: ircd-ircdev/tools/ringlog.c diff -u ircd-ircdev/tools/ringlog.c:1.2 ircd-ircdev/tools/ringlog.c:1.3 --- ircd-ircdev/tools/ringlog.c:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/ringlog.c Mon Jan 10 04:29:53 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/ringlog.c * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2002 by Kevin L. Mitchell <kl...@mi...> * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ringlog.c,v 1.2 2004/02/22 16:14:25 zolty Exp $ + * $Id: ringlog.c,v 1.3 2005/01/10 12:29:53 zolty Exp $ * */ Index: ircd-ircdev/tools/wrapper.c diff -u ircd-ircdev/tools/wrapper.c:1.2 ircd-ircdev/tools/wrapper.c:1.3 --- ircd-ircdev/tools/wrapper.c:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/wrapper.c Mon Jan 10 04:29:52 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/wrapper.c * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2000 by Kevin L. Mitchell <kl...@mi...> * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: wrapper.c,v 1.2 2004/02/22 16:14:25 zolty Exp $ + * $Id: wrapper.c,v 1.3 2005/01/10 12:29:52 zolty Exp $ * */ #include <string.h> ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-10 12:33:16
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:32:53 UTC Modified files: tools/mkpasswd.c ircd/test/Makefile.in ircd/version.c.SH ircd/ircd_lexer.l ircd/ircd_parser.y ircd/Makefile.in doc/Makefile.in acconfig.h config.h.in configure.in Log message: Actualizacion anio 2005 en los copyrights. ---------------------- diff included ---------------------- Index: ircd-ircdev/acconfig.h diff -u ircd-ircdev/acconfig.h:1.2 ircd-ircdev/acconfig.h:1.3 --- ircd-ircdev/acconfig.h:1.2 Sun Feb 22 08:16:22 2004 +++ ircd-ircdev/acconfig.h Mon Jan 10 04:32:42 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, acconfig.h * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2000 Kevin L. Mitchell <kl...@mi...> * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: acconfig.h,v 1.2 2004/02/22 16:16:22 zolty Exp $ + * $Id: acconfig.h,v 1.3 2005/01/10 12:32:42 zolty Exp $ * */ #ifndef INCLUDED_config_h Index: ircd-ircdev/config.h.in diff -u ircd-ircdev/config.h.in:1.5 ircd-ircdev/config.h.in:1.6 --- ircd-ircdev/config.h.in:1.5 Wed Nov 24 08:11:30 2004 +++ ircd-ircdev/config.h.in Mon Jan 10 04:32:42 2005 @@ -2,7 +2,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, acconfig.h * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2000 Kevin L. Mitchell <kl...@mi...> * * This program is free software; you can redistribute it and/or modify @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: config.h.in,v 1.5 2004/11/24 16:11:30 zolty Exp $ + * $Id: config.h.in,v 1.6 2005/01/10 12:32:42 zolty Exp $ * */ #ifndef INCLUDED_config_h Index: ircd-ircdev/configure.in diff -u ircd-ircdev/configure.in:1.9 ircd-ircdev/configure.in:1.10 --- ircd-ircdev/configure.in:1.9 Wed Jan 5 03:58:34 2005 +++ ircd-ircdev/configure.in Mon Jan 10 04:32:43 2005 @@ -4,7 +4,7 @@ dnl dnl IRC-Dev IRCD - An advanced and innovative IRC Daemon, configure dnl -dnl Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +dnl Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> dnl Copyright (C) 2001 Kevin L. Mitchell <kl...@mi...> dnl Copyright (c) 1997, by Carlo Wood <ca...@ru...> dnl @@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl -dnl $Id: configure.in,v 1.9 2005/01/05 11:58:34 zolty Exp $ +dnl $Id: configure.in,v 1.10 2005/01/10 12:32:43 zolty Exp $ dnl dnl Make sure we are in the correct directory (someone could have run Index: ircd-ircdev/doc/Makefile.in diff -u ircd-ircdev/doc/Makefile.in:1.2 ircd-ircdev/doc/Makefile.in:1.3 --- ircd-ircdev/doc/Makefile.in:1.2 Sun Feb 22 08:12:45 2004 +++ ircd-ircdev/doc/Makefile.in Mon Jan 10 04:32:42 2005 @@ -1,6 +1,6 @@ # IRC-Dev IRCD - An advanced and innovative IRC Daemon, doc/Makefile # -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> # Copyright (C) 1997 Carlo Wood <ca...@ru...> # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# $Id: Makefile.in,v 1.2 2004/02/22 16:12:45 zolty Exp $ +# $Id: Makefile.in,v 1.3 2005/01/10 12:32:42 zolty Exp $ # #### Start of system configuration section. #### Index: ircd-ircdev/ircd/Makefile.in diff -u ircd-ircdev/ircd/Makefile.in:1.14 ircd-ircdev/ircd/Makefile.in:1.15 --- ircd-ircdev/ircd/Makefile.in:1.14 Tue Dec 28 03:15:45 2004 +++ ircd-ircdev/ircd/Makefile.in Mon Jan 10 04:32:41 2005 @@ -1,6 +1,6 @@ # IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/Makefile -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> # Copyright (C) 1997 Carlo Wood # Copyright (C) 1990 Jarkko Oikarinen @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.14 2004/12/28 11:15:45 zolty Exp $ +# $Id: Makefile.in,v 1.15 2005/01/10 12:32:41 zolty Exp $ #### Start of system configuration section. #### Index: ircd-ircdev/ircd/ircd_lexer.l diff -u ircd-ircdev/ircd/ircd_lexer.l:1.7 ircd-ircdev/ircd/ircd_lexer.l:1.8 --- ircd-ircdev/ircd/ircd_lexer.l:1.7 Wed Jan 5 03:58:35 2005 +++ ircd-ircdev/ircd/ircd_lexer.l Mon Jan 10 04:32:41 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/ircd_lexer.l * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2001 by Andrew Miller * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_lexer.l,v 1.7 2005/01/05 11:58:35 zolty Exp $ + * $Id: ircd_lexer.l,v 1.8 2005/01/10 12:32:41 zolty Exp $ * */ Index: ircd-ircdev/ircd/ircd_parser.y diff -u ircd-ircdev/ircd/ircd_parser.y:1.9 ircd-ircdev/ircd/ircd_parser.y:1.10 --- ircd-ircdev/ircd/ircd_parser.y:1.9 Wed Jan 5 03:58:35 2005 +++ ircd-ircdev/ircd/ircd_parser.y Mon Jan 10 04:32:41 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/ircd_parser.y * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 2001 by Andrew Miller, Diana Bruce and ircd-hybrid team * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_parser.y,v 1.9 2005/01/05 11:58:35 zolty Exp $ + * $Id: ircd_parser.y,v 1.10 2005/01/10 12:32:41 zolty Exp $ * */ %{ Index: ircd-ircdev/ircd/test/Makefile.in diff -u ircd-ircdev/ircd/test/Makefile.in:1.1 ircd-ircdev/ircd/test/Makefile.in:1.2 --- ircd-ircdev/ircd/test/Makefile.in:1.1 Wed Jan 5 03:58:36 2005 +++ ircd-ircdev/ircd/test/Makefile.in Mon Jan 10 04:32:41 2005 @@ -1,6 +1,6 @@ # IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/test/Makefile -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> # Copyright (C) 1997 Carlo Wood # Copyright (C) 1990 Jarkko Oikarinen @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.1 2005/01/05 11:58:36 zolty Exp $ +# $Id: Makefile.in,v 1.2 2005/01/10 12:32:41 zolty Exp $ top_srcdir = @top_srcdir@ VPATH = @srcdir@ Index: ircd-ircdev/ircd/version.c.SH diff -u ircd-ircdev/ircd/version.c.SH:1.5 ircd-ircdev/ircd/version.c.SH:1.6 --- ircd-ircdev/ircd/version.c.SH:1.5 Tue Dec 28 03:15:47 2004 +++ ircd-ircdev/ircd/version.c.SH Mon Jan 10 04:32:41 2005 @@ -24,7 +24,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/version.c * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 1990 Chelsea Ashley Dyerman * * This program is free software; you can redistribute it and/or modify @@ -41,7 +41,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: version.c.SH,v 1.5 2004/12/28 11:15:47 zolty Exp $ + * $Id: version.c.SH,v 1.6 2005/01/10 12:32:41 zolty Exp $ * */ Index: ircd-ircdev/tools/mkpasswd.c diff -u ircd-ircdev/tools/mkpasswd.c:1.2 ircd-ircdev/tools/mkpasswd.c:1.3 --- ircd-ircdev/tools/mkpasswd.c:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/mkpasswd.c Mon Jan 10 04:32:41 2005 @@ -1,7 +1,7 @@ /* * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/mkpasswd.c * - * Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> * Copyright (C) 1991 Nelson Minar (mi...@re...) * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: mkpasswd.c,v 1.2 2004/02/22 16:14:25 zolty Exp $ + * $Id: mkpasswd.c,v 1.3 2005/01/10 12:32:41 zolty Exp $ * */ #define _XOPEN_SOURCE ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-10 12:41:23
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:41:12 UTC Removed files: libs/zlib/amiga/Makefile.pup libs/zlib/amiga/Makefile.sas Log message: Borrando libreria zlib antigua ---------------------- diff included ---------------------- Index: ircd-ircdev/libs/zlib/amiga/Makefile.pup diff -u ircd-ircdev/libs/zlib/amiga/Makefile.pup:1.1 ircd-ircdev/libs/zlib/amiga/Makefile.pup:removed --- ircd-ircdev/libs/zlib/amiga/Makefile.pup:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/amiga/Makefile.pup Mon Jan 10 04:41:12 2005 @@ -1,66 +0,0 @@ -# Amiga powerUP (TM) Makefile -# makefile for libpng and SAS C V6.58/7.00 PPC compiler -# Copyright (C) 1998 by Andreas R. Kleinert - -CC = scppc -CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \ - OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8 -LIBNAME = libzip.a -AR = ppc-amigaos-ar -AR_FLAGS = cr -RANLIB = ppc-amigaos-ranlib -LDFLAGS = -r -o -LDLIBS = LIB:scppc.a -LN = ppc-amigaos-ld -RM = delete quiet - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: example minigzip - -test: all - example - echo hello world | minigzip | minigzip -d - -$(LIBNAME): $(OBJS) - $(AR) $(AR_FLAGS) $@ $(OBJS) - $(RANLIB) $@ - -example: example.o $(LIBNAME) - $(LN) $(LDFLAGS) example LIB:c_ppc.o example.o $(LIBNAME) $(LDLIBS) LIB:end.o - -minigzip: minigzip.o $(LIBNAME) - $(LN) $(LDFLAGS) minigzip LIB:c_ppc.o minigzip.o $(LIBNAME) $(LDLIBS) LIB:end.o - -clean: - $(RM) *.o example minigzip $(LIBNAME) foo.gz - -zip: - zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \ - descrip.mms *.[ch] - -tgz: - cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \ - zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zutil.h zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: zutil.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h -inflate.o: zutil.h zlib.h zconf.h infblock.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h Index: ircd-ircdev/libs/zlib/amiga/Makefile.sas diff -u ircd-ircdev/libs/zlib/amiga/Makefile.sas:1.1 ircd-ircdev/libs/zlib/amiga/Makefile.sas:removed --- ircd-ircdev/libs/zlib/amiga/Makefile.sas:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/amiga/Makefile.sas Mon Jan 10 04:41:12 2005 @@ -1,64 +0,0 @@ -# SMakefile for zlib -# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly -# Osma Ahvenlampi <Osm...@hu...> -# Amiga, SAS/C 6.56 & Smake - -CC=sc -CFLAGS=OPT -#CFLAGS=OPT CPU=68030 -#CFLAGS=DEBUG=LINE -LDFLAGS=LIB z.lib - -SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \ - NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: SCOPTIONS example minigzip - -test: all - `cd`/example - echo hello world | minigzip | minigzip -d - -install: z.lib - copy zlib.h zconf.h INCLUDE: clone - copy z.lib LIB: clone - -z.lib: $(OBJS) - oml z.lib r $(OBJS) - -example: example.o z.lib - $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS) - -minigzip: minigzip.o z.lib - $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS) - -clean: - -delete force quiet *.o example minigzip z.lib foo.gz *.lnk SCOPTIONS - -SCOPTIONS: Smakefile - copy to $@ <from < -$(SCOPTIONS) -< - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zutil.h zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: zutil.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h -inflate.o: zutil.h zlib.h zconf.h infblock.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-10 12:42:17
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:41:57 UTC Removed files: libs/zlib/ChangeLog libs/zlib/FAQ libs/zlib/INDEX libs/zlib/Make_vms.com libs/zlib/Makefile libs/zlib/Makefile.in libs/zlib/Makefile.riscos libs/zlib/README libs/zlib/adler32.c libs/zlib/algorithm.txt libs/zlib/compress.c libs/zlib/configure libs/zlib/crc32.c libs/zlib/deflate.c libs/zlib/deflate.h libs/zlib/descrip.mms libs/zlib/example.c libs/zlib/gzio.c libs/zlib/infblock.c libs/zlib/infblock.h libs/zlib/infcodes.c libs/zlib/infcodes.h libs/zlib/inffast.c libs/zlib/inffast.h libs/zlib/inffixed.h libs/zlib/inflate.c libs/zlib/inftrees.c libs/zlib/inftrees.h libs/zlib/infutil.c libs/zlib/infutil.h libs/zlib/maketree.c libs/zlib/minigzip.c libs/zlib/trees.c libs/zlib/trees.h libs/zlib/uncompr.c libs/zlib/zconf.h libs/zlib/zlib.3 libs/zlib/zlib.h libs/zlib/zlib.html libs/zlib/zutil.c libs/zlib/zutil.h Log message: Author: Log message: ---------------------- diff included ---------------------- Index: ircd-ircdev/libs/zlib/ChangeLog diff -u ircd-ircdev/libs/zlib/ChangeLog:1.1 ircd-ircdev/libs/zlib/ChangeLog:removed --- ircd-ircdev/libs/zlib/ChangeLog:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/ChangeLog Mon Jan 10 04:41:57 2005 @@ -1,481 +0,0 @@ - - ChangeLog file for zlib - -Changes in 1.1.4 (11 March 2002) -- ZFREE was repeated on same allocation on some error conditions. - This creates a security problem described in - http://www.zlib.org/advisory-2002-03-11.txt -- Returned incorrect error (Z_MEM_ERROR) on some invalid data -- Avoid accesses before window for invalid distances with inflate window - less than 32K. -- force windowBits > 8 to avoid a bug in the encoder for a window size - of 256 bytes. (A complete fix will be available in 1.1.5). - -Changes in 1.1.3 (9 July 1998) -- fix "an inflate input buffer bug that shows up on rare but persistent - occasions" (Mark) -- fix gzread and gztell for concatenated .gz files (Didier Le Botlan) -- fix gzseek(..., SEEK_SET) in write mode -- fix crc check after a gzeek (Frank Faubert) -- fix miniunzip when the last entry in a zip file is itself a zip file - (J Lillge) -- add contrib/asm586 and contrib/asm686 (Brian Raiter) - See http://www.muppetlabs.com/~breadbox/software/assembly.html -- add support for Delphi 3 in contrib/delphi (Bob Dellaca) -- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) -- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) -- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) -- added a FAQ file - -- Support gzdopen on Mac with Metrowerks (Jason Linhart) -- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart) -- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young) -- avoid some warnings with Borland C (Tom Tanner) -- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant) -- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant) -- allow several arguments to configure (Tim Mooney, Frodo Looijaard) -- use libdir and includedir in Makefile.in (Tim Mooney) -- support shared libraries on OSF1 V4 (Tim Mooney) -- remove so_locations in "make clean" (Tim Mooney) -- fix maketree.c compilation error (Glenn, Mark) -- Python interface to zlib now in Python 1.5 (Jeremy Hylton) -- new Makefile.riscos (Rich Walker) -- initialize static descriptors in trees.c for embedded targets (Nick Smith) -- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith) -- add the OS/2 files in Makefile.in too (Andrew Zabolotny) -- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane) -- fix maketree.c to allow clean compilation of inffixed.h (Mark) -- fix parameter check in deflateCopy (Gunther Nikl) -- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler) -- Many portability patches by Christian Spieler: - . zutil.c, zutil.h: added "const" for zmem* - . Make_vms.com: fixed some typos - . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists - . msdos/Makefile.msc: remove "default rtl link library" info from obj files - . msdos/Makefile.*: use model-dependent name for the built zlib library - . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc: - new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT) -- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane) -- replace __far with _far for better portability (Christian Spieler, Tom Lane) -- fix test for errno.h in configure (Tim Newsham) - -Changes in 1.1.2 (19 March 98) -- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant) - See http://www.winimage.com/zLibDll/unzip.html -- preinitialize the inflate tables for fixed codes, to make the code - completely thread safe (Mark) -- some simplifications and slight speed-up to the inflate code (Mark) -- fix gzeof on non-compressed files (Allan Schrum) -- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs) -- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn) -- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny) -- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori) -- do not wrap extern "C" around system includes (Tom Lane) -- mention zlib binding for TCL in README (Andreas Kupries) -- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert) -- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson) -- allow "configure --prefix $HOME" (Tim Mooney) -- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson) -- move Makefile.sas to amiga/Makefile.sas - -Changes in 1.1.1 (27 Feb 98) -- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson) -- remove block truncation heuristic which had very marginal effect for zlib - (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the - compression ratio on some files. This also allows inlining _tr_tally for - matches in deflate_slow. -- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier) - -Changes in 1.1.0 (24 Feb 98) -- do not return STREAM_END prematurely in inflate (John Bowler) -- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler) -- compile with -DFASTEST to get compression code optimized for speed only -- in minigzip, try mmap'ing the input file first (Miguel Albrecht) -- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain - on Sun but significant on HP) - -- add a pointer to experimental unzip library in README (Gilles Vollant) -- initialize variable gcc in configure (Chris Herborth) - -Changes in 1.0.9 (17 Feb 1998) -- added gzputs and gzgets functions -- do not clear eof flag in gzseek (Mark Diekhans) -- fix gzseek for files in transparent mode (Mark Diekhans) -- do not assume that vsprintf returns the number of bytes written (Jens Krinke) -- replace EXPORT with ZEXPORT to avoid conflict with other programs -- added compress2 in zconf.h, zlib.def, zlib.dnt -- new asm code from Gilles Vollant in contrib/asm386 -- simplify the inflate code (Mark): - . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new() - . ZALLOC the length list in inflate_trees_fixed() instead of using stack - . ZALLOC the value area for huft_build() instead of using stack - . Simplify Z_FINISH check in inflate() - -- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8 -- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi) -- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with - the declaration of FAR (Gilles VOllant) -- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann) -- read_buf buf parameter of type Bytef* instead of charf* -- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout) -- do not redeclare unlink in minigzip.c for WIN32 (John Bowler) -- fix check for presence of directories in "make install" (Ian Willis) - -Changes in 1.0.8 (27 Jan 1998) -- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant) -- fix gzgetc and gzputc for big endian systems (Markus Oberhumer) -- added compress2() to allow setting the compression level -- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong) -- use constant arrays for the static trees in trees.c instead of computing - them at run time (thanks to Ken Raeburn for this suggestion). To create - trees.h, compile with GEN_TREES_H and run "make test". -- check return code of example in "make test" and display result -- pass minigzip command line options to file_compress -- simplifying code of inflateSync to avoid gcc 2.8 bug - -- support CC="gcc -Wall" in configure -s (QingLong) -- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn) -- fix test for shared library support to avoid compiler warnings -- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant) -- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit) -- do not use fdopen for Metrowerks on Mac (Brad Pettit)) -- add checks for gzputc and gzputc in example.c -- avoid warnings in gzio.c and deflate.c (Andreas Kleinert) -- use const for the CRC table (Ken Raeburn) -- fixed "make uninstall" for shared libraries -- use Tracev instead of Trace in infblock.c -- in example.c use correct compressed length for test_sync -- suppress +vnocompatwarnings in configure for HPUX (not always supported) - -Changes in 1.0.7 (20 Jan 1998) -- fix gzseek which was broken in write mode -- return error for gzseek to negative absolute position -- fix configure for Linux (Chun-Chung Chen) -- increase stack space for MSC (Tim Wegner) -- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant) -- define EXPORTVA for gzprintf (Gilles Vollant) -- added man page zlib.3 (Rick Rodgers) -- for contrib/untgz, fix makedir() and improve Makefile - -- check gzseek in write mode in example.c -- allocate extra buffer for seeks only if gzseek is actually called -- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant) -- add inflateSyncPoint in zconf.h -- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def - -Changes in 1.0.6 (19 Jan 1998) -- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and - gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) -- Fix a deflate bug occuring only with compression level 0 (thanks to - Andy Buckler for finding this one). -- In minigzip, pass transparently also the first byte for .Z files. -- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress() -- check Z_FINISH in inflate (thanks to Marc Schluper) -- Implement deflateCopy (thanks to Adam Costello) -- make static libraries by default in configure, add --shared option. -- move MSDOS or Windows specific files to directory msdos -- suppress the notion of partial flush to simplify the interface - (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4) -- suppress history buffer provided by application to simplify the interface - (this feature was not implemented anyway in 1.0.4) -- next_in and avail_in must be initialized before calling inflateInit or - inflateInit2 -- add EXPORT in all exported functions (for Windows DLL) -- added Makefile.nt (thanks to Stephen Williams) -- added the unsupported "contrib" directory: - contrib/asm386/ by Gilles Vollant <in...@wi...> - 386 asm code replacing longest_match(). - contrib/iostream/ by Kevin Ruland <ke...@ro...> - A C++ I/O streams interface to the zlib gz* functions - contrib/iostream2/ by Tyge Løvset <Tyg...@cm...> - Another C++ I/O streams interface - contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <pa...@ti...> - A very simple tar.gz file extractor using zlib - contrib/visual-basic.txt by Carlos Rios <c_...@so...> - How to use compress(), uncompress() and the gz* functions from VB. -- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression - level) in minigzip (thanks to Tom Lane) - -- use const for rommable constants in deflate -- added test for gzseek and gztell in example.c -- add undocumented function inflateSyncPoint() (hack for Paul Mackerras) -- add undocumented function zError to convert error code to string - (for Tim Smithers) -- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code. -- Use default memcpy for Symantec MSDOS compiler. -- Add EXPORT keyword for check_func (needed for Windows DLL) -- add current directory to LD_LIBRARY_PATH for "make test" -- create also a link for libz.so.1 -- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura) -- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX) -- added -soname for Linux in configure (Chun-Chung Chen, -- assign numbers to the exported functions in zlib.def (for Windows DLL) -- add advice in zlib.h for best usage of deflateSetDictionary -- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn) -- allow compilation with ANSI keywords only enabled for TurboC in large model -- avoid "versionString"[0] (Borland bug) -- add NEED_DUMMY_RETURN for Borland -- use variable z_verbose for tracing in debug mode (L. Peter Deutsch). -- allow compilation with CC -- defined STDC for OS/2 (David Charlap) -- limit external names to 8 chars for MVS (Thomas Lund) -- in minigzip.c, use static buffers only for 16-bit systems -- fix suffix check for "minigzip -d foo.gz" -- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee) -- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau) -- added makelcc.bat for lcc-win32 (Tom St Denis) -- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe) -- Avoid expanded $Id: ChangeLog,v 1.1 2003/11/15 03:11:54 zolty Exp $. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion. -- check for unistd.h in configure (for off_t) -- remove useless check parameter in inflate_blocks_free -- avoid useless assignment of s->check to itself in inflate_blocks_new -- do not flush twice in gzclose (thanks to Ken Raeburn) -- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h -- use NO_ERRNO_H instead of enumeration of operating systems with errno.h -- work around buggy fclose on pipes for HP/UX -- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson) -- fix configure if CC is already equal to gcc - -Changes in 1.0.5 (3 Jan 98) -- Fix inflate to terminate gracefully when fed corrupted or invalid data -- Use const for rommable constants in inflate -- Eliminate memory leaks on error conditions in inflate -- Removed some vestigial code in inflate -- Update web address in README - -Changes in 1.0.4 (24 Jul 96) -- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF - bit, so the decompressor could decompress all the correct data but went - on to attempt decompressing extra garbage data. This affected minigzip too. -- zlibVersion and gzerror return const char* (needed for DLL) -- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) -- use z_error only for DEBUG (avoid problem with DLLs) - -Changes in 1.0.3 (2 Jul 96) -- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS - small and medium models; this makes the library incompatible with previous - versions for these models. (No effect in large model or on other systems.) -- return OK instead of BUF_ERROR if previous deflate call returned with - avail_out as zero but there is nothing to do -- added memcmp for non STDC compilers -- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly) -- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO) -- better check for 16-bit mode MSC (avoids problem with Symantec) - -Changes in 1.0.2 (23 May 96) -- added Windows DLL support -- added a function zlibVersion (for the DLL support) -- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model) -- Bytef is define's instead of typedef'd only for Borland C -- avoid reading uninitialized memory in example.c -- mention in README that the zlib format is now RFC1950 -- updated Makefile.dj2 -- added algorithm.doc - -Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion] -- fix array overlay in deflate.c which sometimes caused bad compressed data -- fix inflate bug with empty stored block -- fix MSDOS medium model which was broken in 0.99 -- fix deflateParams() which could generated bad compressed data. -- Bytef is define'd instead of typedef'ed (work around Borland bug) -- added an INDEX file -- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), - Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas) -- speed up adler32 for modern machines without auto-increment -- added -ansi for IRIX in configure -- static_init_done in trees.c is an int -- define unlink as delete for VMS -- fix configure for QNX -- add configure branch for SCO and HPUX -- avoid many warnings (unused variables, dead assignments, etc...) -- no fdopen for BeOS -- fix the Watcom fix for 32 bit mode (define FAR as empty) -- removed redefinition of Byte for MKWERKS -- work around an MWKERKS bug (incorrect merge of all .h files) - -Changes in 0.99 (27 Jan 96) -- allow preset dictionary shared between compressor and decompressor -- allow compression level 0 (no compression) -- add deflateParams in zlib.h: allow dynamic change of compression level - and compression strategy. -- test large buffers and deflateParams in example.c -- add optional "configure" to build zlib as a shared library -- suppress Makefile.qnx, use configure instead -- fixed deflate for 64-bit systems (detected on Cray) -- fixed inflate_blocks for 64-bit systems (detected on Alpha) -- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) -- always return Z_BUF_ERROR when deflate() has nothing to do -- deflateInit and inflateInit are now macros to allow version checking -- prefix all global functions and types with z_ with -DZ_PREFIX -- make falloc completely reentrant (inftrees.c) -- fixed very unlikely race condition in ct_static_init -- free in reverse order of allocation to help memory manager -- use zlib-1.0/* instead of zlib/* inside the tar.gz -- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith - -Wconversion -Wstrict-prototypes -Wmissing-prototypes" -- allow gzread on concatenated .gz files -- deflateEnd now returns Z_DATA_ERROR if it was premature -- deflate is finally (?) fully deterministic (no matches beyond end of input) -- Document Z_SYNC_FLUSH -- add uninstall in Makefile -- Check for __cpluplus in zlib.h -- Better test in ct_align for partial flush -- avoid harmless warnings for Borland C++ -- initialize hash_head in deflate.c -- avoid warning on fdopen (gzio.c) for HP cc -Aa -- include stdlib.h for STDC compilers -- include errno.h for Cray -- ignore error if ranlib doesn't exist -- call ranlib twice for NeXTSTEP -- use exec_prefix instead of prefix for libz.a -- renamed ct_* as _tr_* to avoid conflict with applications -- clear z->msg in inflateInit2 before any error return -- initialize opaque in example.c, gzio.c, deflate.c and inflate.c -- fixed typo in zconf.h (_GNUC__ => __GNUC__) -- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) -- fix typo in Make_vms.com (f$trnlnm -> f$getsyi) -- in fcalloc, normalize pointer if size > 65520 bytes -- don't use special fcalloc for 32 bit Borland C++ -- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc... -- use Z_BINARY instead of BINARY -- document that gzclose after gzdopen will close the file -- allow "a" as mode in gzopen. -- fix error checking in gzread -- allow skipping .gz extra-field on pipes -- added reference to Perl interface in README -- put the crc table in FAR data (I dislike more and more the medium model :) -- added get_crc_table -- added a dimension to all arrays (Borland C can't count). -- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast -- guard against multiple inclusion of *.h (for precompiled header on Mac) -- Watcom C pretends to be Microsoft C small model even in 32 bit mode. -- don't use unsized arrays to avoid silly warnings by Visual C++: - warning C4746: 'inflate_mask' : unsized array treated as '__far' - (what's wrong with far data in far model?). -- define enum out of inflate_blocks_state to allow compilation with C++ - -Changes in 0.95 (16 Aug 95) -- fix MSDOS small and medium model (now easier to adapt to any compiler) -- inlined send_bits -- fix the final (:-) bug for deflate with flush (output was correct but - not completely flushed in rare occasions). -- default window size is same for compression and decompression - (it's now sufficient to set MAX_WBITS in zconf.h). -- voidp -> voidpf and voidnp -> voidp (for consistency with other - typedefs and because voidnp was not near in large model). - -Changes in 0.94 (13 Aug 95) -- support MSDOS medium model -- fix deflate with flush (could sometimes generate bad output) -- fix deflateReset (zlib header was incorrectly suppressed) -- added support for VMS -- allow a compression level in gzopen() -- gzflush now calls fflush -- For deflate with flush, flush even if no more input is provided. -- rename libgz.a as libz.a -- avoid complex expression in infcodes.c triggering Turbo C bug -- work around a problem with gcc on Alpha (in INSERT_STRING) -- don't use inline functions (problem with some gcc versions) -- allow renaming of Byte, uInt, etc... with #define. -- avoid warning about (unused) pointer before start of array in deflate.c -- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c -- avoid reserved word 'new' in trees.c - -Changes in 0.93 (25 June 95) -- temporarily disable inline functions -- make deflate deterministic -- give enough lookahead for PARTIAL_FLUSH -- Set binary mode for stdin/stdout in minigzip.c for OS/2 -- don't even use signed char in inflate (not portable enough) -- fix inflate memory leak for segmented architectures - -Changes in 0.92 (3 May 95) -- don't assume that char is signed (problem on SGI) -- Clear bit buffer when starting a stored block -- no memcpy on Pyramid -- suppressed inftest.c -- optimized fill_window, put longest_match inline for gcc -- optimized inflate on stored blocks. -- untabify all sources to simplify patches - -Changes in 0.91 (2 May 95) -- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h -- Document the memory requirements in zconf.h -- added "make install" -- fix sync search logic in inflateSync -- deflate(Z_FULL_FLUSH) now works even if output buffer too short -- after inflateSync, don't scare people with just "lo world" -- added support for DJGPP - -Changes in 0.9 (1 May 95) -- don't assume that zalloc clears the allocated memory (the TurboC bug - was Mark's bug after all :) -- let again gzread copy uncompressed data unchanged (was working in 0.71) -- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented -- added a test of inflateSync in example.c -- moved MAX_WBITS to zconf.h because users might want to change that. -- document explicitly that zalloc(64K) on MSDOS must return a normalized - pointer (zero offset) -- added Makefiles for Microsoft C, Turbo C, Borland C++ -- faster crc32() - -Changes in 0.8 (29 April 95) -- added fast inflate (inffast.c) -- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this - is incompatible with previous versions of zlib which returned Z_OK. -- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) - (actually that was not a compiler bug, see 0.81 above) -- gzread no longer reads one extra byte in certain cases -- In gzio destroy(), don't reference a freed structure -- avoid many warnings for MSDOS -- avoid the ERROR symbol which is used by MS Windows - -Changes in 0.71 (14 April 95) -- Fixed more MSDOS compilation problems :( There is still a bug with - TurboC large model. - -Changes in 0.7 (14 April 95) -- Added full inflate support. -- Simplified the crc32() interface. The pre- and post-conditioning - (one's complement) is now done inside crc32(). WARNING: this is - incompatible with previous versions; see zlib.h for the new usage. - -Changes in 0.61 (12 April 95) -- workaround for a bug in TurboC. example and minigzip now work on MSDOS. - -Changes in 0.6 (11 April 95) -- added minigzip.c -- added gzdopen to reopen a file descriptor as gzFile -- added transparent reading of non-gziped files in gzread. -- fixed bug in gzread (don't read crc as data) -- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose). -- don't allocate big arrays in the stack (for MSDOS) -- fix some MSDOS compilation problems - -Changes in 0.5: -- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but - not yet Z_FULL_FLUSH. -- support decompression but only in a single step (forced Z_FINISH) -- added opaque object for zalloc and zfree. -- added deflateReset and inflateReset -- added a variable zlib_version for consistency checking. -- renamed the 'filter' parameter of deflateInit2 as 'strategy'. - Added Z_FILTERED and Z_HUFFMAN_ONLY constants. - -Changes in 0.4: -- avoid "zip" everywhere, use zlib instead of ziplib. -- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush - if compression method == 8. -- added adler32 and crc32 -- renamed deflateOptions as deflateInit2, call one or the other but not both -- added the method parameter for deflateInit2. -- added inflateInit2 -- simplied considerably deflateInit and inflateInit by not supporting - user-provided history buffer. This is supported only in deflateInit2 - and inflateInit2. - -Changes in 0.3: -- prefix all macro names with Z_ -- use Z_FINISH instead of deflateEnd to finish compression. -- added Z_HUFFMAN_ONLY -- added gzerror() Index: ircd-ircdev/libs/zlib/FAQ diff -u ircd-ircdev/libs/zlib/FAQ:1.1 ircd-ircdev/libs/zlib/FAQ:removed --- ircd-ircdev/libs/zlib/FAQ:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/FAQ Mon Jan 10 04:41:57 2005 @@ -1,100 +0,0 @@ - - Frequently Asked Questions about zlib - - -If your question is not there, please check the zlib home page -http://www.zlib.org which may have more recent information. -The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html - - - 1. Is zlib Y2K-compliant? - - Yes. zlib doesn't handle dates. - - 2. Where can I get a Windows DLL version? - - The zlib sources can be compiled without change to produce a DLL. If you - want a precompiled DLL, see http://www.winimage.com/zLibDll/ . Questions - about the zlib DLL should be sent to Gilles Vollant (in...@wi...). - - 3. Where can I get a Visual Basic interface to zlib? - - See - * http://www.winimage.com/zLibDll/cmp-z-it.zip - * http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm - * contrib/visual-basic.txt in the zlib distribution - - 4. compress() returns Z_BUF_ERROR - - Make sure that before the call of compress, the length of the compressed - buffer is equal to the total size of the compressed buffer and not - zero. For Visual Basic, check that this parameter is passed by reference - ("as any"), not by value ("as long"). - - 5. deflate() or inflate() returns Z_BUF_ERROR - - Before making the call, make sure that avail_in and avail_out are not - zero. When setting the parameter flush equal to Z_FINISH, also make sure - that avail_out is big enough to allow processing all pending input. - - 6. Where's the zlib documentation (man pages, etc.)? - - It's in zlib.h for the moment, and Francis S. Lin has converted it to a - web page zlib.html. Volunteers to transform this to Unix-style man pages, - please contact Jean-loup Gailly (jl...@gz...). Examples of zlib usage - are in the files example.c and minigzip.c. - - 7. Why don't you use GNU autoconf or libtool or ...? - - Because we would like to keep zlib as a very small and simple - package. zlib is rather portable and doesn't need much configuration. - - 8. I found a bug in zlib. - - Most of the time, such problems are due to an incorrect usage of - zlib. Please try to reproduce the problem with a small program and send - the corresponding source to us at zl...@gz... . Do not send - multi-megabyte data files without prior agreement. - - 9. Why do I get "undefined reference to gzputc"? - - If "make test" produces something like - - example.o(.text+0x154): undefined reference to `gzputc' - - check that you don't have old files libz.* in /usr/lib, /usr/local/lib or - /usr/X11R6/lib. Remove any old versions, then do "make install". - -10. I need a Delphi interface to zlib. - - See the directories contrib/delphi and contrib/delphi2 in the zlib - distribution. - -11. Can zlib handle .zip archives? - - See the directory contrib/minizip in the zlib distribution. - -12. Can zlib handle .Z files? - - No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt - the code of uncompress on your own. - -13. How can I make a Unix shared library? - - make clean - ./configure -s - make - -14. Why does "make test" fail on Mac OS X? - - Mac OS X already includes zlib as a shared library, and so -lz links the - shared library instead of the one that the "make" compiled. For zlib - 1.1.3, the two are incompatible due to different compile-time - options. Simply change the -lz in the Makefile to libz.a, and it will use - the compiled library instead of the shared one and the "make test" will - succeed. - -15. I have a question about OttoPDF - - We are not the authors of OttoPDF. The real author is on the OttoPDF web - site Joel Hainley jha...@my.... Index: ircd-ircdev/libs/zlib/INDEX diff -u ircd-ircdev/libs/zlib/INDEX:1.1 ircd-ircdev/libs/zlib/INDEX:removed --- ircd-ircdev/libs/zlib/INDEX:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/INDEX Mon Jan 10 04:41:57 2005 @@ -1,86 +0,0 @@ -ChangeLog history of changes -INDEX this file -FAQ Frequently Asked Questions about zlib -Make_vms.com script for Vax/VMS -Makefile makefile for Unix (generated by configure) -Makefile.in makefile for Unix (template for configure) -Makefile.riscos makefile for RISCOS -README guess what -algorithm.txt description of the (de)compression algorithm -configure configure script for Unix -descrip.mms makefile for Vax/VMS -zlib.3 mini man page for zlib (volunteers to write full - man pages from zlib.h welcome. write to jl...@gz...) - -amiga/Makefile.sas makefile for Amiga SAS/C -amiga/Makefile.pup makefile for Amiga powerUP SAS/C PPC - -msdos/Makefile.w32 makefile for Microsoft Visual C++ 32-bit -msdos/Makefile.b32 makefile for Borland C++ 32-bit -msdos/Makefile.bor makefile for Borland C/C++ 16-bit -msdos/Makefile.dj2 makefile for DJGPP 2.x -msdos/Makefile.emx makefile for EMX 0.9c (32-bit DOS/OS2) -msdos/Makefile.msc makefile for Microsoft C 16-bit -msdos/Makefile.tc makefile for Turbo C -msdos/Makefile.wat makefile for Watcom C -msdos/zlib.def definition file for Windows DLL -msdos/zlib.rc definition file for Windows DLL - -nt/Makefile.nt makefile for Windows NT -nt/zlib.dnt definition file for Windows NT DLL -nt/Makefile.emx makefile for EMX 0.9c/RSXNT 1.41 (Win32 Intel) -nt/Makefile.gcc makefile for Windows NT using GCC (mingw32) - - - zlib public header files (must be kept): -zconf.h -zlib.h - - private source files used to build the zlib library: -adler32.c -compress.c -crc32.c -deflate.c -deflate.h -gzio.c -infblock.c -infblock.h -infcodes.c -infcodes.h -inffast.c -inffast.h -inflate.c -inftrees.c -inftrees.h -infutil.c -infutil.h -maketree.c -trees.c -uncompr.c -zutil.c -zutil.h - - source files for sample programs: -example.c -minigzip.c - - unsupported contribution by third parties - -contrib/asm386/ by Gilles Vollant <in...@wi...> - 386 asm code replacing longest_match(). - -contrib/minizip/ by Gilles Vollant <in...@wi...> - Mini zip and unzip based on zlib - See http://www.winimage.com/zLibDll/unzip.html - -contrib/iostream/ by Kevin Ruland <ke...@ro...> - A C++ I/O streams interface to the zlib gz* functions - -contrib/iostream2/ by Tyge Løvset <Tyg...@cm...> - Another C++ I/O streams interface - -contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <pa...@ti...> - A very simple tar.gz extractor using zlib - -contrib/visual-basic.txt by Carlos Rios <c_...@so...> - How to use compress(), uncompress() and the gz* functions from VB. Index: ircd-ircdev/libs/zlib/Make_vms.com diff -u ircd-ircdev/libs/zlib/Make_vms.com:1.1 ircd-ircdev/libs/zlib/Make_vms.com:removed --- ircd-ircdev/libs/zlib/Make_vms.com:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/Make_vms.com Mon Jan 10 04:41:57 2005 @@ -1,115 +0,0 @@ -$! make libz under VMS -$! written by Martin P.J. Zinser <m.z...@gs...> -$! -$! Look for the compiler used -$! -$ ccopt = "" -$ if f$getsyi("HW_MODEL").ge.1024 -$ then -$ ccopt = "/prefix=all"+ccopt -$ comp = "__decc__=1" -$ if f$trnlnm("SYS").eqs."" then define sys sys$library: -$ else -$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs."" -$ then -$ comp = "__vaxc__=1" -$ if f$trnlnm("SYS").eqs."" then define sys sys$library: -$ else -$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include: -$ ccopt = "/decc/prefix=all"+ccopt -$ comp = "__decc__=1" -$ endif -$ endif -$! -$! Build the thing plain or with mms -$! -$ write sys$output "Compiling Zlib sources ..." -$ if f$search("SYS$SYSTEM:MMS.EXE").eqs."" -$ then -$ dele example.obj;*,minigzip.obj;* -$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" - - adler32.c zlib.h zconf.h -$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" - - compress.c zlib.h zconf.h -$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" - - crc32.c zlib.h zconf.h -$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" - - deflate.c deflate.h zutil.h zlib.h zconf.h -$ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" - - gzio.c zutil.h zlib.h zconf.h -$ CALL MAKE infblock.OBJ "CC ''CCOPT' infblock" - - infblock.c zutil.h zlib.h zconf.h infblock.h -$ CALL MAKE infcodes.OBJ "CC ''CCOPT' infcodes" - - infcodes.c zutil.h zlib.h zconf.h inftrees.h -$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" - - inffast.c zutil.h zlib.h zconf.h inffast.h -$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" - - inflate.c zutil.h zlib.h zconf.h infblock.h -$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" - - inftrees.c zutil.h zlib.h zconf.h inftrees.h -$ CALL MAKE infutil.OBJ "CC ''CCOPT' infutil" - - infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h -$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" - - trees.c deflate.h zutil.h zlib.h zconf.h -$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" - - uncompr.c zlib.h zconf.h -$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" - - zutil.c zutil.h zlib.h zconf.h -$ write sys$output "Building Zlib ..." -$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ -$ write sys$output "Building example..." -$ CALL MAKE example.OBJ "CC ''CCOPT' example" - - example.c zlib.h zconf.h -$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb -$ write sys$output "Building minigzip..." -$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" - - minigzip.c zlib.h zconf.h -$ call make minigzip.exe - - "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" - - minigzip.obj libz.olb -$ else -$ mms/macro=('comp') -$ endif -$ write sys$output "Zlib build completed" -$ exit -$! -$! -$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES -$ V = 'F$Verify(0) -$! P1 = What we are trying to make -$! P2 = Command to make it -$! P3 - P8 What it depends on -$ -$ If F$Search(P1) .Eqs. "" Then Goto Makeit -$ Time = F$CvTime(F$File(P1,"RDT")) -$arg=3 -$Loop: -$ Argument = P'arg -$ If Argument .Eqs. "" Then Goto Exit -$ El=0 -$Loop2: -$ File = F$Element(El," ",Argument) -$ If File .Eqs. " " Then Goto Endl -$ AFile = "" -$Loop3: -$ OFile = AFile -$ AFile = F$Search(File) -$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl -$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit -$ Goto Loop3 -$NextEL: -$ El = El + 1 -$ Goto Loop2 -$EndL: -$ arg=arg+1 -$ If arg .Le. 8 Then Goto Loop -$ Goto Exit -$ -$Makeit: -$ VV=F$VERIFY(0) -$ write sys$output P2 -$ 'P2 -$ VV='F$Verify(VV) -$Exit: -$ If V Then Set Verify -$ENDSUBROUTINE Index: ircd-ircdev/libs/zlib/Makefile diff -u ircd-ircdev/libs/zlib/Makefile:1.1 ircd-ircdev/libs/zlib/Makefile:removed --- ircd-ircdev/libs/zlib/Makefile:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/Makefile Mon Jan 10 04:41:57 2005 @@ -1,175 +0,0 @@ -# Makefile for zlib -# Copyright (C) 1995-2002 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile and test, type: -# ./configure; make test -# The call of configure is optional if you don't have special requirements -# If you wish to build zlib as a shared library, use: ./configure -s - -# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type: -# make install -# To install in $HOME instead of /usr/local, use: -# make install prefix=$HOME - -CC=cc - -CFLAGS=-O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-g -DDEBUG -#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ -# -Wstrict-prototypes -Wmissing-prototypes - -LDFLAGS=-L. -lz -LDSHARED=$(CC) -CPP=$(CC) -E - -VER=1.1.4 -LIBS=libz.a -SHAREDLIB=libz.so - -AR=ar rc -RANLIB=ranlib -TAR=tar -SHELL=/bin/sh - -prefix = /usr/local -exec_prefix = ${prefix} -libdir = ${exec_prefix}/lib -includedir = ${prefix}/include - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -OBJA = -# to use the asm code: make OBJA=match.o - -TEST_OBJS = example.o minigzip.o - -DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] *.mms \ - algorithm.txt zlib.3 zlib.html \ - msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ - nt/Make*[a-z0-9] nt/zlib.dnt amiga/Make*.??? os2/M*.os2 os2/zlib.def \ - contrib/RE*.contrib contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \ - contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/*.?86 \ - contrib/asm[56]86/*.S contrib/iostream/*.cpp \ - contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ - contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 \ - contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]?? \ - contrib/delphi*/*.??? - -all: example minigzip - -test: all - @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ - echo hello world | ./minigzip | ./minigzip -d || \ - echo ' *** minigzip test FAILED ***' ; \ - if ./example; then \ - echo ' *** zlib test OK ***'; \ - else \ - echo ' *** zlib test FAILED ***'; \ - fi - -libz.a: $(OBJS) $(OBJA) - $(AR) $@ $(OBJS) $(OBJA) - -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 - -match.o: match.S - $(CPP) match.S > _match.s - $(CC) -c _match.s - mv _match.o match.o - rm -f _match.s - -$(SHAREDLIB).$(VER): $(OBJS) - $(LDSHARED) -o $@ $(OBJS) - rm -f $(SHAREDLIB) $(SHAREDLIB).1 - ln -s $@ $(SHAREDLIB) - ln -s $@ $(SHAREDLIB).1 - -example: example.o $(LIBS) - $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) - -minigzip: minigzip.o $(LIBS) - $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) - -install: $(LIBS) - -@if [ ! -d $(includedir) ]; then mkdir $(includedir); fi - -@if [ ! -d $(libdir) ]; then mkdir $(libdir); fi - cp zlib.h zconf.h $(includedir) - chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h - cp $(LIBS) $(libdir) - cd $(libdir); chmod 755 $(LIBS) - -@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 - cd $(libdir); if test -f $(SHAREDLIB).$(VER); then \ - rm -f $(SHAREDLIB) $(SHAREDLIB).1; \ - ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB); \ - ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB).1; \ - (ldconfig || true) >/dev/null 2>&1; \ - fi -# The ranlib in install is needed on NeXTSTEP which checks file times -# ldconfig is for Linux - -uninstall: - cd $(includedir); \ - v=$(VER); \ - if test -f zlib.h; then \ - v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ - rm -f zlib.h zconf.h; \ - fi; \ - cd $(libdir); rm -f libz.a; \ - if test -f $(SHAREDLIB).$$v; then \ - rm -f $(SHAREDLIB).$$v $(SHAREDLIB) $(SHAREDLIB).1; \ - fi - -clean: - rm -f *.o *~ example minigzip libz.a libz.so* foo.gz so_locations \ - _match.s maketree - -distclean: clean - -zip: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c contrib/minizip/test.zip - v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - zip -ul9 zlib$$v $(DISTFILES) - mv Makefile~ Makefile - -dist: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c contrib/minizip/test.zip - d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - rm -f $$d.tar.gz; \ - if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \ - files=""; \ - for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \ - cd ..; \ - GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \ - if test ! -d $$d; then rm -f $$d; fi - mv Makefile~ Makefile - -tags: - etags *.[ch] - -depend: - makedepend -- $(CFLAGS) -- *.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -infblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h -infcodes.o: zutil.h zlib.h zconf.h -infcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h -inffast.o: infblock.h infcodes.h infutil.h inffast.h -inflate.o: zutil.h zlib.h zconf.h infblock.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h Index: ircd-ircdev/libs/zlib/Makefile.in diff -u ircd-ircdev/libs/zlib/Makefile.in:1.1 ircd-ircdev/libs/zlib/Makefile.in:removed --- ircd-ircdev/libs/zlib/Makefile.in:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/Makefile.in Mon Jan 10 04:41:57 2005 @@ -1,175 +0,0 @@ -# Makefile for zlib -# Copyright (C) 1995-2002 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile and test, type: -# ./configure; make test -# The call of configure is optional if you don't have special requirements -# If you wish to build zlib as a shared library, use: ./configure -s - -# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type: -# make install -# To install in $HOME instead of /usr/local, use: -# make install prefix=$HOME - -CC=cc - -CFLAGS=-O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-g -DDEBUG -#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ -# -Wstrict-prototypes -Wmissing-prototypes - -LDFLAGS=-L. -lz -LDSHARED=$(CC) -CPP=$(CC) -E - -VER=1.1.4 -LIBS=libz.a -SHAREDLIB=libz.so - -AR=ar rc -RANLIB=ranlib -TAR=tar -SHELL=/bin/sh - -prefix = /usr/local -exec_prefix = ${prefix} -libdir = ${exec_prefix}/lib -includedir = ${prefix}/include - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -OBJA = -# to use the asm code: make OBJA=match.o - -TEST_OBJS = example.o minigzip.o - -DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] *.mms \ - algorithm.txt zlib.3 zlib.html \ - msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ - nt/Make*[a-z0-9] nt/zlib.dnt amiga/Make*.??? os2/M*.os2 os2/zlib.def \ - contrib/RE*.contrib contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \ - contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/*.?86 \ - contrib/asm[56]86/*.S contrib/iostream/*.cpp \ - contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ - contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 \ - contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]?? \ - contrib/delphi*/*.??? - -all: example minigzip - -test: all - @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ - echo hello world | ./minigzip | ./minigzip -d || \ - echo ' *** minigzip test FAILED ***' ; \ - if ./example; then \ - echo ' *** zlib test OK ***'; \ - else \ - echo ' *** zlib test FAILED ***'; \ - fi - -libz.a: $(OBJS) $(OBJA) - $(AR) $@ $(OBJS) $(OBJA) - -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 - -match.o: match.S - $(CPP) match.S > _match.s - $(CC) -c _match.s - mv _match.o match.o - rm -f _match.s - -$(SHAREDLIB).$(VER): $(OBJS) - $(LDSHARED) -o $@ $(OBJS) - rm -f $(SHAREDLIB) $(SHAREDLIB).1 - ln -s $@ $(SHAREDLIB) - ln -s $@ $(SHAREDLIB).1 - -example: example.o $(LIBS) - $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) - -minigzip: minigzip.o $(LIBS) - $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) - -install: $(LIBS) - -@if [ ! -d $(includedir) ]; then mkdir $(includedir); fi - -@if [ ! -d $(libdir) ]; then mkdir $(libdir); fi - cp zlib.h zconf.h $(includedir) - chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h - cp $(LIBS) $(libdir) - cd $(libdir); chmod 755 $(LIBS) - -@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 - cd $(libdir); if test -f $(SHAREDLIB).$(VER); then \ - rm -f $(SHAREDLIB) $(SHAREDLIB).1; \ - ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB); \ - ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB).1; \ - (ldconfig || true) >/dev/null 2>&1; \ - fi -# The ranlib in install is needed on NeXTSTEP which checks file times -# ldconfig is for Linux - -uninstall: - cd $(includedir); \ - v=$(VER); \ - if test -f zlib.h; then \ - v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ - rm -f zlib.h zconf.h; \ - fi; \ - cd $(libdir); rm -f libz.a; \ - if test -f $(SHAREDLIB).$$v; then \ - rm -f $(SHAREDLIB).$$v $(SHAREDLIB) $(SHAREDLIB).1; \ - fi - -clean: - rm -f *.o *~ example minigzip libz.a libz.so* foo.gz so_locations \ - _match.s maketree - -distclean: clean - -zip: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c contrib/minizip/test.zip - v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - zip -ul9 zlib$$v $(DISTFILES) - mv Makefile~ Makefile - -dist: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c contrib/minizip/test.zip - d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - rm -f $$d.tar.gz; \ - if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \ - files=""; \ - for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \ - cd ..; \ - GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \ - if test ! -d $$d; then rm -f $$d; fi - mv Makefile~ Makefile - -tags: - etags *.[ch] - -depend: - makedepend -- $(CFLAGS) -- *.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -infblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h -infcodes.o: zutil.h zlib.h zconf.h -infcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h -inffast.o: infblock.h infcodes.h infutil.h inffast.h -inflate.o: zutil.h zlib.h zconf.h infblock.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h Index: ircd-ircdev/libs/zlib/Makefile.riscos diff -u ircd-ircdev/libs/zlib/Makefile.riscos:1.1 ircd-ircdev/libs/zlib/Makefile.riscos:removed --- ircd-ircdev/libs/zlib/Makefile.riscos:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/Makefile.riscos Mon Jan 10 04:41:57 2005 @@ -1,151 +0,0 @@ -# Project: zlib_1_03 -# Patched for zlib 1.1.2 rw...@sh... 19980430 -# test works out-of-the-box, installs `somewhere' on demand - -# Toolflags: -CCflags = -c -depend !Depend -IC: -g -throwback -DRISCOS -fah -C++flags = -c -depend !Depend -IC: -throwback -Linkflags = -aif -c++ -o $@ -ObjAsmflags = -throwback -NoCache -depend !Depend -CMHGflags = -LibFileflags = -c -l -o $@ -Squeezeflags = -o $@ - -# change the line below to where _you_ want the library installed. -libdest = lib:zlib - -# Final targets: -@.lib: @.o.adler32 @.o.compress @.o.crc32 @.o.deflate @.o.gzio \ - @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil @.o.trees \ - @.o.uncompr @.o.zutil - LibFile $(LibFileflags) @.o.adler32 @.o.compress @.o.crc32 @.o.deflate \ - @.o.gzio @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil \ - @.o.trees @.o.uncompr @.o.zutil -test: @.minigzip @.example @.lib - @copy @.lib @.libc A~C~DF~L~N~P~Q~RS~TV - @echo running tests: hang on. - @/@.minigzip -f -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -f -1 libc - @/@.minigzip -d libc-gz - @/@.minigzip -h -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -h -1 libc - @/@.minigzip -d libc-gz - @/@.minigzip -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -1 libc - @/@.minigzip -d libc-gz - @diff @.lib @.libc - @echo that should have reported '@.lib and @.libc identical' if you have diff. - @/@.example @.fred @.fred - @echo that will have given lots of hello!'s. - -@.minigzip: @.o.minigzip @.lib C:o.Stubs - Link $(Linkflags) @.o.minigzip @.lib C:o.Stubs -@.example: @.o.example @.lib C:o.Stubs - Link $(Linkflags) @.o.example @.lib C:o.Stubs - -install: @.lib - cdir $(libdest) - cdir $(libdest).h - @copy @.h.zlib $(libdest).h.zlib A~C~DF~L~N~P~Q~RS~TV - @copy @.h.zconf $(libdest).h.zconf A~C~DF~L~N~P~Q~RS~TV - @copy @.lib $(libdest).lib A~C~DF~L~N~P~Q~RS~TV - @echo okay, installed zlib in $(libdest) - -clean:; remove @.minigzip - remove @.example - remove @.libc - -wipe @.o.* F~r~cV - remove @.fred - -# User-editable dependencies: -.c.o: - cc $(ccflags) -o $@ $< - -# Static dependencies: - -# Dynamic dependencies: -o.example: c.example -o.example: h.zlib -o.example: h.zconf -o.minigzip: c.minigzip -o.minigzip: h.zlib -o.minigzip: h.zconf -o.adler32: c.adler32 -o.adler32: h.zlib -o.adler32: h.zconf -o.compress: c.compress -o.compress: h.zlib -o.compress: h.zconf -o.crc32: c.crc32 -o.crc32: h.zlib -o.crc32: h.zconf -o.deflate: c.deflate -o.deflate: h.deflate -o.deflate: h.zutil -o.deflate: h.zlib -o.deflate: h.zconf -o.gzio: c.gzio -o.gzio: h.zutil -o.gzio: h.zlib -o.gzio: h.zconf -o.infblock: c.infblock -o.infblock: h.zutil -o.infblock: h.zlib -o.infblock: h.zconf -o.infblock: h.infblock -o.infblock: h.inftrees -o.infblock: h.infcodes -o.infblock: h.infutil -o.infcodes: c.infcodes -o.infcodes: h.zutil -o.infcodes: h.zlib -o.infcodes: h.zconf -o.infcodes: h.inftrees -o.infcodes: h.infblock -o.infcodes: h.infcodes -o.infcodes: h.infutil -o.infcodes: h.inffast -o.inffast: c.inffast -o.inffast: h.zutil -o.inffast: h.zlib -o.inffast: h.zconf -o.inffast: h.inftrees -o.inffast: h.infblock -o.inffast: h.infcodes -o.inffast: h.infutil -o.inffast: h.inffast -o.inflate: c.inflate -o.inflate: h.zutil -o.inflate: h.zlib -o.inflate: h.zconf -o.inflate: h.infblock -o.inftrees: c.inftrees -o.inftrees: h.zutil -o.inftrees: h.zlib -o.inftrees: h.zconf -o.inftrees: h.inftrees -o.inftrees: h.inffixed -o.infutil: c.infutil -o.infutil: h.zutil -o.infutil: h.zlib -o.infutil: h.zconf -o.infutil: h.infblock -o.infutil: h.inftrees -o.infutil: h.infcodes -o.infutil: h.infutil -o.trees: c.trees -o.trees: h.deflate -o.trees: h.zutil -o.trees: h.zlib -o.trees: h.zconf -o.trees: h.trees -o.uncompr: c.uncompr -o.uncompr: h.zlib -o.uncompr: h.zconf -o.zutil: c.zutil -o.zutil: h.zutil -o.zutil: h.zlib -o.zutil: h.zconf Index: ircd-ircdev/libs/zlib/README diff -u ircd-ircdev/libs/zlib/README:1.1 ircd-ircdev/libs/zlib/README:removed --- ircd-ircdev/libs/zlib/README:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/README Mon Jan 10 04:41:57 2005 @@ -1,147 +0,0 @@ -zlib 1.1.4 is a general purpose data compression library. All the code -is thread safe. The data format used by the zlib library -is described by RFCs (Request for Comments) 1950 to 1952 in the files -http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate -format) and rfc1952.txt (gzip format). These documents are also available in -other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html - -All functions of the compression library are documented in the file zlib.h -(volunteer to write man pages welcome, contact jl...@gz...). A usage -example of the library is given in the file example.c which also tests that -the library is working correctly. Another example is given in the file -minigzip.c. The compression library itself is composed of all source files -except example.c and minigzip.c. - -To compile all files and run the test program, follow the instructions -given at the top of Makefile. In short "make test; make install" -should work for most machines. For Unix: "./configure; make test; make install" -For MSDOS, use one of the special makefiles such as Makefile.msc. -For VMS, use Make_vms.com or descrip.mms. - -Questions about zlib should be sent to <zl...@gz...>, or to -Gilles Vollant <in...@wi...> for the Windows DLL version. -The zlib home page is http://www.zlib.org or http://www.gzip.org/zlib/ -Before reporting a problem, please check this site to verify that -you have the latest version of zlib; otherwise get the latest version and -check whether the problem still exists or not. - -PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html -before asking for help. - -Mark Nelson <ma...@ie...> wrote an article about zlib for the Jan. 1997 -issue of Dr. Dobb's Journal; a copy of the article is available in -http://dogma.net/markn/articles/zlibtool/zlibtool.htm - -The changes made in version 1.1.4 are documented in the file ChangeLog. -The only changes made since 1.1.3 are bug corrections: - -- ZFREE was repeated on same allocation on some error conditions. - This creates a security problem described in - http://www.zlib.org/advisory-2002-03-11.txt -- Returned incorrect error (Z_MEM_ERROR) on some invalid data -- Avoid accesses before window for invalid distances with inflate window - less than 32K. -- force windowBits > 8 to avoid a bug in the encoder for a window size - of 256 bytes. (A complete fix will be available in 1.1.5). - -The beta version 1.1.5beta includes many more changes. A new official -version 1.1.5 will be released as soon as extensive testing has been -completed on it. - - -Unsupported third party contributions are provided in directory "contrib". - -A Java implementation of zlib is available in the Java Development Kit -http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html -See the zlib home page http://www.zlib.org for details. - -A Perl interface to zlib written by Paul Marquess <pma...@bf...> -is in the CPAN (Comprehensive Perl Archive Network) sites -http://www.cpan.org/modules/by-module/Compress/ - -A Python interface to zlib written by A.M. Kuchling <am...@ma...> -is available in Python 1.5 and later versions, see -http://www.python.org/doc/lib/module-zlib.html - -A zlib binding for TCL written by Andreas Kupries <a.k...@we...> -is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html - -An experimental package to read and write files in .zip format, -written on top of zlib by Gilles Vollant <in...@wi...>, is -available at http://www.winimage.com/zLibDll/unzip.html -and also in the contrib/minizip directory of zlib. - - -Notes for some targets: - -- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc - and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL - The zlib DLL support was initially done by Alessandro Iacopetti and is - now maintained by Gilles Vollant <in...@wi...>. Check the zlib DLL - home page at http://www.winimage.com/zLibDll - - From Visual Basic, you can call the DLL functions which do not take - a structure as argument: compress, uncompress and all gz* functions. - See contrib/visual-basic.txt for more information, or get - http://www.tcfb.com/dowseware/cmp-z-it.zip - -- For 64-bit Irix, deflate.c must be compiled without any optimization. - With -O, one libpng test fails. The test works in 32 bit mode (with - the -n32 compiler flag). The compiler bug has been reported to SGI. - -- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 - it works when compiled with cc. - -- on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 - is necessary to get gzprintf working correctly. This is done by configure. - -- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works - with other compilers. Use "make test" to check your compiler. - -- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. - -- For Turbo C the small model is supported only with reduced performance to - avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 - -- For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html - Per Harald Myrvang <pe...@st...> - - -Acknowledgments: - - The deflate format used by zlib was defined by Phil Katz. The deflate - and zlib specifications were written by L. Peter Deutsch. Thanks to all the - people who reported problems and suggested various improvements in zlib; - they are too numerous to cite here. - -Copyright notice: - - (C) 1995-2002 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jl...@gz... ma...@al... - -If you use the zlib library in a product, we would appreciate *not* -receiving lengthy legal documents to sign. The sources are provided -for free but without warranty of any kind. The library has been -entirely written by Jean-loup Gailly and Mark Adler; it does not -include third-party code. - -If you redistribute modified sources, we would appreciate that you include -in the file ChangeLog history information documenting your changes. Index: ircd-ircdev/libs/zlib/adler32.c diff -u ircd-ircdev/libs/zlib/adler32.c:1.1 ircd-ircdev/libs/zlib/adler32.c:removed --- ircd-ircdev/libs/zlib/adler32.c:1.1 Fri Nov 14 19:11:54 2003 +++ ircd-ircdev/libs/zlib/adler32.c Mon Jan 10 04:41:57 2005 @@ -1,48 +0,0 @@ -/* adler32.c -- compute the Adler-32 checksum of a data stream - * Copyright (C) 1995-2002 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id: adler32.c,v 1.1 2003/11/15 03:11:54 zolty Exp $ */ - -#include "zlib.h" - -#define BASE 65521L /* largest prime smaller than 65536 */ -#define NMAX 5552 -/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ - -#define DO1(buf,i) {s1 += buf[i]; s2 += s1;} -#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); -#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); -#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); -#define DO... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-01-10 12:43:17
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:43:02 UTC Removed files: libs/zlib/msdos/Makefile.b32 libs/zlib/msdos/Makefile.bor libs/zlib/msdos/Makefile.dj2 libs/zlib/msdos/Makefile.emx libs/zlib/msdos/Makefile.msc libs/zlib/msdos/Makefile.tc libs/zlib/msdos/Makefile.w32 libs/zlib/msdos/Makefile.wat libs/zlib/msdos/zlib.def libs/zlib/msdos/zlib.rc Log message: Author: Log message: ---------------------- diff included ---------------------- Index: ircd-ircdev/libs/zlib/msdos/Makefile.b32 diff -u ircd-ircdev/libs/zlib/msdos/Makefile.b32:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.b32:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.b32:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.b32 Mon Jan 10 04:43:02 2005 @@ -1,104 +0,0 @@ -# Makefile for zlib -# Borland C++ - -# This version of the zlib makefile was adapted by Chris Young for use -# with Borland C 4.5x with the Dos Power Pack for a 32-bit protected mode -# flat memory model. It was created for use with POV-Ray ray tracer and -# you may choose to edit the CFLAGS to suit your needs but the -# switches -WX and -DMSDOS are required. -# -- Chris Young 767...@co... - -# To use, do "make -fmakefile.b32" - -# See zconf.h for details about the memory requirements. - -# ------------- Borland C++ ------------- -MODEL=-WX -CFLAGS= $(MODEL) -P-C -K -N- -k- -d -3 -r- -v- -f -DMSDOS -CC=bcc32 -LD=bcc32 -LIB=tlib -LDFLAGS= $(MODEL) -O=.obj - -# variables -OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ - trees$(O) -OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\ - trees$(O) -OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \ - infutil$(O) inffast$(O) -OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\ - infutil$(O)+inffast$(O) - -all: test - -adler32.obj: adler32.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -compress.obj: compress.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -crc32.obj: crc32.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -gzio.obj: gzio.c zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\ - infcodes.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\ - infcodes.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h - $(CC) -c $(CFLAGS) $*.c - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - $(CC) -c $(CFLAGS) $*.c - -infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -uncompr.obj: uncompr.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -example.obj: example.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: minigzip.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -# we must cut the command line to fit in the MS/DOS 128 byte limit: -zlib.lib: $(OBJ1) $(OBJ2) - del zlib.lib - $(LIB) zlib +$(OBJP1) - $(LIB) zlib +$(OBJP2) - -example.exe: example.obj zlib.lib - $(LD) $(LDFLAGS) example.obj zlib.lib - -minigzip.exe: minigzip.obj zlib.lib - $(LD) $(LDFLAGS) minigzip.obj zlib.lib - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/Makefile.bor diff -u ircd-ircdev/libs/zlib/msdos/Makefile.bor:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.bor:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.bor:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.bor Mon Jan 10 04:43:03 2005 @@ -1,125 +0,0 @@ -# Makefile for zlib -# Borland C++ ************ UNTESTED *********** - -# To use, do "make -fmakefile.bor" -# To compile in small model, set below: MODEL=s - -# WARNING: the small model is supported but only for small values of -# MAX_WBITS and MAX_MEM_LEVEL. For example: -# -DMAX_WBITS=11 -DDEF_WBITS=11 -DMAX_MEM_LEVEL=3 -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to the LOC macro below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------- Turbo C++, Borland C++ ------------- - -# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) -# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added -# to the declaration of LOC here: -LOC = $(LOCAL_ZLIB) - -# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. -CPU_TYP = 0 - -# Memory model: one of s, m, c, l (small, medium, compact, large) -MODEL=l - -CC=bcc -# replace bcc with tcc for Turbo C++ 1.0, with bcc32 for the 32 bit version -LD=$(CC) -AR=tlib - -# compiler flags -CFLAGS=-O2 -Z -m$(MODEL) $(LOC) -# replace "-O2" by "-O -G -a -d" for Turbo C++ 1.0 - -LDFLAGS=-m$(MODEL) - -O=.obj - -# variables -OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ - trees$(O) -OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\ - trees$(O) -OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \ - infutil$(O) inffast$(O) -OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\ - infutil$(O)+inffast$(O) - -ZLIB_H = zlib.h zconf.h -ZUTIL_H = zutil.h $(ZLIB_H) - -ZLIB_LIB = zlib_$(MODEL).lib - -all: test - -# individual dependencies and action rules: -adler32.obj: adler32.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -compress.obj: compress.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -crc32.obj: crc32.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -gzio.obj: gzio.c $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -inflate.obj: inflate.c $(ZUTIL_H) infblock.h - $(CC) -c $(CFLAGS) $*.c - -inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h - $(CC) -c $(CFLAGS) $*.c - -infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -trees.obj: trees.c deflate.h $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -uncompr.obj: uncompr.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -zutil.obj: zutil.c $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -example.obj: example.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: minigzip.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -# we must cut the command line to fit in the MS/DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) +$(OBJP1) - $(AR) $(ZLIB_LIB) +$(OBJP2) - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/Makefile.dj2 diff -u ircd-ircdev/libs/zlib/msdos/Makefile.dj2:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.dj2:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.dj2:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.dj2 Mon Jan 10 04:43:03 2005 @@ -1,100 +0,0 @@ -# Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96. -# Copyright (C) 1995-1998 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.dj2; make test -fmakefile.dj2 -# -# To install libz.a, zconf.h and zlib.h in the djgpp directories, type: -# -# make install -fmakefile.dj2 -# -# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as -# in the sample below if the pattern of the DJGPP distribution is to -# be followed. Remember that, while <sp>'es around <=> are ignored in -# makefiles, they are *not* in batch files or in djgpp.env. -# - - - - - -# [make] -# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include -# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib -# BUTT=-m486 -# - - - - - -# Alternately, these variables may be defined below, overriding the values -# in djgpp.env, as -# INCLUDE_PATH=c:\usr\include -# LIBRARY_PATH=c:\usr\lib - -CC=gcc - -#CFLAGS=-MMD -O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-MMD -g -DDEBUG -CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes - -# If cp.exe is available, replace "copy /Y" with "cp -fp" . -CP=copy /Y -# If gnu install.exe is available, replace $(CP) with ginstall. -INSTALL=$(CP) -# The default value of RM is "rm -f." If "rm.exe" is found, comment out: -RM=del -LDLIBS=-L. -lz -LD=$(CC) -s -o -LDSHARED=$(CC) - -INCL=zlib.h zconf.h -LIBS=libz.a - -AR=ar rcs - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: example.exe minigzip.exe - -test: all - ./example - echo hello world | .\minigzip | .\minigzip -d - -%.o : %.c - $(CC) $(CFLAGS) -c $< -o $@ - -libz.a: $(OBJS) - $(AR) $@ $(OBJS) - -%.exe : %.o $(LIBS) - $(LD) $@ $< $(LDLIBS) - -# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env . - -.PHONY : uninstall clean - -install: $(INCL) $(LIBS) - -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH) - -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH) - $(INSTALL) zlib.h $(INCLUDE_PATH) - $(INSTALL) zconf.h $(INCLUDE_PATH) - $(INSTALL) libz.a $(LIBRARY_PATH) - -uninstall: - $(RM) $(INCLUDE_PATH)\zlib.h - $(RM) $(INCLUDE_PATH)\zconf.h - $(RM) $(LIBRARY_PATH)\libz.a - -clean: - $(RM) *.d - $(RM) *.o - $(RM) *.exe - $(RM) libz.a - $(RM) foo.gz - -DEPS := $(wildcard *.d) -ifneq ($(DEPS),) -include $(DEPS) -endif Index: ircd-ircdev/libs/zlib/msdos/Makefile.emx diff -u ircd-ircdev/libs/zlib/msdos/Makefile.emx:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.emx:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.emx:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.emx Mon Jan 10 04:43:03 2005 @@ -1,69 +0,0 @@ -# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98. -# Copyright (C) 1995-1998 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.emx; make test -fmakefile.emx -# - -CC=gcc - -#CFLAGS=-MMD -O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-MMD -g -DDEBUG -CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes - -# If cp.exe is available, replace "copy /Y" with "cp -fp" . -CP=copy /Y -# If gnu install.exe is available, replace $(CP) with ginstall. -INSTALL=$(CP) -# The default value of RM is "rm -f." If "rm.exe" is found, comment out: -RM=del -LDLIBS=-L. -lzlib -LD=$(CC) -s -o -LDSHARED=$(CC) - -INCL=zlib.h zconf.h -LIBS=zlib.a - -AR=ar rcs - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: example.exe minigzip.exe - -test: all - ./example - echo hello world | .\minigzip | .\minigzip -d - -%.o : %.c - $(CC) $(CFLAGS) -c $< -o $@ - -zlib.a: $(OBJS) - $(AR) $@ $(OBJS) - -%.exe : %.o $(LIBS) - $(LD) $@ $< $(LDLIBS) - - -.PHONY : clean - -clean: - $(RM) *.d - $(RM) *.o - $(RM) *.exe - $(RM) zlib.a - $(RM) foo.gz - -DEPS := $(wildcard *.d) -ifneq ($(DEPS),) -include $(DEPS) -endif Index: ircd-ircdev/libs/zlib/msdos/Makefile.msc diff -u ircd-ircdev/libs/zlib/msdos/Makefile.msc:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.msc:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.msc:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.msc Mon Jan 10 04:43:03 2005 @@ -1,121 +0,0 @@ -# Makefile for zlib -# Microsoft C 5.1 or later - -# To use, do "make makefile.msc" -# To compile in small model, set below: MODEL=S - -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to the LOC macro below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------- Microsoft C 5.1 and later ------------- - -# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) -# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added -# to the declaration of LOC here: -LOC = $(LOCAL_ZLIB) - -# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. -CPU_TYP = 0 - -# Memory model: one of S, M, C, L (small, medium, compact, large) -MODEL=L - -CC=cl -CFLAGS=-nologo -A$(MODEL) -G$(CPU_TYP) -W3 -Oait -Gs $(LOC) -#-Ox generates bad code with MSC 5.1 -LIB_CFLAGS=-Zl $(CFLAGS) - -LD=link -LDFLAGS=/noi/e/st:0x1500/noe/farcall/packcode -# "/farcall/packcode" are only useful for `large code' memory models -# but should be a "no-op" for small code models. - -O=.obj - -# variables -OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ - trees$(O) -OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\ - trees$(O) -OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \ - infutil$(O) inffast$(O) -OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\ - infutil$(O)+inffast$(O) - -ZLIB_H = zlib.h zconf.h -ZUTIL_H = zutil.h $(ZLIB_H) - -ZLIB_LIB = zlib_$(MODEL).lib - -all: $(ZLIB_LIB) example.exe minigzip.exe - -# individual dependencies and action rules: -adler32.obj: adler32.c $(ZLIB_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -compress.obj: compress.c $(ZLIB_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -crc32.obj: crc32.c $(ZLIB_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h $(ZUTIL_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -gzio.obj: gzio.c $(ZUTIL_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h - $(CC) -c $(LIB_CFLAGS) $*.c - -infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h - $(CC) -c $(LIB_CFLAGS) $*.c - -inflate.obj: inflate.c $(ZUTIL_H) infblock.h - $(CC) -c $(LIB_CFLAGS) $*.c - -inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h - $(CC) -c $(LIB_CFLAGS) $*.c - -infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h - $(CC) -c $(LIB_CFLAGS) $*.c - -inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h - $(CC) -c $(LIB_CFLAGS) $*.c - -trees.obj: trees.c deflate.h $(ZUTIL_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -uncompr.obj: uncompr.c $(ZLIB_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -zutil.obj: zutil.c $(ZUTIL_H) - $(CC) -c $(LIB_CFLAGS) $*.c - -example.obj: example.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: minigzip.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -# we must cut the command line to fit in the MS/DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - if exist $(ZLIB_LIB) del $(ZLIB_LIB) - lib $(ZLIB_LIB) $(OBJ1); - lib $(ZLIB_LIB) $(OBJ2); - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj,,,$(ZLIB_LIB); - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj,,,$(ZLIB_LIB); - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/Makefile.tc diff -u ircd-ircdev/libs/zlib/msdos/Makefile.tc:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.tc:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.tc:1.1 Fri Nov 14 19:11:56 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.tc Mon Jan 10 04:43:04 2005 @@ -1,108 +0,0 @@ -# Makefile for zlib -# TurboC 2.0 - -# To use, do "make -fmakefile.tc" -# To compile in small model, set below: MODEL=-ms - -# WARNING: the small model is supported but only for small values of -# MAX_WBITS and MAX_MEM_LEVEL. For example: -# -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to CFLAGS below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------- Turbo C 2.0 ------------- -MODEL=l -# CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 -CFLAGS=-O2 -G -Z -m$(MODEL) -CC=tcc -I\tc\include -LD=tcc -L\tc\lib -AR=tlib -LDFLAGS=-m$(MODEL) -f- -O=.obj - -# variables -OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ - trees$(O) -OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\ - trees$(O) -OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \ - infutil$(O) inffast$(O) -OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\ - infutil$(O)+inffast$(O) - -ZLIB_H = zlib.h zconf.h -ZUTIL_H = zutil.h $(ZLIB_H) - -ZLIB_LIB = zlib_$(MODEL).lib - -all: test - -adler32.obj: adler32.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -compress.obj: compress.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -crc32.obj: crc32.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -gzio.obj: gzio.c $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -inflate.obj: inflate.c $(ZUTIL_H) infblock.h - $(CC) -c $(CFLAGS) $*.c - -inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h - $(CC) -c $(CFLAGS) $*.c - -infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -trees.obj: trees.c deflate.h $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -uncompr.obj: uncompr.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -zutil.obj: zutil.c $(ZUTIL_H) - $(CC) -c $(CFLAGS) $*.c - -example.obj: example.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: minigzip.c $(ZLIB_H) - $(CC) -c $(CFLAGS) $*.c - -# we must cut the command line to fit in the MS/DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) +$(OBJP1) - $(AR) $(ZLIB_LIB) +$(OBJP2) - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) -eexample.exe example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) -eminigzip.exe minigzip.obj $(ZLIB_LIB) - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/Makefile.w32 diff -u ircd-ircdev/libs/zlib/msdos/Makefile.w32:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.w32:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.w32:1.1 Fri Nov 14 19:11:57 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.w32 Mon Jan 10 04:43:04 2005 @@ -1,97 +0,0 @@ -# Makefile for zlib -# Microsoft 32-bit Visual C++ 4.0 or later (may work on earlier versions) - -# To use, do "nmake /f makefile.w32" - -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to CFLAGS below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------- Microsoft Visual C++ 4.0 and later ------------- -MODEL= -CFLAGS=-Ox -GA3s -nologo -W3 -CC=cl -LD=link -LDFLAGS= -O=.obj - -# variables -OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ - trees$(O) -OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\ - trees$(O) -OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \ - infutil$(O) inffast$(O) -OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\ - infutil$(O)+inffast$(O) - -all: zlib.lib example.exe minigzip.exe - -adler32.obj: adler32.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -compress.obj: compress.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -crc32.obj: crc32.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -gzio.obj: gzio.c zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\ - infcodes.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\ - infcodes.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h - $(CC) -c $(CFLAGS) $*.c - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - $(CC) -c $(CFLAGS) $*.c - -infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h - $(CC) -c $(CFLAGS) $*.c - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h - $(CC) -c $(CFLAGS) $*.c - -trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -uncompr.obj: uncompr.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -example.obj: example.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: minigzip.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -zlib.lib: $(OBJ1) $(OBJ2) - if exist zlib.lib del zlib.lib - lib /OUT:zlib.lib $(OBJ1) $(OBJ2) - -example.exe: example.obj zlib.lib - $(LD) $(LDFLAGS) example.obj zlib.lib /OUT:example.exe /SUBSYSTEM:CONSOLE - -minigzip.exe: minigzip.obj zlib.lib - $(LD) $(LDFLAGS) minigzip.obj zlib.lib /OUT:minigzip.exe /SUBSYSTEM:CONSOLE - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/Makefile.wat diff -u ircd-ircdev/libs/zlib/msdos/Makefile.wat:1.1 ircd-ircdev/libs/zlib/msdos/Makefile.wat:removed --- ircd-ircdev/libs/zlib/msdos/Makefile.wat:1.1 Fri Nov 14 19:11:57 2003 +++ ircd-ircdev/libs/zlib/msdos/Makefile.wat Mon Jan 10 04:43:04 2005 @@ -1,103 +0,0 @@ -# Makefile for zlib -# Watcom 10a - -# This version of the zlib makefile was adapted by Chris Young for use -# with Watcom 10a 32-bit protected mode flat memory model. It was created -# for use with POV-Ray ray tracer and you may choose to edit the CFLAGS to -# suit your needs but the -DMSDOS is required. -# -- Chris Young 767...@co... - -# To use, do "wmake -f makefile.wat" - -# See zconf.h for details about the memory requirements. - -# ------------- Watcom 10a ------------- -MODEL=-mf -CFLAGS= $(MODEL) -fpi87 -fp5 -zp4 -5r -w5 -oneatx -DMSDOS -CC=wcc386 -LD=wcl386 -LIB=wlib -b -c -LDFLAGS= -O=.obj - -# variables -OBJ1=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) -OBJ2=trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) -OBJ3=infutil$(O) inffast$(O) -OBJP1=adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O) -OBJP2=trees$(O)+zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O) -OBJP3=infutil$(O)+inffast$(O) - -all: test - -adler32.obj: adler32.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -compress.obj: compress.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -crc32.obj: crc32.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -gzio.obj: gzio.c zutil.h zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h & - infcodes.h infutil.h - $(CC) $(CFLAGS) $*.c - -infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h & - infcodes.h inffast.h - $(CC) $(CFLAGS) $*.c - -inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h - $(CC) $(CFLAGS) $*.c - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - $(CC) $(CFLAGS) $*.c - -infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h - $(CC) $(CFLAGS) $*.c - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h - $(CC) $(CFLAGS) $*.c - -trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -uncompr.obj: uncompr.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -example.obj: example.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -minigzip.obj: minigzip.c zlib.h zconf.h - $(CC) $(CFLAGS) $*.c - -# we must cut the command line to fit in the MS/DOS 128 byte limit: -zlib.lib: $(OBJ1) $(OBJ2) $(OBJ3) - del zlib.lib - $(LIB) zlib.lib +$(OBJP1) - $(LIB) zlib.lib +$(OBJP2) - $(LIB) zlib.lib +$(OBJP3) - -example.exe: example.obj zlib.lib - $(LD) $(LDFLAGS) example.obj zlib.lib - -minigzip.exe: minigzip.obj zlib.lib - $(LD) $(LDFLAGS) minigzip.obj zlib.lib - -test: minigzip.exe example.exe - example - echo hello world | minigzip | minigzip -d >test - type test - -#clean: -# del *.obj -# del *.exe Index: ircd-ircdev/libs/zlib/msdos/zlib.def diff -u ircd-ircdev/libs/zlib/msdos/zlib.def:1.1 ircd-ircdev/libs/zlib/msdos/zlib.def:removed --- ircd-ircdev/libs/zlib/msdos/zlib.def:1.1 Fri Nov 14 19:11:57 2003 +++ ircd-ircdev/libs/zlib/msdos/zlib.def Mon Jan 10 04:43:04 2005 @@ -1,60 +0,0 @@ -LIBRARY "zlib" - -DESCRIPTION '"""zlib data compression library"""' - -EXETYPE NT - -SUBSYSTEM WINDOWS - -STUB 'WINSTUB.EXE' - -VERSION 1.13 - -CODE EXECUTE READ - -DATA READ WRITE - -HEAPSIZE 1048576,4096 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 Index: ircd-ircdev/libs/zlib/msdos/zlib.rc diff -u ircd-ircdev/libs/zlib/msdos/zlib.rc:1.1 ircd-ircdev/libs/zlib/msdos/zlib.rc:removed --- ircd-ircdev/libs/zlib/msdos/zlib.rc:1.1 Fri Nov 14 19:11:57 2003 +++ ircd-ircdev/libs/zlib/msdos/zlib.rc Mon Jan 10 04:43:04 2005 @@ -1,32 +0,0 @@ -#include <windows.h> - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1,1,3,0 - PRODUCTVERSION 1,1,3,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression library\0" - VALUE "FileVersion", "1.1.3\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlib.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-1998 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-10 12:45:24
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 12:45:07 UTC Removed files: libs/zlib/contrib/README.contrib libs/zlib/contrib/visual-basic.txt libs/zlib/contrib/asm386/gvmat32.asm libs/zlib/contrib/asm386/gvmat32c.c libs/zlib/contrib/asm386/mkgvmt32.bat libs/zlib/contrib/asm386/zlibvc.def libs/zlib/contrib/asm386/zlibvc.dsp libs/zlib/contrib/asm386/zlibvc.dsw libs/zlib/contrib/asm586/README.586 libs/zlib/contrib/asm586/match.S libs/zlib/contrib/asm686/README.686 libs/zlib/contrib/asm686/match.S libs/zlib/contrib/delphi2/d_zlib.bpr libs/zlib/contrib/delphi2/d_zlib.cpp libs/zlib/contrib/delphi2/readme.txt libs/zlib/contrib/delphi2/zlib.bpg libs/zlib/contrib/delphi2/zlib.bpr libs/zlib/contrib/delphi2/zlib.cpp libs/zlib/contrib/delphi2/zlib.pas libs/zlib/contrib/delphi2/zlib32.bpr libs/zlib/contrib/delphi2/zlib32.cpp libs/zlib/contrib/delphi/zlib.mak libs/zlib/contrib/delphi/zlibdef.pas libs/zlib/contrib/iostream2/zstream.h libs/zlib/contrib/iostream2/zstream_test.cpp libs/zlib/contrib/iostream/test.cpp libs/zlib/contrib/iostream/zfstream.cpp libs/zlib/contrib/iostream/zfstream.h libs/zlib/contrib/minizip/ChangeLogUnzip libs/zlib/contrib/minizip/Makefile libs/zlib/contrib/minizip/miniunz.c libs/zlib/contrib/minizip/minizip.c libs/zlib/contrib/minizip/readme.txt libs/zlib/contrib/minizip/unzip.c libs/zlib/contrib/minizip/unzip.def libs/zlib/contrib/minizip/unzip.h libs/zlib/contrib/minizip/zip.c libs/zlib/contrib/minizip/zip.def libs/zlib/contrib/minizip/zip.h libs/zlib/contrib/minizip/zlibvc.def libs/zlib/contrib/minizip/zlibvc.dsp libs/zlib/contrib/minizip/zlibvc.dsw libs/zlib/contrib/untgz/Makefile libs/zlib/contrib/untgz/makefile.w32 libs/zlib/contrib/untgz/untgz.c libs/zlib/nt/Makefile.emx libs/zlib/nt/Makefile.gcc libs/zlib/nt/Makefile.nt libs/zlib/nt/zlib.dnt libs/zlib/os2/Makefile.os2 libs/zlib/os2/zlib.def Log message: Borrando libreria zlib antigua ---------------------- diff included ---------------------- Index: ircd-ircdev/libs/zlib/contrib/README.contrib diff -u ircd-ircdev/libs/zlib/contrib/README.contrib:1.1 ircd-ircdev/libs/zlib/contrib/README.contrib:removed --- ircd-ircdev/libs/zlib/contrib/README.contrib:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/README.contrib Mon Jan 10 04:45:07 2005 @@ -1,34 +0,0 @@ -All files under this contrib directory are UNSUPPORTED. There were -provided by users of zlib and were not tested by the authors of zlib. -Use at your own risk. Please contact the authors of the contributions -for help about these, not the zlib authors. Thanks. - - -asm386/ by Gilles Vollant <in...@wi...> - 386 asm code replacing longest_match(), for Visual C++ 4.2 and ML 6.11c - -asm586/ and asm686/ by Brian Raiter <bre...@mu...> - asm code for Pentium and Pentium Pro - See http://www.muppetlabs.com/~breadbox/software/assembly.html - -delphi/ by Bob Dellaca <bo...@xt...> - Support for Delphi - -delphi2/ by Davide Moretti <da...@ri...> - Another support for C++Builder and Delphi - -minizip/ by Gilles Vollant <in...@wi...> - Mini zip and unzip based on zlib - See http://www.winimage.com/zLibDll/unzip.html - -iostream/ by Kevin Ruland <ke...@ro...> - A C++ I/O streams interface to the zlib gz* functions - -iostream2/ by Tyge Løvset <Tyg...@cm...> - Another C++ I/O streams interface - -untgz/ by "Pedro A. Aranda Guti\irrez" <pa...@ti...> - A very simple tar.gz file extractor using zlib - -visual-basic.txt by Carlos Rios <c_...@so...> - How to use compress(), uncompress() and the gz* functions from VB. Index: ircd-ircdev/libs/zlib/contrib/asm386/gvmat32.asm diff -u ircd-ircdev/libs/zlib/contrib/asm386/gvmat32.asm:1.1 ircd-ircdev/libs/zlib/contrib/asm386/gvmat32.asm:removed --- ircd-ircdev/libs/zlib/contrib/asm386/gvmat32.asm:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/gvmat32.asm Mon Jan 10 04:45:07 2005 @@ -1,559 +0,0 @@ -; -; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86 -; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant. -; File written by Gilles Vollant, by modifiying the longest_match -; from Jean-loup Gailly in deflate.c -; It need wmask == 0x7fff -; (assembly code is faster with a fixed wmask) -; -; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK) -; I compile with : "ml /coff /Zi /c gvmat32.asm" -; - -;uInt longest_match_7fff(s, cur_match) -; deflate_state *s; -; IPos cur_match; /* current match */ - - NbStack equ 76 - cur_match equ dword ptr[esp+NbStack-0] - str_s equ dword ptr[esp+NbStack-4] -; 5 dword on top (ret,ebp,esi,edi,ebx) - adrret equ dword ptr[esp+NbStack-8] - pushebp equ dword ptr[esp+NbStack-12] - pushedi equ dword ptr[esp+NbStack-16] - pushesi equ dword ptr[esp+NbStack-20] - pushebx equ dword ptr[esp+NbStack-24] - - chain_length equ dword ptr [esp+NbStack-28] - limit equ dword ptr [esp+NbStack-32] - best_len equ dword ptr [esp+NbStack-36] - window equ dword ptr [esp+NbStack-40] - prev equ dword ptr [esp+NbStack-44] - scan_start equ word ptr [esp+NbStack-48] - wmask equ dword ptr [esp+NbStack-52] - match_start_ptr equ dword ptr [esp+NbStack-56] - nice_match equ dword ptr [esp+NbStack-60] - scan equ dword ptr [esp+NbStack-64] - - windowlen equ dword ptr [esp+NbStack-68] - match_start equ dword ptr [esp+NbStack-72] - strend equ dword ptr [esp+NbStack-76] - NbStackAdd equ (NbStack-24) - - .386p - - name gvmatch - .MODEL FLAT - - - -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure - dep_chain_length equ 70h+4 - dep_window equ 2ch+4 - dep_strstart equ 60h+4 - dep_prev_length equ 6ch+4 - dep_nice_match equ 84h+4 - dep_w_size equ 20h+4 - dep_prev equ 34h+4 - dep_w_mask equ 28h+4 - dep_good_match equ 80h+4 - dep_match_start equ 64h+4 - dep_lookahead equ 68h+4 - - -_TEXT segment - -IFDEF NOUNDERLINE - public longest_match_7fff -; public match_init -ELSE - public _longest_match_7fff -; public _match_init -ENDIF - - MAX_MATCH equ 258 - MIN_MATCH equ 3 - MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - - -IFDEF NOUNDERLINE -;match_init proc near -; ret -;match_init endp -ELSE -;_match_init proc near -; ret -;_match_init endp -ENDIF - - -IFDEF NOUNDERLINE -longest_match_7fff proc near -ELSE -_longest_match_7fff proc near -ENDIF - - mov edx,[esp+4] - - - - push ebp - push edi - push esi - push ebx - - sub esp,NbStackAdd - -; initialize or check the variables used in match.asm. - mov ebp,edx - -; chain_length = s->max_chain_length -; if (prev_length>=good_match) chain_length >>= 2 - mov edx,[ebp+dep_chain_length] - mov ebx,[ebp+dep_prev_length] - cmp [ebp+dep_good_match],ebx - ja noshr - shr edx,2 -noshr: -; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop - inc edx - mov edi,[ebp+dep_nice_match] - mov chain_length,edx - mov eax,[ebp+dep_lookahead] - cmp eax,edi -; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - jae nolookaheadnicematch - mov edi,eax -nolookaheadnicematch: -; best_len = s->prev_length - mov best_len,ebx - -; window = s->window - mov esi,[ebp+dep_window] - mov ecx,[ebp+dep_strstart] - mov window,esi - - mov nice_match,edi -; scan = window + strstart - add esi,ecx - mov scan,esi -; dx = *window - mov dx,word ptr [esi] -; bx = *(window+best_len-1) - mov bx,word ptr [esi+ebx-1] - add esi,MAX_MATCH-1 -; scan_start = *scan - mov scan_start,dx -; strend = scan + MAX_MATCH-1 - mov strend,esi -; bx = scan_end = *(window+best_len-1) - -; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -; s->strstart - (IPos)MAX_DIST(s) : NIL; - - mov esi,[ebp+dep_w_size] - sub esi,MIN_LOOKAHEAD -; here esi = MAX_DIST(s) - sub ecx,esi - ja nodist - xor ecx,ecx -nodist: - mov limit,ecx - -; prev = s->prev - mov edx,[ebp+dep_prev] - mov prev,edx - -; - mov edx,dword ptr [ebp+dep_match_start] - mov bp,scan_start - mov eax,cur_match - mov match_start,edx - - mov edx,window - mov edi,edx - add edi,best_len - mov esi,prev - dec edi -; windowlen = window + best_len -1 - mov windowlen,edi - - jmp beginloop2 - align 4 - -; here, in the loop -; eax = ax = cur_match -; ecx = limit -; bx = scan_end -; bp = scan_start -; edi = windowlen (window + best_len -1) -; esi = prev - - -;// here; chain_length <=16 -normalbeg0add16: - add chain_length,16 - jz exitloop -normalbeg0: - cmp word ptr[edi+eax],bx - je normalbeg2noroll -rcontlabnoroll: -; cur_match = prev[cur_match & wmask] - and eax,7fffh - mov ax,word ptr[esi+eax*2] -; if cur_match > limit, go to exitloop - cmp ecx,eax - jnb exitloop -; if --chain_length != 0, go to exitloop - dec chain_length - jnz normalbeg0 - jmp exitloop - -normalbeg2noroll: -; if (scan_start==*(cur_match+window)) goto normalbeg2 - cmp bp,word ptr[edx+eax] - jne rcontlabnoroll - jmp normalbeg2 - -contloop3: - mov edi,windowlen - -; cur_match = prev[cur_match & wmask] - and eax,7fffh - mov ax,word ptr[esi+eax*2] -; if cur_match > limit, go to exitloop - cmp ecx,eax -jnbexitloopshort1: - jnb exitloop -; if --chain_length != 0, go to exitloop - - -; begin the main loop -beginloop2: - sub chain_length,16+1 -; if chain_length <=16, don't use the unrolled loop - jna normalbeg0add16 - -do16: - cmp word ptr[edi+eax],bx - je normalbeg2dc0 - -maccn MACRO lab - and eax,7fffh - mov ax,word ptr[esi+eax*2] - cmp ecx,eax - jnb exitloop - cmp word ptr[edi+eax],bx - je lab - ENDM - -rcontloop0: - maccn normalbeg2dc1 - -rcontloop1: - maccn normalbeg2dc2 - -rcontloop2: - maccn normalbeg2dc3 - -rcontloop3: - maccn normalbeg2dc4 - -rcontloop4: - maccn normalbeg2dc5 - -rcontloop5: - maccn normalbeg2dc6 - -rcontloop6: - maccn normalbeg2dc7 - -rcontloop7: - maccn normalbeg2dc8 - -rcontloop8: - maccn normalbeg2dc9 - -rcontloop9: - maccn normalbeg2dc10 - -rcontloop10: - maccn short normalbeg2dc11 - -rcontloop11: - maccn short normalbeg2dc12 - -rcontloop12: - maccn short normalbeg2dc13 - -rcontloop13: - maccn short normalbeg2dc14 - -rcontloop14: - maccn short normalbeg2dc15 - -rcontloop15: - and eax,7fffh - mov ax,word ptr[esi+eax*2] - cmp ecx,eax - jnb exitloop - - sub chain_length,16 - ja do16 - jmp normalbeg0add16 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -normbeg MACRO rcontlab,valsub -; if we are here, we know that *(match+best_len-1) == scan_end - cmp bp,word ptr[edx+eax] -; if (match != scan_start) goto rcontlab - jne rcontlab -; calculate the good chain_length, and we'll compare scan and match string - add chain_length,16-valsub - jmp iseq - ENDM - - -normalbeg2dc11: - normbeg rcontloop11,11 - -normalbeg2dc12: - normbeg short rcontloop12,12 - -normalbeg2dc13: - normbeg short rcontloop13,13 - -normalbeg2dc14: - normbeg short rcontloop14,14 - -normalbeg2dc15: - normbeg short rcontloop15,15 - -normalbeg2dc10: - normbeg rcontloop10,10 - -normalbeg2dc9: - normbeg rcontloop9,9 - -normalbeg2dc8: - normbeg rcontloop8,8 - -normalbeg2dc7: - normbeg rcontloop7,7 - -normalbeg2dc6: - normbeg rcontloop6,6 - -normalbeg2dc5: - normbeg rcontloop5,5 - -normalbeg2dc4: - normbeg rcontloop4,4 - -normalbeg2dc3: - normbeg rcontloop3,3 - -normalbeg2dc2: - normbeg rcontloop2,2 - -normalbeg2dc1: - normbeg rcontloop1,1 - -normalbeg2dc0: - normbeg rcontloop0,0 - - -; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end - -normalbeg2: - mov edi,window - - cmp bp,word ptr[edi+eax] - jne contloop3 ; if *(ushf*)match != scan_start, continue - -iseq: -; if we are here, we know that *(match+best_len-1) == scan_end -; and (match == scan_start) - - mov edi,edx - mov esi,scan ; esi = scan - add edi,eax ; edi = window + cur_match = match - - mov edx,[esi+3] ; compare manually dword at match+3 - xor edx,[edi+3] ; and scan +3 - - jz begincompare ; if equal, go to long compare - -; we will determine the unmatch byte and calculate len (in esi) - or dl,dl - je eq1rr - mov esi,3 - jmp trfinval -eq1rr: - or dx,dx - je eq1 - - mov esi,4 - jmp trfinval -eq1: - and edx,0ffffffh - jz eq11 - mov esi,5 - jmp trfinval -eq11: - mov esi,6 - jmp trfinval - -begincompare: - ; here we now scan and match begin same - add edi,6 - add esi,6 - mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes - repe cmpsd ; loop until mismatch - - je trfin ; go to trfin if not unmatch -; we determine the unmatch byte - sub esi,4 - mov edx,[edi-4] - xor edx,[esi] - - or dl,dl - jnz trfin - inc esi - - or dx,dx - jnz trfin - inc esi - - and edx,0ffffffh - jnz trfin - inc esi - -trfin: - sub esi,scan ; esi = len -trfinval: -; here we have finised compare, and esi contain len of equal string - cmp esi,best_len ; if len > best_len, go newbestlen - ja short newbestlen -; now we restore edx, ecx and esi, for the big loop - mov esi,prev - mov ecx,limit - mov edx,window - jmp contloop3 - -newbestlen: - mov best_len,esi ; len become best_len - - mov match_start,eax ; save new position as match_start - cmp esi,nice_match ; if best_len >= nice_match, exit - jae exitloop - mov ecx,scan - mov edx,window ; restore edx=window - add ecx,esi - add esi,edx - - dec esi - mov windowlen,esi ; windowlen = window + best_len-1 - mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end - -; now we restore ecx and esi, for the big loop : - mov esi,prev - mov ecx,limit - jmp contloop3 - -exitloop: -; exit : s->match_start=match_start - mov ebx,match_start - mov ebp,str_s - mov ecx,best_len - mov dword ptr [ebp+dep_match_start],ebx - mov eax,dword ptr [ebp+dep_lookahead] - cmp ecx,eax - ja minexlo - mov eax,ecx -minexlo: -; return min(best_len,s->lookahead) - -; restore stack and register ebx,esi,edi,ebp - add esp,NbStackAdd - - pop ebx - pop esi - pop edi - pop ebp - ret -InfoAuthor: -; please don't remove this string ! -; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary! - db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah - - - -IFDEF NOUNDERLINE -longest_match_7fff endp -ELSE -_longest_match_7fff endp -ENDIF - - -IFDEF NOUNDERLINE -cpudetect32 proc near -ELSE -_cpudetect32 proc near -ENDIF - - - pushfd ; push original EFLAGS - pop eax ; get original EFLAGS - mov ecx, eax ; save original EFLAGS - xor eax, 40000h ; flip AC bit in EFLAGS - push eax ; save new EFLAGS value on stack - popfd ; replace current EFLAGS value - pushfd ; get new EFLAGS - pop eax ; store new EFLAGS in EAX - xor eax, ecx ; cant toggle AC bit, processor=80386 - jz end_cpu_is_386 ; jump if 80386 processor - push ecx - popfd ; restore AC bit in EFLAGS first - - pushfd - pushfd - pop ecx - - mov eax, ecx ; get original EFLAGS - xor eax, 200000h ; flip ID bit in EFLAGS - push eax ; save new EFLAGS value on stack - popfd ; replace current EFLAGS value - pushfd ; get new EFLAGS - pop eax ; store new EFLAGS in EAX - popfd ; restore original EFLAGS - xor eax, ecx ; cant toggle ID bit, - je is_old_486 ; processor=old - - mov eax,1 - db 0fh,0a2h ;CPUID - -exitcpudetect: - ret - -end_cpu_is_386: - mov eax,0300h - jmp exitcpudetect - -is_old_486: - mov eax,0400h - jmp exitcpudetect - -IFDEF NOUNDERLINE -cpudetect32 endp -ELSE -_cpudetect32 endp -ENDIF - -_TEXT ends -end Index: ircd-ircdev/libs/zlib/contrib/asm386/gvmat32c.c diff -u ircd-ircdev/libs/zlib/contrib/asm386/gvmat32c.c:1.1 ircd-ircdev/libs/zlib/contrib/asm386/gvmat32c.c:removed --- ircd-ircdev/libs/zlib/contrib/asm386/gvmat32c.c:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/gvmat32c.c Mon Jan 10 04:45:07 2005 @@ -1,200 +0,0 @@ -/* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86 - * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant. - * File written by Gilles Vollant, by modifiying the longest_match - * from Jean-loup Gailly in deflate.c - * it prepare all parameters and call the assembly longest_match_gvasm - * longest_match execute standard C code is wmask != 0x7fff - * (assembly code is faster with a fixed wmask) - * - */ - -#include "deflate.h" - -#undef FAR -#include <windows.h> - -#ifdef ASMV -#define NIL 0 - -#define UNALIGNED_OK - - -/* if your C compiler don't add underline before function name, - define ADD_UNDERLINE_ASMFUNC */ -#ifdef ADD_UNDERLINE_ASMFUNC -#define longest_match_7fff _longest_match_7fff -#endif - - - -void match_init() -{ -} - -unsigned long cpudetect32(); - -uInt longest_match_c( - deflate_state *s, - IPos cur_match); /* current match */ - - -uInt longest_match_7fff( - deflate_state *s, - IPos cur_match); /* current match */ - -uInt longest_match( - deflate_state *s, - IPos cur_match) /* current match */ -{ - static uInt iIsPPro=2; - - if ((s->w_mask == 0x7fff) && (iIsPPro==0)) - return longest_match_7fff(s,cur_match); - - if (iIsPPro==2) - iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0; - - return longest_match_c(s,cur_match); -} - - - -uInt longest_match_c(s, cur_match) - deflate_state *s; - IPos cur_match; /* current match */ -{ - unsigned chain_length = s->max_chain_length;/* max hash chain length */ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - int best_len = s->prev_length; /* best match length so far */ - int nice_match = s->nice_match; /* stop if match long enough */ - IPos limit = s->strstart > (IPos)MAX_DIST(s) ? - s->strstart - (IPos)MAX_DIST(s) : NIL; - /* Stop when cur_match becomes <= limit. To simplify the code, - * we prevent matches with the string of window index 0. - */ - Posf *prev = s->prev; - uInt wmask = s->w_mask; - -#ifdef UNALIGNED_OK - /* Compare two bytes at a time. Note: this is not always beneficial. - * Try with and without -DUNALIGNED_OK to check. - */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; - register ush scan_start = *(ushf*)scan; - register ush scan_end = *(ushf*)(scan+best_len-1); -#else - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - register Byte scan_end1 = scan[best_len-1]; - register Byte scan_end = scan[best_len]; -#endif - - /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. - * It is easy to get rid of this optimization if necessary. - */ - Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); - - /* Do not waste too much time if we already have a good match: */ - if (s->prev_length >= s->good_match) { - chain_length >>= 2; - } - /* Do not look for matches beyond the end of the input. This is necessary - * to make deflate deterministic. - */ - if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); - - do { - Assert(cur_match < s->strstart, "no future"); - match = s->window + cur_match; - - /* Skip to next match if the match length cannot increase - * or if the match length is less than 2: - */ -#if (defined(UNALIGNED_OK) && MAX_MATCH == 258) - /* This code assumes sizeof(unsigned short) == 2. Do not use - * UNALIGNED_OK if your compiler uses a different size. - */ - if (*(ushf*)(match+best_len-1) != scan_end || - *(ushf*)match != scan_start) continue; - - /* It is not necessary to compare scan[2] and match[2] since they are - * always equal when the other bytes match, given that the hash keys - * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at - * strstart+3, +5, ... up to strstart+257. We check for insufficient - * lookahead only every 4th comparison; the 128th check will be made - * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is - * necessary to put more guard bytes at the end of the window, or - * to check more often for insufficient lookahead. - */ - Assert(scan[2] == match[2], "scan[2]?"); - scan++, match++; - do { - } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - scan < strend); - /* The funny "do {}" generates better code on most compilers */ - - /* Here, scan <= window+strstart+257 */ - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - if (*scan == *match) scan++; - - len = (MAX_MATCH - 1) - (int)(strend-scan); - scan = strend - (MAX_MATCH-1); - -#else /* UNALIGNED_OK */ - - if (match[best_len] != scan_end || - match[best_len-1] != scan_end1 || - *match != *scan || - *++match != scan[1]) continue; - - /* The check at best_len-1 can be removed because it will be made - * again later. (This heuristic is not always a win.) - * It is not necessary to compare scan[2] and match[2] since they - * are always equal when the other bytes match, given that - * the hash keys are equal and that HASH_BITS >= 8. - */ - scan += 2, match++; - Assert(*scan == *match, "match[2]?"); - - /* We check for insufficient lookahead only every 8th comparison; - * the 256th check will be made at strstart+258. - */ - do { - } while (*++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - scan < strend); - - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - - len = MAX_MATCH - (int)(strend - scan); - scan = strend - MAX_MATCH; - -#endif /* UNALIGNED_OK */ - - if (len > best_len) { - s->match_start = cur_match; - best_len = len; - if (len >= nice_match) break; -#ifdef UNALIGNED_OK - scan_end = *(ushf*)(scan+best_len-1); -#else - scan_end1 = scan[best_len-1]; - scan_end = scan[best_len]; -#endif - } - } while ((cur_match = prev[cur_match & wmask]) > limit - && --chain_length != 0); - - if ((uInt)best_len <= s->lookahead) return (uInt)best_len; - return s->lookahead; -} - -#endif /* ASMV */ Index: ircd-ircdev/libs/zlib/contrib/asm386/mkgvmt32.bat diff -u ircd-ircdev/libs/zlib/contrib/asm386/mkgvmt32.bat:1.1 ircd-ircdev/libs/zlib/contrib/asm386/mkgvmt32.bat:removed --- ircd-ircdev/libs/zlib/contrib/asm386/mkgvmt32.bat:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/mkgvmt32.bat Mon Jan 10 04:45:08 2005 @@ -1 +0,0 @@ -c:\masm611\bin\ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm Index: ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.def diff -u ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.def:1.1 ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.def:removed --- ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.def:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.def Mon Jan 10 04:45:08 2005 @@ -1,74 +0,0 @@ -LIBRARY "zlib" - -DESCRIPTION '"""zlib data compression library"""' - - -VERSION 1.11 - - -HEAPSIZE 1048576,8192 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 Index: ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsp diff -u ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsp:1.1 ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsp:removed --- ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsp:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsp Mon Jan 10 04:45:08 2005 @@ -1,651 +0,0 @@ -# Microsoft Developer Studio Project File - Name="zlibvc" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 5.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 -# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602 - -CFG=zlibvc - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "zlibvc.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "zlibvc - Win32 ReleaseAxp" (based on\ - "Win32 (ALPHA) Dynamic-Link Library") -!MESSAGE "zlibvc - Win32 ReleaseWithoutAsm" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE "zlibvc - Win32 ReleaseWithoutCrtdll" (based on\ - "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir ".\Release" -# PROP BASE Intermediate_Dir ".\Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir ".\Release" -# PROP Intermediate_Dir ".\Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -CPP=cl.exe -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c -# SUBTRACT CPP /YX -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll" -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir ".\Debug" -# PROP BASE Intermediate_Dir ".\Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir ".\Debug" -# PROP Intermediate_Dir ".\Debug" -# PROP Target_Dir "" -CPP=cl.exe -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /FD /c -# SUBTRACT CPP /YX -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x40c /d "_DEBUG" -# ADD RSC /l 0x40c /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\zlib.dll" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "zlibvc__" -# PROP BASE Intermediate_Dir "zlibvc__" -# PROP BASE Ignore_Export_Lib 0 -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "zlibvc__" -# PROP Intermediate_Dir "zlibvc__" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -CPP=cl.exe -# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c -# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c -# SUBTRACT CPP /YX -RSC=rc.exe -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:".\Release\zlib.dll" -# SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:"zlibvc__\zlib.dll" -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "zlibvc_0" -# PROP BASE Intermediate_Dir "zlibvc_0" -# PROP BASE Ignore_Export_Lib 0 -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "zlibvc_0" -# PROP Intermediate_Dir "zlibvc_0" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -CPP=cl.exe -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c -# SUBTRACT CPP /YX -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll" -# SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_0\zlib.dll" -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "zlibvc_1" -# PROP BASE Intermediate_Dir "zlibvc_1" -# PROP BASE Ignore_Export_Lib 0 -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "zlibvc_1" -# PROP Intermediate_Dir "zlibvc_1" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -CPP=cl.exe -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c -# SUBTRACT CPP /YX -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -RSC=rc.exe -# ADD BASE RSC /l 0x40c /d "NDEBUG" -# ADD RSC /l 0x40c /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll" -# SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_1\zlib.dll" -# SUBTRACT LINK32 /pdb:none - -!ENDIF - -# Begin Target - -# Name "zlibvc - Win32 Release" -# Name "zlibvc - Win32 Debug" -# Name "zlibvc - Win32 ReleaseAxp" -# Name "zlibvc - Win32 ReleaseWithoutAsm" -# Name "zlibvc - Win32 ReleaseWithoutCrtdll" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" -# Begin Source File - -SOURCE=.\adler32.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_ADLER=\ - ".\zconf.h"\ - ".\zlib.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\compress.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_COMPR=\ - ".\zconf.h"\ - ".\zlib.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\crc32.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_CRC32=\ - ".\zconf.h"\ - ".\zlib.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\deflate.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_DEFLA=\ - ".\deflate.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\gvmat32c.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\gzio.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_GZIO_=\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\infblock.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFBL=\ - ".\infblock.h"\ - ".\infcodes.h"\ - ".\inftrees.h"\ - ".\infutil.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\infcodes.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFCO=\ - ".\infblock.h"\ - ".\infcodes.h"\ - ".\inffast.h"\ - ".\inftrees.h"\ - ".\infutil.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\inffast.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFFA=\ - ".\infblock.h"\ - ".\infcodes.h"\ - ".\inffast.h"\ - ".\inftrees.h"\ - ".\infutil.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\inflate.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFLA=\ - ".\infblock.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\inftrees.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFTR=\ - ".\inftrees.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\infutil.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_INFUT=\ - ".\infblock.h"\ - ".\infcodes.h"\ - ".\inftrees.h"\ - ".\infutil.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\trees.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_TREES=\ - ".\deflate.h"\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\uncompr.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_UNCOM=\ - ".\zconf.h"\ - ".\zlib.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\unzip.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\zip.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\zlib.rc -# End Source File -# Begin Source File - -SOURCE=.\zlibvc.def -# End Source File -# Begin Source File - -SOURCE=.\zutil.c - -!IF "$(CFG)" == "zlibvc - Win32 Release" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp" - -DEP_CPP_ZUTIL=\ - ".\zconf.h"\ - ".\zlib.h"\ - ".\zutil.h"\ - - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm" - -!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" -# Begin Source File - -SOURCE=.\deflate.h -# End Source File -# Begin Source File - -SOURCE=.\infblock.h -# End Source File -# Begin Source File - -SOURCE=.\infcodes.h -# End Source File -# Begin Source File - -SOURCE=.\inffast.h -# End Source File -# Begin Source File - -SOURCE=.\inftrees.h -# End Source File -# Begin Source File - -SOURCE=.\infutil.h -# End Source File -# Begin Source File - -SOURCE=.\zconf.h -# End Source File -# Begin Source File - -SOURCE=.\zlib.h -# End Source File -# Begin Source File - -SOURCE=.\zutil.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project Index: ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsw diff -u ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsw:1.1 ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsw:removed --- ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsw:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm386/zlibvc.dsw Mon Jan 10 04:45:08 2005 @@ -1,41 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 5.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "zlibstat"=.\zlibstat.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "zlibvc"=.\zlibvc.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - Index: ircd-ircdev/libs/zlib/contrib/asm586/README.586 diff -u ircd-ircdev/libs/zlib/contrib/asm586/README.586:1.1 ircd-ircdev/libs/zlib/contrib/asm586/README.586:removed --- ircd-ircdev/libs/zlib/contrib/asm586/README.586:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm586/README.586 Mon Jan 10 04:45:08 2005 @@ -1,43 +0,0 @@ -This is a patched version of zlib modified to use -Pentium-optimized assembly code in the deflation algorithm. The files -changed/added by this patch are: - -README.586 -match.S - -The effectiveness of these modifications is a bit marginal, as the the -program's bottleneck seems to be mostly L1-cache contention, for which -there is no real way to work around without rewriting the basic -algorithm. The speedup on average is around 5-10% (which is generally -less than the amount of variance between subsequent executions). -However, when used at level 9 compression, the cache contention can -drop enough for the assembly version to achieve 10-20% speedup (and -sometimes more, depending on the amount of overall redundancy in the -files). Even here, though, cache contention can still be the limiting -factor, depending on the nature of the program using the zlib library. -This may also mean that better improvements will be seen on a Pentium -with MMX, which suffers much less from L1-cache contention, but I have -not yet verified this. - -Note that this code has been tailored for the Pentium in particular, -and will not perform well on the Pentium Pro (due to the use of a -partial register in the inner loop). - -If you are using an assembler other than GNU as, you will have to -translate match.S to use your assembler's syntax. (Have fun.) - -Brian Raiter -br...@mu... -April, 1998 - - -Added for zlib 1.1.3: - -The patches come from -http://www.muppetlabs.com/~breadbox/software/assembly.html - -To compile zlib with this asm file, copy match.S to the zlib directory -then do: - -CFLAGS="-O3 -DASMV" ./configure -make OBJA=match.o Index: ircd-ircdev/libs/zlib/contrib/asm586/match.S diff -u ircd-ircdev/libs/zlib/contrib/asm586/match.S:1.1 ircd-ircdev/libs/zlib/contrib/asm586/match.S:removed --- ircd-ircdev/libs/zlib/contrib/asm586/match.S:1.1 Fri Nov 14 19:11:55 2003 +++ ircd-ircdev/libs/zlib/contrib/asm586/match.S Mon Jan 10 04:45:08 2005 @@ -1,354 +0,0 @@ -/* match.s -- Pentium-optimized version of longest_match() - * Written for zlib 1.1.2 - * Copyright (C) 1998 Brian Raiter <bre...@mu...> - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License. - */ - -#ifndef NO_UNDERLINE -#define match_init _match_init -#define longest_match _longest_match -#endif - -#define MAX_MATCH (258) -#define MIN_MATCH (3) -#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1) -#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7) - -/* stack frame offsets */ - -#define wmask 0 /* local copy of s->wmask */ -#define window 4 /* local copy of s->window */ -#define windowbestlen 8 /* s->window + bestlen */ -#define chainlenscanend 12 /* high word: current chain len */ - /* low word: last bytes sought */ -#define scanstart 16 /* first two bytes of string */ -#define scanalign 20 /* dword-misalignment of string */ -#define nicematch 24 /* a good enough match size */ -#define bestlen 28 /* size of best match so far */ -#define scan 32 /* ptr to string wanting match */ - -#define LocalVarsSize (36) -/* saved ebx 36 */ -/* saved edi 40 */ -/* saved esi 44 */ -/* saved ebp 48 */ -/* return address 52 */ -#define deflatestate 56 /* the function arguments */ -#define curmatch 60 - -/* Offsets for fields in the deflate_state structure. These numbers - * are calculated from the definition of deflate_state, with the - * assumption that the compiler will dword-align the fields. (Thus, - * changing the definition of deflate_state could easily cause this - * program to crash horribly, without so much as a warning at - * compile time. Sigh.) - */ -#define dsWSize 36 -#define dsWMask 44 -#define dsWindow 48 -#define dsPrev 56 -#define dsMatchLen 88 -#define dsPrevMatch 92 -#define dsStrStart 100 -#define dsMatchStart 104 -#define dsLookahead 108 -#define dsPrevLen 112 -#define dsMaxChainLen 116 -#define dsGoodMatch 132 -#define dsNiceMatch 136 - - -.file "match.S" - -.globl match_init, longest_match - -.text - -/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ - -longest_match: - -/* Save registers that the compiler may be using, and adjust %esp to */ -/* make room for our stack frame. */ - - pushl %ebp - pushl %edi - pushl %esi - pushl %ebx - subl $LocalVarsSize, %esp - -/* Retrieve the function arguments. %ecx will hold cur_match */ -/* throughout the entire function. %edx will hold the pointer to the */ -/* deflate_state structure during the function's setup (before */ -/* entering the main loop). */ - - movl deflatestate(%esp), %edx - movl curmatch(%esp), %ecx - -/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */ - - movl dsNiceMatch(%edx), %eax - movl dsLookahead(%edx), %ebx - cmpl %eax, %ebx - jl LookaheadLess - movl %eax, %ebx -LookaheadLess: movl %ebx, nicematch(%esp) - -/* register Bytef *scan = s->window + s->strstart; */ - - movl dsWindow(%edx), %esi - movl %esi, window(%esp) - movl dsStrStart(%edx), %ebp - lea (%esi,%ebp), %edi - movl %edi, scan(%esp) - -/* Determine how many bytes the scan ptr is off from being */ -/* dword-aligned. */ - - movl %edi, %eax - negl %eax - andl $3, %eax - movl %eax, scanalign(%esp) - -/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */ -/* s->strstart - (IPos)MAX_DIST(s) : NIL; */ - - movl dsWSize(%edx), %eax - subl $MIN_LOOKAHEAD, %eax - subl %eax, %ebp - jg LimitPositive - xorl %ebp, %ebp -LimitPositive: - -/* unsigned chain_length = s->max_chain_length; */ -/* if (s->prev_length >= s->good_match) { */ -/* chain_length >>= 2; */ -/* } */ - - movl dsPrevLen(%edx), %eax - movl dsGoodMatch(%edx), %ebx - cmpl %ebx, %eax - movl dsMaxChainLen(%edx), %ebx - jl LastMatchGood - shrl $2, %ebx -LastMatchGood: - -/* chainlen is decremented once beforehand so that the function can */ -/* use the sign flag instead of the zero flag for the exit test. */ -/* It is then shifted into the high word, to make room for the scanend */ -/* scanend value, which it will always accompany. */ - - decl %ebx - shll $16, %ebx - -/* int best_len = s->prev_length; */ - - movl dsPrevLen(%edx), %eax - movl %eax, bestlen(%esp) - -/* Store the sum of s->window + best_len in %esi locally, and in %esi. */ - - addl %eax, %esi - movl %esi, windowbestlen(%esp) - -/* register ush scan_start = *(ushf*)scan; */ -/* register ush scan_end = *(ushf*)(scan+best_len-1); */ - - movw (%edi), %bx - movw %bx, scanstart(%esp) - movw -1(%edi,%eax), %bx - movl %ebx, chainlenscanend(%esp) - -/* Posf *prev = s->prev; */ -/* uInt wmask = s->w_mask; */ - - movl dsPrev(%edx), %edi - movl dsWMask(%edx), %edx - mov %edx, wmask(%esp) - -/* Jump into the main loop. */ - - jmp LoopEntry - -.balign 16 - -/* do { - * match = s->window + cur_match; - * if (*(ushf*)(match+best_len-1) != scan_end || - * *(ushf*)match != scan_start) continue; - * [...] - * } while ((cur_match = prev[cur_match & wmask]) > limit - * && --chain_length != 0); - * - * Here is the inner loop of the function. The function will spend the - * majority of its time in this loop, and majority of that time will - * be spent in the first ten instructions. - * - * Within this loop: - * %ebx = chainlenscanend - i.e., ((chainlen << 16) | scanend) - * %ecx = curmatch - * %edx = curmatch & wmask - * %esi = windowbestlen - i.e., (window + bestlen) - * %edi = prev - * %ebp = limit - * - * Two optimization notes on the choice of instructions: - * - * The first instruction uses a 16-bit address, which costs an extra, - * unpairable cycle. This is cheaper than doing a 32-bit access and - * zeroing the high word, due to the 3-cycle misalignment penalty which - * would occur half the time. This also turns out to be cheaper than - * doing two separate 8-bit accesses, as the memory is so rarely in the - * L1 cache. - * - * The window buffer, however, apparently spends a lot of time in the - * cache, and so it is faster to retrieve the word at the end of the - * match string with two 8-bit loads. The instructions that test the - * word at the beginning of the match string, however, are executed - * much less frequently, and there it was cheaper to use 16-bit - * instructions, which avoided the necessity of saving off and - * subsequently reloading one of the other registers. - */ -LookupLoop: - /* 1 U & V */ - movw (%edi,%edx,2), %cx /* 2 U pipe */ - movl wmask(%esp), %edx /* 2 V pipe */ - cmpl %ebp, %ecx /* 3 U pipe */ - jbe LeaveNow /* 3 V pipe */ - subl $0x00010000, %ebx /* 4 U pipe */ - js LeaveNow /* 4 V pipe */ -LoopEntry: movb -1(%esi,%ecx), %al /* 5 U pipe */ - andl %ecx, %edx /* 5 V pipe */ - cmpb %bl, %al /* 6 U pipe */ - jnz LookupLoop /* 6 V pipe */ - movb (%esi,%ecx), %ah - cmpb %bh, %ah - jnz LookupLoop - movl window(%esp), %eax - movw (%eax,%ecx), %ax - cmpw scanstart(%esp), %ax - jnz LookupLoop - -/* Store the current value of chainlen. */ - - movl %ebx, chainlenscanend(%esp) - -/* Point %edi to the string under scrutiny, and %esi to the string we */ -/* are hoping to match it up with. In actuality, %esi and %edi are */ -/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */ -/* initialized to -(MAX_MATCH_8 - scanalign). */ - - movl window(%esp), %esi - movl scan(%esp), %edi - addl %ecx, %esi - movl scanalign(%esp), %eax - movl $(-MAX_MATCH_8), %edx - lea MAX_MATCH_8(%edi,%eax), %edi - lea MAX_MATCH_8(%esi,%eax), %esi - -/* Test the strings for equality, 8 bytes at a time. At the end, - * adjust %edx so that it is offset to the exact byte that mismatched. - * - * We already know at this point that the first three bytes of the - * strings match each other, and they can be safely passed over before - * starting the compare loop. So what this code does is skip over 0-3 - * bytes, as much as necessary in order to dword-align the %edi - * pointer. (%esi will still be misaligned three times out of four.) - * - * It should be confessed that this loop usually does not represent - * much of the total running time. Replacing it with a more - * straightforward "rep cmpsb" would not drastically degrade - * performance. - */ -LoopCmps: - movl (%esi,%edx), %eax - movl (%edi,%edx), %ebx - xorl %ebx, %eax - jnz LeaveLoopCmps - movl 4(%esi,%edx), %eax - movl 4(%edi,%edx), %ebx - xorl %ebx, %eax - jnz LeaveLoopCmps4 - addl $8, %edx - jnz LoopCmps - jmp LenMaximum -LeaveLoopCmps4: addl $4, %edx -LeaveLoopCmps: testl $0x0000FFFF, %eax - jnz LenLower - addl $2, %edx - shrl $16, %eax -LenLower: subb $1, %al - adcl $0, %edx - -/* Calculate the length of the match. If it is longer than MAX_MATCH, */ -/* then automatically accept it as the best possible match and leave. */ - - lea (%edi,%edx), %eax - movl scan(%esp), %edi - subl %edi, %eax - cmpl $MAX_MATCH, %eax - jge LenMaximum - -/* If the length of the match is not longer than the best match we */ -/* have so far, then forget it and return to the lookup loop. */ - - movl deflatestate(%esp), %edx - movl bestlen(%esp), %ebx - cmpl %ebx, %eax - jg LongerMatch - movl chainlenscanend(%esp), %ebx - movl windowbestlen(%esp), %esi - movl dsPrev(%edx), %edi - movl wmask(%esp), %edx - andl %ecx, %edx - jmp LookupLoop - -/* s->match_start = cur_match; */ -/* best_len = len; */ -/* if (len >= nice_match) break; */ -/* scan_end = *(ushf*)(scan+best_len-1); */ - -LongerMatch: movl nicematch(%esp), %ebx - movl %eax, bestlen(%esp) - movl %ecx, dsMatchStart(%edx) - cmpl %ebx, %eax - jge LeaveNow - movl window(%esp), %esi - addl %eax, %esi - movl %esi, windowbestlen(%esp) - movl chainlenscanend(%esp), %ebx - movw -1(%edi,%eax), %bx - movl dsPrev(%edx), %edi - movl %ebx, chainlenscanend(%esp) - movl wmask(%esp), %edx - andl %ecx, %edx - jmp ... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-01-10 17:01:49
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 17:01:35 UTC Modified files: doc/ircd.sample-en.conf doc/ircd.sample-es.conf Log message: Actualización ircd.conf ---------------------- diff included ---------------------- Index: ircd-ircdev/doc/ircd.sample-en.conf diff -u ircd-ircdev/doc/ircd.sample-en.conf:1.10 ircd-ircdev/doc/ircd.sample-en.conf:1.11 --- ircd-ircdev/doc/ircd.sample-en.conf:1.10 Wed Jan 5 03:58:34 2005 +++ ircd-ircdev/doc/ircd.sample-en.conf Mon Jan 10 09:01:23 2005 @@ -539,7 +539,7 @@ # [Crule] # # For an advanced, real-time rule-based routing decision making system -# you can use "Crule" blocks. For more information, see doc/*/crules.txt. +# you can use "Crule" blocks. For more information, see doc/en/crules.txt. # Crule # { # server = "servermask"; @@ -725,14 +725,17 @@ # the IRCD everytime you want to change a feature. All of the features # are listed below, and at the bottom is how to set logging. # -# A Special Thanks to Kev for writing the documentation of F:lines. It can -# be found at doc/*/features.txt and the logging documentation can be found -# at doc/*/log.txt. The defaults used by the IRC-Dev.Net network are below. +# A Special Thanks to Kev for writing the documentation of F:lines. It can +# be found at doc/en/features.txt and the logging documentation can be found +# at doc/en/log.txt. The defaults used by the IRC-Dev.Net network are below. # Features { -# "LOG" = "SYSTEM:FILE:ircd.log"; -# "LOG" = "SYSTEM:LEVEL:CRIT"; +# These log features are the only way to get certain error messages +# (such as when the server dies from being out of memory). For more +# explanation of how they work, see doc/en/log.txt. + "LOG" = "SYSTEM" "FILE" "ircd.log"; + "LOG" = "SYSTEM" "LEVEL" "CRIT"; # "DOMAINNAME" = "<obtained from /etc/resolv.conf by ./configure>"; # "RELIABLE_CLOCK" = "FALSE"; # "BUFFERPOOL" = "27000000"; Index: ircd-ircdev/doc/ircd.sample-es.conf diff -u ircd-ircdev/doc/ircd.sample-es.conf:1.6 ircd-ircdev/doc/ircd.sample-es.conf:1.7 --- ircd-ircdev/doc/ircd.sample-es.conf:1.6 Wed Jan 5 03:58:34 2005 +++ ircd-ircdev/doc/ircd.sample-es.conf Mon Jan 10 09:01:24 2005 @@ -565,7 +565,7 @@ # # Para un sistema avanzado de toma de decisiones basado en las reglas de # encaminamiento en tiempo real puedes utilizar los bloques "Crule". Para -# más información, vea doc/*/crules.txt +# más información, vea doc/es/crules.txt # Crule # { # server = "máscaraservidor"; @@ -766,8 +766,12 @@ # Features { -# "LOG" = "SYSTEM:FILE:ircd.log"; -# "LOG" = "SYSTEM:LEVEL:CRIT"; +# Estas características de registro de eventos (logging) son la única +# manera de conseguir ciertos mensajes de error (por ejemplo cuando el +# servidor se muere de sin memoria.) Para más explicación de como se +# usa, vea doc/es/log.txt + "LOG" = "SYSTEM" "FILE" "ircd.log"; + "LOG" = "SYSTEM" "LEVEL" "CRIT"; # "DOMAINNAME" = "<obtenido desde /etc/resolv.conf por el ./configure>"; # "RELIABLE_CLOCK" = "FALSE"; # "BUFFERPOOL" = "27000000"; ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-10 17:07:45
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-10 17:07:30 UTC Modified files: doc/ircd.sample-en.conf doc/ircd.sample-es.conf Log message: Actualizacion ircd.conf ---------------------- diff included ---------------------- Index: ircd-ircdev/doc/ircd.sample-en.conf diff -u ircd-ircdev/doc/ircd.sample-en.conf:1.11 ircd-ircdev/doc/ircd.sample-en.conf:1.12 --- ircd-ircdev/doc/ircd.sample-en.conf:1.11 Mon Jan 10 09:01:23 2005 +++ ircd-ircdev/doc/ircd.sample-en.conf Mon Jan 10 09:07:19 2005 @@ -1,6 +1,6 @@ # ircd.conf - configuration file for IRC-Dev's IRCD. # -# Last Updated: 27, Dec 2004. +# Last Updated: 10, Jan 2005. # # Written by Niels <ni...@un...>, based on the original example.conf, # server code and some real-life (ahem) experience. @@ -237,8 +237,8 @@ # other domains in the same toplevel, thus setting up some sort of "reverse # Kill block". # Client { -# host = "user@host"; -# ip = "ip@host"; +# host = "host"; +# ip = "ip"; # password = "password"; # class = "classname"; # }; @@ -261,7 +261,7 @@ # Then the "jolan.ppro" is the name used for matching. # Therefore, unix domain sockets, and connections to localhost would # match this block: -# host = "*@jolan.ppro"; +# host = "jolan.ppro"; # # This is the "fallback" entry. All .uk, .nl, and all unresolved are # in these two lines. @@ -271,14 +271,14 @@ Client { class = "Other"; - ip = "*@*"; + ip = "*"; }; Client { class = "Other"; - host = "*@*"; + host = "*"; }; # If you don't want unresolved dudes to be able to connect to your # server, do not specify any "ip = " settings. @@ -286,19 +286,19 @@ # Here, take care of all Spain's Telefonica users. Client { - host = "*@*.pooles.rima-tde.net"; + host = "*.pooles.rima-tde.net"; class = "Telefonica"; }; Client { - host = "*@*.telefonica-data.net"; + host = "*.telefonica-data.net"; class = "Telefonica"; }; Client { - host = "*@*.ttd.es"; + host = "*.ttd.es"; class = "Telefonica"; }; @@ -307,13 +307,13 @@ # way around - K-lining every single ISP in the US. # I wish people in Holland just got a .nl domain, and not try to be # cool and use .com... -Client { host = "*@*.wirehub.net"; class = "Other";}; -Client { host = "*@*.planete.net"; class = "Other";}; -Client { host = "*@*.ivg.com"; class = "Other";}; -Client { host = "*@*.ib.com"; class = "Other";}; -Client { host = "*@*.ibm.net"; class = "Other";}; -Client { host = "*@*.hydro.com"; class = "Other";}; -Client { host = "*@*.nl.net"; class = "Local";}; +Client { host = "*.wirehub.net"; class = "Other";}; +Client { host = "*.planete.net"; class = "Other";}; +Client { host = "*.ivg.com"; class = "Other";}; +Client { host = "*.ib.com"; class = "Other";}; +Client { host = "*.ibm.net"; class = "Other";}; +Client { host = "*.hydro.com"; class = "Other";}; +Client { host = "*.nl.net"; class = "Local";}; # You can request a more complete listing, including the "list of standard # Kill blocks" from the Routing Committee; it will also be sent to you if @@ -323,8 +323,8 @@ # the server is (hopefully). Client { - host = "*@*.pooles.rima-tde.net"; - ip = "*@80.59.*"; + host = "*.pooles.rima-tde.net"; + ip = "80.59.0.0/16"; class = "Local"; }; @@ -335,12 +335,12 @@ # from "*.ono.com" and at most two connections from dial up accounts # that have "dial??.*" as host mask: # Client { -# host = "*@*.ono.com"; +# host = "*.ono.com"; # maxlinks = "1"; # class = "Other"; # }; # Client { -# host = "*@dial??.*"; +# host = "dial??.*"; # maxlinks = "2"; # class = "Other"; # }; @@ -348,8 +348,8 @@ # If you are not worried about who connects, this line will allow everyone # to connect. Client { - host = "*@*"; - ip = "*@*"; + host = "*"; + ip = "*"; class = "Other"; }; Index: ircd-ircdev/doc/ircd.sample-es.conf diff -u ircd-ircdev/doc/ircd.sample-es.conf:1.7 ircd-ircdev/doc/ircd.sample-es.conf:1.8 --- ircd-ircdev/doc/ircd.sample-es.conf:1.7 Mon Jan 10 09:01:24 2005 +++ ircd-ircdev/doc/ircd.sample-es.conf Mon Jan 10 09:07:19 2005 @@ -248,8 +248,8 @@ # pero rechazando el resto de dominios del mismo nivel, como si fuera # creando una especie de "bloque Kill inverso". # Client { -# host = "user@host"; -# ip = "ip@host"; +# host = "host"; +# ip = "ip"; # password = "contraseña"; # class = "nombreclase"; # }; @@ -285,14 +285,14 @@ Client { class = "Otros"; - ip = "*@*"; + ip = "*"; }; Client { class = "Otros"; - host = "*@*"; + host = "*"; }; # Si no quieres que conecten usuarios sin DNS inverso resuelto a tu # servidor, no poner ajustes de "ip = ". @@ -300,19 +300,19 @@ # Aqui, sólo se dejaría entrar a todos los usuarios españoles de Telefonica. Client { - host = "*@*.pooles.rima-tde.net"; + host = "*.pooles.rima-tde.net"; class = "Telefonica"; }; Client { - host = "*@*.telefonica-data.net"; + host = "*.telefonica-data.net"; class = "Telefonica"; }; Client { - host = "*@*.ttd.es"; + host = "*.ttd.es"; class = "Telefonica"; }; @@ -321,13 +321,13 @@ # a cada ISP de los E.E.U.U. # Deseo que la gente de Holanda con dominio .nl, y no intento ser fresco # y usar .com... -Client { host = "*@*.wirehub.net"; class = "Otros";}; -Client { host = "*@*.planete.net"; class = "Otros";}; -Client { host = "*@*.ivg.com"; class = "Otros";}; -Client { host = "*@*.ib.com"; class = "Otros";}; -Client { host = "*@*.ibm.net"; class = "Otros";}; -Client { host = "*@*.hydro.com"; class = "Otros";}; -Client { host = "*@*.nl.net"; class = "Local";}; +Client { host = "*.wirehub.net"; class = "Otros";}; +Client { host = "*.planete.net"; class = "Otros";}; +Client { host = "*.ivg.com"; class = "Otros";}; +Client { host = "*.ib.com"; class = "Otros";}; +Client { host = "*.ibm.net"; class = "Otros";}; +Client { host = "*.hydro.com"; class = "Otros";}; +Client { host = "*.nl.net"; class = "Local";}; # Puedes solicitar un listado más completo, incluyendo la "lista estándar # de bloques "Kill"" del comité de "Routing"; también le será enviada si @@ -337,8 +337,8 @@ # que esté el servidor. Client { - host = "*@*.pooles.rima-tde.net"; - ip = "*@80.59.*"; + host = "*.pooles.rima-tde.net"; + ip = "80.59.0.0/16"; class = "Local"; }; @@ -350,12 +350,12 @@ # desde "*.ono.com" y al menos dos conexiones desde cuentas de acceso a # internet por modem que tengan "*.dial??.*" como máscara de host: # Client { -# host = "*@*.ono.com"; +# host = "*.ono.com"; # maxlinks = "1"; # class = "Otros"; # }; # Client { -# host = "*@dial??.*"; +# host = "dial??.*"; # maxlinks = "2"; # class = "Otros"; # }; @@ -363,8 +363,8 @@ # Si no te preocupa de quien se conecta, esta línea permitirá que se # conecten todos. Client { - host = "*@*"; - ip = "*@*"; + host = "*"; + ip = "*"; class = "Otros"; }; ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-01-26 17:20:18
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-01-26 17:19:58 UTC Modified files: ChangeLog ChangeLog.es configure configure.in doc/ircd.sample-en.conf doc/ircd.sample-es.conf doc/en/features.txt include/client.h include/patchlevel.h ircd/Makefile.in ircd/channel.c ircd/engine_kqueue.c ircd/fileio.c ircd/ircd.c ircd/ircd_lexer.l ircd/ircd_log.c ircd/ircd_parser.y ircd/ircd_res.c ircd/m_invite.c ircd/os_generic.c ircd/s_auth.c ircd/test/Makefile.in Log message: Author: zoltan <zo...@ir...> Log message: 2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 * Sincronizacion Undernet ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.16 ircd-ircdev/ChangeLog:1.17 --- ircd-ircdev/ChangeLog:1.16 Wed Jan 5 03:58:33 2005 +++ ircd-ircdev/ChangeLog Wed Jan 26 09:19:33 2005 @@ -1,10 +1,13 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.16 2005/01/05 11:58:33 zolty Exp $ +# $Id: ChangeLog,v 1.17 2005/01/26 17:19:33 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 + * Undernet synchronization + 2005-01-05 Toni García <zo...@ir...> 1.0.alpha15 * Fix IPv6 support Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.16 ircd-ircdev/ChangeLog.es:1.17 --- ircd-ircdev/ChangeLog.es:1.16 Wed Jan 5 03:58:33 2005 +++ ircd-ircdev/ChangeLog.es Wed Jan 26 09:19:37 2005 @@ -1,10 +1,13 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.16 2005/01/05 11:58:33 zolty Exp $ +# $Id: ChangeLog.es,v 1.17 2005/01/26 17:19:37 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 + * Sincronizacion Undernet + 2005-01-05 Toni García <zo...@ir...> 1.0.alpha15 * Parchear Soporte de IPv6 Index: ircd-ircdev/configure diff -u ircd-ircdev/configure:1.10 ircd-ircdev/configure:1.11 --- ircd-ircdev/configure:1.10 Wed Jan 5 03:58:33 2005 +++ ircd-ircdev/configure Wed Jan 26 09:19:38 2005 @@ -8785,22 +8785,24 @@ fi fi -if test -x "$LEX" -then +if test "$LEX" = ":" ; then { { echo "$as_me:$LINENO: error: Cannot find flex." >&5 echo "$as_me: error: Cannot find flex." >&2;} { (exit 1); exit 1; }; } +elif echo "" | $LEX -V -v --version > /dev/null 2>&1 ; then + : +else + { { echo "$as_me:$LINENO: error: Cannot use $LEX as flex." >&5 +echo "$as_me: error: Cannot use $LEX as flex." >&2;} + { (exit 1); exit 1; }; } fi -if test -z "$LEXLIB" -then - { { echo "$as_me:$LINENO: error: - Cannot find a library with yywrap() in, but flex was found. +if test -z "$LEXLIB" ; then + { { echo "$as_me:$LINENO: error: Cannot find a library with yywrap() in, but flex was found. It's possible the compiler you're using ($CC) is incompatible with the installed library. See \`config.log' for more details." >&5 -echo "$as_me: error: - Cannot find a library with yywrap() in, but flex was found. +echo "$as_me: error: Cannot find a library with yywrap() in, but flex was found. It's possible the compiler you're using ($CC) is incompatible with the installed library. See \`config.log' for more details." >&2;} @@ -8850,11 +8852,16 @@ done test -n "$YACC" || YACC="yacc" -if test -z "$YACC" -then +if test "$YACC" = ":" ; then { { echo "$as_me:$LINENO: error: Cannot find yacc." >&5 echo "$as_me: error: Cannot find yacc." >&2;} { (exit 1); exit 1; }; } +elif echo "" | $YACC -V -v --version > /dev/null 2>&1 ; then + : +else + { { echo "$as_me:$LINENO: error: Cannot use $YACC as yacc." >&5 +echo "$as_me: error: Cannot use $YACC as yacc." >&2;} + { (exit 1); exit 1; }; } fi Index: ircd-ircdev/configure.in diff -u ircd-ircdev/configure.in:1.10 ircd-ircdev/configure.in:1.11 --- ircd-ircdev/configure.in:1.10 Mon Jan 10 04:32:43 2005 +++ ircd-ircdev/configure.in Wed Jan 26 09:19:39 2005 @@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl -dnl $Id: configure.in,v 1.10 2005/01/10 12:32:43 zolty Exp $ +dnl $Id: configure.in,v 1.11 2005/01/26 17:19:39 zolty Exp $ dnl dnl Make sure we are in the correct directory (someone could have run @@ -146,16 +146,18 @@ dnl (F)LEX - needed for the new conf file parser AC_PROG_LEX -if test -x "$LEX" -then +dnl The autoconf docs say $LEX defaults to 'lex'. They lie. +if test "$LEX" = ":" ; then AC_MSG_ERROR([Cannot find flex.]) +elif echo "" | $LEX -V -v --version > /dev/null 2>&1 ; then + : +else + AC_MSG_ERROR([Cannot use $LEX as flex.]) fi -if test -z "$LEXLIB" -then - AC_MSG_FAILURE([ - Cannot find a library with yywrap() in, but flex was found. - It's possible the compiler you're using ($CC) is incompatible with the +if test -z "$LEXLIB" ; then + AC_MSG_FAILURE([Cannot find a library with yywrap() in, but flex was found. + It's possible the compiler you're using ($CC) is incompatible with the installed library.]) fi @@ -163,9 +165,14 @@ dnl YACC - ditto AC_PROG_YACC -if test -z "$YACC" -then +dnl The autoconf docs say $YACC defaults to 'yacc'. This seems to be true, +dnl but judging from AC_PROG_LEX, it may not stay true. +if test "$YACC" = ":" ; then AC_MSG_ERROR([Cannot find yacc.]) +elif echo "" | $YACC -V -v --version > /dev/null 2>&1 ; then + : +else + AC_MSG_ERROR([Cannot use $YACC as yacc.]) fi Index: ircd-ircdev/doc/en/features.txt diff -u ircd-ircdev/doc/en/features.txt:1.1 ircd-ircdev/doc/en/features.txt:1.2 --- ircd-ircdev/doc/en/features.txt:1.1 Wed Jan 5 10:00:34 2005 +++ ircd-ircdev/doc/en/features.txt Wed Jan 26 09:19:41 2005 @@ -1,4 +1,4 @@ -$Id: features.txt,v 1.1 2005/01/05 18:00:34 zolty Exp $ +$Id: features.txt,v 1.2 2005/01/26 17:19:41 zolty Exp $ Many of the old compile-time options are now configured through the server configuration file, ircd.conf. This file is intended to @@ -292,13 +292,16 @@ * Type: boolean * Default: TRUE -Bla. +If set, allow users to create local channels. + TOPIC_BURST * Type: boolean * Default: FALSE -Bla. +If set, send the current topic value and timestamp for channels during +burst. This generally only makes sense for hubs to use, and it causes +a large increase in net.burst size. KILLCHASETIMELIMIT Index: ircd-ircdev/doc/ircd.sample-en.conf diff -u ircd-ircdev/doc/ircd.sample-en.conf:1.12 ircd-ircdev/doc/ircd.sample-en.conf:1.13 --- ircd-ircdev/doc/ircd.sample-en.conf:1.12 Mon Jan 10 09:07:19 2005 +++ ircd-ircdev/doc/ircd.sample-en.conf Wed Jan 26 09:19:41 2005 @@ -202,14 +202,16 @@ # unlimit_query (show more results from /WHO) # local_kill (can kill clients on this server) # rehash (can use /REHASH) + # restart (can use /RESTART) # die (can use /DIE) - # local_jupe_server (not used) + # local_jupe (not used) # set (can use /SET) # local_gline (can set a G-line for this server only) # local_badchan (can set a Gchan for this server only) # see_chan (can see users in +s channels in /WHO) # wide_gline (can use ! to force a wide G-line) # see_opers (can see opers without DISPLAY privilege) + # local_opmode (can use OPMODE/CLEARMODE on local channels) # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels) # kill (can kill clients on other servers) # gline (can issue G-lines to other servers) Index: ircd-ircdev/doc/ircd.sample-es.conf diff -u ircd-ircdev/doc/ircd.sample-es.conf:1.8 ircd-ircdev/doc/ircd.sample-es.conf:1.9 --- ircd-ircdev/doc/ircd.sample-es.conf:1.8 Mon Jan 10 09:07:19 2005 +++ ircd-ircdev/doc/ircd.sample-es.conf Wed Jan 26 09:19:41 2005 @@ -211,8 +211,9 @@ # unlimit_query (muestra más resultados desde /WHO) # local_kill (puede expulsar (kill) clientes de este servidor) # rehash (puede usar /REHASH) + # restart (puede usar /RESTART) # die (puede usar /DIE) - # local_jupe_server (no se usa) + # local_jupe (no se usa) # set (puede usar /SET) # local_gline (puede poner una G-line para solamente este servidor) # local_badchan (puede poner una Gchan para solamente este servidor) Index: ircd-ircdev/include/client.h diff -u ircd-ircdev/include/client.h:1.9 ircd-ircdev/include/client.h:1.10 --- ircd-ircdev/include/client.h:1.9 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/client.h Wed Jan 26 09:19:42 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Structures and functions for handling local clients. - * @version $Id: client.h,v 1.9 2005/01/10 12:21:59 zolty Exp $ + * @version $Id: client.h,v 1.10 2005/01/26 17:19:42 zolty Exp $ */ #ifndef INCLUDED_client_h #define INCLUDED_client_h @@ -92,7 +92,7 @@ /** Clear a flag in a flagset. */ #define FlagClr(set,flag) ((set)->bits[FLAGSET_INDEX(flag)] &= ~FLAGSET_MASK(flag)) -/** String containig valid user modes, in no particular order. */ +/** String containing valid user modes, in no particular order. */ #define infousermodes "dioswkgx" /** Operator privileges. */ Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.17 ircd-ircdev/include/patchlevel.h:1.18 --- ircd-ircdev/include/patchlevel.h:1.17 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/patchlevel.h Wed Jan 26 09:19:42 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.17 2005/01/10 12:22:00 zolty Exp $ + * $Id: patchlevel.h,v 1.18 2005/01/26 17:19:42 zolty Exp $ * */ -#define PATCHLEVEL ".alpha15" +#define PATCHLEVEL ".alpha16" #define RELEASE "1.0" Index: ircd-ircdev/ircd/Makefile.in diff -u ircd-ircdev/ircd/Makefile.in:1.15 ircd-ircdev/ircd/Makefile.in:1.16 --- ircd-ircdev/ircd/Makefile.in:1.15 Mon Jan 10 04:32:41 2005 +++ ircd-ircdev/ircd/Makefile.in Wed Jan 26 09:19:42 2005 @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.15 2005/01/10 12:32:41 zolty Exp $ +# $Id: Makefile.in,v 1.16 2005/01/26 17:19:42 zolty Exp $ #### Start of system configuration section. #### @@ -374,13 +374,16 @@ IPcheck.o: IPcheck.c ../config.h ../include/IPcheck.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/msg.h ../include/numnicks.h \ - ../include/ircd_alloc.h ../include/ircd_features.h ../include/s_debug.h \ - ../include/s_user.h ../include/send.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/match.h ../include/msg.h ../include/numnicks.h \ + ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/s_debug.h ../include/s_user.h \ + ../include/send.h channel.o: channel.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h \ ../include/destruct_event.h ../include/hash.h ../include/ircd.h \ ../include/struct.h ../include/ircd_alloc.h ../include/ircd_chattr.h \ ../include/ircd_features.h ../include/ircd_log.h \ @@ -389,83 +392,105 @@ ../include/msg.h ../include/numeric.h ../include/numnicks.h \ ../include/querycmds.h ../include/s_bsd.h ../include/s_conf.h \ ../include/s_debug.h ../include/s_misc.h ../include/s_user.h \ - ../include/send.h ../include/sys.h \ - ../include/whowas.h + ../include/send.h ../include/sys.h ../include/whowas.h class.o: class.c ../config.h ../include/class.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_alloc.h ../include/ircd_features.h \ - ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/list.h ../include/numeric.h \ ../include/s_conf.h ../include/s_debug.h ../include/send.h client.o: client.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/class.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/list.h ../include/numeric.h ../include/s_conf.h \ - ../include/s_debug.h ../include/send.h + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/class.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_reply.h ../include/list.h ../include/numeric.h \ + ../include/s_conf.h ../include/s_debug.h ../include/send.h crule.o: crule.c ../config.h ../include/crule.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_alloc.h ../include/ircd_chattr.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_alloc.h ../include/ircd_chattr.h \ ../include/ircd_string.h ../include/match.h ../include/s_bsd.h \ ../include/s_debug.h dbuf.o: dbuf.c ../config.h ../include/dbuf.h ../include/ircd_alloc.h \ - ../include/ircd_chattr.h ../include/ircd_features.h ../include/send.h \ - ../include/sys.h + ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/send.h ../include/sys.h ddb.o: ddb.c ../config.h destruct_event.o: destruct_event.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/s_debug.h ../include/ircd_alloc.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_events.h \ - ../include/send.h ../include/msg.h ../include/ircd_handler.h -fda.o: fda.c ../config.h + ../include/ircd_defs.h ../include/res.h ../include/s_debug.h \ + ../include/ircd_alloc.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_events.h ../include/ircd_log.h ../include/send.h \ + ../include/msg.h ../include/ircd_handler.h fileio.o: fileio.c ../config.h ../include/fileio.h \ - ../include/ircd_alloc.h -gline.o: gline.c ../config.h ../include/gline.h ../include/client.h \ - ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_alloc.h ../include/ircd_log.h +gline.o: gline.c ../config.h ../include/gline.h ../include/res.h \ + ../include/client.h ../include/ircd_defs.h ../include/dbuf.h \ + ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_alloc.h ../include/ircd_features.h \ ../include/ircd_log.h ../include/ircd_reply.h \ ../include/ircd_snprintf.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/match.h ../include/numeric.h \ ../include/s_bsd.h ../include/s_debug.h ../include/s_misc.h \ - ../include/s_stats.h ../include/send.h \ - ../include/msg.h ../include/numnicks.h ../include/sys.h \ - ../include/whocmds.h + ../include/s_stats.h ../include/send.h ../include/msg.h \ + ../include/numnicks.h ../include/whocmds.h hash.o: hash.c ../config.h ../include/hash.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/channel.h \ - ../include/ircd_chattr.h ../include/ircd_string.h ../include/ircd.h \ - ../include/struct.h ../include/msg.h ../include/send.h \ - ../include/sys.h ../include/watch.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/channel.h ../include/ircd_alloc.h \ + ../include/ircd_chattr.h ../include/ircd_log.h ../include/ircd_reply.h \ + ../include/ircd_string.h ../include/ircd.h ../include/struct.h \ + ../include/msg.h ../include/numeric.h ../include/random.h \ + ../include/send.h ../include/sys.h ../include/watch.h ircd.o: ircd.c ../config.h ../include/ircd.h ../include/struct.h \ ../include/ircd_defs.h ../include/IPcheck.h ../include/class.h \ ../include/client.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/crule.h \ - ../include/destruct_event.h ../include/channel.h ../include/hash.h \ - ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/crule.h ../include/destruct_event.h \ + ../include/channel.h ../include/hash.h ../include/ircd_alloc.h \ + ../include/ircd_crypt.h ../include/ircd_features.h \ ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_signal.h \ ../include/ircd_string.h ../include/ircd_chattr.h ../include/jupe.h \ ../include/list.h ../include/match.h ../include/motd.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/opercmds.h \ - ../include/parse.h ../include/res.h ../include/s_auth.h \ - ../include/s_bsd.h ../include/s_conf.h ../include/s_debug.h \ - ../include/s_misc.h ../include/s_stats.h ../include/send.h \ - ../include/sys.h ../include/uping.h ../include/userload.h \ - ../include/version.h ../include/whowas.h + ../include/parse.h ../include/s_auth.h ../include/s_bsd.h \ + ../include/s_conf.h ../include/s_debug.h ../include/s_misc.h \ + ../include/s_stats.h ../include/send.h ../include/sys.h \ + ../include/uping.h ../include/userload.h ../include/version.h \ + ../include/whowas.h ircd_alloc.o: ircd_alloc.c ../config.h ../include/ircd_alloc.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/s_debug.h \ - ../include/ircd_defs.h + ../include/ircd_log.h ../include/ircd_string.h ../include/ircd_chattr.h \ + ../include/s_debug.h ../include/ircd_defs.h +ircd_auth.o: ircd_auth.c ../config.h ../include/client.h \ + ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd_alloc.h ../include/ircd_auth.h \ + ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_osdep.h ../include/ircd_snprintf.h \ + ../include/ircd_string.h ../include/ircd_chattr.h ../include/ircd.h \ + ../include/struct.h ../include/msg.h ../include/s_bsd.h \ + ../include/s_debug.h ../include/s_misc.h ../include/s_user.h \ + ../include/send.h +ircd_crypt.o: ircd_crypt.c ../config.h ../include/ircd_crypt.h \ + ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_string.h ../include/ircd_chattr.h \ + ../include/s_debug.h ../include/ircd_defs.h \ + ../include/ircd_crypt_native.h ../include/ircd_crypt_plain.h \ + ../include/ircd_crypt_smd5.h ircd_events.o: ircd_events.c ../config.h ../include/ircd_events.h \ ../include/ircd.h ../include/struct.h ../include/ircd_defs.h \ ../include/ircd_alloc.h ../include/ircd_log.h \ ../include/ircd_snprintf.h ../include/s_debug.h ircd_features.o: ircd_features.c ../config.h ../include/ircd_features.h \ - ../include/channel.h ../include/ircd_defs.h ../include/class.h \ - ../include/client.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ - ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/channel.h ../include/ircd_defs.h ../include/res.h \ + ../include/class.h ../include/client.h ../include/dbuf.h \ + ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_alloc.h ../include/ircd_log.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/match.h ../include/motd.h \ ../include/msg.h ../include/numeric.h ../include/numnicks.h \ ../include/random.h ../include/s_bsd.h ../include/s_debug.h \ @@ -474,131 +499,172 @@ ircd_log.o: ircd_log.c ../config.h ../include/ircd_log.h \ ../include/client.h ../include/ircd_defs.h ../include/dbuf.h \ ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/ircd_alloc.h ../include/ircd_reply.h \ - ../include/ircd_snprintf.h ../include/ircd_string.h \ - ../include/ircd_chattr.h ../include/ircd.h ../include/struct.h \ - ../include/numeric.h ../include/s_debug.h ../include/send.h -ircd_relay.o: ircd_relay.c ../config.h ../include/ircd_relay.h \ - ../include/channel.h ../include/ircd_defs.h ../include/client.h \ - ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_chattr.h ../include/ircd_features.h \ - ../include/ircd_reply.h ../include/ircd_string.h ../include/match.h \ - ../include/msg.h ../include/numeric.h ../include/numnicks.h \ - ../include/s_debug.h ../include/s_misc.h ../include/s_user.h \ + ../include/res.h ../include/capab.h ../include/ircd_alloc.h \ + ../include/ircd_reply.h ../include/ircd_snprintf.h \ + ../include/ircd_string.h ../include/ircd_chattr.h ../include/ircd.h \ + ../include/struct.h ../include/numeric.h ../include/s_debug.h \ ../include/send.h +ircd_relay.o: ircd_relay.c ../config.h ../include/ircd_relay.h \ + ../include/channel.h ../include/ircd_defs.h ../include/res.h \ + ../include/client.h ../include/dbuf.h ../include/msgq.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/match.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/s_debug.h ../include/s_misc.h \ + ../include/s_user.h ../include/send.h ircd_reply.o: ircd_reply.c ../config.h ../include/ircd_reply.h \ ../include/client.h ../include/ircd_defs.h ../include/dbuf.h \ ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_snprintf.h \ + ../include/res.h ../include/capab.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_log.h ../include/ircd_snprintf.h \ ../include/msg.h ../include/numeric.h ../include/s_conf.h \ ../include/s_debug.h ../include/send.h +ircd_res.o: ircd_res.c ../include/client.h ../include/ircd_defs.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../config.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd_alloc.h ../include/ircd_log.h \ + ../include/ircd_osdep.h ../include/ircd_reply.h \ + ../include/ircd_string.h ../include/ircd_chattr.h \ + ../include/ircd_snprintf.h ../include/ircd.h ../include/struct.h \ + ../include/numeric.h ../include/fileio.h ../include/random.h \ + ../include/s_bsd.h ../include/s_debug.h ../include/s_stats.h \ + ../include/ircd_features.h ../include/send.h ../include/sys.h \ + ../include/ircd_reslib.h +ircd_reslib.o: ircd_reslib.c ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../config.h \ + ../include/ircd_reslib.h ../include/fileio.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ircd_signal.o: ircd_signal.c ../config.h ../include/ircd.h \ ../include/struct.h ../include/ircd_defs.h ../include/ircd_events.h \ - ../include/ircd_signal.h ../include/s_conf.h ../include/client.h \ - ../include/dbuf.h ../include/msgq.h ../include/ircd_handler.h + ../include/ircd_log.h ../include/ircd_signal.h ../include/s_conf.h \ + ../include/client.h ../include/dbuf.h ../include/msgq.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h ircd_snprintf.o: ircd_snprintf.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/channel.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/channel.h ../include/ircd_log.h \ ../include/ircd_snprintf.h ../include/struct.h ircd_string.o: ircd_string.c ../config.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/ircd_defs.h ../include/ircd_log.h \ - chattr.tab.c + ../include/res.h chattr.tab.c ircd_tea.o: ircd_tea.c ../config.h jupe.o: jupe.c ../config.h ../include/jupe.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ - ../include/ircd_features.h ../include/ircd_log.h \ - ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/match.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/s_bsd.h \ - ../include/s_misc.h ../include/send.h \ - ../include/sys.h -lex.yy.o: lex.yy.c ../include/ircd.h ../include/struct.h \ - ../include/ircd_defs.h y.tab.h + ../include/s_misc.h ../include/send.h ../include/sys.h +lex.yy.o: lex.yy.c ../config.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/s_debug.h y.tab.h list.o: list.c ../config.h ../include/list.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_alloc.h ../include/ircd_reply.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_alloc.h ../include/ircd_log.h ../include/ircd_reply.h \ ../include/ircd_string.h ../include/ircd_chattr.h ../include/listener.h \ - ../include/match.h ../include/numeric.h ../include/res.h \ - ../include/s_auth.h ../include/s_bsd.h ../include/s_conf.h \ - ../include/s_debug.h ../include/s_misc.h ../include/s_user.h \ - ../include/send.h ../include/whowas.h + ../include/match.h ../include/numeric.h ../include/s_auth.h \ + ../include/s_bsd.h ../include/s_conf.h ../include/s_debug.h \ + ../include/s_misc.h ../include/s_user.h ../include/send.h \ + ../include/whowas.h listener.o: listener.c ../config.h ../include/listener.h \ - ../include/ircd_defs.h ../include/ircd_events.h ../include/client.h \ - ../include/dbuf.h ../include/msgq.h ../include/ircd_handler.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ - ../include/ircd_features.h ../include/ircd_osdep.h \ - ../include/ircd_reply.h ../include/ircd_snprintf.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/numeric.h \ + ../include/ircd_defs.h ../include/ircd_events.h ../include/res.h \ + ../include/client.h ../include/dbuf.h ../include/msgq.h \ + ../include/ircd_handler.h ../include/capab.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_osdep.h ../include/ircd_reply.h \ + ../include/ircd_snprintf.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/match.h ../include/numeric.h \ ../include/s_bsd.h ../include/s_conf.h ../include/s_misc.h \ ../include/s_stats.h ../include/send.h ../include/sys.h -m_account.o: m_account.c ../config.h +m_account.o: m_account.c ../config.h ../include/client.h \ + ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/msg.h ../include/numnicks.h \ + ../include/s_debug.h ../include/s_user.h ../include/send.h m_admin.o: m_admin.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_features.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_conf.h ../include/s_user.h m_asll.o: m_asll.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/numeric.h ../include/numnicks.h \ ../include/match.h ../include/msg.h ../include/send.h \ ../include/s_bsd.h ../include/s_user.h m_away.o: m_away.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_alloc.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/s_user.h \ - ../include/send.h + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/s_user.h ../include/send.h m_burst.o: m_burst.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_alloc.h ../include/ircd_features.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ + ../include/ircd_features.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/ircd_snprintf.h ../include/list.h \ ../include/match.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_conf.h ../include/s_misc.h \ - ../include/send.h + ../include/send.h +m_cap.o: m_cap.c ../config.h ../include/client.h ../include/ircd_defs.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_chattr.h \ + ../include/ircd_log.h ../include/ircd_reply.h \ + ../include/ircd_snprintf.h ../include/ircd_string.h ../include/msg.h \ + ../include/numeric.h ../include/send.h ../include/s_user.h m_clearmode.o: m_clearmode.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/channel.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_alloc.h ../include/ircd_features.h \ - ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/channel.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ + ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/list.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/s_conf.h \ - ../include/send.h + ../include/send.h m_close.o: m_close.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/numeric.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/numeric.h \ ../include/s_bsd.h ../include/send.h m_connect.o: m_connect.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/crule.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_log.h \ - ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/crule.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/jupe.h ../include/match.h \ ../include/msg.h ../include/numeric.h ../include/numnicks.h \ ../include/s_bsd.h ../include/s_conf.h ../include/s_user.h \ ../include/send.h m_cprivmsg.o: m_cprivmsg.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/ircd_reply.h ../include/ircd_string.h \ - ../include/ircd_chattr.h ../include/s_user.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd_log.h ../include/ircd_reply.h \ + ../include/ircd_string.h ../include/ircd_chattr.h ../include/s_user.h m_create.o: m_create.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_debug.h ../include/s_misc.h \ @@ -607,361 +673,410 @@ m_dbq.o: m_dbq.c ../config.h m_defaults.o: m_defaults.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/numeric.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/numeric.h \ ../include/numnicks.h ../include/send.h ../include/supported.h \ ../include/channel.h ../include/version.h m_destruct.o: m_destruct.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h \ ../include/destruct_event.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/ircd_string.h \ - ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ - ../include/numnicks.h ../include/send.h + ../include/struct.h ../include/ircd_log.h ../include/ircd_reply.h \ + ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ + ../include/numeric.h ../include/numnicks.h ../include/send.h m_desynch.o: m_desynch.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_reply.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_log.h ../include/ircd_reply.h \ ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/s_bsd.h \ ../include/send.h m_die.o: m_die.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_bsd.h ../include/send.h m_endburst.o: m_endburst.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/send.h m_error.o: m_error.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_alloc.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/numeric.h ../include/numnicks.h \ ../include/s_debug.h ../include/s_misc.h ../include/send.h m_get.o: m_get.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/numeric.h \ - ../include/numnicks.h ../include/send.h + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/numeric.h ../include/numnicks.h \ + ../include/send.h m_gline.o: m_gline.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/gline.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/match.h \ - ../include/msg.h ../include/numeric.h ../include/numnicks.h \ - ../include/s_conf.h ../include/s_misc.h ../include/send.h \ - + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/gline.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/match.h ../include/msg.h \ + ../include/numeric.h ../include/numnicks.h ../include/s_conf.h \ + ../include/s_misc.h ../include/send.h m_help.o: m_help.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/send.h m_info.o: m_info.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_misc.h ../include/s_user.h \ ../include/s_conf.h ../include/send.h ../include/version.h m_invite.o: m_invite.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/list.h \ - ../include/msg.h ../include/numeric.h ../include/numnicks.h \ - ../include/s_user.h ../include/send.h + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/list.h ../include/msg.h \ + ../include/numeric.h ../include/numnicks.h ../include/s_user.h \ + ../include/send.h m_ison.o: m_ison.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/numeric.h ../include/send.h m_join.o: m_join.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/gline.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_chattr.h ../include/ircd_features.h \ - ../include/ircd_reply.h ../include/ircd_string.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/s_debug.h \ - ../include/s_user.h ../include/send.h + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/gline.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/msg.h ../include/numeric.h ../include/numnicks.h \ + ../include/s_debug.h ../include/s_user.h ../include/send.h m_jupe.o: m_jupe.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/jupe.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/jupe.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_features.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/match.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/s_conf.h \ - ../include/s_misc.h ../include/send.h + ../include/s_misc.h ../include/send.h m_kick.o: m_kick.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/send.h + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/send.h m_kill.o: m_kill.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_features.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_snprintf.h \ ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ ../include/numeric.h ../include/numnicks.h ../include/s_misc.h \ ../include/send.h ../include/whowas.h m_links.o: m_links.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/match.h \ - ../include/msg.h ../include/numeric.h ../include/numnicks.h \ - ../include/s_user.h ../include/send.h -m_list.o: m_list.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_alloc.h ../include/ircd_chattr.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ ../include/ircd_features.h ../include/ircd_log.h \ - ../include/ircd_reply.h ../include/ircd_string.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/s_bsd.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/match.h ../include/msg.h \ + ../include/numeric.h ../include/numnicks.h ../include/s_user.h \ ../include/send.h +m_list.o: m_list.c ../config.h ../include/channel.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_alloc.h \ + ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/msg.h ../include/numeric.h ../include/numnicks.h \ + ../include/s_bsd.h ../include/send.h m_lusers.o: m_lusers.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/handlers.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/querycmds.h \ - ../include/s_misc.h ../include/s_serv.h ../include/s_user.h \ - ../include/send.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/handlers.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/querycmds.h ../include/s_misc.h \ + ../include/s_serv.h ../include/s_user.h ../include/send.h m_map.o: m_map.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h \ ../include/ircd_snprintf.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/list.h ../include/match.h \ ../include/msg.h ../include/numeric.h ../include/s_user.h \ ../include/s_serv.h ../include/send.h ../include/querycmds.h m_mode.o: m_mode.c ../config.h ../include/handlers.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_conf.h ../include/s_debug.h \ ../include/s_user.h ../include/send.h m_motd.o: m_motd.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/match.h \ - ../include/motd.h ../include/msg.h ../include/numeric.h \ - ../include/numnicks.h ../include/s_conf.h ../include/class.h \ - ../include/s_user.h ../include/send.h + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/match.h ../include/motd.h \ + ../include/msg.h ../include/numeric.h ../include/numnicks.h \ + ../include/s_conf.h ../include/class.h ../include/s_user.h \ + ../include/send.h m_names.o: m_names.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/s_user.h ../include/send.h m_nick.o: m_nick.c ../config.h ../include/IPcheck.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../include/struct.h ../include/ircd_chattr.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/msg.h ../include/numeric.h \ - ../include/numnicks.h ../include/s_debug.h ../include/s_misc.h \ - ../include/s_user.h ../include/send.h ../include/sys.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/hash.h ../include/ircd.h \ + ../include/struct.h ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/msg.h ../include/numeric.h ../include/numnicks.h \ + ../include/s_debug.h ../include/s_misc.h ../include/s_user.h \ + ../include/send.h ../include/sys.h m_notice.o: m_notice.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/ircd_chattr.h ../include/ircd_relay.h \ - ../include/ircd_reply.h ../include/ircd_string.h ../include/match.h \ - ../include/msg.h ../include/numeric.h ../include/send.h \ - ../include/handlers.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd_chattr.h ../include/ircd_log.h \ + ../include/ircd_relay.h ../include/ircd_reply.h \ + ../include/ircd_string.h ../include/match.h ../include/msg.h \ + ../include/numeric.h ../include/send.h ../include/handlers.h m_oper.o: m_oper.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_features.h ../include/ircd_log.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_alloc.h ../include/ircd_crypt.h \ + ../include/ircd_features.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ - ../include/ircd_chattr.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/querycmds.h \ - ../include/s_conf.h ../include/s_debug.h ../include/s_user.h \ - ../include/s_misc.h ../include/send.h + ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/querycmds.h ../include/s_conf.h \ + ../include/s_debug.h ../include/s_user.h ../include/s_misc.h \ + ../include/send.h m_opmode.o: m_opmode.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/channel.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ - ../include/ircd_features.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/msg.h \ - ../include/numeric.h ../include/numnicks.h ../include/send.h \ - ../include/s_conf.h + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/channel.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ + ../include/numnicks.h ../include/send.h ../include/s_conf.h m_part.o: m_part.c ../config.h ../include/channel.h \ - ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \ - ../include/msgq.h ../include/ircd_events.h ../include/ircd_handler.h \ - ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_defs.h ../include/res.h ../include/client.h \ + ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ + ../include/ircd_handler.h ../include/capab.h ../include/hash.h \ + ../include/ircd.h ../include/struct.h ../include/ircd_log.h \ ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/numeric.h ../include/numnicks.h \ ../include/send.h m_pass.o: m_pass.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/ircd_reply.h \ - ../include/ircd_string.h ../include/ircd_chattr.h ../include/send.h + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_chattr.h ../include/send.h m_ping.o: m_ping.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd_reply.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd_log.h ../include/ircd_reply.h \ ../include/ircd_string.h ../include/ircd_chattr.h ../include/ircd.h \ ../include/struct.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/opercmds.h ../include/s_debug.h \ ../include/send.h m_pong.o: m_pong.c ../config.h ../include/client.h ../include/ircd_defs.h \ ../include/dbuf.h ../include/msgq.h ../include/ircd_events.h \ - ../include/ircd_handler.h ../include/hash.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_reply.h ../include/ircd_string.h \ + ../include/ircd_handler.h ../include/res.h ../include/capab.h \ + ../include/hash.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_log.h ../include/ircd_reply.h ../include/ircd_string.h \ ../include/ircd_chattr.h ../include/msg.h ../include/numeric.h \ ../include/numnicks.h ../include/opercmds.h ../include/s_user.h \ ../include/send.h m_privmsg.o: m_privmsg.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/ircd.h \ - ../include/struct.h ../include/ircd_chattr.h ../include/ircd_features.h \ - ../include/ircd_relay.h ../include/ircd_reply.h \ + ../include/ircd_events.h ../include/ircd_handler.h ../include/res.h \ + ../include/capab.h ../include/ircd.h ../include/struct.h \ + ../include/ircd_chattr.h ../include/ircd_features.h \ + ../include/ircd_log.h ../include/ircd_relay.h ../include/ircd_reply.h \ ../include/ircd_string.h ../include/match.h ../include/msg.h \ ../include/numeric.h ../include/send.h m_privs.o: m_privs.c ../config.h ../include/client.h \ ../include/ircd_defs.h ../include/dbuf.h ../include/msgq.h \ - ../include/ircd_events.h ../include/ircd_handler.h ../include/hash.h \ - ../include/ircd.h ../inclu... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-02-15 16:32:29
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-02-15 16:32:02 UTC Modified files: ChangeLog ChangeLog.es Makefile.in configure.in include/ircd_alloc.h include/memdebug.h include/patchlevel.h ircd/Makefile.in ircd/gline.c ircd/ircd_alloc.c ircd/ircd_res.c ircd/ircd_string.c ircd/memdebug.c ircd/motd.c ircd/umkpasswd.c ircd/test/ircd_in_addr_t.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 * Fix de un bug IPv6 * Fix de un bug MOTD * Fix de un bug GLINE ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.17 ircd-ircdev/ChangeLog:1.18 --- ircd-ircdev/ChangeLog:1.17 Wed Jan 26 09:19:33 2005 +++ ircd-ircdev/ChangeLog Tue Feb 15 08:31:48 2005 @@ -1,10 +1,15 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.17 2005/01/26 17:19:33 zolty Exp $ +# $Id: ChangeLog,v 1.18 2005/02/15 16:31:48 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 + * Fix IPv6 bug + * Fix MOTD bug + * Fix GLINE bug + 2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 * Undernet synchronization Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.17 ircd-ircdev/ChangeLog.es:1.18 --- ircd-ircdev/ChangeLog.es:1.17 Wed Jan 26 09:19:37 2005 +++ ircd-ircdev/ChangeLog.es Tue Feb 15 08:31:49 2005 @@ -1,10 +1,15 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.17 2005/01/26 17:19:37 zolty Exp $ +# $Id: ChangeLog.es,v 1.18 2005/02/15 16:31:49 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 + * Fix de un bug IPv6 + * Fix de un bug MOTD + * Fix de un bug GLINE + 2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 * Sincronizacion Undernet Index: ircd-ircdev/Makefile.in diff -u ircd-ircdev/Makefile.in:1.7 ircd-ircdev/Makefile.in:1.8 --- ircd-ircdev/Makefile.in:1.7 Mon Jan 10 04:29:52 2005 +++ ircd-ircdev/Makefile.in Tue Feb 15 08:31:49 2005 @@ -103,7 +103,6 @@ install: ${IRCD_MAKEFILES} test -d ${prefix} || mkdir ${prefix} - test -d ${prefix}/include || mkdir ${prefix}/include @for i in ${SUBDIRS}; do \ echo "Installing $$i..."; \ cd $$i; ${MAKE} install; cd ..; \ Index: ircd-ircdev/configure.in diff -u ircd-ircdev/configure.in:1.11 ircd-ircdev/configure.in:1.12 --- ircd-ircdev/configure.in:1.11 Wed Jan 26 09:19:39 2005 +++ ircd-ircdev/configure.in Tue Feb 15 08:31:49 2005 @@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl -dnl $Id: configure.in,v 1.11 2005/01/26 17:19:39 zolty Exp $ +dnl $Id: configure.in,v 1.12 2005/02/15 16:31:49 zolty Exp $ dnl dnl Make sure we are in the correct directory (someone could have run @@ -172,7 +172,8 @@ elif echo "" | $YACC -V -v --version > /dev/null 2>&1 ; then : else - AC_MSG_ERROR([Cannot use $YACC as yacc.]) +dnl byacc does not seem to have any way to test for workingness, so only warn. + AC_MSG_WARN([$YACC may not work as yacc.]) fi Index: ircd-ircdev/include/ircd_alloc.h diff -u ircd-ircdev/include/ircd_alloc.h:1.4 ircd-ircdev/include/ircd_alloc.h:1.5 --- ircd-ircdev/include/ircd_alloc.h:1.4 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/ircd_alloc.h Tue Feb 15 08:31:49 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief IRC daemon memory allocation functions. - * @version $Id: ircd_alloc.h,v 1.4 2005/01/10 12:21:59 zolty Exp $ + * @version $Id: ircd_alloc.h,v 1.5 2005/02/15 16:31:49 zolty Exp $ */ #ifndef INCLUDED_ircd_alloc_h #define INCLUDED_ircd_alloc_h @@ -40,7 +40,7 @@ /** Helper macro for zero-initialized allocations. */ #define MyCalloc(nelem, size) \ - DoMallocZero(size * nelem, "calloc", __FILE__, __LINE__) + DoMallocZero((size) * (nelem), "calloc", __FILE__, __LINE__) /** Helper macro for freeing memory. */ #define MyFree(p) \ @@ -74,7 +74,7 @@ #define DoMallocZero(size, type, file, line) \ dbg_malloc_zero(size, type, file, line) #define DoFree(p, file, line) \ - dbg_free(p, file, line) + do { dbg_free(p, file, line); (p) = 0; } while (0) #define DoRealloc(p, size, file, line) \ dbg_realloc(p, size, file, line) #endif /* defined(MDEBUG) */ Index: ircd-ircdev/include/memdebug.h diff -u ircd-ircdev/include/memdebug.h:1.2 ircd-ircdev/include/memdebug.h:1.3 --- ircd-ircdev/include/memdebug.h:1.2 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/memdebug.h Tue Feb 15 08:31:49 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: memdebug.h,v 1.2 2005/01/10 12:22:00 zolty Exp $ + * $Id: memdebug.h,v 1.3 2005/02/15 16:31:49 zolty Exp $ */ /* This file should only ever be included from ircd_alloc.h */ @@ -26,3 +26,5 @@ void *dbg_malloc_zero(size_t size, const char *type, const char *file, int line); void *dbg_realloc(void *ptr, size_t size, const char *file, int line); void dbg_free(void *ptr, const char *file, int line); +size_t fda_get_byte_count(void); +size_t fda_get_block_count(void); Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.18 ircd-ircdev/include/patchlevel.h:1.19 --- ircd-ircdev/include/patchlevel.h:1.18 Wed Jan 26 09:19:42 2005 +++ ircd-ircdev/include/patchlevel.h Tue Feb 15 08:31:50 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.18 2005/01/26 17:19:42 zolty Exp $ + * $Id: patchlevel.h,v 1.19 2005/02/15 16:31:50 zolty Exp $ * */ -#define PATCHLEVEL ".alpha16" +#define PATCHLEVEL ".alpha17" #define RELEASE "1.0" Index: ircd-ircdev/ircd/Makefile.in diff -u ircd-ircdev/ircd/Makefile.in:1.16 ircd-ircdev/ircd/Makefile.in:1.17 --- ircd-ircdev/ircd/Makefile.in:1.16 Wed Jan 26 09:19:42 2005 +++ ircd-ircdev/ircd/Makefile.in Tue Feb 15 08:31:50 2005 @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.16 2005/01/26 17:19:42 zolty Exp $ +# $Id: Makefile.in,v 1.17 2005/02/15 16:31:50 zolty Exp $ #### Start of system configuration section. #### @@ -301,11 +301,6 @@ ${INSTALL} -s -m 700 -o ${IRCDOWN} -g ${IRCDGRP} umkpasswd ${BINDIR} ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/ircd.sample-en.conf ${DPATH} ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/ircd.sample-es.conf ${DPATH} -# ( cd ${DPATH}; \ -# ${TOUCH} ${MPATH}; \ -# ${TOUCH} ${RPATH}; \ -# ${CHOWN} ${IRCDOWN} ${MPATH} ${RPATH}; \ -# ${CHGRP} ${IRCDGRP} ${MPATH} ${RPATH}; ) install-no-symlink: build mkbindir @if [ ! -d ${DPATH} -a ! -f ${DPATH} ]; then \ @@ -319,11 +314,6 @@ ${INSTALL} -m ${IRCDMODE} -o ${IRCDOWN} -g ${IRCDGRP} ircd ${BINDIR}/ircd ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/ircd.sample-en.conf ${DPATH} ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/ircd.sample-es.conf ${DPATH} -# ( cd ${DPATH}; \ -# ${TOUCH} ${MPATH}; \ -# ${TOUCH} ${RPATH}; \ -# ${CHOWN} ${IRCDOWN} ${MPATH} ${RPATH}; \ -# ${CHGRP} ${IRCDGRP} ${MPATH} ${RPATH}; ) uninstall: @if [ "${BINDIR}" != "${DPATH}" ]; then \ Index: ircd-ircdev/ircd/gline.c diff -u ircd-ircdev/ircd/gline.c:1.11 ircd-ircdev/ircd/gline.c:1.12 --- ircd-ircdev/ircd/gline.c:1.11 Mon Jan 10 04:22:58 2005 +++ ircd-ircdev/ircd/gline.c Tue Feb 15 08:31:51 2005 @@ -23,7 +23,7 @@ */ /** @file * @brief Implementation of Gline manipulation functions. - * @version $Id: gline.c,v 1.11 2005/01/10 12:22:58 zolty Exp $ + * @version $Id: gline.c,v 1.12 2005/02/15 16:31:51 zolty Exp $ */ #include "config.h" @@ -644,10 +644,7 @@ return 0; DupString(t_uh, userhost); - canon_userhost(t_uh, &user, &host, 0); - - if(BadPtr(user)) - return 0; + canon_userhost(t_uh, &user, &host, "*"); for (gline = GlobalGlineList; gline; gline = sgline) { sgline = gline->gl_next; @@ -660,14 +657,12 @@ else if (flags & GLINE_EXACT) { if (((gline->gl_host && host && ircd_strcmp(gline->gl_host,host) == 0) ||(!gline->gl_host && !host)) && - ((!user && ircd_strcmp(gline->gl_user, "*") == 0) || - ircd_strcmp(gline->gl_user, user) == 0)) + (ircd_strcmp(gline->gl_user, user) == 0)) break; } else { if (((gline->gl_host && host && match(gline->gl_host,host) == 0) ||(!gline->gl_host && !host)) && - ((!user && ircd_strcmp(gline->gl_user, "*") == 0) || - match(gline->gl_user, user) == 0)) + (match(gline->gl_user, user) == 0)) break; } } Index: ircd-ircdev/ircd/ircd_alloc.c diff -u ircd-ircdev/ircd/ircd_alloc.c:1.5 ircd-ircdev/ircd/ircd_alloc.c:1.6 --- ircd-ircdev/ircd/ircd_alloc.c:1.5 Mon Jan 10 04:22:58 2005 +++ ircd-ircdev/ircd/ircd_alloc.c Tue Feb 15 08:31:51 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief IRC daemon memory allocation functions. - * @version $Id: ircd_alloc.c,v 1.5 2005/01/10 12:22:58 zolty Exp $ + * @version $Id: ircd_alloc.c,v 1.6 2005/02/15 16:31:51 zolty Exp $ */ #include "config.h" @@ -57,6 +57,7 @@ noMemHandler = handler; } +#ifndef MDEBUG /** Allocate memory. * @param[in] size Number of bytes to allocate. * @param[in] x Type of allocation (ignored). @@ -101,4 +102,5 @@ (*noMemHandler)(); return t; } +#endif Index: ircd-ircdev/ircd/ircd_res.c diff -u ircd-ircdev/ircd/ircd_res.c:1.5 ircd-ircdev/ircd/ircd_res.c:1.6 --- ircd-ircdev/ircd/ircd_res.c:1.5 Wed Jan 26 09:19:47 2005 +++ ircd-ircdev/ircd/ircd_res.c Tue Feb 15 08:31:51 2005 @@ -41,7 +41,7 @@ */ /** @file * @brief IRC resolver functions. - * @version $Id: ircd_res.c,v 1.5 2005/01/26 17:19:47 zolty Exp $ + * @version $Id: ircd_res.c,v 1.6 2005/02/15 16:31:51 zolty Exp $ */ #include "client.h" #include "ircd_alloc.h" @@ -300,7 +300,7 @@ { if (when > CurrentTime + AR_TTL) when = CurrentTime + AR_TTL; - if (!t_onqueue(&res_timeout)) + if (!t_active(&res_timeout) || !t_onqueue(&res_timeout)) timer_add(&res_timeout, timeout_resolver, NULL, TT_ABSOLUTE, when); else if (when < t_expire(&res_timeout)) timer_chg(&res_timeout, TT_ABSOLUTE, when); Index: ircd-ircdev/ircd/ircd_string.c diff -u ircd-ircdev/ircd/ircd_string.c:1.7 ircd-ircdev/ircd/ircd_string.c:1.8 --- ircd-ircdev/ircd/ircd_string.c:1.7 Mon Jan 10 04:23:00 2005 +++ ircd-ircdev/ircd/ircd_string.c Tue Feb 15 08:31:51 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Implementation of string operations. - * @version $Id: ircd_string.c,v 1.7 2005/01/10 12:23:00 zolty Exp $ + * @version $Id: ircd_string.c,v 1.8 2005/02/15 16:31:51 zolty Exp $ */ #include "config.h" @@ -599,6 +599,7 @@ return 0; colon = 0; pos += 2; + part_start = input + pos; } while (ii < 8) { unsigned char chval; Index: ircd-ircdev/ircd/memdebug.c diff -u ircd-ircdev/ircd/memdebug.c:1.3 ircd-ircdev/ircd/memdebug.c:1.4 --- ircd-ircdev/ircd/memdebug.c:1.3 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/memdebug.c Tue Feb 15 08:31:51 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: memdebug.c,v 1.3 2005/01/10 12:23:03 zolty Exp $ + * $Id: memdebug.c,v 1.4 2005/02/15 16:31:51 zolty Exp $ * */ #include <sys/types.h> @@ -27,7 +27,9 @@ #include "ircd_log.h" #include "client.h" #include "s_debug.h" +#include "send.h" #include <stdlib.h> +#include <string.h> /* #include <assert.h> -- Now using assert in ircd_log.h */ Index: ircd-ircdev/ircd/motd.c diff -u ircd-ircdev/ircd/motd.c:1.6 ircd-ircdev/ircd/motd.c:1.7 --- ircd-ircdev/ircd/motd.c:1.6 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/motd.c Tue Feb 15 08:31:51 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Message-of-the-day manipulation implementation. - * @version $Id: motd.c,v 1.6 2005/01/10 12:23:03 zolty Exp $ + * @version $Id: motd.c,v 1.7 2005/02/15 16:31:51 zolty Exp $ */ #include "config.h" @@ -93,6 +93,8 @@ if (hostmask != NULL) DupString(tmp->hostmask, hostmask); + else + tmp->hostmask = NULL; DupString(tmp->path, path); tmp->maxcount = maxcount; Index: ircd-ircdev/ircd/test/ircd_in_addr_t.c diff -u ircd-ircdev/ircd/test/ircd_in_addr_t.c:1.1 ircd-ircdev/ircd/test/ircd_in_addr_t.c:1.2 --- ircd-ircdev/ircd/test/ircd_in_addr_t.c:1.1 Wed Jan 5 03:58:36 2005 +++ ircd-ircdev/ircd/test/ircd_in_addr_t.c Tue Feb 15 08:31:51 2005 @@ -34,6 +34,9 @@ { "::ffff:127.0.0.3", "127.0.0.3", {{ 0, 0, 0, 0, 0, 0xffff, 0x7f00, 3 }}, "B]AAAD", "B]AAAD", 1, 1, 1 }, + { "::127.0.0.1", "127.0.0.1", + {{ 0, 0, 0, 0, 0, 0, 0x7f00, 1 }}, + "B]AAAB", "B]AAAB", 1, 1, 1 }, { "2002:7f00:3::1", "2002:7f00:3::1", {{ 0x2002, 0x7f00, 3, 0, 0, 0, 0, 1 }}, "B]AAAD", "CACH8AAAD_AAB", 1, 0, 0 }, Index: ircd-ircdev/ircd/umkpasswd.c diff -u ircd-ircdev/ircd/umkpasswd.c:1.3 ircd-ircdev/ircd/umkpasswd.c:1.4 --- ircd-ircdev/ircd/umkpasswd.c:1.3 Mon Jan 10 04:23:04 2005 +++ ircd-ircdev/ircd/umkpasswd.c Tue Feb 15 08:31:51 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: umkpasswd.c,v 1.3 2005/01/10 12:23:04 zolty Exp $ + * $Id: umkpasswd.c,v 1.4 2005/02/15 16:31:51 zolty Exp $ * */ #include "config.h" @@ -49,6 +49,13 @@ umkpasswd_conf_t* umkpasswd_conf; crypt_mechs_t* crypt_mechs_root; int log_inassert = 0; +time_t CurrentTime; + +void sendto_opmask_butone(struct Client *one, unsigned int mask, + const char *pattern, ...) +{ + /* only needed with memdebug, which also calls Debug() */ +} void copyright(void) { ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-02-21 10:22:12
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-02-21 10:20:35 UTC Modified files: ChangeLog ChangeLog.es configure include/patchlevel.h ircd/IPcheck.c ircd/channel.c ircd/engine_epoll.c ircd/ircd_parser.y ircd/m_silence.c ircd/s_bsd.c ircd/s_err.c ircd/s_stats.c ircd/test/ircd_chattr_t.c Added files: tools/convert-conf.py Log message: Author: zoltan <zo...@ir...> Log message: 2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 * Fix de más bugs IPv6 * Fix bugs IPv6 de STATS I, C, O * Fix bugs STATS U * Fix de un bug de SILENCE ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.18 ircd-ircdev/ChangeLog:1.19 --- ircd-ircdev/ChangeLog:1.18 Tue Feb 15 08:31:48 2005 +++ ircd-ircdev/ChangeLog Mon Feb 21 02:19:26 2005 @@ -1,10 +1,16 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.18 2005/02/15 16:31:48 zolty Exp $ +# $Id: ChangeLog,v 1.19 2005/02/21 10:19:26 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 + * Fix some IPv6 bugs + * Fix IPv6 on STATS bugs + * Fix STATS U bug + * Fix SILENCE bug + 2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 * Fix IPv6 bug * Fix MOTD bug Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.18 ircd-ircdev/ChangeLog.es:1.19 --- ircd-ircdev/ChangeLog.es:1.18 Tue Feb 15 08:31:49 2005 +++ ircd-ircdev/ChangeLog.es Mon Feb 21 02:19:43 2005 @@ -1,14 +1,20 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.18 2005/02/15 16:31:49 zolty Exp $ +# $Id: ChangeLog.es,v 1.19 2005/02/21 10:19:43 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 + * Fix de más bugs IPv6 + * Fix bugs IPv6 de STATS I, C, O + * Fix bugs STATS U + * Fix de un bug de SILENCE + 2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 - * Fix de un bug IPv6 - * Fix de un bug MOTD - * Fix de un bug GLINE + * Fix de un bug de IPv6 + * Fix de un bug de MOTD + * Fix de un bug de GLINE 2005-01-26 Toni García <zo...@ir...> 1.0.alpha16 * Sincronizacion Undernet Index: ircd-ircdev/configure diff -u ircd-ircdev/configure:1.11 ircd-ircdev/configure:1.12 --- ircd-ircdev/configure:1.11 Wed Jan 26 09:19:38 2005 +++ ircd-ircdev/configure Mon Feb 21 02:19:43 2005 @@ -8859,9 +8859,8 @@ elif echo "" | $YACC -V -v --version > /dev/null 2>&1 ; then : else - { { echo "$as_me:$LINENO: error: Cannot use $YACC as yacc." >&5 -echo "$as_me: error: Cannot use $YACC as yacc." >&2;} - { (exit 1); exit 1; }; } + { echo "$as_me:$LINENO: WARNING: $YACC may not work as yacc." >&5 +echo "$as_me: WARNING: $YACC may not work as yacc." >&2;} fi Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.19 ircd-ircdev/include/patchlevel.h:1.20 --- ircd-ircdev/include/patchlevel.h:1.19 Tue Feb 15 08:31:50 2005 +++ ircd-ircdev/include/patchlevel.h Mon Feb 21 02:19:48 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.19 2005/02/15 16:31:50 zolty Exp $ + * $Id: patchlevel.h,v 1.20 2005/02/21 10:19:48 zolty Exp $ * */ -#define PATCHLEVEL ".alpha17" +#define PATCHLEVEL ".alpha18" #define RELEASE "1.0" Index: ircd-ircdev/ircd/IPcheck.c diff -u ircd-ircdev/ircd/IPcheck.c:1.8 ircd-ircdev/ircd/IPcheck.c:1.9 --- ircd-ircdev/ircd/IPcheck.c:1.8 Mon Jan 10 04:22:58 2005 +++ ircd-ircdev/ircd/IPcheck.c Mon Feb 21 02:19:50 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Code to count users connected from particular IP addresses. - * @version $Id: IPcheck.c,v 1.8 2005/01/10 12:22:58 zolty Exp $ + * @version $Id: IPcheck.c,v 1.9 2005/02/21 10:19:50 zolty Exp $ */ #include "config.h" @@ -124,8 +124,8 @@ ip_registry_canonicalize(&canon, ip); entry = hashTable[ip_registry_hash(&canon)]; for ( ; entry; entry = entry->next) { - int bits = (ip->in6_16[0] == ntohs(0x2002)) ? 48 : 64; - if (ipmask_check(ip, &entry->addr, bits)) + int bits = (canon.in6_16[0] == htons(0x2002)) ? 48 : 64; + if (ipmask_check(&canon, &entry->addr, bits)) break; } return entry; Index: ircd-ircdev/ircd/channel.c diff -u ircd-ircdev/ircd/channel.c:1.12 ircd-ircdev/ircd/channel.c:1.13 --- ircd-ircdev/ircd/channel.c:1.12 Wed Jan 26 09:19:46 2005 +++ ircd-ircdev/ircd/channel.c Mon Feb 21 02:19:50 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Channel management and maintanance - * @version $Id: channel.c,v 1.12 2005/01/26 17:19:46 zolty Exp $ + * @version $Id: channel.c,v 1.13 2005/02/21 10:19:50 zolty Exp $ */ #include "config.h" @@ -2863,12 +2863,14 @@ remove_count++; } } + if (remove_count) + return 0; + /* If no matches were found, fail. */ if (do_free) free_ban(newban); else MyFree(newban->banstr); - /* If no matches were found, fail. */ - return remove_count ? 0 : 3; + return 3; } if (do_free) free_ban(newban); Index: ircd-ircdev/ircd/engine_epoll.c diff -u ircd-ircdev/ircd/engine_epoll.c:1.7 ircd-ircdev/ircd/engine_epoll.c:1.8 --- ircd-ircdev/ircd/engine_epoll.c:1.7 Mon Jan 10 04:22:58 2005 +++ ircd-ircdev/ircd/engine_epoll.c Mon Feb 21 02:19:51 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Linux epoll_*() event engine. - * @version $Id: engine_epoll.c,v 1.7 2005/01/10 12:22:58 zolty Exp $ + * @version $Id: engine_epoll.c,v 1.8 2005/02/21 10:19:51 zolty Exp $ */ #include "config.h" @@ -229,7 +229,7 @@ { struct epoll_event *events; struct Socket *sock; - size_t codesize; + socklen_t codesize; int events_count, i, wait, nevs, errcode; if ((events_count = feature_int(FEAT_POLLS_PER_LOOP)) < 20) Index: ircd-ircdev/ircd/ircd_parser.y diff -u ircd-ircdev/ircd/ircd_parser.y:1.11 ircd-ircdev/ircd/ircd_parser.y:1.12 --- ircd-ircdev/ircd/ircd_parser.y:1.11 Wed Jan 26 09:19:47 2005 +++ ircd-ircdev/ircd/ircd_parser.y Mon Feb 21 02:20:02 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_parser.y,v 1.11 2005/01/26 17:19:47 zolty Exp $ + * $Id: ircd_parser.y,v 1.12 2005/02/21 10:20:02 zolty Exp $ * */ %{ @@ -512,7 +512,7 @@ } else { - log_write(LS_CONFIG, L_ERROR, 0, "operator blocks need a name, password, and host."); + parse_error("operator blocks need a name, password, and host."); MyFree(name); MyFree(pass); MyFree(host); @@ -652,32 +652,56 @@ } '{' clientitems '}' ';' { - struct ConfItem *aconf = make_conf(CONF_CLIENT); + struct irc_in_addr addr; unsigned char addrbits; - aconf->username = username; - aconf->host = host; - if (ip && ipmask_parse(ip, &aconf->address.addr, &addrbits)) + + if (ip && !ipmask_parse(ip, &addr, &addrbits)) { + parse_error("Invalid IP address in block"); + MyFree(username); + MyFree(host); + MyFree(ip); + } else { + struct ConfItem *aconf = make_conf(CONF_CLIENT); + aconf->username = username; + aconf->host = host; + memcpy(&aconf->address.addr, &addr, sizeof(aconf->address.addr)); aconf->addrbits = addrbits; - else - aconf->addrbits = -1; - aconf->conn_class = c_class ? c_class : find_class("default"); - aconf->maximum = maxlinks; + aconf->name = ip; + aconf->conn_class = c_class ? c_class : find_class("default"); + aconf->maximum = maxlinks; + } host = NULL; username = NULL; c_class = NULL; - MyFree(ip); + ip = NULL; }; clientitems: clientitem clientitems | clientitem; clientitem: clienthost | clientip | clientusername | clientclass | clientpass | clientmaxlinks | error; clienthost: HOST '=' QSTRING ';' { + char *sep = strchr($3, '@'); MyFree(host); - DupString(host, $3); + if (sep) { + *sep++ = '\0'; + MyFree(username); + DupString(username, $3); + DupString(host, sep); + } else { + DupString(host, $3); + } }; clientip: IP '=' QSTRING ';' { + char *sep = strchr($3, '@'); MyFree(ip); - DupString(ip, $3); + if (sep) { + *sep++ = '\0'; + MyFree(username); + DupString(username, $3); + DupString(ip, sep); + } else { + DupString(ip, $3); + } }; clientusername: USERNAME '=' QSTRING ';' { @@ -753,7 +777,7 @@ killreason: REASON '=' QSTRING ';' { - dconf->flags &= DENY_FLAGS_FILE; + dconf->flags &= ~DENY_FLAGS_FILE; MyFree(dconf->message); DupString(dconf->message, $3); }; @@ -868,8 +892,7 @@ { if (qconf->chname == NULL || qconf->reason == NULL) { - log_write(LS_CONFIG, L_ERROR, 0, "quarantine blocks need a channel name " - "and a reason."); + parse_error("quarantine blocks need a channel name and a reason."); return 0; } qconf->next = GlobalQuarantineList; @@ -894,7 +917,7 @@ { if (!smap->name || !smap->services) { - log_write(LS_CONFIG, L_ERROR, 0, "pseudo commands need a service name and list of target nicks."); + parse_error("pseudo commands need a service name and list of target nicks."); return 0; } if (register_mapping(smap)) @@ -949,7 +972,7 @@ } iauthitems '}' ';' { if (!host || !port) { - log_write(LS_CONFIG, L_ERROR, 0, "IAuth block needs a server name and port."); + parse_error("IAuth block needs a server name and port."); return 0; } iauth_connect(host, port, pass, tconn, tping); Index: ircd-ircdev/ircd/m_silence.c diff -u ircd-ircdev/ircd/m_silence.c:1.5 ircd-ircdev/ircd/m_silence.c:1.6 --- ircd-ircdev/ircd/m_silence.c:1.5 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/m_silence.c Mon Feb 21 02:20:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Handlers for SILENCE command. - * @version $Id: m_silence.c,v 1.5 2005/01/10 12:23:03 zolty Exp $ + * @version $Id: m_silence.c,v 1.6 2005/02/21 10:20:04 zolty Exp $ */ #include "config.h" @@ -116,11 +116,13 @@ maxlength = maxsiles * feature_int(FEAT_AVBANLEN); siles = totlength = 0; /* Count number of current silences and their total length. */ + plast = &cli_user(sptr)->silence; for (sile = cli_user(sptr)->silence; sile; sile = sile->next) { if (sile->flags & (BAN_OVERLAPPED | BAN_ADD | BAN_DEL)) continue; siles++; totlength += strlen(sile->banstr); + plast = &sile->next; } for (ii = jj = 0; ii < ac_count; ++ii) { sile = accepted[ii]; @@ -130,12 +132,16 @@ if (!(sile->flags & (BAN_OVERLAPPED | BAN_DEL))) { slen = strlen(sile->banstr); if ((siles >= maxsiles) || (totlength + slen >= maxlength)) { + *plast = NULL; + if (MyUser(sptr)) + send_reply(sptr, ERR_SILELISTFULL, accepted[ii]->banstr); free_ban(accepted[ii]); continue; } /* Update counts. */ siles++; totlength += slen; + plast = &sile->next; } /* Store the update. */ accepted[jj++] = sile; Index: ircd-ircdev/ircd/s_bsd.c diff -u ircd-ircdev/ircd/s_bsd.c:1.9 ircd-ircdev/ircd/s_bsd.c:1.10 --- ircd-ircdev/ircd/s_bsd.c:1.9 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/s_bsd.c Mon Feb 21 02:20:05 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Functions that now (or in the past) relied on BSD APIs. - * @version $Id: s_bsd.c,v 1.9 2005/01/10 12:23:03 zolty Exp $ + * @version $Id: s_bsd.c,v 1.10 2005/02/21 10:20:05 zolty Exp $ */ #include "config.h" @@ -261,6 +261,12 @@ cli_fd(cptr) = -1; return 0; } + /* + * Set the TOS bits - this is nonfatal if it doesn't stick. + */ + if (!os_set_tos(cli_fd(cptr), FEAT_TOS_SERVER)) { + report_error(TOS_ERROR_MSG, cli_name(cptr), errno); + } if ((result = os_connect_nonb(cli_fd(cptr), &aconf->address)) == IO_FAILURE) { cli_error(cptr) = errno; report_error(CONNECT_ERROR_MSG, cli_name(cptr), errno); Index: ircd-ircdev/ircd/s_err.c diff -u ircd-ircdev/ircd/s_err.c:1.11 ircd-ircdev/ircd/s_err.c:1.12 --- ircd-ircdev/ircd/s_err.c:1.11 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/s_err.c Mon Feb 21 02:20:06 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Error handling support. - * @version $Id: s_err.c,v 1.11 2005/01/10 12:23:03 zolty Exp $ + * @version $Id: s_err.c,v 1.12 2005/02/21 10:20:06 zolty Exp $ */ #include "config.h" @@ -465,11 +465,11 @@ /* 212 */ { RPL_STATSCOMMANDS, "%s %u %u", "212" }, /* 213 */ - { RPL_STATSCLINE, "C %s %s %d %d %s %s", "213" }, + { RPL_STATSCLINE, "C %s %s%s %d %d %s %s", "213" }, /* 214 */ { 0 }, /* 215 */ - { RPL_STATSILINE, "I %s %d %s %d %s", "215" }, + { RPL_STATSILINE, "I %s %d %s%s %d %s", "215" }, /* 216 */ { RPL_STATSKLINE, "%c %s \"%s\" %s 0 0", "216" }, /* 217 */ @@ -525,7 +525,7 @@ /* 242 */ { RPL_STATSUPTIME, ":Server Up %d days, %d:%02d:%02d", "242" }, /* 243 */ - { RPL_STATSOLINE, "O %s * %s %d %d", "243" }, + { RPL_STATSOLINE, "O %s@%s * %s %d %d", "243" }, /* 244 */ { 0 }, /* 245 */ Index: ircd-ircdev/ircd/s_stats.c diff -u ircd-ircdev/ircd/s_stats.c:1.6 ircd-ircdev/ircd/s_stats.c:1.7 --- ircd-ircdev/ircd/s_stats.c:1.6 Mon Jan 10 04:23:03 2005 +++ ircd-ircdev/ircd/s_stats.c Mon Feb 21 02:20:07 2005 @@ -22,7 +22,7 @@ /** @file * @brief Report configuration lines and other statistics from this * server. - * @version $Id: s_stats.c,v 1.6 2005/01/10 12:23:03 zolty Exp $ + * @version $Id: s_stats.c,v 1.7 2005/02/21 10:20:07 zolty Exp $ * * Note: The info is reported in the order the server uses * it--not reversed as in ircd.conf! @@ -87,7 +87,7 @@ struct ConfItem *tmp; unsigned short int port; int maximum; - char *host, *pass, *name, *hub_limit; + char *host, *pass, *name, *username, *hub_limit; for (tmp = GlobalConfList; tmp; tmp = tmp->next) { @@ -96,17 +96,22 @@ host = BadPtr(tmp->host) ? null : tmp->host; pass = BadPtr(tmp->passwd) ? null : tmp->passwd; name = BadPtr(tmp->name) ? null : tmp->name; + username = BadPtr(tmp->username) ? null : tmp->username; hub_limit = BadPtr(tmp->hub_limit) ? null : tmp->hub_limit; maximum = tmp->maximum; port = tmp->address.port; + if (tmp->status & CONF_UWORLD) - send_reply(sptr, RPL_STATSULINE, name); + send_reply(sptr, RPL_STATSULINE, host); else if (tmp->status & CONF_SERVER) - send_reply(sptr, RPL_STATSCLINE, name, host, port, maximum, hub_limit, get_conf_class(tmp)); + send_reply(sptr, RPL_STATSCLINE, name, (host[0] == ':' ? "0" : ""), host, port, maximum, hub_limit, get_conf_class(tmp)); else if (tmp->status & CONF_CLIENT) - send_reply(sptr, RPL_STATSILINE, host, maximum, name, port, get_conf_class(tmp)); + send_reply(sptr, RPL_STATSILINE, + (tmp->host ? tmp->host : "*"), maximum, + (name[0] == ':' ? "0" : ""), (tmp->name ? tmp->name : "*"), + port, get_conf_class(tmp)); else if (tmp->status & CONF_OPERATOR) - send_reply(sptr, RPL_STATSOLINE, host, name, port, get_conf_class(tmp)); + send_reply(sptr, RPL_STATSOLINE, username, host, name, port, get_conf_class(tmp)); } } } Index: ircd-ircdev/ircd/test/ircd_chattr_t.c diff -u ircd-ircdev/ircd/test/ircd_chattr_t.c:1.2 ircd-ircdev/ircd/test/ircd_chattr_t.c:1.3 --- ircd-ircdev/ircd/test/ircd_chattr_t.c:1.2 Tue Dec 28 03:15:47 2004 +++ ircd-ircdev/ircd/test/ircd_chattr_t.c Mon Feb 21 02:20:08 2005 @@ -77,6 +77,12 @@ return (0 != IsIPChar(c)); } +int eval_ip6_char(char c) +{ + return (0 != IsIP6Char(c)); +} + + int eval_eol(char c) { return (0 != IsEol(c)); @@ -105,6 +111,7 @@ { "IsUserChar: ", eval_user_char }, { "IsHostChar: ", eval_host_char }, { "IsIPChar: ", eval_ip_char }, + { "IsIP6Char: ", eval_ip6_char }, { "IsEol: ", eval_eol }, { "IsKTimeChar: ", eval_ktime_char } }; Index: ircd-ircdev/tools/convert-conf.py diff -u /dev/null ircd-ircdev/tools/convert-conf.py:1.1 --- /dev/null Mon Feb 21 02:22:02 2005 +++ ircd-ircdev/tools/convert-conf.py Mon Feb 21 02:20:16 2005 @@ -0,0 +1,263 @@ +#!/usr/bin/env python +# +# IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/ringlog.pl +# +# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> +# Copyright (C) 2002 Alex Badea <va...@p1...> +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# $Id: convert-conf.py,v 1.1 2005/02/21 10:20:16 zolty Exp $ +# + +# Configuration file converter from 2.10.11 to 2.10.12 format +# Usage: +# convert-conf.py < old.conf > new.conf +# + +import sys +from string import * +import re + +if len(sys.argv) > 1: + f = open(sys.argv[1], "r") +else: + f = sys.stdin + +connects = {} +jupes = [] +feats = [ ("OPLEVELS","FALSE")] + +def qstr(s): + return replace(s,'"','\\"') + +def istr(s): + return str(int(strip(s))) + + +def do_uline(parts): + print "Uworld {" + print "\tname = \"%s\";" % qstr(parts[1]) + print "};" + print + if len(parts[2]): + for i in split(parts[2],","): + jupes.append(i) + +def do_hline(parts): + if not connects.has_key(lower(parts[3])): + connects[lower(parts[3])]={ + "name" : lower(parts[3]) + } + connects[lower(parts[3])]["hub"] = parts[1] + +def do_lline(parts): + if not connects.has_key(lower(parts[3])): + connects[lower(parts[3])]={ + "name" : lower(parts[3]) + } + del connects[lower(parts[3])]["hub"] + +def do_pline(parts): + print "Port {" + print "\tport = %s;" % istr(parts[4]) + if len(parts[1]): + print "\tmask = \"%s\";" % qstr(parts[1]) + if len(parts[2]): + print "\tvhost = \"%s\";" % qstr(parts[2]) + if count(parts[3], 'S'): + print "\tserver = yes;" + if count(parts[3], 'H'): + print "\thidden = yes;" + print "};" + print + +def do_fline(parts): + feats.append((parts[1], parts[2])) + +def do_kline(parts): + if len(parts)!=4: + sys.stderr.write("WARNING: Wrong number of parameters on line %i\n" % lno) + return + letter,host,reason,user=parts + print "Kill {" + if host[:2]=="$R": + if host=="$R": + sys.stderr.write("WARNING: Empty realname kline on line %i\n" % lno) + print "\trealname = \"%s\";" % qstr(host[2:]) + else: + print "\thost = \"%s@%s\";" % (qstr(user),qstr(host)) + if reason[:1]=="!": + print "\tfile = \"%s\";" % qstr(reason[1:]) + else: + print "\treason = \"%s\";" % qstr(reason) + print "};" + print + +def do_iline(parts): + if len(parts)!=6: + sys.stderr.write("WARNING: I:line doesn't have enough fields on line %i\n" % lno) + return + iline,ip,password,host,dummy,clss = parts + for i in [0,1]: + mask = [ip,host][i] + # Ignore things that aren't masks + if "." not in mask and "*" not in mask and "@" not in mask: + continue + if "@" in mask: + user,host = split(mask,"@") + else: + user,host = "*",mask + if i==0 and not re.match("^[0-9\.\*]+$",host): + sys.stderr.write("WARNING: Bad IP mask in line %s (%s)\n" % (lno,repr(mask))) + continue + print "Client {" + if re.match("^[1-9][1-9]?$",password): + print "\tmaxlinks = %s;" % int(password) + elif password: + print "\tpassword = \"%s\";" % qstr(password) + print "\tclass = \"%s\";" % clss + if i == 0: + print "\tip = \"%s\";" % qstr(host) + else: + print "\thost = \"%s\";" % qstr(host) + if user!="*": + print "\tusername = \"%s\";" % qstr(user) + print "};" + print + +def do_cline(parts): + name=lower(parts[3]) + if not connects.has_key(name): + connects[name]={} + connects[name]["host"]=parts[1] + connects[name]["password"]=parts[2] + connects[name]["name"]=parts[3] + connects[name]["port"]=parts[4] + connects[name]["class"]=parts[5] + +cvtmap = { + 'M': ('General', ('name', 'vhost', 'description', '', '!numeric'), ''), + 'A': ('Admin', ('location', 'contact', 'contact'), ''), + 'Y': ('Class', ('name', '!pingfreq', '!connectfreq', '!maxlinks', '!sendq'), ''), + 'I': do_iline, + 'T': ('motd', ('host', 'file'), ''), + 'U': do_uline, + 'H': do_hline, + 'L': do_lline, + 'K': do_kline, + 'k': do_kline, + 'C': do_cline, + 'D': ('CRULE', ('server', '', 'rule'), '\tall = yes;'), + 'd': ('CRULE', ('server', '', 'rule'), ''), + 'O': ('Operator', ('host', 'password', 'name', '', 'class'), '\tlocal = no;'), + 'o': ('Operator', ('host', 'password', 'name', '', 'class'), '\tlocal = yes;'), + 'P': do_pline, + 'F': do_fline +} + +lno=0 +for line in f.readlines(): + lno=lno+1 + line = strip(line) + if line=="": + continue + if line[0]=="#": + print "#"+line + continue + print "#",line + parts = split(line, ":") + parts=[''] + # This statemachine is pretty much directly stolen from ircu + # to give an "authentic" parser :) + state=0 # normal + quoted=0 + for i in line: + if state==0: + if i=="\\": + state=1 # escaped + elif i=='"': + quoted=not quoted + elif i==':': + if quoted: + parts[-1]=parts[-1]+i + else: + parts.append("") + elif i=='#': + break + else: + parts[-1]=parts[-1]+i + elif state==1: + if i in "bfnrtv": + parts[-1]=parts[-1]+"\b\f\n\r\t\v"[index("bfnrtv",i)] + else: + parts[-1]=parts[-1]+i + state=0 + if quoted: + sys.stderr.write("WARNING: No closing quote on line %i\n"%lno) + if not len(parts): + continue + if not cvtmap.has_key(parts[0]): + print "#Unknown:",line + continue + if callable(cvtmap[parts[0]]): + cvtmap[parts[0]](parts) + continue + (block, items, extra) = cvtmap[parts[0]] + + print block, "{" + idx = 1 + for item in items: + if idx >= len(parts): + break + if len(parts[idx]) and len(item): + if item[0] == '!': + print "\t%s = %s;" % (item[1:], istr(parts[idx])) + else: + print "\t%s = \"%s\";" % (item, qstr(parts[idx])) + idx = idx + 1 + if len(extra): + print extra + print "};" + print + +if len(jupes): + print "Jupe {" + for nick in jupes: + print "\tnick = \"%s\";" % qstr(nick) + print "};" + print + +if len(connects.keys()): + for i in connects.keys(): + print "Connect {" + print "\tname = \"%s\";" % qstr(connects[i]["name"]) + print "\thost = \"%s\";" % qstr(connects[i]["host"]) + print "\tpassword = \"%s\";" % qstr(connects[i]["password"]) + print "\tport = %s;" % connects[i]["port"] + print "\tclass = \"%s\";" % qstr(connects[i]["class"]) + if connects[i].has_key("hub"): + print "\thub = \"%s\";" % qstr(connects[i]["hub"]) + else: + print "\tleaf = \"yes\";" + print "};" + print + +if len(feats): + print "features {" + for (name, value) in feats: + print "\t\"%s\" = \"%s\";" % (qstr(name), qstr(value)) + print "};" + print ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-09 17:12:43
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-09 17:12:06 UTC Modified files: ChangeLog ChangeLog.es Log message: Correccion ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.19 ircd-ircdev/ChangeLog:1.20 --- ircd-ircdev/ChangeLog:1.19 Mon Feb 21 02:19:26 2005 +++ ircd-ircdev/ChangeLog Wed Mar 9 09:11:56 2005 @@ -1,18 +1,18 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.19 2005/02/21 10:19:26 zolty Exp $ +# $Id: ChangeLog,v 1.20 2005/03/09 17:11:56 zolty Exp $ # # Insert new changes at beginning of the change list. # 2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 - * Fix some IPv6 bugs - * Fix IPv6 on STATS bugs - * Fix STATS U bug - * Fix SILENCE bug + * Fix some IPv6 cosmetic bugs + * Fix IPv6 on STATS cosmetic bugs + * Fix STATS U cosmetic bug + * Fix SILENCE cosmetic bug 2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 - * Fix IPv6 bug + * Fix IPv6 cosmetic bug * Fix MOTD bug * Fix GLINE bug Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.19 ircd-ircdev/ChangeLog.es:1.20 --- ircd-ircdev/ChangeLog.es:1.19 Mon Feb 21 02:19:43 2005 +++ ircd-ircdev/ChangeLog.es Wed Mar 9 09:11:56 2005 @@ -1,18 +1,18 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.19 2005/02/21 10:19:43 zolty Exp $ +# $Id: ChangeLog.es,v 1.20 2005/03/09 17:11:56 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # 2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 - * Fix de más bugs IPv6 - * Fix bugs IPv6 de STATS I, C, O - * Fix bugs STATS U + * Fix de más bugs cosmeticos IPv6 + * Fix bugs cosmeticos IPv6 de STATS I, C, O + * Fix bugs cosmeticos STATS U * Fix de un bug de SILENCE 2005-02-15 Toni García <zo...@ir...> 1.0.alpha17 - * Fix de un bug de IPv6 + * Fix de un bug cosmetico de IPv6 * Fix de un bug de MOTD * Fix de un bug de GLINE ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-09 18:12:58
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-09 18:12:45 UTC Modified files: ChangeLog ChangeLog.es configure configure.in doc/ircd.sample-en.conf doc/ircd.sample-es.conf doc/history/Undernet/ChangeLog-u2.10.12 include/channel.h include/client.h include/patchlevel.h ircd/Makefile.in ircd/channel.c ircd/client.c ircd/ircd_lexer.l ircd/ircd_parser.y ircd/m_list.c ircd/m_who.c ircd/match.c ircd/s_auth.c ircd/s_stats.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-03-09 Toni García <zo...@ir...> 1.0.alpha19 * Fix de bug cosmetico de IPv6 ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.20 ircd-ircdev/ChangeLog:1.21 --- ircd-ircdev/ChangeLog:1.20 Wed Mar 9 09:11:56 2005 +++ ircd-ircdev/ChangeLog Wed Mar 9 10:12:25 2005 @@ -1,10 +1,13 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.20 2005/03/09 17:11:56 zolty Exp $ +# $Id: ChangeLog,v 1.21 2005/03/09 18:12:25 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-03-09 Toni García <zo...@ir...> 1.0.alpha19 + * Fix IPv6 cosmetic bug + 2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 * Fix some IPv6 cosmetic bugs * Fix IPv6 on STATS cosmetic bugs Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.20 ircd-ircdev/ChangeLog.es:1.21 --- ircd-ircdev/ChangeLog.es:1.20 Wed Mar 9 09:11:56 2005 +++ ircd-ircdev/ChangeLog.es Wed Mar 9 10:12:29 2005 @@ -1,10 +1,13 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.20 2005/03/09 17:11:56 zolty Exp $ +# $Id: ChangeLog.es,v 1.21 2005/03/09 18:12:29 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-03-09 Toni García <zo...@ir...> 1.0.alpha19 + * Fix de bug cosmetico de IPv6 + 2005-02-21 Toni García <zo...@ir...> 1.0.alpha18 * Fix de más bugs cosmeticos IPv6 * Fix bugs cosmeticos IPv6 de STATS I, C, O Index: ircd-ircdev/configure diff -u ircd-ircdev/configure:1.12 ircd-ircdev/configure:1.13 --- ircd-ircdev/configure:1.12 Mon Feb 21 02:19:43 2005 +++ ircd-ircdev/configure Wed Mar 9 10:12:30 2005 @@ -9299,7 +9299,7 @@ if test x"$unet_cv_enable_poll" = xyes; then cat >>confdefs.h <<\_ACEOF -#define USE_POLL +#define USE_POLL 1 _ACEOF ENGINE_C=engine_poll.c @@ -9328,7 +9328,7 @@ if test x"$unet_cv_enable_debug" = xyes; then cat >>confdefs.h <<\_ACEOF -#define DEBUGMODE +#define DEBUGMODE 1 _ACEOF fi @@ -9379,7 +9379,7 @@ if test x"$ac_cv_use_ipv6" != "xno" ; then cat >>confdefs.h <<\_ACEOF -#define IPV6 +#define IPV6 1 _ACEOF fi @@ -9404,7 +9404,7 @@ if test x"$unet_cv_enable_asserts" = xno; then cat >>confdefs.h <<\_ACEOF -#define NDEBUG +#define NDEBUG 1 _ACEOF fi @@ -9513,7 +9513,7 @@ if test x"$unet_cv_enable_inlines" = xyes; then cat >>confdefs.h <<\_ACEOF -#define FORCEINLINE +#define FORCEINLINE 1 _ACEOF fi @@ -9543,7 +9543,7 @@ if test x"$unet_cv_enable_devpoll" != xno; then cat >>confdefs.h <<\_ACEOF -#define USE_DEVPOLL +#define USE_DEVPOLL 1 _ACEOF ENGINE_C="engine_devpoll.c $ENGINE_C" @@ -9574,7 +9574,7 @@ if test x"$unet_cv_enable_kqueue" != xno; then cat >>confdefs.h <<\_ACEOF -#define USE_KQUEUE +#define USE_KQUEUE 1 _ACEOF ENGINE_C="engine_kqueue.c $ENGINE_C" @@ -9651,7 +9651,7 @@ echo "${ECHO_T}no" >&6 cat >>confdefs.h <<\_ACEOF -#define EPOLL_NEED_BODY +#define EPOLL_NEED_BODY 1 _ACEOF fi @@ -9659,7 +9659,7 @@ conftest$ac_exeext conftest.$ac_ext cat >>confdefs.h <<\_ACEOF -#define USE_EPOLL +#define USE_EPOLL 1 _ACEOF ENGINE_C="engine_epoll.c $ENGINE_C" Index: ircd-ircdev/configure.in diff -u ircd-ircdev/configure.in:1.12 ircd-ircdev/configure.in:1.13 --- ircd-ircdev/configure.in:1.12 Tue Feb 15 08:31:49 2005 +++ ircd-ircdev/configure.in Wed Mar 9 10:12:30 2005 @@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl -dnl $Id: configure.in,v 1.12 2005/02/15 16:31:49 zolty Exp $ +dnl $Id: configure.in,v 1.13 2005/03/09 18:12:30 zolty Exp $ dnl dnl Make sure we are in the correct directory (someone could have run @@ -253,7 +253,7 @@ AC_MSG_RESULT([$unet_cv_enable_poll]) if test x"$unet_cv_enable_poll" = xyes; then - AC_DEFINE([USE_POLL], , [Specify whether or not to use poll()]) + AC_DEFINE([USE_POLL], 1, [Specify whether or not to use poll()]) ENGINE_C=engine_poll.c else ENGINE_C=engine_select.c @@ -270,7 +270,7 @@ AC_MSG_RESULT([$unet_cv_enable_debug]) if test x"$unet_cv_enable_debug" = xyes; then - AC_DEFINE([DEBUGMODE], , [Enable debugging code]) + AC_DEFINE([DEBUGMODE], 1, [Enable debugging code]) fi dnl Now look for --enable-leak-detect @@ -296,7 +296,7 @@ [ac_cv_use_ipv6=$unet_have_sockaddr_in6]) AC_CACHE_CHECK([whether to use IPv6], [ac_cv_use_ipv6], [ac_cv_use_ipv6=no]) if test x"$ac_cv_use_ipv6" != "xno" ; then - AC_DEFINE([IPV6], , [Enable IPv6 support]) + AC_DEFINE([IPV6], 1, [Enable IPv6 support]) fi dnl And now for --disable-asserts @@ -309,7 +309,7 @@ AC_MSG_RESULT([$unet_cv_enable_asserts]) if test x"$unet_cv_enable_asserts" = xno; then - AC_DEFINE([NDEBUG], , [Disable assertions]) + AC_DEFINE([NDEBUG], 1, [Disable assertions]) fi dnl Check for --enable-symbols @@ -374,7 +374,7 @@ AC_MSG_RESULT([$unet_cv_enable_inlines]) if test x"$unet_cv_enable_inlines" = xyes; then - AC_DEFINE([FORCEINLINE], , [Force inlining for a few critical functions]) + AC_DEFINE([FORCEINLINE], 1, [Force inlining for a few critical functions]) fi dnl --disable-devpoll check... @@ -392,7 +392,7 @@ AC_MSG_RESULT([$unet_cv_enable_devpoll]) if test x"$unet_cv_enable_devpoll" != xno; then - AC_DEFINE([USE_DEVPOLL], , [Define to enable the /dev/poll engine]) + AC_DEFINE([USE_DEVPOLL], 1, [Define to enable the /dev/poll engine]) ENGINE_C="engine_devpoll.c $ENGINE_C" fi @@ -411,7 +411,7 @@ AC_MSG_RESULT([$unet_cv_enable_kqueue]) if test x"$unet_cv_enable_kqueue" != xno; then - AC_DEFINE([USE_KQUEUE], , [Define to enable the kqueue engine]) + AC_DEFINE([USE_KQUEUE], 1, [Define to enable the kqueue engine]) ENGINE_C="engine_kqueue.c $ENGINE_C" fi @@ -436,8 +436,8 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <sys/epoll.h>], [epoll_create(10);])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) - AC_DEFINE([EPOLL_NEED_BODY],,[Define to implement epoll system calls])]) - AC_DEFINE([USE_EPOLL], , [Define to enable the epoll engine]) + AC_DEFINE([EPOLL_NEED_BODY], 1, [Define to implement epoll system calls])]) + AC_DEFINE([USE_EPOLL], 1, [Define to enable the epoll engine]) ENGINE_C="engine_epoll.c $ENGINE_C" fi Index: ircd-ircdev/doc/history/Undernet/ChangeLog-u2.10.12 diff -u ircd-ircdev/doc/history/Undernet/ChangeLog-u2.10.12:1.2 ircd-ircdev/doc/history/Undernet/ChangeLog-u2.10.12:1.3 --- ircd-ircdev/doc/history/Undernet/ChangeLog-u2.10.12:1.2 Fri May 21 08:39:33 2004 +++ ircd-ircdev/doc/history/Undernet/ChangeLog-u2.10.12 Wed Mar 9 10:12:32 2005 @@ -1,3 +1,1673 @@ +2005-03-08 Michael Poole <md...@tr...> + + * ircd/match.c (ipmask_parse): Explicitly zero-initialize the mask + and bit count for "*". + (ipmask_check): Make more robust to similar errors. + +2005-03-07 Michael Poole <md...@tr...> + + * configure.in: Consistently use a constant in AC_DEFINE(). + + * configure: Regenerate. + + * doc/example.conf (Port): Add comment about the mask option. + (Port): Fix the vhosted Port example. + + * ircd/ircd_parser.y (clientblock): Correctly initialize the IP + address and addrbits for a Client block with no IP mask. + + * ircd/match.c (ipmask_parse): Accept * as a zero-bit mask. + + * ircd/s_auth.c (start_auth_query): Count socket allocation + failure as a failed auth check, as .11 does. + + * ircd/s_debug.c (debug_serveropts): Add '6' to server options + when compiled with IPv6 support. + +2005-02-23 Michael Poole <md...@tr...> + + * doc/example.conf: Explain apass_opmode privilege, pointing out + that, unlike previous privs, the default is OFF for global opers. + + * include/client.h (PRIV_APASS_OPMODE): Define new privilege. + + * ircd/channel.c (mode_parse_upass): Only prevent local opers + without the apass_opmode privilege from forcing a +U change. + (mode_parse_apass): Likewise, for +A. + + * ircd/client.c (client_set_privs): Turn off PRIV_APASS_OPMODE in + the default privileges for global opers. + + * ircd/ircd_lexer.l (apass_opmode): Recognize keyword. + + * ircd/ircd_parser.y (TPRIV_APASS_OPMODE): New token. + (privtype): Fix typo for local_badchan privilege value. + Accept apass_opmode token. + +2005-02-23 Michael Poole <md...@tr...> + + * doc/example.conf: Fix comment's description of "whox" privilege. + +2005-02-21 Michael Poole <md...@tr...> + + * include/channel.h (ShowChannel): Remove PRIV_LIST_CHAN check + from here, so /whois does not show secret global channels. + + * ircd/m_list.c (param_parse): Require PRIV_LIST_CHAN to use + "/list s". + (m_list): Allow opers with PRIV_LIST_CHAN to see secret channels. + +2005-02-21 Perry Lorier <is...@un...> + + * ircd/s_stats.c: Hide the hub IP's. They're kinda important. + +2005-02-20 Perry Lorier <is...@un...> + + * ircd/ircd_parser.y: Moved some parse errors from log_write()'s to + parse_error()'s so that ./ircd -k will display them. Also clarified + the warning about oper blocks. + +2005-02-20 Perry Lorier <is...@un...> + + * tools/convert-conf.py: A multitude of changes to deal with parsing + mistakes, generate a newer config file, better error handling, + being smarter about what config elements you generate etc. + +2005-02-20 Perry Lorier <is...@un...> + + * ircd/engine_epoll.c: Change a size_t to socklen_t to match + getsockopt prototype, so it compiles without warning on amd64 + +2005-02-19 Michael Poole <md...@tr...> + + * ircd/ircd_parser.y (clientblock): Parse IP address before + allocating ConfItem; if the parse fails, generate an error. + + * ircd/s_err.c (RPL_STATSCLINE): Add format field to prefix IPv6 + addresses starting with ':'. + (RPL_STATSILINE): Likewise. + (RPL_STATSOLINE): Add format field for username. + + * ircd/s_stats.c (stats_configured_links): Pass the appropriate + argument for the RPL_STATSxLINE changes. + Change RPL_STATSILINE to use * instead of <NULL> when IP or host + is null. + +2005-02-18 Michael Poole <md...@tr...> + + * ircd/IPcheck.c (ip_registry_find): Use canonical form of IP + address to look up and compare against hash entries. + + * ircd/channel.c (apply_ban): Do not free a succesful BAN_DEL ban. + + * ircd/ircd_parser.y (clientblock): Stash IP string in aconf->name. + (clienthost): Split hosts that contain '@' into username and host. + (clientip): Split IPs that contain '@' into username and IP. + (killreason): Add missing ~ to mask off DENY_FLAGS_FILE. + + * ircd/m_silence.c (forward_silences): When we reject a silence, + splice it out of the ban list. Warn the user if he is local. + + * ircd/s_bsd.c (connect_inet): Set IP TOS for outbound server + connections. + + * ircd/s_stats.c (stats_configured_links): Display correct field + when listing CONF_UWORLD entries. + +2005-02-09 Michael Poole <md...@tr...> + + * configure.in (YACC): Only warn if we cannot get a version number + from $YACC. + + * configure: Regenerate. + + * ircd/ircd_res.c (check_resolver_timeout): Try another way to + avoid timer_chg() on a non-queued/active timer. + + * ircd/ircd_string.c (ircd_aton): Set part_start to handle input + strings like "::127.0.0.1". + + * ircd/test/ircd_in_addr_t.c (test_addrs): Add a test for that. + +2005-02-02 Michael Poole <md...@tr...> + + * Makefile.in (install): Do not create ${prefix}/include since it + is no longer used. + + * ircd/Makefile.in (install-*): Remove commented-out code to touch + and chown MPATH and RPATH. + + * ircd/gline.c (gline_find): Allow searching for host-based + G-lines by plain hostname (not *@host), thus preventing "GLINE + test ..." from inserting duplicate G-lines. + + * ircd/motd.c (motd_create): Null out new Motd's hostmask when + appropriate, avoiding an uninitialized or stale pointer. + +2005-01-26 Michael Poole <md...@tr...> + + * include/ircd_alloc.h (DoMallocZero): Parenthesize macro + arguments, fixing operator precedence problems. + (DoFree): Make debug version also overwrite p. + + * include/memdebug.h (fda_get_byte_count, fda_get_block_count): + Declare functions used outside memdebug.c. + + * ircd/Makefile.in (UMKPASSWD_SRC): Add memdebug.c. + + * ircd/ircd_alloc.c (DoMalloc, DoMallocZero, DoRealloc): Do not + use these if using the memdebug version. + + * ircd/memdebug.c: #include "send.h" and <string.h> to get + declarations for certain functions. + + * ircd/umkpasswd.c (CurrentTime): Define in case of memdebug. + (sendto_opmask_butone): Likewise. + +2005-01-25 Michael Poole <md...@tr...> + + * configure.in: Fix typos and thinkos in previous commut. + + * configure: Regenerate. + + * doc/example.conf: Change class name in Connect block to be + consistent with earlier Class block. + + * ircd/ircd.c (try_connections): Consider Connect blocks with hold + time of 0. Fix Links() vs MaxLinks() comparison to reflect ref + count starting at 1. + + * ircd/ircd_parser.y (cruleblock, iauthblock): Clear unused + variables after use. + +2005-01-24 Michael Poole <md...@tr...> + + * configure.in: Make sure that $LEX and $YACC are reasonable and + actually run. + + * configure: Regenerate. + + * ircd/ircd_res.c (check_resolver_timeout): Use correct macro to + test whether the timer is already pending. + +2005-01-23 Michael Poole <md...@tr...> + + * doc/example.conf (Kill): Fix typo in realname Kill block + + * include/client.h (infousermodes): Fix typo in comment. + + * ircd/ircd.c (parse_command_line): -k implies BOOT_TTY. + (main): Move daemon_init() before event_init() to work around BSD + lameness. + +2005-01-23 Michael Poole <md...@tr...> + + * ircd/test/Makefile.in: Add missing "install" target. Make + compatible with BSD make (which has no $^ and no $(CPPFLAGS) in + its default .c.o rule). + +2005-01-21 Michael Poole <md...@tr...> + + * ircd/engine_kqueue.c: Move <sys/types.h> earlier to fix build on + FreeBSD 5.x (which needs it for <sys/event.h>). + + * ircd/fileio.c (fbopen): Replace BSDism S_IREAD, S_IWRITE with + portable equivalents. + + * ircd/ircd_log.c (log_open): Likewise. + + * ircd/os_generic.c (_XOPEN_SOURCE): Increase to 600 (SuSv3?) so + that IPv6 definitions become visible on FreeBSD 5.3. + + * ircd/s_auth.c: Remove apparently unused <sys/file.h> because + it fails to compile on FreeBSD 5.3. + +2005-01-22 Perry Lorier <is...@un...> + + * ircd/ircd_parser.y: Fix missing ; + +2005-01-19 Michael Poole <md...@tr...> + + * ircd/m_invite.c (m_invite, ms_invite): Include timestamp in + outbound INVITE messages. On incoming INVITEs, ignore if the + timestamp is too recent or if the timestamp is missing and the + peer server is in burst. + +2005-01-15 Michael Poole <md...@tr...> + + * RELEASE.NOTES: Mention CIDR support for Client, Operator, bans + and silences. Mention net.rider kick change. + + * doc/example.conf (Class): Add documentation for restart and + local_opmode privileges. Fix name of local_jupe privilege. + + * ircd/ircd_lexer.l: Recognize local_opmode privilege. + +2005-01-14 Michael Poole <md...@tr...> + + * RELEASE.NOTES: Further updates (mention Pseudo blocks, clarify + CAP comment, mention named /stats, list config heteromorphisms. + + * doc/readme.features: Document HIS_STATS_a, HIS_STATS_L, + HIS_STATS_R, LOCAL_CHANNELS, TOPIC_BURST. + + * ircd/channel.c (mode_parse_apass): Change old mention of +u mode + to say +U. + +2005-01-13 Michael Poole <md...@tr...> + + * RELEASE.NOTES: Update for 2.10.12. + +2005-01-08 Michael Poole <md...@tr...> + + * ircd/channel.c (@page zombie): Add synopsis to explain what + zombies are supposed to do. + + * doc/example.conf (Features): Transfer recommended LOG features + from 2.10.11 example.conf. + +2005-01-03 Michael Poole <md...@tr...> + + * ircd/ircd.c (try_connections): Test Connect hold time before + updating it (spotted by Kev). + +2005-01-03 Michael Poole <md...@tr...> + + * Makefile.in: Add ircd/test as a subdirectory. + + * ircd/.cvsignore: Ignore umkpasswd binary. + + * ircd/Makefile.in: Update dependencies. + + * ircd/test/.cvsignore: New file. + + * ircd/test/Makefile.in: Use ${} instead of $(). Add build, + depend, distclean targets to integrate with rest of build system. + +2005-01-03 Michael Poole <md...@tr...> + + * ircd/IPcheck.c (ip_registry_check_remote): Do not count clones + that have an invalid IP address. + + * ircd/ircd.c (try_connections): Update Connect hold time before + skipping it, to prevent infinite loops. + +2005-01-03 Kevin L Mitchell <kl...@mi...> + + * ircd/s_user.c (is_silenced): is_silenced() would core if sptr + was a server; fixed to skip servers + +2004-12-28 Michael Poole <md...@tr...> + + * include/s_bsd.h (VirtualHost): Replace with separate variables + for IPv4 and IPv6 virtual hosts. + + * include/uping.h (uping_echo): Remove declaration. + + * ircd/ircd_auth.c (iauth_reconnect): Select VirtualHost_v4 or + VirtualHost_v6 based on iauth server address family. + + * ircd/ircd_lexer.l: Do not recognize RESOLVER token. + + * ircd/ircd_parser.y (ResolverAddr): Remove declaration. + (RESOLVER): Remove definition. + (generalresolver): Remove. + (generalvhost): Assign address to either VirtualHost_v4 or + VirtualHost_v6, depending on format. + + * ircd/ircd_res.c (res_socket): Replace with separate variables + for IPv4 and IPv6 resolver sockets. + (ResolverAddr): Remove definition. + (restart_resolver): Attempt to set up both IPv4 and IPv6 sockets. + (send_res_msg): Select outbound FD based on resolver address type. + (res_readreply): Recognize either inbound socket FD. + + * ircd/os_generic.c (sockaddr_from_irc): Require irc != NULL. + (os_socket): Require local != NULL. + + * ircd/s_bsd.c (VirtualHost): Replace with separate variables + for IPv4 and IPv6 virtual hosts. + (connect_inet): Select virtual host based on destination address. + + * ircd/uping.c (UPingFIleDescriptor): Remove. + (upingSock): Split into separate IPv4 and IPv6 variables. + (uping_echo_callback): Incorporate uping_echo() body here, so the + proper socket FD can be used. + (uping_init): Attempt to set up both v4 and v6 UPING sockets. + (uping_server): Create uping socket with appropriate local address. + + * doc/example.conf (General): Update example config file to + reflect removal of Resolver setting and support for separate IPv4 + and IPv6 VHost settings. + +2004-12-28 Michael Poole <md...@tr...> + + * ircd/sys.h (BITS_ZERO_ON_*, HAVE_RELIABLE_SIGNALS, DOCURSES, + DOTERMCAP, IRC_UID, IRC_GID, LIMIT_FMT, FALSE, TRUE): Remove + unused macros. + + * ircd/ircd_auth.c, ircd/listener.c, ircd/s_auth.c, ircd/s_bsd.c, + ircd/s_conf.c, ircd/uping.c, ircd/whocmds.c: Remove obsolete + #include <arpa/inet.h>. + +2004-12-28 Michael Poole <md...@tr...> + + * ircd/match.c: Remove obsolete #include <arpa/inet.h>. + (ipmask_parse_ipv4): We already parse the dotted quads from the + input string, so use them instead of inet_addr() to populate + out->s_addr. + + * ircd/gline.c: Remove obsolete #includes <arpa/inet.h>, "sys.h". + (do_gline): Pass SHOW_IP instead of TRUE as argument to + get_client_name(). + + * ircd/ircd.c (try_connections): Revise to use fewer temporary + variables. + +2004-12-28 Michael Poole <md...@tr...> + + * include/res.h: Implement irc_in_addr_* as macros. + + * ircd/ircd_res.c: Remove the function bodies. + + * ircd/ircd_string.c (irc_in_addr_is_ipv4): Remove body. + (ircd_ntoa_r): Do not append extra ':' when unparsing 0::. + (ircd_aton): Accept IPv6 addresses with all eight segments + specified (e.g. 0:0:0:0:0:0:0:0). Correctly parse addresses + with IPv4 bits at the end (e.g. ::FFFF:127.0.0.1). + + * ircd/test/ircd_in_addr_t.c, ircd/test/test_stub.c: New files. + + * ircd/test/Makefile: Convert to Makefile.in for proper VPATH + support. Add test_stub.c and ircd_in_addr_t.c references. + + * configure.in: Generate ircd/test/Makefile as an output file. + + * configure: Update. + +2004-12-18 Michael Poole <md...@tr...> + + * include/client.h: Move unreg, privs, capab and active fields + from struct Client to struct Connection since that is how they + are really associated. Adjust macros to match. + (SetPriv, ClrPriv): New macros. + + * ircd/client.c (client_set_privs): Exit earlier for remote + clients. Adjust macro use to correspond. + + * ircd/m_server.c (mr_server): Grant all privileges except + PRIV_SET to peer servers. + +2004-12-18 Michael Poole <md...@tr...> + + * ircd/s_user.c (hide_hostmask): Add a missing "break;" to fix bug + #1087461. + +2004-12-18 Michael Poole <md...@tr...> + + * ircd/engine_kqueue.c (engine_loop): Remove an assertion that the + socket's FD is the same after processing as it was before; local + clients apparently have s_fd() == -1 after close. + +2004-12-18 Kevin L Mitchell <kl...@mi...> + + * ircd/s_user.c: make absolutely certain register_user() is never + called with cli_unreg non-zero; transition set_nick_name() over to + the new way of determining whether client is ready for + register_user() + + * ircd/s_err.c: add ERR_UNKNOWNCAPCMD for reporting failure to + understand a given CAP subcommand + + * ircd/parse.c: add "CAP" command + + * ircd/m_user.c (m_user): transition over to new way of + determining whether client is ready for register_user() + + * ircd/m_pong.c (mr_pong): transition over to new way of + determining whether client is ready for register_user() + + * ircd/m_cap.c: implementation of the IRC capabilities draft + + * ircd/list.c (make_client): initialize cli_unreg element of + client structure + + * ircd/ircd_string.c: correct old bugs in ircd_strn?cmp() + functions that were never found because cross-case ordering has + not been needed until now + + * ircd/Makefile.in: add m_cap.c to list of .c files + + * include/numeric.h (ERR_UNKNOWNCAPCMD): define new error reply to + indicate an unknown CAP subcommand + + * include/msg.h: add "CAP" command + + * include/handlers.h: add m_cap() to list of handlers + + * include/client.h: add support for client capabilities; rototill + the registration mechanism to dovetail well with the capability + system--i.e., allow the capability system to suspend registration + if the user issues one of the CAP commands + + * include/capab.h: header file to define client capabilities + +2004-12-17 Michael Poole <md...@tr...> + + * ircd/channel.h (apply_ban): Add new flag to indicate whether + newban should be free()'d after it is used. + + * ircd/channel.c (apply_ban): Likewise. Also set BAN_DEL flag + when setting BAN_OVERLAPPED, and free newban when BAN_DEL. + (mode_parse_ban): Delete buggy shortcut when channel banlist is + empty. + (mode_process_bans): Always give ownership of ban->banstr to the + mode buffer, avoiding a memory leak. + + * ircd/m_silence.c (apply_silence): Pass new parameter to + apply_ban. + +2004-12-17 Michael Poole <md...@tr...> + + * ircd/channel.c (sub1_from_channel): Immediately destroy + non-Apass channels when oplevels are enabled; otherwise, they can + stay opless for a considerable period. + (mode_parse_ban): Initialize banstr to NULL so that set_ban_mask() + does not try to free() an invalid pointer. + + * ircd/ircd_parser.y (uworldblock): Put UWorld server name into + aconf->host, not aconf->name. + + * ircd/m_server.c (mr_server, ms_server): Attach CONF_UWORLD items + by host here.. + + * ircd/s_conf.c (conf_check_server): .. rather than by name here. + (attach_conf_uworld): New function to attach CONF_UWORLD items. + (rehash): Use attach_conf_uworld() instead of attaching by name. + +2004-12-15 Michael Poole <md...@tr...> + + * ircd/m_topic.c (do_settopic): Allow +k services to set topics on + channels they are not joined. + +2004-12-15 Michael Poole <md...@tr...> + + * ircd/IPcheck.c (IPTargetEntry): Make count unsigned to squash + warning. + (ip_registry_canonicalize): New function to convert an IP address + into a canonical form for clone checks. + (ip_registry_hash): Update to reflect canonical form. + (ip_registry_find): Use ip_registry_canonicalize(). + (ip_registry_check_local, ip_registry_check_remote): Likewise. + + * ircd/numnicks.c (iptobase64): Map 6to4 addresses to IPv4 when + sending them to a non-IPv6 server. + +2004-02-17 Michael Poole <md...@tr...> + + * ircd/s_user.c (hide_hostmask): Preserve user's visibility in a + +D channel when they hide their hostmask. + +2004-12-15 Michael Poole <dm...@tr...> + + * doc/example.conf: Remove the example Server blocks since they + are no longer used (were merged into Connect). + + * ircd/ircd_res.c (restart_resolver): Fix typo in previous commit. + + * ircd/m_server.c (check_loop_and_lh): Use a different argument to + test whether an introduced server is directly connected or not. + +2004-12-14 Michael Poole <md...@tr...> + + * include/client.h (FLAG_IPV6): New value for enum Flag. + (IsIPv6, SetIPv6): Accessor macros for it. + + * include/numnicks.h (iptobase64): Add flag indicating whether to + use full IPv6 addresses or fake them in an IPv4-compatible way. + + * ircd/numnicks.c (iptobase64): Use the new flag. + + * include/send.h (sendcmdto_flag_serv_butone): New function to + send different lines to servers based on flags (like FLAG_IPV6). + + * ircd/send.c (sendcmdto_flag_serv_butone): Implement it. + + * ircd/s_bsd.c (completed_connection): Advertise IPv6 support in + our server flags. + + * ircd/s_serv.c (server_estab): Likewise. Also make sure we send + compatible IP addresses for the new server. + + * ircd/s_user.c (register_user): Only send full IPv6 addresses to + links that have FLAG_IPV6 set. + +2004-12-13 Michael Poole <md...@tr...> + + * doc/example.conf: Update General block comment to mention + new RESOLVER option and to explain IPv6 support. + + * ircd/ircd_lexer.l: Recognize RESOLVER token. + + * ircd/ircd_parser.y: Declare RESOLVER token and use it in an + alternative for generalitem. + + * ircd/ircd_res.c: Define global ResolverAddr variable. If it is + valid, use it instead of VirtualHost in restart_resolver(). + +2004-12-13 Michael Poole <md...@tr...> + + * doc/example.conf: Update configuration to move Client block + comment after sample Class blocks, and update entries in it. + + * ircd/ircd_lexer.y: Recognize IP and USERNAME tokens. + + * ircd/ircd_parser.y: Add ip and username global variables and IP + and USERNAME tokens. Add clientip and clientusername alternatives + for clientitem, and update clientblock to correspond. + + * ircd/ircd_res.c (delete_resolver_queries): Do not try to walk + the request_list before request_list is initialized. + (cres_mem): Likewise. + + * ircd/os_generic.c (sockaddr_from_irc): Improve guessing of + proper address family. + + * ircd/s_conf.c (attach_iline): Allow aconf->host == NULL, which + means DNS reply is optional. If aconf->addrbits >= 0, test it. + + * tools/crypter: Delete. + +2004-12-11 Kevin L Mitchell <kl...@mi...> + + * ircd/*.c: use new assert() in ircd_log.h in preference to system + assert() + + * ircd/umkpasswd.c: use new assert in ircd_log.h; add necessary + glue so that umkpasswd will successfully compile and link + + * ircd/test/ircd_chattr_t.c: comment out include of assert.h since + there are no calls to assert() + + * ircd/ircd_log.c: add sentinel (log_inassert) to prevent assert() + from looping should there be an assertion failure somewhere in the + logging subsystem + + * include/ircd_log.h: custom implementation of assert() that calls + log_write() + +2004-11-21 Michael Poole <md...@tr...> + + * ircd/channel.c (mode_parse_upass): Allow forced mode changes to + be done by non-channel-managers, fixing a crash from OPMODE. + (mode_parse_apass): Likewise. + +2004-11-20 Michael Poole <md...@tr...> + + * ircd/m_create.c (ms_create): Complain if a user tries to CREATE + a channel they are already in, but do not add them again. + +2004-11-09 Michael Poole <md...@tr...> + + * include/res.h (init_resolver): Delete, and initialize lazily. + + * ircd/ircd.c (main): Do not call init_resolver(). + + * ircd/ircd_res.c (restart_resolver): Use default VirtualHost for + local resolver socket address. + (init_resolver): Delete. + (make_request): Call restart_resolver() if necessary. + (query_name): Use ircrandom() instead of rand(). + + * ircd/os_generic.c (sockaddr_from_irc): Convert last argument to + a file descriptor that indicates the socket family to use. + (os_sendto_nonb,os_socket,os_connect_nonb): Update to match. + +2004-11-09 Michael Poole <md...@tr...> + + * ircd/engine_epoll.c (engine_delete): Do not attempt to remove a + socket from epoll on delete, since the kernel does that for us. + +2004-11-07 Michael Poole <md...@tr...> + + * ircd/m_server.c (m_server, ms_server): Assign timestamp before + it might be used in exit_new_server(). + +2004-11-07 Michael Poole <md...@tr...> + + * aclocal.m4, config.h.in, configure, ircd/Makefile.in: Regenerate + to reflect the changes since these files' last rebuild. + +2004-11-07 Michael Poole <md...@tr...> + + * include/ircd_crypt.h (ircd_crypt): This should return char*, not + const char*, since it does not own the returned pointer. + + * ircd/ircd_crypt.c (ircd_crypt): Change return type. + + * ircd/ircd_crypt_smd5.c (irc_crypt_smd5): Make passwd a static + field since it is returned but this function must own the buffer. + + * ircd/m_oper.c (oper_password_match): Free the string returned by + ircd_crypt(). + + * ircd/engine_epoll.c (engine_loop): Fix a memory leak. + +2004-11-07 Michael Poole <md...@tr...> + + * acinclude.m4: Look for a 64-bit integer type. + + * configure.in: Look for inttypes.h, since some systems have that + but not stdint.h (and define 64-bit integers therein). + + * include/client.h: Delete con_sendK, con_receiveK. Make + con_sendB and con_receiveB 64 bits wide. + + * include/s_misc.h: Delete is_cks, is_ckr, is_sks, is_skr. + Convert the other byte counters and the connected time counters to + 64 bits wide. + + * ircd/ircd_snprintf.c (doprintf): Unconditionalize the + HAVE_LONG_LONG bits, and use the 64-bit integer types from above. + + * ircd/packet.c (update_bytes_received): Remove use of + cli_receiveK(). + + * ircd/s_bsd.c (deliver_it): Likewise. + (close_connection): Likewise. + + * ircd/s_misc.c (tstats): Likewise. Update format strings to use + %Lu for 64-bit integer parameters. + + * ircd/s_stats (stats_links): Convert cli_sendK() and + cli_receiveK() use shifted versions of the byte counters, and + update format strings to use %Lu for 64-bit integer parameters. + +2004-11-07 Michael Poole <md...@tr...> + + * include/s_user.h (add_silence): Delete. + (del_silence): Delete. + + * include/struct.h (struct User): Convert silence list to struct Ban. + + * ircd/m_silence.c (apply_silence, forward_silences): New functions. + (m_silence): Use forward_silences() instead of add_silence(). + (ms_silence): Likewise. + + * ircd/s_err.c (replyTable): Update RPL_SILELIST. + + * ircd/s_misc.c (exit_one_client): Update to new silence list type. + + * ircd/s_user.c (is_silenced): Use find_ban() to search for + silences. If one is found, send it plus any silence exceptions. + (del_silence): Delete. + (add_silence): Delete. + +2004-11-07 Michael Poole <md...@tr...> + + * include/channel.h: Remove declarations for undefined functions + cancel_mode(), add_token_to_sendbuf(), IsMember(). Delete + add_banid(), next_removed_overlapped_ban(). Add BAN_EXCEPTION + flag and new functions find_ban(), apply_ban(). + + * ircd/channel.c (PartFmt*, next_ban, prev_ban, removed_bans_list, + LocalChanOperMode): Remove unused variable definitions. + (make_nick_user_host): Delete. + (add_banid): Delete. + (next_removed_overlapped_ban): Delete. + (find_ban): New function, which knows about exceptions. + (is_banned): Use find_ban() and only work on a struct Membership. + (bmatch): New function, which knows about CIDR bans. + (apply_ban): New function to replace add_banid(). + (mode_parse_ban): Use apply_ban(). + +2004-10-28 Michael Poole <md...@tr...> + + * configure.in (AC_PREREQ): Depend on autoconf 2.50 since we use + new macros like AC_LINK_IFELSE and AC_LANG_PROGRAM. + +2004-10-22 Michael Poole <md...@tr...> + + * ircd/m_invite.c (m_invite, ms_invite): Fix INVITE forwarding + with announcements enabled (do not "announce" to the recipient, + and unconditionally send to the recipient). + + * ircd/send.c (sendcmdto_channel_servers_butone): Properly skip + the "from" client and implement SKIP_NONOPS and SKIP_NONVOICES. + +2004-10-21 Michael Poole <md...@tr...> + + * include/channel.h (Ban): Add fields address, nu_len, addrbits to + support netmask-based bans. + + * ircd/channel.c (set_ban_mask): New function to parse a ban as + either netmask-based or not. + (make_ban): Use set_ban_mask(). + (make_nick_user_ip): Becomes unused; remove it. + (is_banned): Rewrite to match only once against the nick!user part + of a ban, and compare addresses if BAN_IPMASK is set. + (mode_parse_ban): Use set_ban_mask(). + +2004-10-21 Michael Poole <md...@tr...> + + * ircd/s_conf.c (attach_iline): Test resolved host names against + aconf->host, not the (NULL) aconf->name. + +2004-10-19 Michael Poole <md...@tr...> + + * include/channel.h: Move ban flags out of channel flags and + rename to reflect this. + + * ircd/channel.c: Update ban constant names. + + * ircd/m_burst.c: Likewise. + +2004-10-18 Michael Poole <md...@tr...> + + * include/list.h (SLink): Remove ban elements from here... + + * include/channel.h (Ban): And move to the new struct Ban. + (Channel): Update banlist field to match. + (next_removed_overlapped_ban): Update return type to match. + (make_ban, free_ban): New functions. + + * ircd/channel.c (next_ban, prev_ban, removed_bans_list): Update + list types. + (free_bans): New variable to hold unused Ban elements. + (make_ban, free_ban): New functions. + (destruct_channel, add_banid, next_removed_overlapped_ban): Update + to use struct Ban. + (is_banned, send_channel_modes, send_ban_list): Likewise. + (ParseState, mode_parse_ban, mode_process_bans): Likewise. + (mode_parse): Likewise. + + * ircd/m_burst.c (ms_burst): Update to use struct Ban. + + * ircd/m_clearmode.c (do_clearmode): Update to use struct Ban. + + * ircd/s_debug.c (count_memory): Update to use struct Ban. + +2004-10-18 Kevin L Mitchell <kl...@mi...> + + * ircd/gline.c (gline_find): unless we're looking for an exact + match, we should call match() on hostnames, not ircd_strcmp() + +2004-10-17 Michael Poole <md...@tr...> + + * include/s_conf.h (ConfItem): Add new field username. Replace + unused field bits with addrbits. + (find_conf_exact): Replace user and host arguments with cptr. + (find_conf_name, read_tlines, find_restrict): Remove declaration + for undefined functions. + (conf_parse_userhost): New function. + + * ircd/m_oper.c (m_oper): Update calls to find_conf_exact(): both + resolved hostname and IP are matched in one pass now. + + * ircd/s_bsd.c (close_connection): Update call to find_conf_exact(). + + * ircd/s_conf.c (conf_parse_userhost): New function. + (check_limit_and_attach): Use correct ConfItem field to determine + maximum connections per IP. + (attach_iline): Replace user@host matching with shorter, clearer + matching against username and host/IP fields. + (find_conf_exact): Likewise. + + * ircd/ircd_parser.y: Replace assignment to aconf->host for + CONF_CLIENT and CONF_OPERATOR with calls the CIDR-aware + conf_parse_userhost(). This means CONF_CLIENT ConfItems no longer + use the name field or the IP token. Remove the latter. + + * ircd/ircd_lexer.l: Remove unused token IP. + +2004-10-17 Michael Poole <md...@tr...> + + * ircd/crule.c (crule_via): Simplify the lookup for the directly + connected server name. + +2004-10-16 Michael Poole <md...@tr...> + + * ircd/class.c: Make find_class() return NULL for unknown classes, + rather than returning the start of connClassList. + + * ircd/match.c (parse_ipmask): Translate IPv4 masks as + IPv4-compatible addresses. + (check_ipmask): Fix comparison of IP masks. + + * ircd/motd.h, ircd/motd.c: Add a new MOTD type, MOTD_IPMASK, that + uses CIDR style masks in the hostname field of a Motd block. + +2004-10-16 Michael Poole <md...@tr...> + + * ircd/numeric.h: Remove the unused RPL_STATMEM and + RPL_STATMEMTOT. Move the RPL_BOUNCE comment to its current + value (the former RPL_STATMEM). + + * ircd/s_err.c: Remove format strings for RPL_STATMEM and + RPL_STATMEMTOT. + +2004-10-16 Michael Poole <md...@tr...> + + * ircd/m_server.c: Look up server configuration by name of our + directly connected peer rather than the server being introduced. + +2004-10-13 Michael Poole <md...@tr...> + + * include/channel.h: Delete MODE_LISTED and is_listed(). Replace + ListingArgs.chptr with ListingArgs.bucket. Move declaration of + list_next_channels() to.. + + * include/hash.h: here, and drop the "nr" argument. + + * ircd/channel.c: Remove redundant scan of local clients for + channels being listed. Delete list_next_channels() function. + + * ircd/hash.c: Add list_next_channels() here, revising to not use + MODE_LISTED and to use ListingArgs.bucket instead of chptr. Also + decide when to stop sending RPL_LISTs based on a half-full sendq. + + * ircd/m_burst.c, ircd/s_misc.c: Delete mention of MODE_LISTED. + + * ircd/m_list.c: Delete mention of MODE_LISTED. Unconditionally + call list_next_channels(sptr). + + * ircd/s_bsd.c: Remove the "nr" argument to list_next_channels(). + + * ircd/Makefile.in: Update dependencies (for hash.c). + +2004-10-13 Michael Poole <md...@tr...> + + * ircd/ircd_parser.y: Consistently zero out global variables after + they are used (prevents double frees and other problems). + +2004-10-12 Michael Poole <md...@tr...> + + * include/client.h: Rename FLAGSET_ISSET, _SET, _CLEAR to FlagHas, + Set, Clr respectively. Get rid of FLAG_CHKACCESS and FLAG_LOCAL. + Delete con_fd (get from con_socket) and con_port. Move sentalong + from send.c to struct Connection, and cli_lasttime and cli_since + from struct Client to struct Connection. Update cli_*() macros to + use con_*(cli_connect(cli)). + + * ircd/client.c: Replace PrivSet() with FlagSet(), PrivClr() with + FlagClr(), PrivHas() with FlagHas(). + + * ircd/ircd_parser.y: Likewise. + + * ircd/list.c: Remove assignment to cli_local() since it is now a + calculated value. + + * ircd/s_bsd.c: Remove uses of cli_port(). + + * ircd/s_conf.c: Remove uses of ClearAccess(). + + * ircd/send.c: Delete sentalong array and replace with references + to con_sentalong(). + +2004-10-12 Michael Poole <md...@tr...> + + * doc/example.conf: Update example config to reflect the changes + made in the remainder of this patch. + + * include/list.h: Make make_conf() take a type argument. + + * include/s_conf.h: Delete CONF_LEAF and CONF_HUB. Add "maximum" + and "hub_limit" to ConfItem to compensate. + + * ircd/ircd_lexer.l: Recognize MAXHOPS token. + + * ircd/ircd_parser.y: Get rid of aconf global variable and add + hub_limit global variable. Add MAXHOPS token, and productions + inside connectblock to recognize it and hub masks. Allow maxlinks + field in a Client block, rather than overloading password field. + Convert serverblock to uworldblock and remove extraneous fields. + + * ircd/m_server.c: Make check_loop_and_lh() look up ConfItem and + calculate LHcptr and active_lh_line. Merge some duplicated code + so handling active_lh_line cases is clearer. + + * ircd/s_conf.c: Make make_conf() take a type argument. Delete + CONF_LEAF and CONF_HUB. Do not overwrite server name with what + is specified in the config file. + + * ircd/s_err.c: Remove the unused RPL_STATSNLINE and + RPL_STATSHLINE. Remove useless parameters and format fields from + RPL_STATSCLINE, RPL_STATSILINE, RPL_STATSLLINE, RPL_STATSOLINE and + RPL_STATSULINE. + + * ircd/s_serv.c: Delete CONF_LEAF and CONF_HUB. + + * ircd/s_stats.c: Get rid of report_array and make + stats_configured_links() directly use RPL_STATSxLINE (adding the + new fields for Server and Client blocks). Remove /stats h, since + that has no meaning. + +2004-10-12 Michael Poole <md...@tr...> + + * ircd/m_burst.c: Mask off channel modes in a wiped-out channel by + default rather than by listing which should be wiped out. + +2004-10-09 Michael Poole <md...@tr...> + + * ircd/m_server.c: Forward port checks for leaf and hub config + rules, and reorganize mr_server() and ms_server() by moving out + common code. Add doxygen comments for the file. + +2004-10-09 Michael Poole <md...@tr...> + + * ircd/hash.c: Fix thinko in hash function: It is not indexed + simply by character value, so we cannot just remap the values + by case. + +2004-10-05 Michael Poole <md...@tr...> + + * ircd/hash.c: Replace the old hash function with one based on + randomized CRC-32. The new one avoids a big table from the old + function. + +2004-10-05 Michael Poole <md...@tr...> + + * ircd/random.c: Convert to use ircd_md5 interface and hopefully + keep more internal random state. + +2004-10-05 Michael Poole <md...@tr...> + + * include/ircd_md5.h, ircd/ircd_md5.c, ircd_crypt_smd5.c, + ircd/umkpasswd.c: Get rid of the GoodMD5xxx/BrokenMD5xxx + prefixes. + +2004-10-05 Michael Poole <md...@tr...> + + * adns, lib/adns: Remove unused adns library. + +2004-10-05 Michael Poole <md...@tr...>, hikari <hi...@un...>, Perry Lorier <is...@un...> + + * include/*.h, ircd/*.c: Convert comments to Doxygen-compatible + format, and add new comments where needed. + + * Doxyfile: New file to tell Doxygen how to run. + +2004-09-21 Michael Poole <md...@tr...> + + * ircd/s_auth.c (HeaderMessages): Make the compiler, not the + programmer, generate magic numbers. + (AuthIncompleteList): Remove. + (AuthPollList): Remove. + +2004-09-19 Michael Poole <md...@tr...> + + * acinclude.m4: Clean up AC_DEFINE()s so we no longer need + acconfig.h. + + * acconfig.h: Remove since it is now redundant. + + * aclocal.m4, config.h.in, configure: Regenerate. + +2004-09-19 hikari <hi...@un...> + + * configure.in: Fixed configure script rules to fail if (f)lex or yacc/bison + aren't found as they're essential for compilation. Regenerated files with + autreconf. + +2004-09-18 Michael Poole <md...@tr...> + + * doc/example.conf: Add NETWORK feature example. Fix typos in + eaxmples for HANGONGOODLINK and IRCD_RES_TIMEOUT. + + * include.class.h: Make max_links and ref_count unsigned ints. + Make ping_freq and conn_freq unsigned short. (No more negative + numbers in /stats y.) + + * ircd/ircd.c: Report configuration file name for "ircd -k". + +2004-09-18 hikari <hi...@un...> + + * ircd/Makefile.in: Fixed a missing internal build dependency. + +2004-09-16 Michael Poole <md...@tr...> + + * INSTALL: Fix name of example.conf and mention its installed + location. + + * include/supported.h (FEATURESVALUES2): Fix a reference to + channel mode +u that escaped earlier rename attempts. + + * ircd/ircd_auth.c (iauth_connect): Assign port number after + zeroing out the destination address. + Add some additional debug statements to help follow operations. + + * ircd/ircd_parser.y (iauthblock): Do not require "name" to be set. + +2004-09-11 Bas Steendijk <ste...@xs...> + + * include/channel.h, include/supported.h, ircd/channel.c, + ircd/s_err.c: Use +U instead of +u for user keys. + +2004-09-13 Michael Poole <md...@tr...> + + * doc/example.conf: Remove sample VIRTUAL_HOST setting. + + * doc/readme.features: Remove VIRTUAL_HOST documentation, and + update NODNS documentation to match current behavior. + + * include/s_conf.h: Remove now-unused vhost_address field and + set_virtual_host() function. + + * include/ircd_features.h, ircd/ircd_features.c, ircd/s_debug.c: + Remove VIRTUAL_HOST. + + * ircd/ircd_auth.c, ircd/s_bsd.c: Use VirtualHost as local address + if we do not have a more specific alternate. + + * ircd/ircd_parser.y: Check for sanity in General blocks (from old + conf_add_local()) and assign vhost directly to VirtualHost. + + * ircd/ircd_res.c (irc_in_addr_valid): Fix thinko; obviously any + value will be either != 0 or != 0xffff. + + * ircd/os_generic.c: Use AF_INET instead of AF_INET6 when the + local addresses are specified as IPv4 addresses. + + * ircd/s_conf.c: Remove unused conf_add_local() and + set_virtual_host(). + +2004-09-13 Michael Poole <md...@tr...> + + * ircd/listener.c (add_listener): Consolidate duplicated code, and + make sure listener->server is set before calling inetport() on it. + +2004-09-12 Michael Poole <md...@tr...> + + * include/channel.c (mode_parse_upass, mode_parse_apass): Only let + services (not normal opers) force a change of +A or +u. + +2004-09-11 Michael Poole <md...@tr...> + + * include/s_stats.h: Add sd_name to struct StatDesc. Stop + publishing the statsinfo and statsmap arrays; replace them with + stats_find(). Change argument list of StatFunc() to work with + names. + + * ircd/m_stats.c: Use stats_find() instead of statsmap[]. Use the + full argument instead of just the first character in reports. + + * ircd/s_stats.c: Adapt individual stats handler functions to new + argument list. Add long names to statsinfo[]. Add new functions + stats_cmp(), stats_search(), stats_find(). Sort statsinfo[] in + stats_init(). + + * ircd/s_err.c: Change ENDOFSTATS to display a string rather than + a single character. + + * ircd/s_user.c: Send an error to the user when a message loses + its target in transit. + + * include/class.h include/gline.h include/ircd_features.h + include/listener.h include/motd.h include/msgq.h include/res.h + include/s_debug.h include/s_misc.h include/userload.h ircd/class.c + ircd/gline.c ircd/ircd_features.c ircd/ircd_res.c ircd/listener.c + ircd/motd.c ircd/msgq.c ircd/s_debug.c ircd/s_misc.c + ircd/userload.c: Adjust stats handlers to new argument list. + +2004-09-11 Michael Poole <md...@tr...> + + * include/numeric.h, ircd/s_err.c: Remove RPL_TRACEPING, and + replace with RPL_TRACEEND. + + * ircd/s_trace.c: Move all the duplicated code in m*_trace() to + do_trace(). Implement RPL_TRACEEND, per RFE#830291. + +2003-06-20 Alexander Maassen <out...@ke...> + + * ircd/m_topic.c : Don't allow banned users to set a topic in a + channel. + +2004-09-11 Kevin L Mitchell <kl...@mi...> + + * config.h.in, tools/Makefile.crypt: Remove wrong pathname from + comment in header. + + * ircd/m_clearmode.c, ircd/m_opmode.c: Fix wrong pathname in + header comment. + + * ircd/m_away.c, ircd/m_kill.c, ircd/m_notice.c, ircd/m_ping.c, + ircd/m_pong.c, ircd/m_privmsg.c, ircd/m_quit.c, ircd/m_topic.c, + ircd/m_version.c: Remove "template" moniker from comments. + + * ircd/test/ircd_chattr.0.dat (IsChannelPrefix): Drop + from + channel prefix list. + +2004-09-11 Michael Poole <md...@tr...> + + * doc/example.conf: Add examples for FEAT_HIS_* features. + +2003-06-08 Matthias Crauwels <ult...@wo...> + [Feature renamed to FEAT_HIS_WHOIS_LOCALCHAN by Michael Poole.] + + * include/ircd_features.h: new feature FEAT_HIS_LOCAL_CHAN_WHOIS + + * ircd/ircd_features.c: new feature FEAT_HIS_LOCAL_CHAN_WHOIS + + * ircd/m_whois.c: hide local channels in local WHOIS, this breaks HIS + + * doc/readme.features: documented FEAT_HIS_LOCAL_CHAN_WHOIS + + * doc/ircd.conf.sample: default value for FEAT_HIS_LOCAL_CHAN_WHOIS + +2004-09-11 Michael Poole <md...@tr...> + + * ircd/ircd_relay.c (server_relay_channel_message, + server_relay_channel_notice): Do not allow other servers to send + or relay to local channels. + + * ircd/m_wallchops (ms_wallchops): Likewise. + + * ircd/m_wallvoices (ms_wallvoices): Likewise. + +2004-09-11 Kevin L Mitchell <kl...@mi...> + + * ircd/gline.c (gline_add): fix GLINE logging (Bug #750927) + + * ircd/channel.c: removing limits shouldn't gobble an argument; + this was a subtle interaction issue with modebuf...fixed by adding + MODE_LIMIT to modebuf_flush_int() and short-circuiting + modebuf_mode_uint() to add MODE_LIMIT to mbuf->mb_rem in the + removal case. Note that this is not proof against the sequence, + "modebuf_mode_uint(mbuf, MODE_ADD | MODE_LIMIT, 10); + modebuf_mode_uint(mbuf, MODE_DEL | MODE_LIMIT, 10);" + (Bug #916138) + +2004-09-11 Michael Poole <md...@tr...> + + * include/supported.h: Kev pointed out I misinterpreted the + meaning of CHANMODES; fix this. Also define CHANNELLEN and + STATUSMSG from the ISUPPORT draft. + +2004-09-10 Michael Poole <md...@tr...> + + * include/supported.h (FEATURESVALUES2): Include A,u, in CHANMODES + when oplevels are enabled. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/channel.c (send_channel_modes): Only send oplevels for + channels that actually use them -- for -A channels, send chanops + as :o even if OPLEVELS is enabled. + + * ircd/ircd.c: Fix -k (chkconf mode) and show in usage help. + + * ircd/numnicks.c (base64toip): Fill in the right number of 0 + words when we see _ in a base64-encoded IPv6 address. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/ircd.c: Add -k as a chkconf-like option to exit after + reading the configuration file. + + * ircd/chkconf.c: Remove as unused. + + * ircd/Makefile.in: Remove last mentions of chkconf from Makefile. + +2004-09-10 Michael Poole <md...@tr...> + + * doc/example.conf: Remove examples for unused features (TIMESEC, + CRYPT_OPER_PASSWORD) and add for new feature (ANNOUNCE_INVITES). + + * doc/readme.features: Remove documentation for unused features + (TIMESEC, CRYPT_OPER_PASSWORD, oper/locop privileges, + HIS_DESYNCS), update defaults for SOCKSENDBUF and SOCKRECVBUF, and + add documentation for ANNOUNCE_INVITES. + + * include/ircd_features.h: Remove unused features (TIMESEC, + CRYPT_OPER_PASSWORD, LIST_CHAN, HIS_DESYNCS). + + * include/ircd_features.c: Likewise. + + * ircd/ircd_res.c: Actually use FEAT_IRCD_RES_RETRIES and + FEAT_IRCD_RES_TIMEOUT where appropriate. + + * ircd/s_debug.c: Do not display setting of unused (and now + non-existent) FEAT_CRYPT_OPER_PASSWORD. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/os_generic.c (sockaddr_from_irc): Fix IPv4 implementation + to use the correct address family and IP offset. + +2004-09-10 Michael Poole <md...@tr...> + + * include/s_conf.h (struct ConfItem): Add origin and origin_name + fields. + + * ircd/ircd_parser.y: Add new global variable "origin." Add a new + "connectionvhost" production that accepts vhost = "IP" inside a + Connect block and assigns the IP to origin_name. + + * ircd/s_bsd (connect_inet): If aconf has a valid origin, use it + as the local address. Otherwise, fall back to the old logic (if + VIRTUAL_HOST="TRUE", use the virtual host setting). + + * ircd/s_conf.c (lookup_confhost): If the ConfItem has an + origin_name, try to parse it as an IP address. + +2004-04-17 Isomer <is...@un...> + * ircd/parse.c: Don't rate limit /gline messages + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/ircd_parser.y: Replace references to yylval.whatever with + references to the appropriate term. This fixes bugs like + "1 hour 30 minutes" being misrecognized as 30 seconds. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/ircd_features.c (features): Change default values for + SOCKSENDBUF and SOCKRECVBUF to SERVER_TCP_WINDOW, so that users + need not specify them in ircd.conf. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/ircd_parser.y (serverblock): Server blocks should default + to CONF_LEAF status. + + * doc/example.conf: Update example to reflect this. + +2004-09-10 Michael Poole <md...@tr...> + + * ircd/parse.c (msg_tree_parse): Reject commands that contain + non-alphabetic characters. + +2004-09-09 Michael Poole <md...@tr...> + + * config.h.in: Remove duplicated and unused macro definitions. + +2004-08-24 Michael Poole <md...@tr...> + + * ircd/client.h: Properly parenthesize "flag" argument to + FLAGSET_INDEX() and FLAGSET_MASK() macros. + +2004-08-22 Michael Poole <md...@tr...> + + * ircd/channel.c (send_channel_modes): If oplevels are disabled, + send 'o' for chanops instead of the member's oplevel. + +2004-08-22 Michael Poole <md...@tr...> + + * ircd/s_conf.c: find_conf_byip() should use irc_in_addr_cmp() + instead of memcmp(). (Fixes IPv4 servers linking to an IPv6 + server.) + +2004-08-22 Alex Badea <dec...@us...> + + * include/ircd_defs.h: increased SOCKIPLEN to fit ipv6 addresses + +2004-08-19 Michael Poole <md...@tr...> + + * include/res.h: Remove unused function gethost_byname_type(). + + * ircd/ircd_res.c: Likewise, and clean up some small functions + only used once (remove_dlink(), timeout_resolver()). Use rand() + for random request IDs instead of the deprecated *rand48(). Make + resolver timeout event fire only when needed instead of once a + second. + +2004-08-17 Michael Poole <md...@tr...> + + IPv6 support, with lots of code and design borrowed from a patch + by Alex Badea. + + * config.h.in: Add place to #define IPV6 support. + + * configure.in: Check for struct sockaddr_in6, and use that as + the default choice for IPv6 support. + + * configure: Regenerate. + + * include/IPcheck.h, include/client.h, include/gline.h, + include/ircd_string.h, include/listener.h, include/match.h, + include/res.h, include/s_bsd.h: Convert from struct in_addr (from + <netinet/in.h>) to struct irc_in_addr (from "res.h"). + + * include/ircd_osdep.h, include/s_conf.h, include/uping.h: Convert + from struct sockaddr_in (from <netinet/in.h>) to struct + irc_sockaddr (from "res.h"). Add new functions os_socket(), + os_accept(), os_sendto_nonb() to help abstract away actual + sockaddr types. + + * include/ircd_chattr.h, ircd/table_gen.c: Define new bit to mark + characters valid in IPv6 addresses. + + * include/numnicks.h, ircd/numnicks.c: New functions iptobase64() + and base64toip() to convert from base64 to struct irc_in_addr. + + * ircd/IPcheck.c, ircd/channel.c, ircd/m_nick.c, ircd/m_oper.c, + ircd/m_userip.c, ircd/m_who.c, ircd/m_whois.c, ircd/s_misc.c, + ircd/s_serv.c, ircd/s_user.c, ircd/whocmds.c: Use struct + irc_in_addr instead of unsigned int or struct in_addr. + + * ircd/gline.c: Use new more-generic ipmask functions. + + * ircd/ircd.c: Use struct irc_sockaddr instead of separate port + fields. + + * ircd/ircd_reslib.c: Use struct irc_sockaddr and ircd_aton() + instead of irc_ssaddr and irc_getaddrinfo(). + + * ircd/ircd_string.c: Implement new functions: IPv6-capable + ircd_ntoa_r(), ircd_aton_ip4(), ircd_aton(). + + * ircd/match.c: Delete IPv4-only matchcompIP(). Replace with + IPv6-capable ipmask_parse() and ipmask_check(). + + * ircd/numnicks.c: Implement new functions: iptobase64() and + base64toip(). + + * ircd/os_generic: Convert external parameters to be struct + irc_addrinfo. When using IPv6 support, sockaddr_in6 is native. + Implement new functions os_sendto_nonb(), os_socket() and + os_accept(). + + * ircd/ircd_auth.c, ircd/ircd_parser.y, ircd/ircd_res.c, + ircd/listener.c, ircd/m_connect.c, ircd/s_auth.c, ircd/s_bsd.c, + ircd/s_conf.c, ircd/s_stats.c, ircd/uping.c: Use struct + irc_sockaddr instead of separate in_addr and port fields and new + OS support functions. + + * include/ircd_addrinfo.h, ircd/ircd_getaddrinfo.c, + ircd/ircd_getnameinfo.c: Remove, since these functions are no + longer used. + + * ircd/os_bsd.c, ircd/os_linux.c, ircd/os_openbsd.c, + ircd/os_solaris.c, ircd/res_adns.c, ircd/res_libresolv.c: Remove, + since these are unused and not compatible with IPv6 support. + + * ircd/Makefile.in: Remove references to ircd_getXxxxinfo.c. + Regenerate dependencies. + +2004-08-17 Michael Poole <md...@tr...> + + * ircd/ircd_lexer.l: Change tokenizer to reduce number of lexer + states and be case-insensitive again. + +2004-08-15 Michael Poole <md...@tr...> + + * aclocal.m4: Check for uintNN_t instead of u_intNN_t, since the + former is from C99 (and the latter is absent on Solaris). + + * configure.in: Remove check for inttypes.h (which is a C99 format + string header); replace with check for stdint.h. Add checks for + sys/param.h and sys/socket.h. Check for socklen_t being defined + (OS X does not set it). Run program tests for lex and yacc, and + use them rather than assuming flex and bison. Remove OSDEP_C and + mention to adns. Remove check for res_mkquery(). + + * config.h.in: Update u_intNN_t #undef lines. Add #undef + socklen_t so configure test can set it. + + * configure: Regenerate. + + * include/ircd_addrinfo.h: #include headers needed for netdb.h and + to define struct addrinfo and uintNN_t. + + * include/ircd_reslib.h: Replace u_intNN_t with uintNN_t. + + * include/res.h: #include "ircd_addrinfo.h" to get proper type + definitions. #define INADDR_NONE if it is not defined (as on + Solaris). + + * ircd/Makefile.in: Replace LEX and YACC definitions. Remove + OSDEP_C and OSDEP_SRC; always compile os_generic.c. Remove adns + directory from CPPFLAGS. Regenerate dependencies. + + * ircd/client.c: Return when no propagation set for oper, to + squash warning about use of "defaults" before it is set. + + * ircd/engine_epoll.c: #include correct C99 integer header. + + * ircd/engine_poll.c: Last argument to getsockopt() should be of + socklen_t, not size_t; fix. + + * ircd/engine_select.c: Squash warning about bzero(). + + * ircd/ircd_auth.c: OS X does not define in_addr_t, so replace it + with uint32_t. We need <stdint.h> for that, so include it. + + * ircd/ircd_getnameinfo.c, ircd/memdebug.c: Replace u_int32_t with + uint32_t. + + * ircd/ircd_lexer.l: Replace flex-isms with portable syntax. + There is no portable way to do %option, so remove that. lex on + Solaris needs several of its internal tables to be bigger, so + increase those sizes. + + * ircd/ircd_parser.y: Remove the second declarations of two + tokens, since standard yacc warns about changing precedence. + + * ircd/os_generic.c: Make this compile on common OSes (Linux, + Solaris, OS X, FreeBSD, OpenBSD). + + * ircd/table_gen.c: Make arguments to isprint() all unsigned char + to squash warnings on Solaris that array index is "char." + + * ircd/umkpasswd.c: Remove #include <libgen.h> since it is not + portable, and replace basename() with an equivalent. + + * ircd/uping.c: Typecast printf arguments for 64-bit OSes. + +2004-07-27 Michael Poole <md...@tr...> + + * ircd/m_burst.c: Add new netride_modes() function to check + which modes could be used in a net.ride. Use this instead + of the old check for just +i or +k. + (Based on patches by beware and pomac.) + +2004-07-25 Michael Poole <md...@tr...> + + * ircd/ircd_parser.y: Remove redundant semicolon; it causes + errors on some versions of yacc. + +2004-07-21 Michael Poole <md...@tr...> + + * include/client.h, ircd/ircd_auth.c, ircd/ircd_crypt_smd5.c, + ircd/ircd_reslib.c: Fix warnings from gcc -pedantic. + +2004-07-21 Michael Poole <md...@tr...> + + New DNS resolver code, courtesy of Dianora and the rest of the + Hybrid team. (Bugs are of course my fault.) + + * configure.in, Makefile.in, ircd/Makefile.in: Remove adns and + libresolv from the build process. Update dependencies. + + * configure: Regenerate. + + * include/client.h: Change connection's DNS reply type. + + * include/ircd_features.h, ircd/ircd_features.c: New HIS_STATS_a. + + * include/numeric.h, ircd/s_err.c, ircd/s_stats.c: Add new + RPL_STATSALINE and /stats a to list DNS servers. + + * include/ircd_addrinfo.h, include/ircd_reslib.h, include/res.h, + ircd/ircd_getaddrinfo.c, ir... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-03-11 10:45:04
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-11 10:44:55 UTC Modified files: ChangeLog ChangeLog.es include/patchlevel.h ircd/ircd_parser.y ircd/m_oper.c Log message: Author: Thebutche <slo...@de...> Log message: 2005-03-11 Santi Lorenzo <slo...@de...> 1.0.alpha20 * Fix de 2 coredumps ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.21 ircd-ircdev/ChangeLog:1.22 --- ircd-ircdev/ChangeLog:1.21 Wed Mar 9 10:12:25 2005 +++ ircd-ircdev/ChangeLog Fri Mar 11 02:44:43 2005 @@ -1,10 +1,13 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.21 2005/03/09 18:12:25 zolty Exp $ +# $Id: ChangeLog,v 1.22 2005/03/11 10:44:43 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-03-11 Santi Lorenzo <slo...@de...> 1.0.alpha20 + * 2 coredumps fixed + 2005-03-09 Toni García <zo...@ir...> 1.0.alpha19 * Fix IPv6 cosmetic bug Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.21 ircd-ircdev/ChangeLog.es:1.22 --- ircd-ircdev/ChangeLog.es:1.21 Wed Mar 9 10:12:29 2005 +++ ircd-ircdev/ChangeLog.es Fri Mar 11 02:44:43 2005 @@ -1,10 +1,13 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.21 2005/03/09 18:12:29 zolty Exp $ +# $Id: ChangeLog.es,v 1.22 2005/03/11 10:44:43 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-03-11 Santi Lorenzo <slo...@de...> 1.0.alpha20 + * Fix de 2 coredumps + 2005-03-09 Toni García <zo...@ir...> 1.0.alpha19 * Fix de bug cosmetico de IPv6 Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.21 ircd-ircdev/include/patchlevel.h:1.22 --- ircd-ircdev/include/patchlevel.h:1.21 Wed Mar 9 10:12:33 2005 +++ ircd-ircdev/include/patchlevel.h Fri Mar 11 02:44:43 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.21 2005/03/09 18:12:33 zolty Exp $ + * $Id: patchlevel.h,v 1.22 2005/03/11 10:44:43 zolty Exp $ * */ -#define PATCHLEVEL ".alpha19" +#define PATCHLEVEL ".alpha20" #define RELEASE "1.0" Index: ircd-ircdev/ircd/ircd_parser.y diff -u ircd-ircdev/ircd/ircd_parser.y:1.13 ircd-ircdev/ircd/ircd_parser.y:1.14 --- ircd-ircdev/ircd/ircd_parser.y:1.13 Wed Mar 9 10:12:34 2005 +++ ircd-ircdev/ircd/ircd_parser.y Fri Mar 11 02:44:44 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_parser.y,v 1.13 2005/03/09 18:12:34 zolty Exp $ + * $Id: ircd_parser.y,v 1.14 2005/03/11 10:44:44 zolty Exp $ * */ %{ @@ -512,7 +512,7 @@ } else { - parse_error("operator blocks need a name, password, and host."); + parse_error("operator blocks need a name, password, class and host."); MyFree(name); MyFree(pass); MyFree(host); @@ -668,7 +668,7 @@ if (ip) memcpy(&aconf->address.addr, &addr, sizeof(aconf->address.addr)); else - memcpy(&aconf->address.addr, 0, sizeof(aconf->address.addr)); + memset(&aconf->address.addr, 0, sizeof(aconf->address.addr)); aconf->addrbits = addrbits; aconf->name = ip; aconf->conn_class = c_class ? c_class : find_class("default"); @@ -984,7 +984,6 @@ MyFree(host); pass = host = NULL; port = tconn = tping = 0; - port = 0; }; iauthitems: iauthitem iauthitems | iauthitem; Index: ircd-ircdev/ircd/m_oper.c diff -u ircd-ircdev/ircd/m_oper.c:1.7 ircd-ircdev/ircd/m_oper.c:1.8 --- ircd-ircdev/ircd/m_oper.c:1.7 Mon Jan 10 04:23:02 2005 +++ ircd-ircdev/ircd/m_oper.c Fri Mar 11 02:44:44 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_oper.c,v 1.7 2005/01/10 12:23:02 zolty Exp $ + * $Id: m_oper.c,v 1.8 2005/03/11 10:44:44 zolty Exp $ */ /* @@ -121,6 +121,9 @@ if (to_match == NULL) return 0; + /* Fallo de Undernet */ + if (!crypted) + return 0; res = strcmp(crypted, passwd); MyFree(crypted); return 0 == res; ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-21 17:12:51
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-21 17:12:28 UTC Modified files: tools/convert-conf.py Removed files: tools/Makefile.crypt tools/README tools/mkpasswd.c tools/transition Log message: Borrando archivos innecesarios. ---------------------- diff included ---------------------- Index: ircd-ircdev/tools/Makefile.crypt diff -u ircd-ircdev/tools/Makefile.crypt:1.3 ircd-ircdev/tools/Makefile.crypt:removed --- ircd-ircdev/tools/Makefile.crypt:1.3 Mon Jan 10 04:30:03 2005 +++ ircd-ircdev/tools/Makefile.crypt Mon Mar 21 09:12:28 2005 @@ -1,41 +0,0 @@ -# -# IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/Makefile.crypt -# -# Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> -# Copyright (C) 1991 Darren Reed -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# $Id: Makefile.crypt,v 1.3 2005/01/10 12:30:03 zolty Exp $ -# - -# Change this to the path of your local ircd.conf file -# -IRCDCONF = /usr/local/lib/irc/ircd.conf - -LIBS = -lcrypt - -all: mkpasswd -crypt: install - -mkpasswd: mkpasswd.c - gcc -Wall -O2 mkpasswd.c -o mkpasswd ${LIBS} - -install: - crypter ${IRCDCONF} - @echo 'done.' - -clean: - /bin/rm -f mkpasswd Index: ircd-ircdev/tools/README diff -u ircd-ircdev/tools/README:1.3 ircd-ircdev/tools/README:removed --- ircd-ircdev/tools/README:1.3 Mon Jan 10 04:30:03 2005 +++ ircd-ircdev/tools/README Mon Mar 21 09:12:28 2005 @@ -1,67 +0,0 @@ -/* - * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/README - * - * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> - * Copyright (C) 1991 Nelson Minar - * - * 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id: README,v 1.3 2005/01/10 12:30:03 zolty Exp $ - * - */ - -The change implemented here is that the operator passwords in the ircd.conf -file are no longer stored in plaintext form, but are encrypted the same way -that user passwords are encrypted on normal UNIX systems. For example, -instead of having: - - O:nelson@nelson:goodboy:Nelson::10 - -in your ircd.conf file, you have: - - O:nelson@nelson:sCnvYRmbFJ7oI:Nelson::10 - -You still would type "/oper Nelson goodboy" to become operator. However, -if someone gets ahold of your ircd.conf file, they can no longer figure -out what the password for that oper is from reading it. There are still -other security holes, namely server-server passwords, but this closes one -very obvious problem. - -So, how do you generate these icky looking strings for passwords? -There's a simple program called mkpasswd to do that for you. To -compile mkpasswd, just "make -f Makefile.crypt" in this directory. After it -compiles, just run mkpasswd, and at the prompt type in your plaintext -password. It will spit out the encrypted password, which you should then -just copy into your ircd.conf file. This should be done only when adding -new passwords to your ircd.conf file. Crypting of oper passwords is -automatically done with the new F:lines so there is nothing to enable to -be able to use crypted oper passwords. All you have to do is edit the -Makefile.crypt in this directory and change "IRCDCONF = -/usr/local/lib/irc/ircd.conf" to the full path to your ircd.conf file. -Then "make -f Makefile.crypt install" in this directory to replace all the -operator passwords in your ircd.conf file with the encrypted format. - -Choose your passwords carefully! Do NOT choose something in a -dictionary, make SURE it's at least 5 characters. Anything past 8 -characters is ignored. - -One thing to note about crypt() passwords - for every plaintext, there -are 4096 different passwords. Some valid encryptions of "goodboy" -include t1Ub2RhRQHd4g, sCnvYRmbFJ7oI and Xr4Z.Kg5tcdy6. The first -two characters (the "salt") determine which of the 4096 passwords -you will get. mkpasswd chooses the salt randomly, or alternately you -can specify one on the command line. - -see also - crypt(3) Index: ircd-ircdev/tools/convert-conf.py diff -u ircd-ircdev/tools/convert-conf.py:1.1 ircd-ircdev/tools/convert-conf.py:1.2 --- ircd-ircdev/tools/convert-conf.py:1.1 Mon Feb 21 02:20:16 2005 +++ ircd-ircdev/tools/convert-conf.py Mon Mar 21 09:12:17 2005 @@ -19,7 +19,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# $Id: convert-conf.py,v 1.1 2005/02/21 10:20:16 zolty Exp $ +# $Id: convert-conf.py,v 1.2 2005/03/21 17:12:17 zolty Exp $ # # Configuration file converter from 2.10.11 to 2.10.12 format @@ -251,7 +251,7 @@ if connects[i].has_key("hub"): print "\thub = \"%s\";" % qstr(connects[i]["hub"]) else: - print "\tleaf = \"yes\";" + print "\tleaf;" print "};" print Index: ircd-ircdev/tools/mkpasswd.c diff -u ircd-ircdev/tools/mkpasswd.c:1.3 ircd-ircdev/tools/mkpasswd.c:removed --- ircd-ircdev/tools/mkpasswd.c:1.3 Mon Jan 10 04:32:41 2005 +++ ircd-ircdev/tools/mkpasswd.c Mon Mar 21 09:12:41 2005 @@ -1,57 +0,0 @@ -/* - * IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/mkpasswd.c - * - * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> - * Copyright (C) 1991 Nelson Minar (mi...@re...) - * - * 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id: mkpasswd.c,v 1.3 2005/01/10 12:32:41 zolty Exp $ - * - */ -#define _XOPEN_SOURCE -#define _XOPEN_VERSION 4 -#define _XOPEN_SOURCE_EXTENDED -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <time.h> -#include <unistd.h> - -int main(int argc, char *argv[]) -{ - static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./"; - char salt[3]; - char * plaintext; - - if (argc < 2) { - srandom(time(0)); /* may not be the BEST salt, but its close */ - salt[0] = saltChars[random() % 64]; - salt[1] = saltChars[random() % 64]; - salt[2] = 0; - } - else { - salt[0] = argv[1][0]; - salt[1] = argv[1][1]; - salt[2] = '\0'; - if ((strchr(saltChars, salt[0]) == NULL) || (strchr(saltChars, salt[1]) == NULL)) - fprintf(stderr, "illegal salt %s\n", salt), exit(1); - } - - plaintext = getpass("plaintext: "); - - printf("%s\n", crypt(plaintext, salt)); - return 0; -} Index: ircd-ircdev/tools/transition diff -u ircd-ircdev/tools/transition:1.2 ircd-ircdev/tools/transition:removed --- ircd-ircdev/tools/transition:1.2 Sun Feb 22 08:14:25 2004 +++ ircd-ircdev/tools/transition Mon Mar 21 09:12:42 2005 @@ -1,484 +0,0 @@ -#!/bin/sh -# -# IRC-Dev IRCD - An advanced and innovative IRC Daemon, tools/transition -# -# Copyright (C) 2002-2004 IRC-Dev Development Team <de...@ir...> -# Copyright (C) 2001 Kevin L. Mitchell <kl...@mi...> -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# $Id: transition,v 1.2 2004/02/22 16:14:25 zolty Exp $ -# - -# Better than having evals all over the place -setvar () { - eval $1=\$2 -} -getvar () { - eval echo \$$1 -} - -# Set up an echo that doesn't newline-terminate -if test x`echo -n` = x-n; then - echo_n () { - echo "$@"'\c' - } -else - echo_n () { - echo -n "$@" - } -fi - -# Debugging notices, enabled only if $DEBUG has something in it -if test x"$DEBUG" = x; then - deb () { - : - } - deb_n () { - : - } -else - deb () { - echo "$@" - } - deb_n () { - echo_n "$@" - } -fi - -# Get base directory; first step, how were we called? -case $0 in -*/*) - basedir=`echo $0 | sed -e 's@/[^/]*@@g'` - ;; - -*) - basedir=`pwd` - ;; -esac - -# Now locate the ircd subdirectory -if test -d $basedir/ircd; then - : -elif test -d $basedir/../ircd; then - basedir=$basedir/.. -elif test -d ./ircd; then - basedir=`pwd` -else - echo "Cannot find base ircd directory!" >&2 - exit 1 -fi - -# Finally, canonicalize it -cwd=`pwd` -cd $basedir -basedir=`pwd` -cd $cwd - -deb "Base directory: $basedir" - -# This is where our ./configure-parsable results will go -cache_file=$basedir/config.cache - -# Now locate .config and config.cache -config_in= -config_cache_in= - -# If the config subdirectory isn't there anymore, don't bother checking there -if test -d $basedir/config; then - if test -r $basedir/config/.config; then - config_in=$basedir/config/.config - fi - - if test -r $basedir/config/config.cache; then - config_cache_in=$basedir/config/config.cache - fi -fi - -# Last ditch effort...try ../.config -if test x"$config_in" = x; then - if test -r $basedir/../.config; then - config_in=$basedir/../.config - else - echo "Cannot find original .config file!" >&2 - exit 2 - fi -fi - -# Last ditch effort...try ../.config.cache -if test x"$config_cache_in" = x; then - if test -r $basedir/../.config.cache; then - config_cache_in=$basedir/../.config.cache - else - echo "Cannot find original config.cache file!" >&2 - exit 3 - fi -fi - -# Now load the two data files -echo "Loading old config.cache file $config_cache_in" -. $config_cache_in -echo "Loading old .config file $config_in" -. $config_in - -# Now we have to track down the defaults so we will know what to generate -# F-lines for -if test ! -r $basedir/ircd/ircd_features.c; then - echo "Cannot find default features!" >&2 - exit 4 -fi - -echo_n "Loading feature default values; please be patient... " -deb "" -features= -exec 4<$basedir/ircd/ircd_features.c -while read line <&4; do - # if a line has '(' but not ')', then we hang them until we find the - # matching ')'; this is not robust! - if test x"$hangline" != x; then - line="$hangline $line" - hangline= - fi - - if test x"`echo "$line" | grep '(' 2>/dev/null`" != x -a \ - x"`echo "$line" | grep ')' 2>/dev/null`" = x; then - hangline=$line - continue - fi - - # Now we process the line we read... - case $line in - \#*) # We want to ignore the #define, since it's a false positive - ;; - - F_[NIBS]*) # Found one of the feature define macros - type=`echo "$line" | sed -e 's/^F_\([NIBS]\).*$/\1/g'` - arglist=`echo "$line" | sed -e 's/^F_[NIBS](\(.*\)),.*/\1/g' \ - -e 's/ | /|/g'` - - # Now we must parse the arguments - tIFS=$IFS - IFS=,$IFS - name= - value= - argnum=0 - for arg in $arglist; do - case $type$argnum in - [NIBS]0) # First argument is always the name of the feature - name=$arg - ;; - - I2) # Second argument of F_I() is the numerical value - value=$arg - ;; - - B2) # Second argument of F_B() is a numerical value - # We must convert this numerical value to "y" or "n" - if test x"$arg" = x0; then - value=n - else - value=y - fi - ;; - - [ST]2) # Second argument of F_S() is a string value; must - # take into account unquoted possibilities, though - dequote=`echo "$arg" | sed -e 's/^"\(.*\)"$/\1/g'` - if test x"$dequote" = x"$arg"; then - type=T - value=$arg - else - value=$dequote - fi - ;; - esac - - # Next time through, we'll be testing the next argument - argnum=`expr $argnum + 1` - done - IFS=$tIFS - - deb "Loaded feature \"$name\" of type \"$type\"; default: \"$value\"" - - # Store the information we extracted - setvar type_$name $type - setvar def_$name "$value" - - # Keep a list of features we've checked - features="$features $name" - ;; - esac -done -exec 4<&- -echo "done" - -echo "Converting some options that are still compile-time" - -unet_cv_prefix=`echo $SPATH | sed -e 's@/bin/ircd@@g'` -deb "Installation directory (derived from SPATH)... $unet_cv_prefix" - -deb_n "Enable debugging (DEBUGMODE)... " -if test x"$DEBUGMODE" = xy; then - unet_cv_enable_debug=yes -else - unet_cv_enable_debug=no -fi -deb "$unet_cv_enable_debug" - -deb_n "Enable assertion checking (CONFIG_NDEBUG)... " -if test x"$CONFIG_NDEBUG" = xy; then - unet_cv_enable_asserts=yes -else - unet_cv_enable_asserts=no -fi -deb "$unet_cv_enable_asserts" - -deb_n "Force inlining of some critical functions (FORCEINLINE)... " -if test x"$FORCEINLINE" = xy; then - unet_cv_enable_inlines=yes -else - unet_cv_enable_inlines=no -fi -deb "$unet_cv_enable_inlines" - -unet_cv_with_symlink=$SYMLINK -deb "Symlink name (SYMLINK)... $unet_cv_with_symlink" - -unet_cv_with_mode=$IRCDMODE -deb "Binary permissions (IRCDMODE)... $unet_cv_with_mode" - -unet_cv_with_owner=$IRCDOWN -deb "Binary owner (IRCDOWN)... $unet_cv_with_owner" - -unet_cv_with_group=$IRCDGRP -deb "Binary group owner (IRCDGRP)... $unet_cv_with_group" - -unet_cv_with_domain=$DOMAINNAME -deb "Local domain name (DOMAINNAME)... $unet_cv_with_domain" - -deb_n "Enable CHROOT operation (CHROOTDIR)... " -if test x"$CHROOTDIR" = xy; then - deb_n "yes, path " - unet_cv_with_chroot=$DPATH -else - unet_cv_with_chroot=no -fi -deb "$unet_cv_with_chroot" - -unet_cv_with_dpath=$DPATH -deb "Data path (DPATH)... $unet_cv_with_dpath" - -unet_cv_with_cpath=$CPATH -deb "Configuration file (CPATH)... $unet_cv_with_cpath" - -# LPATH may not be set; if it's not, we'll just ignore it here and let -# ./configure fill it in appropriately -if test x"$LPATH" != x; then - unet_cv_with_lpath=$LPATH - deb "Debug log file (LPATH)... $unet_cv_with_lpath" -fi - -unet_cv_with_maxcon=$MAXCONNECTIONS -deb "Maximum number of connections (MAXCONNECTIONS)... $unet_cv_with_maxcon" - -# Shouldn't run ./configure before the transition script, but we can deal -if test -r "$cache_file"; then - echo "WARNING: Destroying new config.cache file $cache_file" >&2 - rm $cache_file -fi - -# Create the cache file... -echo "Creating new config.cache file $cache_file" -> $cache_file - -# This section is copied from a GNU autoconf-generated configure script -############################################################################### -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache -############################################################################### - -# If they ran ./configure before, there'll be a config.status hanging around; -# if so, we can run that to integrate the config.cache we just generated. -if test -x $basedir/config.status; then - echo "Running $basedir/config.status to update configuration" - cwd=`pwd` - cd $basedir - # Have to run it twice to get the Makefile recreated - ./config.status --recheck - ./config.status - cd $cwd -fi - -# Now we need to track down ircd.conf so we can add the F-lines. -echo_n "Locating IRCD configuration file... " -case $unet_cv_with_cpath in -/*) # CPATH is absolute - conf_file=$unet_cv_with_cpath - ;; - -*) # CPATH is relative to DPATH - conf_file=$unet_cv_with_dpath/$unet_cv_with_cpath - ;; -esac -# suppress duplicate '/' -conf_file=`echo "$conf_file" | sed -e 's@//*@/@g'` -echo "$conf_file" - -# if we can't find the .conf, use "flines.conf" in the base directory (so -# they'll be easy to find). -if test ! -r $conf_file; then - fline_conf=yes - conf_file=$basedir/flines.conf - if test ! -r $conf_file; then - > $conf_file - fi - echo "WARNING: Unable to read ircd.conf; you will need to add the" >&2 - echo " F-lines manually. For your convenience, they will be" >&2 - echo " placed in $conf_file." >&2 -fi - -# here's where we take the old .config and compare it to the feature defaults -echo_n "Building feature table... " -for feature in $features; do - defval=`getvar def_$feature` - value=`getvar $feature` - - if test x"$value" = x -o x"$value" = x"$defval"; then - setvar FEAT_$feature $defval - else - setvar FEAT_$feature $value - fi -done - -# We won't add an F-line for DOMAINNAME, since (hopefully) the right one is -# already compiled in -FEAT_DOMAINNAME=DOMAINNAME - -# Have to make sure we have a RANDOM_SEED to enhance randomness... -FEAT_RANDOM_SEED=$RANDOM_SEED - -# This feature changed names to be consistent... -FEAT_OPER_LBADCHAN=$LOCAL_BADCHAN - -# DEFAULT_LIST_PARAM is perhaps the most complicated to transition, but -# this'll do the trick... -if test x"$CONFIG_LIST" = xy; then - FEAT_DEFAULT_LIST_PARAM=$DEFAULT_LIST_PARAM -else - FEAT_DEFAULT_LIST_PARAM=0 -fi - -echo "done" - -# Now we just generate the F-lines -echo_n "Generating F-lines... " -exec 4>>$conf_file - -# The various log files are set up first--these are all that were defined -# in u2.10.10.pl15 -if test x"$CONFIG_LOG_WHOX" = xy; then - echo "F:LOG:WHO:FILE:$WPATH" >&4 -fi -if test x"$CONFIG_LOG_GLINES" = xy; then - echo "F:LOG:GLINE:FILE:$GPATH" >&4 -fi -if test x"$CONFIG_LOG_USERS" = xy; then - echo "F:LOG:USER:FILE:$FNAME_USERLOG" >&4 -fi -if test x"$CONFIG_LOG_OPERS" = xy; then - echo "F:LOG:OPER:FILE:$FNAME_OPERLOG" >&4 -fi - -# Now we traverse the entire feature table and compare values with their -# defaults -for feature in $features; do - type=`getvar type_$feature` - defval=`getvar def_$feature` - value=`getvar FEAT_$feature` - - if test x"$defval" != x"$value"; then - if test x"$type" = xB; then - # Must map booleans yet again; I prefer TRUE/FALSE - if test x"$value" = xy; then - value=TRUE - else - value=FALSE - fi - fi - - # Write the F-line - echo "F:$feature:$value" >&4 - fi -done -exec 4>&- -echo "done" - -echo_n "Transition is complete." -if test ! -r $basedir/config.status; then - echo_n " You should now run ./configure." -fi - -echo "" - -if test x"$fline_conf" = xyes; then - echo "Don't forget to add the F-lines to your ircd.conf. They can be" - echo "found in $conf_file." -else - echo "Don't forget to verify the F-lines in your ircd.conf!" -fi ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-21 17:26:53
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-21 17:26:42 UTC Modified files: doc/ircd.sample-en.conf doc/ircd.sample-es.conf doc/en/snomask.txt Log message: Actualizacion ejemplos ircd.conf ---------------------- diff included ---------------------- Index: ircd-ircdev/doc/en/snomask.txt diff -u ircd-ircdev/doc/en/snomask.txt:1.1 ircd-ircdev/doc/en/snomask.txt:1.2 --- ircd-ircdev/doc/en/snomask.txt:1.1 Wed Jan 5 10:00:34 2005 +++ ircd-ircdev/doc/en/snomask.txt Mon Mar 21 09:26:32 2005 @@ -1,4 +1,4 @@ -$Id: snomask.txt,v 1.1 2005/01/05 18:00:34 zolty Exp $ +$Id: snomask.txt,v 1.2 2005/03/21 17:26:32 zolty Exp $ SNOMASK - Server Notice Masks Written by Ghostwolf 18th June 1997 @@ -32,9 +32,11 @@ 4096 SNO_THROTTLE 0x1000 /* host throttle add/remove notices */ 8192 SNO_OLDREALOP 0x2000 /* old oper-only messages */ 16384 SNO_CONNEXIT 0x4000 /* client connect/exit (ugh) */ + 32768 SNO_AUTO 0x8000 /* AUTO G-Lines */ + 65536 SNO_DEBUG 0x10000 /* debugging messages (DEBUGMODE only) */ standard +s SNO_DEFAULT (SNO_NETWORK | SNO_OPERKILL | SNO_GLINE) - standard +s when +o/O SNO_DEFAULT | SNO_HACK2 | SNO_HACK4 | SNO_OLDSNO) + standard +s when +o/O SNO_DEFAULT | SNO_HACK2 | SNO_HACK4 | SNO_THROTTLE | SNO_OLDSNO) only opers may set SNO_OPER (SNO_CONNEXIT | SNO_OLDREALOP) Index: ircd-ircdev/doc/ircd.sample-en.conf diff -u ircd-ircdev/doc/ircd.sample-en.conf:1.14 ircd-ircdev/doc/ircd.sample-en.conf:1.15 --- ircd-ircdev/doc/ircd.sample-en.conf:1.14 Wed Mar 9 10:12:32 2005 +++ ircd-ircdev/doc/ircd.sample-en.conf Mon Mar 21 09:26:29 2005 @@ -417,9 +417,7 @@ # assigned one or two uplinks to which your server can connect. # If your uplink(s) also connect to other servers than yours (which is # probable), you need to define your uplink as being allowed to "hub". -# To do this, set "hub = yes;" -# You can also force a server(even one that doesn't connect to you) -# to be a leaf with "leaf = yes;" +# See the Connect block documentation for details on how to do that. UWorld { name = "luz.irc-dev.net"; @@ -596,9 +594,11 @@ # # and the default setting. # }; # -# The encrypted password is optional. If you wish to encrypt your -# password, there is a utility in the ircd. Please read the file -# tools/README. +# By default, the password is hashed using the system's native crypt() +# function. Other password mechanisms are available; the umkpasswd +# utility from the ircd directory can hash passwords using those +# mechanisms. +# # All privileges are shown with their default values; if you wish to # override defaults, you should set only those privileges for the # operator. Listing defaulted privileges just makes things harder to Index: ircd-ircdev/doc/ircd.sample-es.conf diff -u ircd-ircdev/doc/ircd.sample-es.conf:1.10 ircd-ircdev/doc/ircd.sample-es.conf:1.11 --- ircd-ircdev/doc/ircd.sample-es.conf:1.10 Wed Mar 9 10:12:32 2005 +++ ircd-ircdev/doc/ircd.sample-es.conf Mon Mar 21 09:26:31 2005 @@ -402,7 +402,7 @@ # mejor no ser molestado con preguntas con respeto al IRC... Motd { host = "*.irc-dev.net"; - file := "irc-dev.motd"; + file = "irc-dev.motd"; }; # [Uworld] @@ -435,9 +435,8 @@ # Si estos servidores a su vez se conecta a otros servidores que el tuyo # (lo que es probable), necesitas definir el servidor al que te conectas # con permiso como "hub". -# Para hacer esto, ajusta "hub = yes;" -# Puedes tambien forzar un servidor (uno que que no conecte con usted) -# a ser un "leaf" con "leaf = yes;" +# Lea la documentación del bloque "Connect" para más detalles de como se +# hace eso. Uworld { name = "luz.irc-dev.net"; @@ -623,8 +622,11 @@ # # defecto. # }; # -# La contraseña cifrada es opcional. Si deseas cifrar tu contraseña, hay -# una utilidad en el ircd. Lea por favor el archivo tools/README.es +# Por defecto, la contraseña se encripta con la función nativa crypt() +# del sistema. Otros mecanismos de encriptación de contraseña están +# disponibles; la utilidad del "umkpasswd" en el directorio del ircd +# permite encriptar contraseñas utilizando otros mecanismos (SMD5, etc...) +# # Todos los privilegios son mostrados con los valores por defecto; Si # deseas eliminar los valores por defecto, debes fijar solamente esos # privilegios para el operador. Enumerar los privilegios omitidos apenas ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-21 18:39:35
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-21 18:39:23 UTC Modified files: ChangeLog ChangeLog.es Doxyfile include/IPcheck.h include/patchlevel.h ircd/IPcheck.c ircd/Makefile.in ircd/channel.c ircd/crule.c ircd/engine_epoll.c ircd/fileio.c ircd/gline.c ircd/hash.c ircd/ircd.c ircd/ircd_auth.c ircd/ircd_crypt.c ircd/ircd_crypt_native.c ircd/ircd_crypt_smd5.c ircd/ircd_features.c ircd/ircd_log.c ircd/ircd_parser.y ircd/ircd_res.c ircd/ircd_reslib.c ircd/ircd_string.c ircd/list.c ircd/m_account.c ircd/m_admin.c ircd/m_burst.c ircd/m_clearmode.c ircd/m_create.c ircd/m_destruct.c ircd/m_invite.c ircd/m_ison.c ircd/m_join.c ircd/m_kill.c ircd/m_links.c ircd/m_list.c ircd/m_map.c ircd/m_motd.c ircd/m_names.c ircd/m_nick.c ircd/m_oper.c ircd/m_server.c ircd/m_settime.c ircd/m_squit.c ircd/m_who.c ircd/m_whois.c ircd/m_whowas.c ircd/match.c ircd/msgq.c ircd/numnicks.c ircd/os_generic.c ircd/parse.c ircd/s_auth.c ircd/s_bsd.c ircd/s_conf.c ircd/s_debug.c ircd/s_err.c ircd/s_misc.c ircd/s_numeric.c ircd/s_serv.c ircd/s_stats.c ircd/s_user.c ircd/table_gen.c ircd/umkpasswd.c ircd/uping.c ircd/whowas.c ircd/test/test_stub.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-03-21 Toni García <zo...@ir...> 1.0.alpha21 * Corrección de ortografía en comentarios * Sincronización Undernet ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.22 ircd-ircdev/ChangeLog:1.23 --- ircd-ircdev/ChangeLog:1.22 Fri Mar 11 02:44:43 2005 +++ ircd-ircdev/ChangeLog Mon Mar 21 10:38:47 2005 @@ -1,10 +1,14 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.22 2005/03/11 10:44:43 zolty Exp $ +# $Id: ChangeLog,v 1.23 2005/03/21 18:38:47 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-03-21 Toni García <zo...@ir...> 1.0.alpha21 + * Spelling correction in commentaries + * Undernet synchronization + 2005-03-11 Santi Lorenzo <slo...@de...> 1.0.alpha20 * 2 coredumps fixed Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.22 ircd-ircdev/ChangeLog.es:1.23 --- ircd-ircdev/ChangeLog.es:1.22 Fri Mar 11 02:44:43 2005 +++ ircd-ircdev/ChangeLog.es Mon Mar 21 10:38:47 2005 @@ -1,10 +1,14 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.22 2005/03/11 10:44:43 zolty Exp $ +# $Id: ChangeLog.es,v 1.23 2005/03/21 18:38:47 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-03-21 Toni García <zo...@ir...> 1.0.alpha21 + * Corrección de ortografía en comentarios + * Sincronización Undernet + 2005-03-11 Santi Lorenzo <slo...@de...> 1.0.alpha20 * Fix de 2 coredumps Index: ircd-ircdev/Doxyfile diff -u ircd-ircdev/Doxyfile:1.2 ircd-ircdev/Doxyfile:1.3 --- ircd-ircdev/Doxyfile:1.2 Wed Nov 24 08:13:27 2004 +++ ircd-ircdev/Doxyfile Mon Mar 21 10:38:47 2005 @@ -14,159 +14,159 @@ # Project related configuration options #--------------------------------------------------------------------------- -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = "IRC-Dev IRC Daemon" -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = "$Name: $" -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doc/doxygen -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, -# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en -# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = NO -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of # the base classes will not be shown. INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of # the path. It is allowed to use relative paths in the argument list. -STRIP_FROM_PATH = +STRIP_FROM_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an # explict @brief command for a brief description. JAVADOC_AUTOBRIEF = YES -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO -# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member +# If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it # reimplements. INHERIT_DOCS = YES -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES @@ -175,138 +175,138 @@ # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file +# If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows # users are advised to set this option to NO. CASE_SENSE_NAMES = YES -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional +# The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES @@ -315,123 +315,123 @@ # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated +# The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = YES -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the # warning originated and the warning text. WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ircd include -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc -FILE_PATTERNS = +FILE_PATTERNS = -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = +EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories # that are symbolic links (a Unix filesystem feature) are excluded from the input. EXCLUDE_SYMLINKS = NO -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left # blank all files are included. -EXAMPLE_PATTERNS = +EXAMPLE_PATTERNS = -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes # to standard output. -INPUT_FILTER = +INPUT_FILTER = -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -440,36 +440,36 @@ # configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body +# Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = NO -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES @@ -478,131 +478,131 @@ # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = +HTML_HEADER = -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER = +HTML_FOOTER = -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet -HTML_STYLESHEET = +HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be # written to the html output dir. -CHM_FILE = +CHM_FILE = -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. -HHC_LOCATION = +HHC_LOCATION = -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO -# The TOC_EXPAND flag can be set to YES to add extra items for group members +# The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 @@ -611,74 +611,74 @@ # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. -EXTRA_PACKAGES = +EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = YES -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO @@ -687,68 +687,68 @@ # configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimised for Word 97 and may not look very pretty with +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assigments. You only have to provide +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = -# Set optional variables used in the generation of an rtf document. +# Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man -# The MAN_EXTENSION tag determines the extension that is added to +# The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO @@ -757,40 +757,40 @@ # configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_XML = NO -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_SCHEMA = +XML_SCHEMA = -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_DTD = +XML_DTD = #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO @@ -799,280 +799,280 @@ # configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-03-23 14:20:24
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-23 14:20:18 UTC Modified files: TODO.es Log message: Actualizacion TODO.es ---------------------- diff included ---------------------- Index: ircd-ircdev/TODO.es diff -u ircd-ircdev/TODO.es:1.11 ircd-ircdev/TODO.es:1.12 --- ircd-ircdev/TODO.es:1.11 Tue Dec 28 03:15:43 2004 +++ ircd-ircdev/TODO.es Wed Mar 23 06:20:07 2005 @@ -1,7 +1,7 @@ # # TODO para ircd-ircdev # -# $Id: TODO.es,v 1.11 2004/12/28 11:15:43 zolty Exp $ +# $Id: TODO.es,v 1.12 2005/03/23 14:20:07 zolty Exp $ # # Insertar las nuevas entradas al principio de la lista TODO. # @@ -52,24 +52,20 @@ PRIORIDAD BAJA -------------------------------------------------------------------------------------- - [G] ¿Ampliacion comando OPER para elegir clase? - - [G] Estudiar sobre la conveniencia de mezclar numericos (3 y 5). Puede romper la - estandarizacion del protocolo P10. - - [G] Posibilidad de BURST de topics. - [G] S-lines (Spoof Lines). - [G] Soporte Zlib para server<->server y client<->server (requiere negociado). - [G] Soporte RC4 para server<->server. - [G] Soporte SSL para client<->server. - - [U] Soporte de modos de canal +A y +u y todo lo relacionado con el (.12). - [G] Mirar si el aviso de invites lo haga con wallchops o con raw. - [D] Documentar para Doxygen el Watch y el DDB BUGS CONOCIDOS -------------------------------------------------------------------------------------- -23/Abr/2004 - - [G] Sistema de logs no funciona por el paso del .conf al bison 1/Nov/2003 - - [G] Bug en las U-lines (uworld y jupes). + - [G] Bug en nicks Jupeados en el ircd.conf. + - [G] Bajo en ciertas circunstancias desconocidas del ircd.conf no pueden + entrar clientes al IRCD. Investigar eso. Leyenda: ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-23 18:36:31
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-23 18:36:18 UTC Modified files: TODO.es Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ircd-ircdev/TODO.es diff -u ircd-ircdev/TODO.es:1.12 ircd-ircdev/TODO.es:1.13 --- ircd-ircdev/TODO.es:1.12 Wed Mar 23 06:20:07 2005 +++ ircd-ircdev/TODO.es Wed Mar 23 10:36:06 2005 @@ -1,7 +1,7 @@ # # TODO para ircd-ircdev # -# $Id: TODO.es,v 1.12 2005/03/23 14:20:07 zolty Exp $ +# $Id: TODO.es,v 1.13 2005/03/23 18:36:06 zolty Exp $ # # Insertar las nuevas entradas al principio de la lista TODO. # @@ -9,7 +9,6 @@ URGENTE -------------------------------------------------------------------------------------- - [D] Implementar el protocolo DDB. - - [D] Comando de consulta de DDB. - [D] Nicks registrados y protegidos. ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-23 18:37:07
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-23 18:35:03 UTC Modified files: ChangeLog ChangeLog.es config.h.in configure configure.in include/client.h include/ddb.h include/hash.h include/ircd_features.h include/ircd_log.h include/msg.h include/patchlevel.h include/struct.h ircd/Makefile.in ircd/ddb.c ircd/hash.c ircd/ircd.c ircd/ircd_features.c ircd/ircd_log.c ircd/m_account.c ircd/m_db.c ircd/m_dbq.c ircd/parse.c ircd/s_bsd.c ircd/s_debug.c ircd/s_serv.c ircd/s_stats.c Added files: ircd/ddb_db_template.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-03-23 Toni García <zo...@ir...> 1.0.alpha22 * Soporte de Bases de Datos Distribuidas en memoria * Comando DB * Comando DBQ * STATS B ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.23 ircd-ircdev/ChangeLog:1.24 --- ircd-ircdev/ChangeLog:1.23 Mon Mar 21 10:38:47 2005 +++ ircd-ircdev/ChangeLog Wed Mar 23 10:34:15 2005 @@ -1,10 +1,16 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.23 2005/03/21 18:38:47 zolty Exp $ +# $Id: ChangeLog,v 1.24 2005/03/23 18:34:15 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-03-23 Toni García <zo...@ir...> 1.0.alpha22 + * Distributed DataBase support in memory + * DB command + * DBQ command + * STATS B + 2005-03-21 Toni García <zo...@ir...> 1.0.alpha21 * Spelling correction in commentaries * Undernet synchronization Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.23 ircd-ircdev/ChangeLog.es:1.24 --- ircd-ircdev/ChangeLog.es:1.23 Mon Mar 21 10:38:47 2005 +++ ircd-ircdev/ChangeLog.es Wed Mar 23 10:34:15 2005 @@ -1,10 +1,16 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.23 2005/03/21 18:38:47 zolty Exp $ +# $Id: ChangeLog.es,v 1.24 2005/03/23 18:34:15 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-03-23 Toni García <zo...@ir...> 1.0.alpha22 + * Soporte de Bases de Datos Distribuidas en memoria + * Comando DB + * Comando DBQ + * STATS B + 2005-03-21 Toni García <zo...@ir...> 1.0.alpha21 * Corrección de ortografía en comentarios * Sincronización Undernet Index: ircd-ircdev/config.h.in diff -u ircd-ircdev/config.h.in:1.6 ircd-ircdev/config.h.in:1.7 --- ircd-ircdev/config.h.in:1.6 Mon Jan 10 04:32:42 2005 +++ ircd-ircdev/config.h.in Wed Mar 23 10:34:16 2005 @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: config.h.in,v 1.6 2005/01/10 12:32:42 zolty Exp $ + * $Id: config.h.in,v 1.7 2005/03/23 18:34:16 zolty Exp $ * */ #ifndef INCLUDED_config_h @@ -93,6 +93,9 @@ /* Configuration file name */ #undef CPATH +/* DDB Environment (Distributed DataBase) */ +#undef DDB + /* Enable debugging code */ #undef DEBUGMODE @@ -229,6 +232,9 @@ /* Define if you have POSIX signals. */ #undef POSIX_SIGNALS +/* Services Environment (Ex-TerraIRCU) */ +#undef SERVICES + /* The size of a `int', as computed by sizeof. */ #undef SIZEOF_INT @@ -262,6 +268,9 @@ /* Define to 1 if your <sys/time.h> declares `struct tm'. */ #undef TM_IN_SYS_TIME +/* UnderNet Environment */ +#undef UNDERNET + /* Define to enable the /dev/poll engine */ #undef USE_DEVPOLL Index: ircd-ircdev/configure diff -u ircd-ircdev/configure:1.13 ircd-ircdev/configure:1.14 --- ircd-ircdev/configure:1.13 Wed Mar 9 10:12:30 2005 +++ ircd-ircdev/configure Wed Mar 23 10:34:18 2005 @@ -1326,6 +1326,7 @@ + echo "$as_me:$LINENO: checking for installation prefix" >&5 echo $ECHO_N "checking for installation prefix... $ECHO_C" >&6 if test "${unet_cv_prefix+set}" = set; then @@ -10193,8 +10194,21 @@ _ACEOF + + + + + + +cat >>confdefs.h <<\_ACEOF +#define DDB +_ACEOF + + ac_config_files="$ac_config_files Makefile ircd/Makefile ircd/test/Makefile doc/Makefile" + ac_config_commands="$ac_config_commands default" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -10714,9 +10728,16 @@ _ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets @@ -11502,10 +11523,17 @@ echo "" echo " Maximum connections: $unet_cv_with_maxcon" echo " Domain: $unet_cv_with_domain" -#echo " IRC Environment: DDB (Distributed DataBase)" -#echo " IRC Environment: Services (Ex TerraIRCU)" -#echo " IRC Environment: Undernet" -#echo " IRC Environment: None (BUG, mail to zo...@ir...)" echo "" +if test x"$ircdev_cv_environment_ddb" = xyes; then +echo " IRC Environment: DDB (Distributed DataBase)" +elif test x"$ircdev_cv_environment_services" = xyes; then +echo " IRC Environment: Services (Ex TerraIRCU)" +elif test x"$ircdev_cv_environment_unet" = xyes; then +echo " IRC Environment: Undernet" +else +echo " IRC Environment: None (BUG, mail to zo...@ir...)" +fi +echo "" +echo "Type \"make\" to compile IRC-Dev IRCD" Index: ircd-ircdev/configure.in diff -u ircd-ircdev/configure.in:1.13 ircd-ircdev/configure.in:1.14 --- ircd-ircdev/configure.in:1.13 Wed Mar 9 10:12:30 2005 +++ ircd-ircdev/configure.in Wed Mar 23 10:34:23 2005 @@ -22,12 +22,13 @@ dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dnl -dnl $Id: configure.in,v 1.13 2005/03/09 18:12:30 zolty Exp $ +dnl $Id: configure.in,v 1.14 2005/03/23 18:34:23 zolty Exp $ dnl dnl Make sure we are in the correct directory (someone could have run dnl 'configure' with a wrong '--srcdir'). -AC_INIT(ircd/ircd.c) +AC_INIT +AC_CONFIG_SRCDIR([ircd/ircd.c]) dnl Set the default prefix AC_PREFIX_DEFAULT([$HOME]) @@ -46,7 +47,7 @@ AC_CONFIG_HEADER([config.h]) dnl Demand at least version 2.50 of autoconf -AC_PREREQ(2.50) +AC_PREREQ(2.59) dnl Find out what type of system we are AC_CANONICAL_HOST @@ -756,8 +757,51 @@ AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $unet_cv_with_maxcon, [Maximum number of network connections]) + +dnl IRC Network environment +dnl Default DDB +dnl ircdev_cv_environment_ddb=yes; + +dnl --with-ddb-environment allows us to use DDB Environment +dnl AC_MSG_CHECKING([whether to use DDB Environment (Distributed DataBase)]) +dnl AC_ARG_WITH([ddb-environment], +dnl [ --with-ddb-environment Use the DDB Environment (Distributed DataBase)], +dnl [ircdev_cv_environment_ddb=$with_ddb_environment], +dnl [AC_CACHE_VAL(ircdev_cv_environment_ddb, +dnl [ircdev_cv_environment_ddb=no])]) +dnl AC_MSG_RESULT([$ircdev_cv_environment_ddb]) + +dnl LO COMENTO PORQUE NO EXISTE AUN! +dnl --with-services-environment allows us to use Services Environment +dnl AC_MSG_CHECKING([whether to use Services Environment (Ex TerraIRCU)]) +dnl AC_ARG_WITH([services-environment], +dnl [ --with-services-environment Use the Services Environment (Ex TerraIRCU)], +dnl [ircdev_cv_environment_services=$with_services_environment], +dnl [AC_CACHE_VAL(ircdev_cv_environment_services, +dnl [ircdev_cv_environment_services=no])]) +dnl AC_MSG_RESULT([$ircdev_cv_environment_services]) + +dnl --with-undernet-environment allows us to use Undernet Environment +dnl AC_MSG_CHECKING([whether to use Undernet Environment]) +dnl AC_ARG_WITH([undernet-environment], +dnl [ --with-undernet-environment Use the Undernet Environment], +dnl [ircdev_cv_environment_undernet=$with_undernet_environment], +dnl [AC_CACHE_VAL(ircdev_cv_environment_undernet, +dnl [ircdev_cv_environment_undernet=no])]) +dnl AC_MSG_RESULT([$ircdev_cv_environment_undernet]) + +dnl if test x"$ircdev_cv_environment_ddb" != "xno" ; then + AC_DEFINE([DDB], , [DDB Environment (Distributed DataBase)]) +dnl else if x"$ircdev_cv_environment_services" != "xno" ; then +dnl AC_DEFINE([SERVICES], , [Services Environment (Ex-TerraIRCU)]) +dnl else if if x"$ircdev_cv_environment_undernet" != "xno" ; then +dnl AC_DEFINE([UNDERNET], , [UnderNet Environment]) +dnl fi + dnl Finally really generate all output files: -AC_OUTPUT(Makefile ircd/Makefile ircd/test/Makefile doc/Makefile, [echo timestamp > stamp-h]) +AC_CONFIG_FILES([Makefile ircd/Makefile ircd/test/Makefile doc/Makefile]) +AC_CONFIG_COMMANDS([default],[[echo timestamp > stamp-h]],[[]]) +AC_OUTPUT dnl Report configuration echo "IRC-Dev ircd is now hopefully configured for your system." @@ -799,10 +843,17 @@ echo "" echo " Maximum connections: $unet_cv_with_maxcon" echo " Domain: $unet_cv_with_domain" -#echo " IRC Environment: DDB (Distributed DataBase)" -#echo " IRC Environment: Services (Ex TerraIRCU)" -#echo " IRC Environment: Undernet" -#echo " IRC Environment: None (BUG, mail to zo...@ir...)" echo "" +if test x"$ircdev_cv_environment_ddb" = xyes; then +echo " IRC Environment: DDB (Distributed DataBase)" +elif test x"$ircdev_cv_environment_services" = xyes; then +echo " IRC Environment: Services (Ex TerraIRCU)" +elif test x"$ircdev_cv_environment_unet" = xyes; then +echo " IRC Environment: Undernet" +else +echo " IRC Environment: None (BUG, mail to zo...@ir...)" +fi +echo "" +echo "Type \"make\" to compile IRC-Dev IRCD" Index: ircd-ircdev/include/client.h diff -u ircd-ircdev/include/client.h:1.11 ircd-ircdev/include/client.h:1.12 --- ircd-ircdev/include/client.h:1.11 Wed Mar 9 10:12:33 2005 +++ ircd-ircdev/include/client.h Wed Mar 23 10:34:24 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Structures and functions for handling local clients. - * @version $Id: client.h,v 1.11 2005/03/09 18:12:33 zolty Exp $ + * @version $Id: client.h,v 1.12 2005/03/23 18:34:24 zolty Exp $ */ #ifndef INCLUDED_client_h #define INCLUDED_client_h @@ -128,6 +128,9 @@ PRIV_LIST_CHAN, /**< oper can list secret channels */ PRIV_FORCE_OPMODE, /**< can hack modes on quarantined channels */ PRIV_FORCE_LOCAL_OPMODE, /**< can hack modes on quarantined local channels */ +#if defined(DDB) + PRIV_DBQ, /**< oper can use DBQ (DataBase Query) */ +#endif PRIV_APASS_OPMODE, /**< can hack modes +A/-A/+U/-U */ PRIV_LAST_PRIV /**< number of privileges */ }; Index: ircd-ircdev/include/ddb.h diff -u ircd-ircdev/include/ddb.h:1.2 ircd-ircdev/include/ddb.h:1.3 --- ircd-ircdev/include/ddb.h:1.2 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/ddb.h Wed Mar 23 10:34:25 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ddb.h,v 1.2 2005/01/10 12:21:59 zolty Exp $ + * $Id: ddb.h,v 1.3 2005/03/23 18:34:25 zolty Exp $ * */ #ifndef INCLUDED_ddb_h @@ -27,13 +27,17 @@ #include "config.h" #include "client.h" +#include <sys/stat.h> + #if defined(DDB) /* * General defines */ - +/* Las tablas con los registros, serie, version */ #define DDB_TABLE_MAX 256 +/*Numero de peticiones de registros antes de que haya que empezar a reciclar */ +#define DDB_BUF_CACHE 32 /* * Distributed DataBase Tables @@ -55,48 +59,98 @@ struct Ddb *next; }; +#if 0 +struct portable_stat +{ + dev_t dev; /* ID of device containing a directory entry for this file */ + ino_t ino; /* Inode number */ + off_t size; /* File size in bytes */ + time_t mtime; /* Time of last data modification */ +} +#endif + + struct ddb_memory_table { - char *position; - unsigned int len; - char *point_r; - char *point_w; + struct stat status; + char *position; /* Posicion */ + char *point_r; /* Lectura */ +#if 0 + char *point_w; /* Escritura */ +#endif }; +#if 0 +struct db_file__ { + char *map_p; lo mismo que position + struct stat estado; + char *read_p; +}; +estado.st_size + +struct stat +{ + st_size + st_mtime +} + +struct portable_stat +{ + dev_t dev; /* ID of device containing a directory +entry for this file */ + ino_t ino; /* Inode number */ + off_t size; /* File size in bytes */ + time_t mtime; /* Time of last data modification */ +} +#endif + +#define DdbMalloc(x) MyMalloc(x) +#define DdbFree(x) MyFree(x) /* * Prototypes */ extern struct Ddb **ddb_data_table[DDB_TABLE_MAX]; -extern int ddb_resident_table[DDB_TABLE_MAX]; -extern unsigned long int ddb_count_table[DDB_TABLE_MAX]; -extern unsigned long int ddb_id_table[DDB_TABLE_MAX]; -extern unsigned long int ddb_hashtable_hi[DDB_TABLE_MAX]; -extern unsigned long int ddb_hashtable_lo[DDB_TABLE_MAX]; +extern unsigned int ddb_resident_table[DDB_TABLE_MAX]; +extern unsigned int ddb_count_table[DDB_TABLE_MAX]; +extern unsigned int ddb_id_table[DDB_TABLE_MAX]; +extern unsigned int ddb_hashtable_hi[DDB_TABLE_MAX]; +extern unsigned int ddb_hashtable_lo[DDB_TABLE_MAX]; +extern int ddb_hash_register(char *key, int hash_size); extern int ddb_table_is_resident(unsigned char table); -extern unsigned long int ddb_id_in_table(unsigned char table); -extern unsigned long int ddb_count_in_table(unsigned char table); +extern unsigned int ddb_id_in_table(unsigned char table); +extern unsigned int ddb_count_in_table(unsigned char table); extern void ddb_init(void); -extern int ddb_open(unsigned int registry, char *buf, unsigned char table, - struct ddb_memory_table *dump); + + +/* extern int ddb_read(struct ddb_memory_table *dump, char *buf); -extern void ddb_add(char *registry, unsigned char table, int save_disk); -extern void ddb_del(char *registry, unsigned char table); +*/ +extern void ddb_new_register(struct Client *cptr, unsigned char table, char *mask, unsigned int id, char *key, char *content); extern void ddb_drop(unsigned char table); -extern void ddb_close(struct ddb_memory_table *dump); -extern void ddb_hash_write(unsigned char table); -extern struct Ddb *ddb_find_reg(unsigned char table, char *key); -extern int ddb_is_member(unsigned char table, char *key, char *subcadena); -extern char *ddb_get_botname(char *bot); +extern void ddb_drop_memory(unsigned char table, int events); +extern void ddb_burst(struct Client *cptr); +extern int ddb_table_burst(struct Client *cptr, unsigned char table, unsigned int id); -extern struct Ddb *ddb_iterator_init(unsigned char table); -extern struct Ddb *ddb_iterator_next(void); +extern struct Ddb *ddb_iterator_first(unsigned char table); +extern struct Ddb *ddb_iterator_next(void); +extern struct Ddb *ddb_find_key(unsigned char table, char *key); +extern char *ddb_get_botname(char *bot); +extern void ddb_splithubs_butone(struct Client *cptr, char *exitmsg); extern void ddb_reload(void); -extern void ddb_die(char *msg, unsigned char table); -extern void ddb_burst(struct Client *cptr); -extern void report_ddb(struct Client *cptr); +extern void ddb_die(const char *pattern, ...); +extern void ddb_report_stats(struct Client* to, const struct StatDesc* sd, char* param); + +/* Externs de ddb_db_*.c */ +extern int ddb_db_open(unsigned char table, unsigned int id, struct ddb_memory_table *mt); +extern void ddb_db_close(struct ddb_memory_table *mt); +extern void ddb_db_write(unsigned char table, char *mask, unsigned int id, char *key, char *content); +extern void ddb_db_drop(unsigned char table); +extern void ddb_compact(unsigned char table, char *mask, unsigned int id, char *comment); +extern void ddb_hash_read(unsigned char table, unsigned int *hi, unsigned int *lo); +extern void ddb_hash_write(unsigned char table); #endif /* defined(DDB) */ Index: ircd-ircdev/include/hash.h diff -u ircd-ircdev/include/hash.h:1.5 ircd-ircdev/include/hash.h:1.6 --- ircd-ircdev/include/hash.h:1.5 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/hash.h Wed Mar 23 10:34:25 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Hash table management APIs. - * @version $Id: hash.h,v 1.5 2005/01/10 12:21:59 zolty Exp $ + * @version $Id: hash.h,v 1.6 2005/03/23 18:34:25 zolty Exp $ */ #ifndef INCLUDED_hash_h #define INCLUDED_hash_h @@ -38,7 +38,7 @@ /** Size of client and channel hash tables. * Both must be of the same size. */ -#define HASHSIZE 32000 +#define HASHSIZE 32768 /* * Structures Index: ircd-ircdev/include/ircd_features.h diff -u ircd-ircdev/include/ircd_features.h:1.9 ircd-ircdev/include/ircd_features.h:1.10 --- ircd-ircdev/include/ircd_features.h:1.9 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/ircd_features.h Wed Mar 23 10:34:25 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Public interfaces and declarations for dealing with configurable features. - * @version $Id: ircd_features.h,v 1.9 2005/01/10 12:21:59 zolty Exp $ + * @version $Id: ircd_features.h,v 1.10 2005/03/23 18:34:25 zolty Exp $ */ #ifndef INCLUDED_features_h #define INCLUDED_features_h @@ -112,6 +112,9 @@ FEAT_HIS_STATS_l, FEAT_HIS_STATS_L, FEAT_HIS_STATS_a, +#if defined(DDB) + FEAT_HIS_STATS_b, +#endif FEAT_HIS_STATS_c, FEAT_HIS_STATS_g, FEAT_HIS_STATS_h, Index: ircd-ircdev/include/ircd_log.h diff -u ircd-ircdev/include/ircd_log.h:1.5 ircd-ircdev/include/ircd_log.h:1.6 --- ircd-ircdev/include/ircd_log.h:1.5 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/ircd_log.h Wed Mar 23 10:34:25 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief IRC logging interface. - * @version $Id: ircd_log.h,v 1.5 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: ircd_log.h,v 1.6 2005/03/23 18:34:25 zolty Exp $ */ #ifndef INCLUDED_ircd_log_h #define INCLUDED_ircd_log_h @@ -61,6 +61,9 @@ LS_JUPE, /**< Adding, (de-)activating or removing JUPEs. */ LS_WHO, /**< Use of extended WHO privileges. */ LS_NETWORK, /**< New server connections. */ +#ifdef DDB + LS_DDB, /**< Distributed DataBase errors and warnings */ +#endif LS_OPERKILL, /**< Kills by IRC operators. */ LS_SERVKILL, /**< Kills by servers. */ LS_USER, /**< User exits. */ Index: ircd-ircdev/include/msg.h diff -u ircd-ircdev/include/msg.h:1.9 ircd-ircdev/include/msg.h:1.10 --- ircd-ircdev/include/msg.h:1.9 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/msg.h Wed Mar 23 10:34:26 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Command and token declarations and structures. - * @version $Id: msg.h,v 1.9 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: msg.h,v 1.10 2005/03/23 18:34:26 zolty Exp $ */ #ifndef INCLUDED_msg_h #define INCLUDED_msg_h @@ -371,9 +371,11 @@ #define MSG_DB "DB" /* DB */ #define TOK_DB "DB" +#define CMD_DB MSG_DB, TOK_DB #define MSG_DBQ "DBQ" /* DBQ */ #define TOK_DBQ "DBQ" +#define CMD_DBQ MSG_DBQ, TOK_DBQ /* Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.23 ircd-ircdev/include/patchlevel.h:1.24 --- ircd-ircdev/include/patchlevel.h:1.23 Mon Mar 21 10:39:04 2005 +++ ircd-ircdev/include/patchlevel.h Wed Mar 23 10:34:26 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.23 2005/03/21 18:39:04 zolty Exp $ + * $Id: patchlevel.h,v 1.24 2005/03/23 18:34:26 zolty Exp $ * */ -#define PATCHLEVEL ".alpha21" +#define PATCHLEVEL ".alpha22" #define RELEASE "1.0" Index: ircd-ircdev/include/struct.h diff -u ircd-ircdev/include/struct.h:1.7 ircd-ircdev/include/struct.h:1.8 --- ircd-ircdev/include/struct.h:1.7 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/struct.h Wed Mar 23 10:34:27 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Structure definitions for users and servers. - * @version $Id: struct.h,v 1.7 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: struct.h,v 1.8 2005/03/23 18:34:27 zolty Exp $ */ #ifndef INCLUDED_struct_h #define INCLUDED_struct_h @@ -61,6 +61,10 @@ int asll_to; /**< AsLL upstream lag */ int asll_from; /**< AsLL downstream lag */ +#if defined(DDB) + unsigned long ddb_open; /**< DDB database open */ +#endif + char *last_error_msg; /**< Allocated memory with last message receive with an ERROR */ char by[NICKLEN + 1]; /**< Numnick of client who requested the link */ }; Index: ircd-ircdev/ircd/Makefile.in diff -u ircd-ircdev/ircd/Makefile.in:1.19 ircd-ircdev/ircd/Makefile.in:1.20 --- ircd-ircdev/ircd/Makefile.in:1.19 Mon Mar 21 10:39:05 2005 +++ ircd-ircdev/ircd/Makefile.in Wed Mar 23 10:34:27 2005 @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.19 2005/03/21 18:39:05 zolty Exp $ +# $Id: Makefile.in,v 1.20 2005/03/23 18:34:27 zolty Exp $ #### Start of system configuration section. #### @@ -57,6 +57,7 @@ MPATH = ${DPATH}/ircd.motd RPATH = ${DPATH}/remote.motd + CC = @CC@ CFLAGS = @CFLAGS@ CPPFLAGS = -I. -I.. -I${top_srcdir}/include @CPPFLAGS@ @@ -86,6 +87,15 @@ memdebug.c \ umkpasswd.c +UNDERNET_SRC = \ + m_account.c \ + +DDB_SRC = \ + ddb.c \ + ddb_db_template.c \ + m_db.c \ + m_dbq.c + IRCD_SRC = \ IPcheck.c \ channel.c \ @@ -93,7 +103,6 @@ client.c \ crule.c \ dbuf.c \ - ddb.c \ destruct_event.c \ fileio.c \ gline.c \ @@ -117,7 +126,6 @@ lex.yy.c \ list.c \ listener.c \ - m_account.c \ m_admin.c \ m_asll.c \ m_away.c \ @@ -128,8 +136,6 @@ m_connect.c \ m_cprivmsg.c \ m_create.c \ - m_db.c \ - m_dbq.c \ m_defaults.c \ m_destruct.c \ m_desynch.c \ @@ -223,13 +229,15 @@ whowas.c \ y.tab.c -SRC = ${IRCD_SRC} ${ENGINE_C} ${CRYPTO_SRC} +#SRC = ${IRCD_SRC} ${ENGINE_C} ${CRYPTO_SRC} +#SRC = ${IRCD_SRC} ${UNDERNET_SRC} ${ENGINE_C} ${CRYPTO_SRC} +SRC = ${IRCD_SRC} ${DDB_SRC} ${ENGINE_C} ${CRYPTO_SRC} OBJS = ${SRC:%.c=%.o} UMKPASSWD_OBJS = ${UMKPASSWD_SRC:%.c=%.o} -DEP_SRC = ${IRCD_SRC} ${ENGINE_SRC} ${CRYPTO_SRC} +DEP_SRC = ${IRCD_SRC} ${UNDERNET_SRC} ${DDB} ${ENGINE_SRC} ${CRYPTO_SRC} all: ( cd ..; make -f Makefile ) Index: ircd-ircdev/ircd/ddb.c diff -u ircd-ircdev/ircd/ddb.c:1.3 ircd-ircdev/ircd/ddb.c:1.4 --- ircd-ircdev/ircd/ddb.c:1.3 Mon Jan 10 04:22:58 2005 +++ ircd-ircdev/ircd/ddb.c Wed Mar 23 10:34:46 2005 @@ -18,7 +18,634 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ddb.c,v 1.3 2005/01/10 12:22:58 zolty Exp $ - * + */ +/** @file + * @brief Implementation of Distributed DataBase. + * @version $Id: ddb.c,v 1.4 2005/03/23 18:34:46 zolty Exp $ */ #include "config.h" + +#include "ddb.h" +#include "ircd.h" +#include "ircd_alloc.h" +#include "ircd_chattr.h" +#include "ircd_log.h" +#include "ircd_reply.h" +#include "ircd_string.h" +#include "ircd_tea.h" +#include "list.h" +#include "match.h" +#include "msg.h" +#include "numeric.h" +#include "s_bsd.h" +#include "s_debug.h" +#include "s_misc.h" +#include "send.h" + +/* #include <assert.h> -- Now using assert in ircd_log.h */ +#include <stdarg.h> +#include <stdio.h> +/*#include <stdlib.h> */ +#include <string.h> +#include <time.h> + +static struct Ddb ddb_buf_cache[DDB_BUF_CACHE]; +static int ddb_buf_cache_i = 0; + +struct Ddb **ddb_data_table[DDB_TABLE_MAX]; +short ddb_corrupt_table[DDB_TABLE_MAX]; +unsigned int ddb_resident_table[DDB_TABLE_MAX]; +unsigned int ddb_count_table[DDB_TABLE_MAX]; +unsigned int ddb_id_table[DDB_TABLE_MAX]; +unsigned int ddb_hashtable_hi[DDB_TABLE_MAX]; +unsigned int ddb_hashtable_lo[DDB_TABLE_MAX]; +struct ddb_memory_table ddb_memorytable[DDB_TABLE_MAX]; + +static struct Ddb *ddb_iterator_key = NULL; +static struct Ddb **ddb_iterator_content = NULL; +static int ddb_iterator_hash_pos = 0; +static int ddb_iterator_hash_len = 0; + +static void ddb_table_init(unsigned char table); +static void ddb_add_key(unsigned char table, char *key, char *content); +static void ddb_del_key(unsigned char table, char *key); + + +int ddb_table_is_resident(unsigned char table) +{ + return ddb_resident_table[table] ? 1 : 0; +} + +/* +unsigned int ddb_id_in_table(unsigned char table) +{ + return ddb_id_in_table[table]; +} + +unsigned int ddb_count_in_table(unsigned char table) +{ + return ddb_count_in_table[table]; +} +*/ + +static void DdbCopyMalloc(char *buf, int len, char **p) +{ + char *p2; + + p2 = *p; + if ((p2) && (strlen(p2) < len)) + { + MyFree(p2); + p2 = NULL; + } + if (!p2) + { + p2 = MyMalloc(len + 1); /* El '\0' final */ + *p = p2; + } + memcpy(p2, buf, len); + p2[len] = '\0'; +} + +static void ddb_hash_calculate(unsigned char table, unsigned int id, char *mask, char *key, char *content) +{ + unsigned int buffer[129 * sizeof(unsigned int)]; + unsigned int *p = buffer; + unsigned int x[2], v[2], k[2]; + char *p2; + char buf[1024]; + + /* ID Mask Key Content */ + if (content) + sprintf(buf, "%u %s %s %s", id, mask, key, content); + else + sprintf(buf, "%u %s %s", id, mask, key); + memset(buffer, 0, sizeof(buffer)); + strncpy((char *)buffer, buf, sizeof(buffer) - 1); + + + /* Parece que no es necesario, comprobarlo */ + while ((p2 = strchr((char *)buffer, '\n'))) + *p2 = '\0'; + while ((p2 = strchr((char *)buffer, '\r'))) + *p2 = '\0'; + + k[0] = k[1] = 0; + x[0] = ddb_hashtable_hi[table]; + x[1] = ddb_hashtable_lo[table] = x[1]; + + while (*p) + { + v[0] = ntohl(*p++); + v[1] = ntohl(*p++); + ircd_tea(v, k, x); + } + ddb_hashtable_hi[table] = x[0]; + ddb_hashtable_lo[table] = x[1]; +} + + +/** initialize Distributed DataBase + */ +void +ddb_init(void) +{ + unsigned char table; + + /* ddb_events_init(); */ + + memset(ddb_resident_table, 0, sizeof(ddb_resident_table)); + + /* + * Las longitudes DEBEN ser potencias de 2, + * y no deben ser superiores a HASHSIZE, ya que ello + * solo desperdiciaria memoria. + */ + ddb_resident_table[DDB_NICKDB] = 32768; + + for (table = DDB_INIT; table <= DDB_END; table++) + ddb_table_init(table); + + /* + * La operacion anterior puede ser una operacion larga. + * Resincronizamos tiempo. + */ + CurrentTime = time(NULL); +} + +static void ddb_table_init(unsigned char table) +{ + + ddb_drop_memory(table, 0); + /* Leer Datos */ + + /* Leer Hash */ + +} + +void +ddb_new_register(struct Client *cptr, unsigned char table, char *mask, unsigned int id, char *key, char *content) +{ + static char *keytemp = NULL; + static int key_len = 0; + + assert(0 != table); + assert(0 != key); + + ddb_hash_calculate(table, id, mask, key, content); + + /* Al iniciar, cptr no existe y por lo tanto no se escribe */ + if (cptr) + { + ddb_db_write(table, mask, id, key, content); + ddb_hash_write(table); + } + + ddb_id_table[table] = id; + + /* Solo ponemos en memoria registros cuya mascara + * concuerda con el servidor. + * Y por supuesto, que sean residentes + */ + if (!ddb_resident_table[table]) + return; + + /* Usamos collapse+match por un bug en lastNNServer del find_match_server */ + collapse(mask); + if (!match(mask, cli_name(&me))) + { + int i = 0; + + /* pasamos el key en minusculas */ + if ((strlen(key) + 1 > key_len) || (!keytemp)) + { + key_len = strlen(key) + 1; + if (keytemp) + MyFree(keytemp); + keytemp = MyMalloc(key_len); + + assert(0 != keytemp); + } + strcpy(keytemp, key); + while (keytemp[i]) + { +/* keytemp[i] = toLower(keytemp[i]); */ + i++; + } + + if (content) + ddb_add_key(table, keytemp, content); + else + ddb_del_key(table, keytemp); + +#if 0 + /* Ejecutamos los eventos */ + if (!cptr && ddb_event_tables[table]) + ddb_event_parse[table](key, content); +#endif + } + +} + +static void +ddb_add_key(unsigned char table, char *key, char *content) +{ + struct Ddb *ddb; + char *k, *c; + int hashi; + + ddb_iterator_key = NULL; + + ddb_del_key(table, key); + + ddb = DdbMalloc(sizeof(struct Ddb) + strlen(key) + strlen(content) + 2); + assert(0 != ddb); + + k = (char *)ddb + sizeof(struct Ddb); + c = k + strlen(key) + 1; + + strcpy(k, key); + strcpy(c, content); + + /* paso a minusculas */ +/* + while (c[i] != 0) + { + k[i] = toLower(c[i]); + i++; + } +*/ + + ddb->key = k; + ddb->content = c; +// strcpy(ddb->key, key); +// strcpy(ddb->content, content); + ddb->next = NULL; + + hashi = ddb_hash_register(ddb->key, ddb_resident_table[table]); + + Debug((DEBUG_INFO, "Inserto T='%c' K='%s' C='%s' H=%u",table, ddb->key, ddb->content, hashi)); + + ddb->next = ddb_data_table[table][hashi]; + ddb_data_table[table][hashi] = ddb; + ddb_count_table[table]++; + + /* EVENTOS DE ALTA */ +} + +static void +ddb_del_key(unsigned char table, char *key) +{ + struct Ddb *ddb, *ddb2, **ddb3; + int hashi; + + ddb_iterator_key = NULL; + + hashi = ddb_hash_register(key, ddb_resident_table[table]); + ddb3 = &ddb_data_table[table][hashi]; + + for (ddb = *ddb3; ddb; ddb = ddb2) + { + ddb2 = ddb->next; + if (!strcmp(ddb->key, key)) + { + *ddb3 = ddb2; + /* EVENTOS de BAJA */ + DdbFree(ddb); + ddb_count_table[table]--; + break; + } + ddb3 = &(ddb->next); + } +} + + +void +ddb_drop(unsigned char table) +{ + + /* Borramos el fichero de la tabla */ + /* TODO-ZOLTAN: Comento, para only-read */ +/* ddb_db_drop(table); */ + + /* Borramos la tabla en la memoria */ + ddb_drop_memory(table, 0); + +/* TODO-ZOLTAN: Comento, para only-read */ +/* ddb_hash_write(table); */ + ddb_corrupt_table[table] = 0; +/* + tabla_modificado[tabla] = time(NULL); +*/ +} + +void ddb_drop_memory(unsigned char table, int events) +{ + struct Ddb *ddb, *ddb2; + int i; + + if (!ddb_resident_table[table]) + return; + + if (ddb_data_table[table]) + { + for (i = 0; i < ddb_resident_table[table]; i++) + { + for (ddb = ddb_data_table[table][i]; ddb; ddb = ddb2) + { + ddb2 = ddb->next; +#if 0 + if (events && ddb_event_tables[table]) + ddb_event_parse[table](ddb->key, NULL); +#endif + DdbFree(ddb); + } + } + } + else + { + ddb_data_table[table] = DdbMalloc(ddb_resident_table[table] * sizeof(struct Ddb *)); + assert(ddb_data_table[table]); + } + + for (i = 0; i < ddb_resident_table[table]; i++) + { + ddb_data_table[table][i] = NULL; + } + + ddb_count_table[table] = 0; + ddb_id_table[table] = 0; + ddb_hashtable_hi[table] = 0; + ddb_hashtable_lo[table] = 0; +/* + tabla_corrupta[tabla] = 0; + tabla_modificado[tabla] = time(NULL); +*/ +} + + +void +ddb_burst(struct Client *cptr) +{ + int i; + + for (i = DDB_INIT; i <= DDB_END; i++) + sendcmdto_one(&me, CMD_DB, cptr, "* 0 J %u %c", + ddb_id_table[i], i); +} + +int +ddb_table_burst(struct Client *cptr, unsigned char table, unsigned int id) +{ + return 1; + +#if 0 + int cont = 1000; + /* Leer Datos */ + + do + { + + if (content) + sendcmdto_one(&me, CMD_DB, cptr, "%s %u %s %s :%s", mask, id, table, key, content); + else + sendcmdto_one(&me, CMD_DB, cptr, "%s %u %s %s", mask, id, table, key); + + if (!(--cont)) + break; + } while (leer) + + if (cont) + { + cli_serv(cptr)->ddb_open |= ((unsigned int)1) << (table - DDB_INIT); + return 1; + } + else + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 B %u %c", mask, ddb_id_table[table], table); + + return 0; +#endif +} + + +static struct Ddb * +ddb_iterator_init(void) +{ + struct Ddb *ddb; + + if (ddb_iterator_key) + { + ddb_iterator_key = ddb_iterator_key->next; + if (ddb_iterator_key) + { + return ddb_iterator_key; + } + } + + /* + * Indica el PROXIMO valor a utilizar. + */ + while (ddb_iterator_hash_pos < ddb_iterator_hash_len) + { + ddb = ddb_iterator_content[ddb_iterator_hash_pos++]; + if (ddb) { + ddb_iterator_key = ddb; + return ddb; + } + } + + ddb_iterator_key = NULL; + ddb_iterator_content = NULL; + ddb_iterator_hash_pos = 0; + ddb_iterator_hash_len = 0; + + return NULL; +} + +struct Ddb * +ddb_iterator_first(unsigned char table) +{ + assert((table >= DDB_INIT) && (table <= DDB_END)); + + ddb_iterator_hash_len = ddb_resident_table[table]; + assert(ddb_iterator_hash_len); + + ddb_iterator_hash_pos = 0; + ddb_iterator_content = ddb_data_table[table]; + ddb_iterator_key = NULL; + + return ddb_iterator_init(); +} + +struct Ddb * +ddb_iterator_next(void) +{ + assert(ddb_iterator_key); + assert(ddb_iterator_content); + assert(ddb_iterator_hash_len); + + return ddb_iterator_init(); +} + + +static struct Ddb *ddb_find_registry_table(unsigned char table, char *key) +{ + struct Ddb *ddb; + static char *k = 0; + static int k_len = 0; + int i, hashi; + + if ((strlen(key) + 1 > k_len) || (!k)) + { + k_len = strlen(key) + 1; + if (k) + MyFree(k); + k = MyMalloc(k_len); + if (!k) + return 0; + } + strcpy(k, key); + /* paso a minusculas */ + i = 0; + while (k[i]) + { +/* k[i] = ToLower(k[i]); */ + i++; + } + + hashi = ddb_hash_register(k, ddb_resident_table[table]); + + for (ddb = ddb_data_table[table][hashi]; ddb; ddb = ddb->next) + { +/* if (!strcmp(ddb->key, k)) */ + if (!ircd_strcmp(ddb->key, k)) + return ddb; + } + return NULL; +} + +struct Ddb *ddb_find_key(unsigned char table, char *key) +{ + struct Ddb *ddb; + char *key_init; + char *key_end; + char *content_init; + char *content_end; + + if (!ddb_resident_table[table]) + return NULL; + + ddb = ddb_find_registry_table(table, key); + if (!ddb) + return NULL; + + /* Lo que sigue lo sustituye */ + key_init = ddb->key; + key_end = key_init + strlen(key_init); + content_init = ddb->content; + content_end = content_init + strlen(content_init); + + DdbCopyMalloc(key_init, key_end - key_init, + &ddb_buf_cache[ddb_buf_cache_i].key); + DdbCopyMalloc(content_init, content_end - content_init, + &ddb_buf_cache[ddb_buf_cache_i].content); + if (++ddb_buf_cache_i >= DDB_BUF_CACHE) + ddb_buf_cache_i = 0; + + return ddb; +} + +char * +ddb_get_botname(char *bot) +{ + return cli_name(&me); +} + + +void +ddb_reload(void) +{ + sendto_opmask_butone(0, SNO_OLDSNO, "Reload Distributed DataBase..."); + log_write(LS_DDB, L_INFO, 0, "Reload Distributed DataBase..."); + + ddb_init(); +} + + +/** Split all Hubs but one. + * @param[in] cptr Client that is not closed. + * @param[in] exitmsg SQUIT message. + */ +void +ddb_splithubs_butone(struct Client *cptr, char *exitmsg) +{ + struct DLink *lp, *lp2; + struct Client *acptr; + + for (lp = cli_serv(&me)->down; lp; lp = lp2) + { + lp2 = lp->next; + + acptr = lp->value.cptr; + if ((acptr != cptr) && (IsHub(acptr))) + exit_client(acptr, acptr, &me, exitmsg); + } +} + +/** Die the server with an DDB error. + * @param[in] pattern Format string of message. + */ +void +ddb_die(const char *pattern, ...) +{ + struct Client *acptr; + char exitmsg[1024], exitmsg2[1024]; + va_list vl; + int i; + + va_start(vl, pattern); + vsprintf(exitmsg2, pattern, vl); + va_end(vl); + + sprintf(exitmsg, "DDB Error: %s", exitmsg2); + + for (i = 0; i <= HighestFd; i++) + { + if (!(acptr = LocalClientArray[i])) + continue; + if (IsUser(acptr)) + sendcmdto_one(&me, CMD_NOTICE, acptr, "%C :Server Terminating. %s", + acptr, exitmsg); + else if (IsServer(acptr)) + sendcmdto_one(&me, CMD_ERROR, acptr, ":Terminated by %s", exitmsg); + } + server_die(exitmsg); +} + + +/** Report all F-lines to a user. + * @param[in] to Client requesting statistics. + * @param[in] sd Stats descriptor for request (ignored). + * @param[in] param Extra parameter from user (ignored). + */ +void +ddb_report_stats(struct Client* to, const struct StatDesc* sd, char* param) +{ + unsigned char table; + + for (table = DDB_INIT; table <= DDB_END; table++) + { + if (ddb_table_is_resident(table)) + send_reply(to, SND_EXPLICIT | RPL_STATSDEBUG, + "b :Table '%c' S=%lu R=%lu", table, + (unsigned long)ddb_id_table[table], + (unsigned long)ddb_count_table[table]); + else + { + if (ddb_id_table[table]) + send_reply(to, SND_EXPLICIT | RPL_STATSDEBUG, + "b :Table '%c' S=%lu NoResident", table, + (unsigned long)ddb_id_table[table]); + } + } +} Index: ircd-ircdev/ircd/ddb_db_template.c diff -u /dev/null ircd-ircdev/ircd/ddb_db_template.c:1.1 --- /dev/null Wed Mar 23 10:36:27 2005 +++ ircd-ircdev/ircd/ddb_db_template.c Wed Mar 23 10:34:47 2005 @@ -0,0 +1,79 @@ +/* + * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/ddb_db_example.c + * + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2004-2005 Toni Garcia (zoltan) <zo...@ir...> + * Copyright (C) 1999-2003 Jesus Cea Avion <jc...@ar...> + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +/** @file + * @brief Implementation of Distributed DataBase. + * @version $Id: ddb_db_template.c,v 1.1 2005/03/23 18:34:47 zolty Exp $ + */ +#include "config.h" + +#include "ddb.h" +#include "numnicks.h" + +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/mman.h> +#include <sys/stat.h> +#include <unistd.h> + +int +ddb_db_open(unsigned char table, unsigned int id, struct ddb_memory_table *mt) +{ + return 1; +} + + +void ddb_db_close(struct ddb_memory_table *mt) +{ +} + +int ddb_db_read(struct ddb_memory_table *mt, char *mask, char *id, char *key, char *content) +{ + return 1; +} + +void ddb_db_write(unsigned char table, char *mask, unsigned int id, char *key, char *content) +{ +} + +void ddb_db_drop(unsigned char table) +{ +} + +void +ddb_db_compact(unsigned char table, char *mask, unsigned int id, char *comment) +{ + +} + + + +void ddb_hash_read(unsigned char table, unsigned int *hi, unsigned int *lo) +{ +} + +void ddb_hash_write(unsigned char table) +{ +} + Index: ircd-ircdev/ircd/hash.c diff -u ircd-ircdev/ircd/hash.c:1.7 ircd-ircdev/ircd/hash.c:1.8 --- ircd-ircdev/ircd/hash.c:1.7 Mon Mar 21 10:39:07 2005 +++ ircd-ircdev/ircd/hash.c Wed Mar 23 10:34:47 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Hash table management. - * @version $Id: hash.c,v 1.7 2005/03/21 18:39:07 zolty Exp $ + * @version $Id: hash.c,v 1.8 2005/03/23 18:34:47 zolty Exp $ * * This file used to use some very complicated hash function. Now it * uses CRC-32, but effectively remaps each input byte according to a @@ -33,6 +33,7 @@ #include "hash.h" #include "client.h" #include "channel.h" +#include "ddb.h" #include "ircd_alloc.h" #include "ircd_chattr.h" #include "ircd_log.h" @@ -520,3 +521,14 @@ send_reply(cptr, RPL_LISTEND); } } + +#if defined(DDB) + +/** Calculates a hash of one key. + */ +int ddb_hash_register(char *key, int hash_size) +{ + return (unsigned int)(strhash(key) & (hash_size - 1)); +} + +#endif /* DDB */ Index: ircd-ircdev/ircd/ircd.c diff -u ircd-ircdev/ircd/ircd.c:1.13 ircd-ircdev/ircd/ircd.c:1.14 --- ircd-ircdev/ircd/ircd.c:1.13 Mon Mar 21 10:39:07 2005 +++ ircd-ircdev/ircd/ircd.c Wed Mar 23 10:34:47 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Entry point and other initialization functions for the daemon. - * @version $Id: ircd.c,v 1.13 2005/03/21 18:39:07 zolty Exp $ + * @version $Id: ircd.c,v 1.14 2005/03/23 18:34:47 zolty Exp $ */ #include "config.h" @@ -30,6 +30,7 @@ #include "class.h" #include "client.h" #include "crule.h" +#include "ddb.h" #include "destruct_event.h" #include "hash.h" #include "ircd_alloc.h" @@ -723,6 +724,10 @@ Debug((DEBUG_NOTICE, "Server ready...")); log_write(LS_SYSTEM, L_NOTICE, 0, "Server Ready"); +#if defined(DDB) + ddb_init(); +#endif + event_loop(); return 0; Index: ircd-ircdev/ircd/ircd_features.c diff -u ircd-ircdev/ircd/ircd_features.c:1.11 ircd-ircdev/ircd/ircd_features.c:1.12 --- ircd-ircdev/ircd/ircd_features.c:1.11 Mon Mar 21 10:39:07 2005 +++ ircd-ircdev/ircd/ircd_features.c Wed Mar 23 10:34:48 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Implementation of configurable feature support. - * @version $Id: ircd_features.c,v 1.11 2005/03/21 18:39:07 zolty Exp $ + * @version $Id: ircd_features.c,v 1.12 2005/03/23 18:34:48 zolty Exp $ */ #include "config.h" @@ -352,6 +352,9 @@ F_B(HIS_STATS_l, 0, 1, 0), F_B(HIS_STATS_L, 0, 1, 0), F_B(HIS_STATS_a, 0, 1, 0), +#if defined(DDB) + F_B(HIS_STATS_b, 0, 1, 0), +#endif F_B(HIS_STATS_c, 0, 1, 0), F_B(HIS_STATS_g, 0, 1, 0), F_B(HIS_STATS_h, 0, 1, 0), Index: ircd-ircdev/ircd/ircd_log.c diff -u ircd-ircdev/ircd/ircd_log.c:1.8 ircd-ircdev/ircd/ircd_log.c:1.9 --- ircd-ircdev/ircd/ircd_log.c:1.8 Mon Mar 21 10:39:07 2005 +++ ircd-ircdev/ircd/ircd_log.c Wed Mar 23 10:34:48 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief IRC logging implementation. - * @version $Id: ircd_log.c,v 1.8 2005/03/21 18:39:07 zolty Exp $ + * @version $Id: ircd_log.c,v 1.9 2005/03/23 18:34:48 zolty Exp $ */ #include "config.h" @@ -156,6 +156,9 @@ S(JUPE, -1, SNO_NETWORK), S(WHO, -1, 0), S(NETWORK, -1, SNO_NETWORK), +#ifdef DDB + S(DDB, -1, 0), +#endif S(OPERKILL, -1, 0), S(SERVKILL, -1, 0), S(USER, -1, 0), Index: ircd-ircdev/ircd/m_account.c diff -u ircd-ircdev/ircd/m_account.c:1.8 ircd-ircdev/ircd/m_account.c:1.9 --- ircd-ircdev/ircd/m_account.c:1.8 Mon Mar 21 10:39:08 2005 +++ ircd-ircdev/ircd/m_account.c Wed Mar 23 10:34:49 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_account.c,v 1.8 2005/03/21 18:39:08 zolty Exp $ + * $Id: m_account.c,v 1.9 2005/03/23 18:34:49 zolty Exp $ * */ @@ -105,7 +105,6 @@ int ms_account(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { -#if defined(UNDERNET) struct Client *acptr; if (parc < 3) @@ -146,10 +145,4 @@ cli_user(acptr)->acc_create); return 0; - -#else /* !defined(UNDERNET) */ - - return protocol_violation(cptr, "ACCOUNT command is disabled (NO Undernet Environment)"); - -#endif /* defined(UNDERNET) */ } Index: ircd-ircdev/ircd/m_db.c diff -u ircd-ircdev/ircd/m_db.c:1.2 ircd-ircdev/ircd/m_db.c:1.3 --- ircd-ircdev/ircd/m_db.c:1.2 Mon Jan 10 04:23:01 2005 +++ ircd-ircdev/ircd/m_db.c Wed Mar 23 10:34:50 2005 @@ -2,7 +2,8 @@ * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/m_db.c * * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> - * Copyright (C) 2004 Toni Garcia (zoltan) <zo...@ir...> + * Copyright (C) 2004-2005 Toni Garcia (zoltan) <zo...@ir...> + * Copyright (C) 1999-2003 Jesus Cea Avion <jc...@ar...> * * 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 @@ -18,111 +19,366 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_db.c,v 1.2 2005/01/10 12:23:01 zolty Exp $ */ - -/* - * m_functions execute protocol messages on this server: - * - * cptr is always NON-NULL, pointing to a *LOCAL* client - * structure (with an open socket connected!). This - * identifies the physical socket where the message - * originated (or which caused the m_function to be - * executed--some m_functions may call others...). - * - * sptr is the source of the message, defined by the - * prefix part of the message if present. If not - * or prefix not found, then sptr==cptr. - * - * (!IsServer(cptr)) => (cptr == sptr), because - * prefixes are taken *only* from servers... - * - * (IsServer(cptr)) - * (sptr == cptr) => the message didn't - * have the prefix. - * - * (sptr != cptr && IsServer(sptr) means - * the prefix specified servername. (?) - * - * (sptr != cptr && !IsServer(sptr) means - * that message originated from a remote - * user (not local). - * - * combining - * - * (!IsServer(sptr)) means that, sptr can safely - * taken as defining the target structure of the - * message in this server. - * - * *Always* true (if 'parse' and others are working correct): - * - * 1) sptr->from == cptr (note: cptr->from == cptr) - * - * 2) MyConnect(sptr) <=> sptr == cptr (e.g. sptr - * *cannot* be a local connection, unless it's - * actually cptr!). [MyConnect(x) should probably - * be defined as (x == x->from) --msa ] - * - * parc number of variable parameter strings (if zero, - * parv is allowed to be NULL) - * - * parv a NULL terminated list of parameter pointers, - * - * parv[0], sender (prefix string), if not present - * this points to an empty string. - * parv[1]...parv[parc-1] - * pointers to additional parameters - * parv[parc] == NULL, *always* - * - * note: it is guaranteed that parv[0]..parv[parc-1] are all - * non-NULL pointers. +/** @file + * @brief Handlers for DB command. + * @version $Id: m_db.c,v 1.3 2005/03/23 18:34:50 zolty Exp $ */ +/* TODO-ZOLTAN + * Traducidr los comentarios al ingles */ #include "config.h" -#if defined(DDB) #include "ddb.h" #include "client.h" -/*#include "ircd_log.h" */ -#include "ircd_reply.h" -#include "msg.h" - -/* #include "ircd.h" -#include "ircd_string.h" +#include "ircd_log.h" +#include "ircd_reply.h" #include "list.h" #include "match.h" #include "msg.h" #include "numnicks.h" -#include "s_bdd.h" -#include "s_conf.h" #include "send.h" +#include "s_debug.h" -#include <fcntl.h> +/* #include <assert.h> -- Now using assert in ircd_log.h */ +#include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sys/stat.h> -#include <unistd.h> -*/ -/* - * ms_db - server message handler +/** Handle a DB command from a server. * - * parv[0] = sender - * parv[1] = ignored - * parv[2] = server to query + * \a parv has the following elements: + * \a parv[1] is the destin server o servermask + * \li If a command parv has the following elements + * \li \a parv[2] is not used + * \li \a parv[3] is the command (B, D, E, H, J, Q, R) + * \li \a parv[4] is the id or token + * \li \a parv[5] is the table of DDB + * \li If not a command, it is a new register + * \li \a parv[2] is the id + * \li \a parv[3] is the table of DDB + * \li \a parv[4] is a key of register + * \li \a parv[5] is a content of register (optional) + * + * See @ref m_functions for general discussion of parameters. + * @param[in] cptr Client that sent us the message. + * @param[in] sptr Original source of message. + * @param[in] parc Number of arguments. + * @param[in] parv Argument vector. */ int ms_db(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { - if (parc > 5) + struct Client *acptr; + struct DLink *lp; + char ddb_buf[1024]; + unsigned char table = 0; + unsigned int id, ddb_mask = 0; + + assert(0 != cptr); + assert(0 != sptr); + assert(IsServer(cptr)); + + if ((parc < 5) || (*(parv[3] + 1) != '\0')) + { + protocol_violation(sptr, "Too few parameters for DB"); + return 0; + } + + id = atoi(parv[2]); + if (!id) { - protocol_violation(sptr,"DDB, too many parameters"); - return 0; + /* No es un registro */ + id = atoi(parv[4]); + if (parc == 6) + { + table = *parv[5]; + if ((table < DDB_INIT) || (table > DDB_END)) + { + /* Se pide un HASH Global de todas las tablas */ + if ((table == '*') && ((*parv[3] == 'Q') || (*parv[3] == 'R'))) + table = '*'; +#if 1 + /* COMPATIBILIDAD IRC-HISPANO */ + else if (table == '2') + table = DDB_NICKDB; +#endif + else + return protocol_violation(sptr, "Incorrect table parameter for DB"); + } + } } + if ((table >= DDB_INIT) && (table <= DDB_END)) + ddb_mask = ((unsigned int)1) << (table - DDB_INIT); + + switch (*parv[3]) + { + /* Peticion de Burst (quedan registros) */ + case 'B': + if (IsHub(cptr)) + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 J %u %c", parv[0], ddb_id_table[table], table); + break; + + /* Drop */ + case 'D': + { + if (!IsHub(cptr)) + break; + + /* Enviamos el mensaje al resto de servidores */ + for (lp = cli_serv(&me)->down; lp; lp = lp->next) + { + if (lp->value.cptr != cptr) + { + sendcmdto_one(&me, CMD_DB, lp->value.cptr, "%s 0 D %s %c", + parv[1], parv[4], table); + /* TODO-ZOLTAN: Mirar si es necesario (IRC-Hispano) */ + /* cli_serv(lp->value.cptr)->ddb_open &= ~ddb_mask); */ + } + } + + /* Usamos collapse+match por un bug en lastNNServer del find_match_server() */ + collapse(parv[1]); + /* Si no es para nosotros, lo ignoramos */ + if (match(parv[1], cli_name(&me))) + break; + + /* Borramos la tabla en memoria y en disco */ + ddb_drop(table); + /* Desconectamos con todos los hubs menos el que nos envia la orden */ + log_write(LS_DDB, L_INFO, 0, "DB Drop Table %c from %#C", table, cptr); + sprintf(ddb_buf, "DB DROP Table %c from %s", table, cli_name(cptr)); + ddb_splithubs_butone(cptr, ddb_buf); + + /* Mandamos la respuesta de conformidad */ + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 E %s %c", cli_name(cptr), + parv[4], table); + + /* TODO-ZOLTAN: Cosa de ryden. Creo que hay que mandar a todos */ + cli_serv(cptr)->ddb_open &= ~ddb_mask; + + /* Solicitamos de nuevo la tabla */ + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 J %u %c", cli_name(cptr), + ddb_id_table[table], table); + break; + } + + /* Respuesta de Drop */ + case 'E': + /* Si no es para nosotros, lo pasamos a otros */ + if ((acptr = find_match_server(parv[1])) && (!IsMe(acptr))) + sendcmdto_one(sptr, CMD_DB, acptr, "%s 0 E %s %c", cli_name(acptr), + parv[4], table); + break; + + /* Comprobacion de Hash automatico leaf <=> hub */ + case 'H': + { + char *hash; + unsigned int hash_lo, hash_hi; + + if (IsHub(&me)) + return protocol_violation(cptr, "Don't HASH check to HUBs, table %c from %#C", table, cptr); + + hash = parv[4]; + if (strlen(hash) != 12) + return protocol_violation(cptr, "HASH check, erroneus parameters"); + + hash[6] = '\0'; + hash_lo = base64toint(hash); + hash[6] = parv[4][6]; + hash_hi = base64toint(hash + 6); + + if (!((hash_lo == ddb_hashtable_lo[table]) && (hash_hi == ddb_hashtable_hi[table]))) + { + /* El HASH es incorrecto, a borrar */ + sendto_opmask_butone(0, SNO_OLDSNO, "DB HASH Check failed, droping table %c", table); + log_write(LS_DDB, L_INFO, 0, "DB HASH Check failed, droping table %c", table); + + /* Borramos la tabla en memoria y en disco*/ + ddb_drop(table); + + /* Solicitamos de nuevo la tabla */ + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 J %u %c", cli_name(cptr), + ddb_id_table[table], table); + } + break; + } + + /* Join */ + case 'J': + { + if (id >= ddb_id_table[table]) + { + /* Registros individuales */ + cli_serv(cptr)->ddb_open |= ddb_mask; + break; + } + else if ((cli_serv(cptr)->ddb_open) & ddb_mask) + { + /* Grifo abierto y registros antiguos. + * Ocurre si la copia de cptr de la DDB + * esta corrupta + */ + (cli_serv(cptr)->ddb_open) &= ~ddb_mask; + + /* Borramos su DDB para curarnos en salud */ + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 D DDB_CORRUPT %c", + cli_name(cptr), table); + + break; + } + + /* En el Burst de tabla, se hacen rafagas de 1000 registros, + * se envia una en cada petición de JOIN. La funcion devuelve 1 + * si se han mandado todos los datos en el rafaga y 0 si aún hay + * datos pendientes. + * La comprobacion automatica de HASH solo se debe hacer a los + * leafs, NUNCA a HUBS, ya que si un HUB tiene la DB corrupta, + * toda la red se va a tomar por viento con un borrado masivo. + */ + if (ddb_table_burst(cptr, table, id)) + { + if (IsHub(cptr)) + break; + + inttobase64(ddb_buf, ddb_hashtable_hi[table], 6); + inttobase64(ddb_buf + 6, ddb_hashtable_lo[table], 6); + + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 H %s %c", cli_name(cptr), ddb_buf, table); + } + break; + } + + /* Query de hash para comprobaciones desde un service */ + case 'Q': + { + if (!IsHub(cptr)) + break; + + /* Usamos collapse+match por un bug en lastNNServer del find_match_server() */ + collapse(parv[1]); + /* Solo si es para nosotros si lo ignoramos */ + if (!match(parv[1], cli_name(&me))) + { + if (table == '*') + { + /* HASH de todas las tablas */ + unsigned int hashes_hi = 0; + unsigned int hashes_lo = 0; + unsigned int id_tables = 1; + unsigned int count_tables = 1; + int i; + + for (i = DDB_INIT; i <= DDB_END; i++) + { + hashes_hi ^= ddb_hashtable_hi[i]; + hashes_lo ^= ddb_hashtable_lo[i]; + + id_tables = (id_tables * (ddb_id_table[i] + 1)) & 0xfffffffful; + count_tables = (count_tables * (ddb_count_table[i] + 1)) & 0xfffffffful; + } + inttobase64(ddb_buf, hashes_hi, 6); + inttobase64(ddb_buf + 6, hashes_lo, 6); + + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 R %u-%u-%s-%s %c", + cli_name(cptr), id_tables, count_tables, + ddb_buf, parv[4], table); + } + else + { + /* Una tabla */ + inttobase64(ddb_buf, ddb_hashtable_hi[table], 6); + inttobase64(ddb_buf + 6, ddb_hashtable_lo[table], 6); + + sendcmdto_one(&me, CMD_DB, cptr, "%s 0 R %u-%u-%s-%s %c", + cli_name(cptr), ddb_id_table[table], ddb_count_table[table], + ddb_buf, parv[4], table); + } + } + + /* Enviamos la petición a los demas */ + for (lp = cli_serv(&me)->down; lp; lp = lp->next) + { + if (lp->value.cptr != cptr) + sendcmdto_one(&me, CMD_DB, lp->value.cptr, "%s 0 Q %s %c", + parv[1], parv[4], table); + } + break; + } + + /* Respuesta de hash */ + case 'R': + /* Si no es para nosotros, lo pasamos a otros */ + if ((acptr = find_match_server(parv[1])) && (!IsMe(acptr))) + sendcmdto_one(sptr, CMD_DB, acptr, "%s 0 R %s %c", cli_name(acptr), + parv[4], table); + break; + + /* Registro nuevo, el parv[3] es la tabla */ + default: + { + int delete; + + /* Solo se aceptan registros procedentes de un HUB */ +/* Hablitarlo + if (!IsHub(cptr)) + return 0; +*/ + table = *parv[3]; + if (table < DDB_INIT || table > DDB_END) + { +#if 0 + /* COMPATIBILIDAD IRC-HISPANO */ + if (table == 'N') + table = DDB_NICKDB; +#endif + return 0; + } + + id = atoi(parv[2]); + /* Rechazamos registros con ID inferior al nuestro */ + if (id <= ddb_id_table[table]) + return 0; + + if (parc == 5) + /* Borrado del registro */ + delete = 1; + else if (parc > 5) + /* Insertado del registro */ + delete = 0; + else + /* No deberia ocurrir */ + return protocol_violation(sptr, "DB Incorrect parameters"); + + ddb_mask = ((unsigned int) 1) << (table - DDB_INIT); + /* Propagamos a nuestros servidores hijos */ + for (lp = cli_serv(&me)->down; lp; lp = lp->next) + { + if ((lp->value.cptr != cptr) && + (cli_serv(lp->value.cptr)->ddb_open & ddb_mask)) + { + if (!delete) + sendcmdto_one(&me, CMD_DB, lp->value.cptr, "%s %u %c %s %s :%s", + parv[1], id, table, parv[4], parv[5]); + else + sendcmdto_one(&me, CMD_DB, lp->value.cptr, "%s %u %c %s %s", + parv[1], id, table, parv[4]); + } + } + + if (strcmp(parv[4], "*")) + ddb_new_register(cptr, table, parv[1], id, parv[4], (!delete ? parv[5] : NULL)); +/* + else + ddb_compact(table, parv[1], id, parv[5]); +*/ + + break; + } + } return 0; } - -#endif /* defined(DDB) */ Index: ircd-ircdev/ircd/m_dbq.c diff -u ircd-ircdev/ircd/m_dbq.c:1.2 ircd-ircdev/ircd/m_dbq.c:1.3 --- ircd-ircdev/ircd/m_dbq.c:1.2 Mon Jan 10 04:23:02 2005 +++ ircd-ircdev/ircd/m_dbq.c Wed Mar 23 10:34:51 2005 @@ -18,125 +18,207 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_dbq.c,v 1.2 2005/01/10 12:23:02 zolty Exp $ */ - -/* - * m_functions execute protocol messages on this server: - * - * cptr is always NON-NULL, pointing to a *LOCAL* client - * structure (with an open socket connected!). This - * identifies the physical socket where the message - * originated (or which caused the m_function to be - * executed--some m_functions may call others...). - * - * sptr is the source of the message, defined by the - * prefix part of the message if present. If not - * or prefix not found, then sptr==cptr. - * - * (!IsServer(cptr)) => (cptr == sptr), because - * prefixes are taken *only* from servers... - * - * (IsServer(cptr)) - * (sptr == cptr) => the message didn't - * have the prefix. - * - * (sptr != cptr && IsServer(sptr) means - * the prefix specified servername. (?) - * - * (sptr != cptr && !IsServer(sptr) means - * that message originated from a remote - * user (not local). - * - * combining - * - * (!IsServer(sptr)) means that, sptr can safely - * taken as defining the target structure of the - * message in this server. - * - * *Always* true (if 'parse' and others are working correct): - * - * 1) sptr->from == cptr (note: cptr->from == cptr) - * - * 2) MyConnect(sptr) <=> sptr == cptr (e.g. sptr - * *cannot* be a local connection, unless it's - * actually cptr!). [MyConnect(x) should probably - * be defined as (x == x->from) --msa ] - * - * parc number of variable parameter strings (if zero, - * parv is allowed to be NULL) - * - * parv a NULL terminated list of parameter pointers, - * - * parv[0], sender (prefix string), if not present - * this points to an empty string. - * parv[1]...parv[parc-1] - * pointers to additional parameters - * parv[parc] == NULL, *always* -... [truncated message content] |
From: Toni G. <zo...@us...> - 2005-03-28 12:36:15
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-28 12:36:05 UTC Modified files: TODO.es Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ircd-ircdev/TODO.es diff -u ircd-ircdev/TODO.es:1.13 ircd-ircdev/TODO.es:1.14 --- ircd-ircdev/TODO.es:1.13 Wed Mar 23 10:36:06 2005 +++ ircd-ircdev/TODO.es Mon Mar 28 04:35:55 2005 @@ -1,7 +1,7 @@ # # TODO para ircd-ircdev # -# $Id: TODO.es,v 1.13 2005/03/23 18:36:06 zolty Exp $ +# $Id: TODO.es,v 1.14 2005/03/28 12:35:55 zolty Exp $ # # Insertar las nuevas entradas al principio de la lista TODO. # @@ -38,7 +38,6 @@ la mascara. - [G] Si un global lo manda un ircop, que salga el prefijo de Mensaje global con la mascara o avisar mediante wallops global. - - [G] Modo de canal +D para conferencias. Mirar Asuka o Universal ircu de Run. - [S] Buscar una forma para cifrar IPs con un cambio de clave de cifrado incluido. - [S] Comando SVSNICK. - [S] Comando SVSMODE. @@ -58,17 +57,150 @@ - [G] Soporte SSL para client<->server. - [G] Mirar si el aviso de invites lo haga con wallchops o con raw. - [D] Documentar para Doxygen el Watch y el DDB + - [G] Soporte de +e (exceptions) de canales + - [G] STATS J para listar nicks en jupe + - [G] Modo de canal +u de esconder mensajes de quit y part (evitar + publicidad) + - [G] Sistema de modulos dinámicos + - [G] Bloque Logging en el .conf BUGS CONOCIDOS -------------------------------------------------------------------------------------- 1/Nov/2003 - - [G] Bug en nicks Jupeados en el ircd.conf. - [G] Bajo en ciertas circunstancias desconocidas del ircd.conf no pueden entrar clientes al IRCD. Investigar eso. - Leyenda: [G] General [U] Undernet [D] DDB [S] Services + +RESERVA DE MODOS: +Se muestran aqui modos para evitar incompatibilidades +Canal: +a hace admin de canal (Unreal) +A solo Admins (Unreal) +A APASS (Undernet) +c No ansi y mirc colores (Quakenet, Unreal, Bahamut) +C No CTCP (Quakenet, Unreal) +D Conferencias (Undernet, Quakenet) +e Excepciones (Unreal) +f Modo para controlar flood (Unreal) +G censura con badword (Unreal) +h da halfop (Unreal) +I exceptions de invite (Unreal) +j join throttling (Unreal) +K No knock (Unreal) +L envia a otro canal si ta lleno (Unreal) +M Solo +r pueden hablar (Unreal, Bahamut) +N No notices (Quakenet) +N No cambios de nick (Unreal) +O solo IRcops pueden entrar (Unreal) +q Founder de canal (Unreal) +Q solo uline pueden kickear (Unreal) +r Canal registrado (Dalnet) +R No entrada sin +r (Quakenet, Undernet) +S quita los colores (Unreal) +T No notices (Unreal) +u Esconder razon QUIT/PART (Quakenet) +u Auditorium (Unreal) +U UPASS (Undernet) +V No se permite /invite (Unreal) +z Solo pueden entrar +z SSL (Unreal) + +Incompatibilidades de modos de canales: +N QuakeNet con T de Unreal +D Undernet, QuakeNet con u de Unreal + + + +Usuarios: +A Server Admin (Unreal, Bahamut) +a Services Admin (Unreal, Bahamut) +B Bot (Unreal) +C Co-Admin (Unreal) +d dead no recibe msg canales (Undernet, Unreal) +g send y recv globops (Unreal, Bahamut) +G No badwords (Unreal) +h (sethost) (Quakenet) +h HelpOp (Unreal, Bahamut) +H Hide IRCOP status (Unreal) +I solo ops, esconder idle (Quakenet) +I Invisible oper (Bahamut) +n esconder canales whois/who (Quakenet) +N Network Admin (Unreal) +p esconder canales whois (Unreal) +q Solo pueden kickearle ulines (Unreal) +R Solo hablan +r (Quakenet, Unreal) +S proteccion de Services (Unreal) +t usar /vhost (Unreal) +T No recibir ctcps (Unreal) +v Notices sobre rechazos de DCC por virus (Unreal) +V WebTv User (Unreal) +W ver quien te hace whois (Unreal) +X solo ops, equivalente a JOIN #canal OPER (Quakenet) +z SSL client (Unreal) + +Incompatibilidades de modos de usuarios: +n QuakeNet con p de Unreal +h QuakeNet con t de Unreal + + +CURIOSIDADES: +Quakenet + * Command /check + Allows opers to see information about a channel, user or server. + Syntax: Check Channel: /check <#channel> [-i|-o|-u] + Check Server: /check <server> + Check User: /check <nick|hostmask|CIDR> [-c] + + Performing a /check on a server returns its status: + * bursting + ! awaiting burst acknowledgement + = network service + + network hub + +F:HIS_GLINE + * Type: boolean + * Default: TRUE + + As per QuakeNet Security, this removes the reason for GLINE from quit +messages. + +F:USER_HIDECHANS + * Type: boolean + * Default: FALSE + + This allows normal users to set the +n usermode (hide channels from +whois/who), + this is only recommended in special circumstances. + +F:AUTOINVISIBLE + * Type: boolean + * Default: TRUE + + As per QuakeNet Security, this option sets user mode +i on all +connecting clients + automatically. + +F:HIS_USERIP + * Type: boolean + * Default: TRUE + + As per QuakeNet Security, add the ability to disable the /USERIP +command for users. + +F:AUTOCHANMODES + * Type: boolean + * Default: TRUE + + Enable or disable auto (default) channel modes for new channels. + +F:AUTOCHANMODES_LIST + * Type: string + * Default: "ntCN" + + AUTOCHANMODES_LIST should contain the default channelmodes (e.g. +"ntCN") which will + be set by default on new channels. ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-31 12:58:23
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-31 12:58:15 UTC Modified files: ChangeLog ChangeLog.es include/client.h include/ddb.h include/handlers.h include/ircd_features.h include/msg.h include/numeric.h include/patchlevel.h include/s_user.h include/send.h ircd/Makefile.in ircd/ircd_features.c ircd/m_nick.c ircd/m_whois.c ircd/parse.c ircd/s_err.c ircd/s_user.c ircd/send.c ircd/whocmds.c Added files: ircd/m_ghost.c ircd/m_svsnick.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-03-30 Toni García <zo...@ir...> 1.0.alpha23 * Soporte de tabla n (NICKDB) * Modo de usuario +r * Modo de usuario +S * Modificaciones en comando NICK * Comando GHOST * Comando SVSNICK ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.24 ircd-ircdev/ChangeLog:1.25 --- ircd-ircdev/ChangeLog:1.24 Wed Mar 23 10:34:15 2005 +++ ircd-ircdev/ChangeLog Thu Mar 31 04:58:01 2005 @@ -1,10 +1,18 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.24 2005/03/23 18:34:15 zolty Exp $ +# $Id: ChangeLog,v 1.25 2005/03/31 12:58:01 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-03-30 Toni García <zo...@ir...> 1.0.alpha23 + * Table n (NICKDB) support + * Usermode +r + * Usermode +S + * NICK command modifies + * GHOST command + * SVSNICK command + 2005-03-23 Toni García <zo...@ir...> 1.0.alpha22 * Distributed DataBase support in memory * DB command Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.24 ircd-ircdev/ChangeLog.es:1.25 --- ircd-ircdev/ChangeLog.es:1.24 Wed Mar 23 10:34:15 2005 +++ ircd-ircdev/ChangeLog.es Thu Mar 31 04:58:01 2005 @@ -1,10 +1,18 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.24 2005/03/23 18:34:15 zolty Exp $ +# $Id: ChangeLog.es,v 1.25 2005/03/31 12:58:01 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-03-30 Toni García <zo...@ir...> 1.0.alpha23 + * Soporte de tabla n (NICKDB) + * Modo de usuario +r + * Modo de usuario +S + * Modificaciones en comando NICK + * Comando GHOST + * Comando SVSNICK + 2005-03-23 Toni García <zo...@ir...> 1.0.alpha22 * Soporte de Bases de Datos Distribuidas en memoria * Comando DB Index: ircd-ircdev/include/client.h diff -u ircd-ircdev/include/client.h:1.12 ircd-ircdev/include/client.h:1.13 --- ircd-ircdev/include/client.h:1.12 Wed Mar 23 10:34:24 2005 +++ ircd-ircdev/include/client.h Thu Mar 31 04:58:02 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Structures and functions for handling local clients. - * @version $Id: client.h,v 1.12 2005/03/23 18:34:24 zolty Exp $ + * @version $Id: client.h,v 1.13 2005/03/31 12:58:02 zolty Exp $ */ #ifndef INCLUDED_client_h #define INCLUDED_client_h @@ -93,7 +93,11 @@ #define FlagClr(set,flag) ((set)->bits[FLAGSET_INDEX(flag)] &= ~FLAGSET_MASK(flag)) /** String containing valid user modes, in no particular order. */ +#if defined(DDB) || defined(SERVICES) +#define infousermodes "dioswkgxrS" +#else #define infousermodes "dioswkgx" +#endif /** Operator privileges. */ enum Priv @@ -173,6 +177,9 @@ FLAG_DEBUG, /**< send global debug/anti-hack info */ #if defined(UNDERNET) FLAG_ACCOUNT, /**< account name has been set */ +#elif defined(DDB) || defined(SERVICES) + FLAG_NICKREG, /**< nick registered */ + FLAG_NICKSUSPEND, /**< nick suspended */ #endif FLAG_HIDDENHOST, /**< user's host is hidden */ FLAG_LAST_FLAG, /**< number of flags */ @@ -614,12 +621,20 @@ #define IsIPv6(x) HasFlag(x, FLAG_IPV6) /** Return non-zero if the client claims to be a services server. */ #define IsService(x) HasFlag(x, FLAG_SERVICE) +#if defined(UNDERNET) /** Return non-zero if the client has an account stamp. */ #define IsAccount(x) HasFlag(x, FLAG_ACCOUNT) +#endif /** Return non-zero if the client has set mode +x (hidden host). */ #define IsHiddenHost(x) HasFlag(x, FLAG_HIDDENHOST) /** Return non-zero if the client has an active PING request. */ #define IsPingSent(x) HasFlag(x, FLAG_PINGSENT) +#if defined(DDB) || defined(SERVICES) +/** Return non-zero if the client has set mode +r (nick registered) */ +#define IsNickRegistered(x) HasFlag(x, FLAG_NICKREG) +/** Return non-zero if the client has set mode +S (nick suspended) */ +#define IsNickSuspended(x) HasFlag(x, FLAG_NICKSUSPEND) +#endif /** Return non-zero if the client has operator or server privileges. */ #define IsPrivileged(x) (IsAnOper(x) || IsServer(x)) @@ -666,12 +681,20 @@ #define SetIPv6(x) SetFlag(x, FLAG_IPV6) /** Mark a client as being a services server. */ #define SetService(x) SetFlag(x, FLAG_SERVICE) +#if defined(UNDERNET) /** Mark a client as having an account stamp. */ #define SetAccount(x) SetFlag(x, FLAG_ACCOUNT) +#endif /** Mark a client as having mode +x (hidden host). */ #define SetHiddenHost(x) SetFlag(x, FLAG_HIDDENHOST) /** Mark a client as having a pending PING. */ #define SetPingSent(x) SetFlag(x, FLAG_PINGSENT) +#if defined(DDB) || defined(SERVICES) +/** Mark a client as having mode +r (nick registered) */ +#define SetNickRegistered(x) SetFlag(x, FLAG_NICKREG) +/** Mark a client as having mode +S (nick suspended) */ +#define SetNickSuspended(x) SetFlag(x, FLAG_NICKSUSPEND) +#endif /** Return non-zero if \a sptr sees \a acptr as an operator. */ #define SeeOper(sptr,acptr) (IsAnOper(acptr) && (HasPriv(acptr, PRIV_DISPLAY) \ @@ -705,6 +728,12 @@ #define ClearHiddenHost(x) ClrFlag(x, FLAG_HIDDENHOST) /** Clear the client's pending PING flag. */ #define ClearPingSent(x) ClrFlag(x, FLAG_PINGSENT) +#if defined(DDB) || defined(SERVICES) +/** Remove mode +r (nick registered) from the client */ +#define ClearNickRegistered(x) ClrFlag(x, FLAG_NICKREG) +/** Remode mode +S (nick suspended) from the client */ +#define ClearNickSuspended(x) ClrFlag(x, FLAG_NICKSUSPEND) +#endif /* free flags */ #define FREEFLAG_SOCKET 0x0001 /**< socket needs to be freed */ Index: ircd-ircdev/include/ddb.h diff -u ircd-ircdev/include/ddb.h:1.3 ircd-ircdev/include/ddb.h:1.4 --- ircd-ircdev/include/ddb.h:1.3 Wed Mar 23 10:34:25 2005 +++ ircd-ircdev/include/ddb.h Thu Mar 31 04:58:02 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ddb.h,v 1.3 2005/03/23 18:34:25 zolty Exp $ + * $Id: ddb.h,v 1.4 2005/03/31 12:58:02 zolty Exp $ * */ #ifndef INCLUDED_ddb_h @@ -51,6 +51,12 @@ /* + * PseudoBots + */ +#define DDB_NICKSERV "NickServ" + + +/* * Structures */ struct Ddb { @@ -136,7 +142,7 @@ extern struct Ddb *ddb_iterator_first(unsigned char table); extern struct Ddb *ddb_iterator_next(void); extern struct Ddb *ddb_find_key(unsigned char table, char *key); -extern char *ddb_get_botname(char *bot); +extern char *ddb_get_botname(char *botname); extern void ddb_splithubs_butone(struct Client *cptr, char *exitmsg); extern void ddb_reload(void); Index: ircd-ircdev/include/handlers.h diff -u ircd-ircdev/include/handlers.h:1.10 ircd-ircdev/include/handlers.h:1.11 --- ircd-ircdev/include/handlers.h:1.10 Mon Jan 10 04:21:59 2005 +++ ircd-ircdev/include/handlers.h Thu Mar 31 04:58:02 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Declarations for all protocol message handler functions. - * @version $Id: handlers.h,v 1.10 2005/01/10 12:21:59 zolty Exp $ + * @version $Id: handlers.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ */ #ifndef INCLUDED_handlers_h #define INCLUDED_handlers_h @@ -96,6 +96,7 @@ extern int m_cap(struct Client*, struct Client*, int, char*[]); extern int m_cnotice(struct Client*, struct Client*, int, char*[]); extern int m_cprivmsg(struct Client*, struct Client*, int, char*[]); +extern int m_ghost(struct Client*, struct Client*, int, char*[]); extern int m_gline(struct Client*, struct Client*, int, char*[]); extern int m_help(struct Client*, struct Client*, int, char*[]); extern int m_ignore(struct Client*, struct Client*, int, char*[]); @@ -236,6 +237,7 @@ extern int ms_silence(struct Client*, struct Client*, int, char*[]); extern int ms_squit(struct Client*, struct Client*, int, char*[]); extern int ms_stats(struct Client*, struct Client*, int, char*[]); +extern int ms_svsnick(struct Client*, struct Client*, int, char*[]); extern int ms_topic(struct Client*, struct Client*, int, char*[]); extern int ms_trace(struct Client*, struct Client*, int, char*[]); extern int ms_uping(struct Client*, struct Client*, int, char*[]); Index: ircd-ircdev/include/ircd_features.h diff -u ircd-ircdev/include/ircd_features.h:1.10 ircd-ircdev/include/ircd_features.h:1.11 --- ircd-ircdev/include/ircd_features.h:1.10 Wed Mar 23 10:34:25 2005 +++ ircd-ircdev/include/ircd_features.h Thu Mar 31 04:58:02 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Public interfaces and declarations for dealing with configurable features. - * @version $Id: ircd_features.h,v 1.10 2005/03/23 18:34:25 zolty Exp $ + * @version $Id: ircd_features.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ */ #ifndef INCLUDED_features_h #define INCLUDED_features_h @@ -88,6 +88,9 @@ FEAT_MPATH, FEAT_RPATH, FEAT_PPATH, +#if defined(DDB) + FEAT_DDBPATH, +#endif /* Networking features */ FEAT_TOS_SERVER, Index: ircd-ircdev/include/msg.h diff -u ircd-ircdev/include/msg.h:1.10 ircd-ircdev/include/msg.h:1.11 --- ircd-ircdev/include/msg.h:1.10 Wed Mar 23 10:34:26 2005 +++ ircd-ircdev/include/msg.h Thu Mar 31 04:58:02 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Command and token declarations and structures. - * @version $Id: msg.h,v 1.10 2005/03/23 18:34:26 zolty Exp $ + * @version $Id: msg.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ */ #ifndef INCLUDED_msg_h #define INCLUDED_msg_h @@ -377,6 +377,15 @@ #define TOK_DBQ "DBQ" #define CMD_DBQ MSG_DBQ, TOK_DBQ +#define MSG_GHOST "GHOST" /* GHOST */ +#define TOK_GHOST "GHOST" +#define CMD_GHOST MSG_GHOST, TOK_GHOST + +#define MSG_SVSNICK "SVSNICK" /* SVSN */ +#define TOK_SVSNICK "SN" +#define CMD_SVSNICK MSG_SVSNICK, TOK_SVSNICK + + /* * Constants Index: ircd-ircdev/include/numeric.h diff -u ircd-ircdev/include/numeric.h:1.9 ircd-ircdev/include/numeric.h:1.10 --- ircd-ircdev/include/numeric.h:1.9 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/numeric.h Thu Mar 31 04:58:02 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Declarations of numeric replies and supporting functions. - * @version $Id: numeric.h,v 1.9 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: numeric.h,v 1.10 2005/03/31 12:58:02 zolty Exp $ */ #ifndef INCLUDED_numeric_h #define INCLUDED_numeric_h @@ -213,7 +213,7 @@ #define RPL_UNAWAY 305 #define RPL_NOWAWAY 306 /* NotAway, aircd */ -/* RPL_WHOISREGNICK 307 Numeric List: Dalnet */ +#define RPL_WHOISREGNICK 307 /* IRC-Dev, Dalnet, Unreal extension */ /* RPL_SUSERHOST 307 austnet */ /* RPL_NOTIFYACTION 308 aircd */ /* RPL_WHOISADMIN 308 Numeric List: Dalnet */ @@ -296,6 +296,7 @@ /* RPL_SPAM 377 austnet */ /* RPL_BANEXPIRED 378 aircd */ /* RPL_KICKLINKED 379 aircd */ +#define RPL_WHOISMODES 379 /* IRC-Dev, Unreal extension */ /* RPL_BANLINKED 380 aircd */ #define RPL_YOUREOPER 381 @@ -307,7 +308,8 @@ /* RPL_ENDOFQLIST 387 unreal */ /* RPL_ALIST 388 unreal */ /* RPL_ENDOFALIST 389 unreal */ - + +#define RPL_WHOISSUSPEND 390 /* IRC-Dev extension */ #define RPL_TIME 391 /* RPL_START_USERS 392 Dalnet/EFnet/IRCnet */ /* RPL_USERS 393 Dalnet/EFnet/IRCnet */ Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.24 ircd-ircdev/include/patchlevel.h:1.25 --- ircd-ircdev/include/patchlevel.h:1.24 Wed Mar 23 10:34:26 2005 +++ ircd-ircdev/include/patchlevel.h Thu Mar 31 04:58:03 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.24 2005/03/23 18:34:26 zolty Exp $ + * $Id: patchlevel.h,v 1.25 2005/03/31 12:58:03 zolty Exp $ * */ -#define PATCHLEVEL ".alpha22" +#define PATCHLEVEL ".alpha23" #define RELEASE "1.0" Index: ircd-ircdev/include/s_user.h diff -u ircd-ircdev/include/s_user.h:1.6 ircd-ircdev/include/s_user.h:1.7 --- ircd-ircdev/include/s_user.h:1.6 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/s_user.h Thu Mar 31 04:58:03 2005 @@ -21,7 +21,7 @@ */ /** @file s_user.h * @brief Miscellaneous user-related helper functions. - * @version $Id: s_user.h,v 1.6 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: s_user.h,v 1.7 2005/03/31 12:58:03 zolty Exp $ */ #ifndef INCLUDED_s_user_h #define INCLUDED_s_user_h @@ -74,6 +74,25 @@ #define COOKIE_VERIFIED 0xffffffff /**< value for cli_cookie() to show completion */ +/* used in set_nick_name */ +#define NICK_EQUIVALENT 0x01 /** < Equivalent */ +#define NICK_RENAMED 0x02 /** < Rename */ +#if defined(DDB) +#define NICK_GHOST 0x04 /** < Ghost */ +#define NICK_IDENTIFY 0x08 /** < Identify */ +#endif /* defined(DDB) */ + +#define SetNickEquivalent(x) ((x) |= NICK_EQUIVALENT) +#define IsNickEquivalent(x) ((x) & NICK_EQUIVALENT) +#define SetRenamed(x) ((x) |= NICK_RENAMED) +#define IsRenamed(x) ((x) & NICK_RENAMED) +#if defined(DDB) +#define SetGhost(x) ((x) |= NICK_GHOST) +#define IsGhost(x) ((x) & NICK_GHOST) +#define SetIdentify(x) ((x) |= NICK_IDENTIFY) +#define IsIdentify(x) ((x) & NICK_IDENTIFY) +#endif /* defined(DDB) */ + /** Formatter function for send_user_info(). * @param who Client being displayed. * @param sptr Client requesting information. @@ -91,8 +110,12 @@ extern void user_count_memory(size_t* count_out, size_t* bytes_out); +#if defined(DDB) +extern int verify_pass_nick(char *nick, char *cryptpass, char *pass); +#endif +extern int do_nick_name(char* nick); extern int set_nick_name(struct Client* cptr, struct Client* sptr, - const char* nick, int parc, char* parv[]); + const char* nick, int parc, char* parv[], int flags); extern void send_umode_out(struct Client* cptr, struct Client* sptr, struct Flags* old, int prop); extern int whisper(struct Client* source, const char* nick, Index: ircd-ircdev/include/send.h diff -u ircd-ircdev/include/send.h:1.6 ircd-ircdev/include/send.h:1.7 --- ircd-ircdev/include/send.h:1.6 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/send.h Thu Mar 31 04:58:03 2005 @@ -21,7 +21,7 @@ */ /** @file send.h * @brief Send messages to certain targets. - * @version $Id: send.h,v 1.6 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: send.h,v 1.7 2005/03/31 12:58:03 zolty Exp $ */ #ifndef INCLUDED_send_h #define INCLUDED_send_h @@ -56,6 +56,11 @@ */ extern void sendrawto_one(struct Client *to, const char *pattern, ...); +/* Send a bot command to one client */ +extern void sendcmdbotto_one(char *botname, const char *cmd, + const char *tok, struct Client *to, + const char *pattern, ...); + /* Send a command to one client */ extern void sendcmdto_one(struct Client *from, const char *cmd, const char *tok, struct Client *to, Index: ircd-ircdev/ircd/Makefile.in diff -u ircd-ircdev/ircd/Makefile.in:1.20 ircd-ircdev/ircd/Makefile.in:1.21 --- ircd-ircdev/ircd/Makefile.in:1.20 Wed Mar 23 10:34:27 2005 +++ ircd-ircdev/ircd/Makefile.in Thu Mar 31 04:58:03 2005 @@ -18,7 +18,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA -# $Id: Makefile.in,v 1.20 2005/03/23 18:34:27 zolty Exp $ +# $Id: Makefile.in,v 1.21 2005/03/31 12:58:03 zolty Exp $ #### Start of system configuration section. #### @@ -94,7 +94,12 @@ ddb.c \ ddb_db_template.c \ m_db.c \ - m_dbq.c + m_dbq.c \ + m_ghost.c \ + m_svsnick.c + +SERVICES_SRC = \ + m_svsnick.c IRCD_SRC = \ IPcheck.c \ @@ -229,15 +234,19 @@ whowas.c \ y.tab.c -#SRC = ${IRCD_SRC} ${ENGINE_C} ${CRYPTO_SRC} +#TODO Arreglar esto +#Para undernet #SRC = ${IRCD_SRC} ${UNDERNET_SRC} ${ENGINE_C} ${CRYPTO_SRC} +#Para DDb SRC = ${IRCD_SRC} ${DDB_SRC} ${ENGINE_C} ${CRYPTO_SRC} +#Para Services +#SRC = ${IRCD_SRC} ${SERVICES_SRC} ${ENGINE_C} ${CRYPTO_SRC} OBJS = ${SRC:%.c=%.o} UMKPASSWD_OBJS = ${UMKPASSWD_SRC:%.c=%.o} -DEP_SRC = ${IRCD_SRC} ${UNDERNET_SRC} ${DDB} ${ENGINE_SRC} ${CRYPTO_SRC} +DEP_SRC = ${IRCD_SRC} ${UNDERNET_SRC} ${DDB_SRC} ${SERVICES_SRC} ${ENGINE_SRC} ${CRYPTO_SRC} all: ( cd ..; make -f Makefile ) Index: ircd-ircdev/ircd/ircd_features.c diff -u ircd-ircdev/ircd/ircd_features.c:1.12 ircd-ircdev/ircd/ircd_features.c:1.13 --- ircd-ircdev/ircd/ircd_features.c:1.12 Wed Mar 23 10:34:48 2005 +++ ircd-ircdev/ircd/ircd_features.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Implementation of configurable feature support. - * @version $Id: ircd_features.c,v 1.12 2005/03/23 18:34:48 zolty Exp $ + * @version $Id: ircd_features.c,v 1.13 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -328,6 +328,9 @@ F_S(MPATH, FEAT_CASE | FEAT_MYOPER, "ircd.motd", motd_init), F_S(RPATH, FEAT_CASE | FEAT_MYOPER, "remote.motd", motd_init), F_S(PPATH, FEAT_CASE | FEAT_MYOPER | FEAT_READ, "ircd.pid", 0), +#if defined(DDB) + F_S(DDBPATH, FEAT_CASE | FEAT_MYOPER, "database", 0), +#endif /* Networking features */ F_I(TOS_SERVER, 0, 0x08, 0), Index: ircd-ircdev/ircd/m_ghost.c diff -u /dev/null ircd-ircdev/ircd/m_ghost.c:1.1 --- /dev/null Thu Mar 31 04:58:15 2005 +++ ircd-ircdev/ircd/m_ghost.c Thu Mar 31 04:58:04 2005 @@ -0,0 +1,125 @@ +/* + * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/m_ghost.c + * + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2004 Toni Garcia (zoltan) <zo...@ir...> + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +/** @file + * @brief Handlers for GHOST command. + * @version $Id: m_ghost.c,v 1.1 2005/03/31 12:58:04 zolty Exp $ + */ +#include "config.h" + +#include "client.h" +#include "ddb.h" +#include "hash.h" +#include "ircd.h" +#include "ircd_log.h" +#include "ircd_reply.h" +#include "msg.h" +#include "numnicks.h" +#include "s_misc.h" +#include "s_user.h" +#include "send.h" + +/* #include <assert.h> -- Now using assert in ircd_log.h */ +#include <string.h> + + +/** Handle a GHOST command from a client. + * See @ref m_functions for general discussion of parameters. + * + * \a parv[1] is a nick + * \a parv[2] is a password (optional) + * + * @param[in] cptr Client that sent us the message. + * @param[in] sptr Original source of message. + * @param[in] parc Number of arguments. + * @param[in] parv Argument vector. + */ +int m_ghost(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) +{ + struct Client *acptr; + struct Ddb *ddb; + char *botname; + char *passwd; + + assert(0 != cptr); + assert(sptr == cptr); + + botname = ddb_get_botname(DDB_NICKSERV); + + if (parc < 2) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** Sintaxis: /GHOST <nick> [password]", cptr); + return need_more_params(cptr, "GHOST"); + } + + if (parc < 3) + { + passwd = strchr(parv[1], ':'); + if (passwd) + *passwd++ = '\0'; + else + passwd = cli_passwd(cptr); + } + else + passwd = parv[2]; + + if (!(acptr = FindUser(parv[1]))) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** The nick %s is not in use.", cptr, parv[1]); + return 0; + } + + if (!(ddb = ddb_find_key(DDB_NICKDB, parv[1]))) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** The nick %s is not registered", cptr, parv[1]); + return 0; + } + + if (!(verify_pass_nick(ddb->key, ddb->content, passwd))) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** Password incorrect", cptr); + return 0; + } + + sendto_opmask_butone(0, SNO_SERVKILL, + "Received KILL message for %C. From %C, Reason: GHOST kill", acptr, cptr); + + sendcmdto_serv_butone(&me, CMD_KILL, acptr, "%C :GHOST session released by %C", + acptr, cptr); + + if (MyConnect(acptr)) + { + sendcmdto_one(acptr, CMD_QUIT, cptr, ":Killed (GHOST session " + "released by %C)", cptr); + sendcmdto_one(&me, CMD_KILL, acptr, "%C :GHOST session released by %C", + acptr, cptr); + } + sendcmdbotto_one(botname, CMD_NOTICE, cptr, "%C :*** %C GHOST session has been " + "released", acptr, cptr); + exit_client_msg(cptr, acptr, &me, "Killed (GHOST session released by %C)", + cptr); + return 0; + +} Index: ircd-ircdev/ircd/m_nick.c diff -u ircd-ircdev/ircd/m_nick.c:1.8 ircd-ircdev/ircd/m_nick.c:1.9 --- ircd-ircdev/ircd/m_nick.c:1.8 Mon Mar 21 10:39:08 2005 +++ ircd-ircdev/ircd/m_nick.c Thu Mar 31 04:58:04 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_nick.c,v 1.8 2005/03/21 18:39:08 zolty Exp $ + * $Id: m_nick.c,v 1.9 2005/03/31 12:58:04 zolty Exp $ * */ @@ -82,6 +82,7 @@ #include "IPcheck.h" #include "client.h" +#include "ddb.h" #include "hash.h" #include "ircd.h" #include "ircd_chattr.h" @@ -116,7 +117,7 @@ * The '~'-character should be allowed, but a change should be global, * some confusion would result if only few servers allowed it... */ -static int do_nick_name(char* nick) +int do_nick_name(char* nick) { char* ch = nick; char* end = ch + NICKLEN; @@ -148,6 +149,11 @@ char* arg; char* s; const char* client_name; + int flags = 0; +#if defined(DDB) + struct Ddb *ddb; + char *p; +#endif assert(0 != cptr); assert(cptr == sptr); @@ -157,10 +163,48 @@ */ client_name = (*(cli_name(sptr))) ? cli_name(sptr) : "*"; +#if 0 + /* + * Not change nick several times BEFORE to have completed your entrance + * in the network. + */ + if (MyConnect(sptr) && (!IsRegistered(sptr)) && (sptr->cookie != 0) && + (sptr->cookie != COOKIE_VERIFIED)) + return 0; +#endif + if (parc < 2) { send_reply(sptr, ERR_NONICKNAMEGIVEN); return 0; } + +#if defined(DDB) + p = strchr(parv[1], ':'); + if (p) + { + *p++ = '\0'; + parc = 3; + parv[2] = p; + } + else if ((p = strchr(parv[1], '!'))) + { + /* GHOST nick !password Support */ + SetGhost(flags); + if (strlen(p) > 1) + { + *p++ = '\0'; + parc = 3; + parv[2] = p; + } + } + else if (parc > 2 && (*parv[2] == '!')) + { + /* GHOST nick !password Support */ + SetGhost(flags); + *parv[2]++ = '\0'; + } +#endif /* defined(DDB) */ + /* * Don't let them send make us send back a really long string of * garbage @@ -169,8 +213,11 @@ if (strlen(arg) > IRCD_MIN(NICKLEN, feature_int(FEAT_NICKLEN))) arg[IRCD_MIN(NICKLEN, feature_int(FEAT_NICKLEN))] = '\0'; +#if 1 + /* Soporte de nicks ~ */ if ((s = strchr(arg, '~'))) *s = '\0'; +#endif strcpy(nick, arg); @@ -182,6 +229,20 @@ return 0; } +#if defined(DDB) + if (strlen(nick) == 11) + { + if ((strcmp(nick, "Guest000000") >= 0) && (strcmp(nick, "Guest999999") <= 0)) + { + if (FindClient(nick)) + send_reply(sptr, ERR_NICKNAMEINUSE, nick); + else + send_reply(sptr, ERR_ERRONEUSNICKNAME, nick); + return 0; /* NICK message ignored */ + } + } +#endif /* defined(DDB) */ + /* * Check if this is a LOCAL user trying to use a reserved (Juped) * nick, if so tell him that it's a nick in use... @@ -195,7 +256,7 @@ /* * No collisions, all clear... */ - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, flags); } if (IsServer(acptr)) { @@ -216,11 +277,16 @@ * is concerned (user is changing the case of his/her * nickname or somesuch) */ +#if defined(DDB) + if (IsNickRegistered(sptr) || IsNickSuspended(sptr)) +#endif + SetNickEquivalent(flags); + if (0 != strcmp(cli_name(acptr), nick)) { /* * Allows change of case in his/her nick */ - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, flags); } /* * This is just ':old NICK old' type thing. @@ -253,8 +319,69 @@ ServerStats->is_ref++; IPcheck_connect_fail(acptr); exit_client(cptr, acptr, &me, "Overridden by other sign on"); - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, flags); + } + +#if defined(DDB) + /* + * GHOST through NICK nick!password Support + * Verify if nick is registered, if a local user, do not flooding + * and put a ! + * + * If puts the correct password, kill to the user with ghost session and + * propagates the KILL by the network, and put the nick; in opposite case, + * follows and leave the nick not available message. + * --zoltan + */ + ddb = ddb_find_key(DDB_NICKDB, parv[1]); + if (IsGhost(flags) && (ddb) && (CurrentTime >= cli_nextnick(cptr))) + { + if (verify_pass_nick(ddb->key, ddb->content, + (parc >= 3 ? parv[2] : cli_passwd(cptr)))) + { + char *botname = ddb_get_botname(DDB_NICKSERV); + char nickwho[NICKLEN + 2]; + + SetIdentify(flags); + + if (cli_name(cptr)[0] == '\0') + { + /* Ghost during the establishment of the connection + * do not have old nick information, it is added ! to the nick + */ + strncpy(nickwho, nick, sizeof(nickwho)); + nickwho[strlen(nickwho)] = '!'; + } + else + { + /* Ponemos su antiguo nick */ + strncpy(nickwho, cli_name(cptr), sizeof(nickwho)); + } + + /* Matamos al usuario con un kill */ + sendto_opmask_butone(0, SNO_SERVKILL, + "Received KILL message for %C. From %s, Reason: GHOST kill", acptr, nickwho); + + sendcmdto_serv_butone(&me, CMD_KILL, acptr, "%C :GHOST session released by %s", + acptr, nickwho); + + if (MyConnect(acptr)) + { + sendcmdto_one(acptr, CMD_QUIT, cptr, ":Killed (GHOST session " + "released by %s)", nickwho); + sendcmdto_one(&me, CMD_KILL, acptr, "%C :GHOST session released by %s", + acptr, nickwho); + } + sendcmdbotto_one(botname, CMD_NOTICE, cptr, "%C :*** %C GHOST session has been " + "released", acptr, cptr); + exit_client_msg(cptr, acptr, &me, "Killed (GHOST session released by %s)", + nickwho); + + return set_nick_name(cptr, sptr, nick, parc, parv, flags); + } } +#endif /* defined(DDB) */ + /* * NICK is coming from local client connection. Just * send error reply and ignore the command. @@ -349,7 +476,7 @@ /* Check against nick name collisions. */ if ((acptr = FindClient(nick)) == NULL) /* No collisions, all clear... */ - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, 0); /* * If acptr == sptr, then we have a client doing a nick @@ -361,7 +488,7 @@ { if (strcmp(cli_name(acptr), nick) != 0) /* Allows change of case in his/her nick */ - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, 0); else /* Setting their nick to what it already is? Ignore it. */ return 0; @@ -383,7 +510,7 @@ ServerStats->is_ref++; IPcheck_connect_fail(acptr); exit_client(cptr, acptr, &me, "Overridden by other sign on"); - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, 0); } /* * Decide, we really have a nick collision and deal with it @@ -504,5 +631,5 @@ return 0; if (sptr == NULL) return 0; - return set_nick_name(cptr, sptr, nick, parc, parv); + return set_nick_name(cptr, sptr, nick, parc, parv, 0); } Index: ircd-ircdev/ircd/m_svsnick.c diff -u /dev/null ircd-ircdev/ircd/m_svsnick.c:1.1 --- /dev/null Thu Mar 31 04:58:15 2005 +++ ircd-ircdev/ircd/m_svsnick.c Thu Mar 31 04:58:04 2005 @@ -0,0 +1,150 @@ +/* + * IRC-Dev IRCD - An advanced and innovative IRC Daemon, ircd/m_svsnick.c + * + * Copyright (C) 2002-2005 IRC-Dev Development Team <de...@ir...> + * Copyright (C) 2004 Toni Garcia (zoltan) <zo...@ir...> + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +/** @file + * @brief Handlers for SVSNICK command. + * @version $Id: m_svsnick.c,v 1.1 2005/03/31 12:58:04 zolty Exp $ + */ +#include "config.h" + +#include "client.h" +#include "ddb.h" +#include "hash.h" +#include "ircd.h" +#include "ircd_features.h" +#include "ircd_log.h" +#include "ircd_string.h" +#include "ircd_tea.h" +#include "msg.h" +#include "numnicks.h" +#include "s_conf.h" +#include "s_user.h" +#include "send.h" +#include "sys.h" + +/* #include <assert.h> -- Now using assert in ircd_log.h */ +#include <stdio.h> +#include <string.h> + + +/** Handle a SVSNICK command from a server. + * See @ref m_functions for general discussion of parameters. + * + * \a parv[1] is a nick + * \a parv[2] is a new nick (* random nick) + * + * @param[in] cptr Client that sent us the message. + * @param[in] sptr Original source of message. + * @param[in] parc Number of arguments. + * @param[in] parv Argument vector. + */ +int ms_svsnick(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) +{ + struct Client *acptr; + struct Client *bcptr; + char newnick[NICKLEN + 2]; + char *arg; + int flags = 0; + + assert(0 != IsServer(cptr)); + + if (parc < 2) + return 0; + + if (!find_conf_byhost(cli_confs(cptr), cli_name(sptr), CONF_UWORLD)) + { + sendcmdto_serv_butone(&me, CMD_DESYNCH, 0, + ":HACK(2): Fail SVSNICK for %s. From %C", parv[1], sptr); + sendto_opmask_butone(0, SNO_HACK2, + "Fail SVSNICK for %s. From %C", parv[1], sptr); + return 0; + } + + sendcmdto_serv_butone(sptr, CMD_SVSNICK, cptr, "%s :%s", parv[1], parv[2]); + + acptr = findNUser(parv[1]); + + if (!acptr || !MyUser(acptr)) + return 0; + + if (ircd_strcmp(parv[2], "*")) + { + /* + * Don't let them send make us send back a really long string of + * garbage + */ + arg = parv[2]; + if (strlen(arg) > IRCD_MIN(NICKLEN, feature_int(FEAT_NICKLEN))) + arg[IRCD_MIN(NICKLEN, feature_int(FEAT_NICKLEN))] = '\0'; + + strcpy(newnick, arg); + + if (0 == do_nick_name(newnick)) + return 0; + + if (FindUser(newnick)) + return 0; + } + else + { + unsigned int v[2], k[2], x[2]; + + k[0] = k[1] = x[0] = x[1] = 0; + + v[0] = base64toint(cli_yxx(acptr)); + v[1] = base64toint(cli_yxx(&me)); + + bcptr = acptr; + + do + { + ircd_tea(v, k, x); + v[1] += 4096; + + if (x[0] >= 4294000000ul) + continue; + + sprintf(newnick, "Guest%.6d", (int)(x[0] % 1000000)); + bcptr = FindUser(newnick); + } + while (bcptr); + } + + sendto_opmask_butone(0, SNO_HACK4, + "SVSNICK for %C, new nick %s. From %C", acptr, newnick, sptr); + + SetRenamed(flags); +#if defined(DDB) + if (ddb_find_key(DDB_NICKDB, newnick)) + SetIdentify(flags); +#endif + + parv[0] = cli_name(acptr); + parv[1] = newnick; + { + char tmp[100]; + sprintf(tmp, "%lu", TStime()); + parv[2] = tmp; + } + + return set_nick_name(acptr, acptr, newnick, parc , parv, flags); + +} Index: ircd-ircdev/ircd/m_whois.c diff -u ircd-ircdev/ircd/m_whois.c:1.12 ircd-ircdev/ircd/m_whois.c:1.13 --- ircd-ircdev/ircd/m_whois.c:1.12 Mon Mar 21 10:39:10 2005 +++ ircd-ircdev/ircd/m_whois.c Thu Mar 31 04:58:04 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_whois.c,v 1.12 2005/03/21 18:39:10 zolty Exp $ + * $Id: m_whois.c,v 1.13 2005/03/31 12:58:04 zolty Exp $ */ /* @@ -210,6 +210,13 @@ if (user->away) send_reply(sptr, RPL_AWAY, name, user->away); +#if defined(DDB) || defined(SERVICES) + if (IsNickRegistered(acptr)) + send_reply(sptr, RPL_WHOISREGNICK, name); + else if (IsNickSuspended(acptr)) + send_reply(sptr, RPL_WHOISSUSPEND, name); +#endif /* defined(DDB) || defined(SERVICES) */ + if (SeeOper(sptr,acptr)) send_reply(sptr, RPL_WHOISOPERATOR, name); @@ -218,9 +225,15 @@ send_reply(sptr, RPL_WHOISACCOUNT, name, user->account); #endif - if (HasHiddenHost(acptr) && (IsAnOper(sptr) || acptr == sptr)) - send_reply(sptr, RPL_WHOISACTUALLY, name, user->username, - user->realhost, ircd_ntoa(&cli_ip(acptr))); + if (IsAnOper(sptr) || (acptr == sptr)) + { + char *modes = umode_str(acptr); + + if (HasHiddenHost(acptr)) + send_reply(sptr, RPL_WHOISACTUALLY, name, user->username, + user->realhost, ircd_ntoa(&cli_ip(acptr))); + send_reply(sptr, RPL_WHOISMODES, name, *modes ? modes : ""); + } /* Hint: if your looking to add more flags to a user, eg +h, here's * probably a good place to add them :) Index: ircd-ircdev/ircd/parse.c diff -u ircd-ircdev/ircd/parse.c:1.13 ircd-ircdev/ircd/parse.c:1.14 --- ircd-ircdev/ircd/parse.c:1.13 Wed Mar 23 10:34:51 2005 +++ ircd-ircdev/ircd/parse.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Parse input from IRC clients and other servers. - * @version $Id: parse.c,v 1.13 2005/03/23 18:34:51 zolty Exp $ + * @version $Id: parse.c,v 1.14 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -656,6 +656,22 @@ /* UNREG, CLIENT, SERVER, OPER, SERVICE */ { m_unregistered, m_not_oper, ms_dbq, mo_dbq, m_ignore } }, + { + MSG_GHOST, + TOK_GHOST, + 0, MAXPARA, MFLG_SLOW, 0, NULL, + /* UNREG, CLIENT, SERVER, OPER, SERVICE */ + { m_unregistered, m_ghost, m_ignore, m_ignore, m_ignore } + }, +#endif +#if defined(DDB) || defined(SERVICES) + { + MSG_SVSNICK, + TOK_SVSNICK, + 0, MAXPARA, MFLG_SLOW, 0, NULL, + /* UNREG, CLIENT, SERVER, OPER, SERVICE */ + { m_ignore, m_ignore, ms_svsnick, m_ignore, m_ignore } + }, #endif /* This command is an alias for QUIT during the unregistered part of Index: ircd-ircdev/ircd/s_err.c diff -u ircd-ircdev/ircd/s_err.c:1.13 ircd-ircdev/ircd/s_err.c:1.14 --- ircd-ircdev/ircd/s_err.c:1.13 Mon Mar 21 10:39:12 2005 +++ ircd-ircdev/ircd/s_err.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Error handling support. - * @version $Id: s_err.c,v 1.13 2005/03/21 18:39:12 zolty Exp $ + * @version $Id: s_err.c,v 1.14 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -653,7 +653,7 @@ /* 306 */ { RPL_NOWAWAY, ":You have been marked as being away", "306" }, /* 307 */ - { 0 }, + { RPL_WHOISREGNICK, "%s :is a registered and protected nick", "307" }, /* 308 */ { 0 }, /* 309 */ @@ -801,7 +801,7 @@ /* 378 */ { 0 }, /* 379 */ - { 0 }, + { RPL_WHOISMODES, "%s :is using modes %s", "379" }, /* 380 */ { 0 }, /* 381 */ @@ -823,7 +823,7 @@ /* 389 */ { 0 }, /* 390 */ - { 0 }, + { RPL_WHOISSUSPEND, "%s :is a suspended nick", "390" }, /* 391 */ { RPL_TIME, "%s %Tu %ld :%s", "391" }, /* 392 */ Index: ircd-ircdev/ircd/s_user.c diff -u ircd-ircdev/ircd/s_user.c:1.12 ircd-ircdev/ircd/s_user.c:1.13 --- ircd-ircdev/ircd/s_user.c:1.12 Mon Mar 21 10:39:12 2005 +++ ircd-ircdev/ircd/s_user.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Miscellaneous user-related helper functions. - * @version $Id: s_user.c,v 1.12 2005/03/21 18:39:12 zolty Exp $ + * @version $Id: s_user.c,v 1.13 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -30,6 +30,7 @@ #include "channel.h" #include "class.h" #include "client.h" +#include "ddb.h" #include "hash.h" #include "ircd.h" #include "ircd_alloc.h" @@ -40,6 +41,7 @@ #include "ircd_reply.h" #include "ircd_snprintf.h" #include "ircd_string.h" +#include "ircd_tea.h" #include "list.h" #include "match.h" #include "motd.h" @@ -702,6 +704,9 @@ { FLAG_DEBUG, 'g' }, #if defined(UNDERNET) { FLAG_ACCOUNT, 'r' }, +#elif defined(DDB) || defined(SERVICES) + { FLAG_NICKREG, 'r' }, + { FLAG_NICKSUSPEND, 'S' }, #endif { FLAG_HIDDENHOST, 'x' } }; @@ -715,6 +720,59 @@ /** Nasty global buffer used for communications with umode_str() and others. */ static char umodeBuf[BUFSIZE]; +#if defined(DDB) +/** Verify the passwords + * @param[in] nick Nickname + * @param[in] cryptpass Crypt password + * @param[in] password Password + * @return 1 if a correct password, else 0. + */ +int verify_pass_nick(char *nick, char *cryptpass, char *pass) +{ + unsigned int v[2], k[2], x[2]; + int cont = (NICKLEN + 8) / 8; + char tmpnick[8 * ((NICKLEN + 8) / 8) + 1]; + char tmppass[12 + 1]; + unsigned int *p = (unsigned int *)tmpnick; /* int == 32bits */ + unsigned int numpass[2]; + + memset(tmpnick, 0, sizeof(tmpnick)); + strncpy(tmpnick, nick, sizeof(tmpnick) - 1); + + memset(tmppass, 0, sizeof(tmppass)); + strncpy(tmppass, cryptpass, sizeof(tmppass) - 1); + + numpass[1] = base64toint(tmppass + 6); + tmppass[6] = '\0'; + numpass[0] = base64toint(tmppass); + + memset(tmppass, 0, sizeof(tmppass)); + + strncpy(tmppass, pass, sizeof(tmppass) - 1); + + /* relleno -> 123456789012 */ + strncat(tmppass, "AAAAAAAAAAAA", sizeof(tmppass) - strlen(tmppass) - 1); + + x[0] = x[1] = 0; + + k[1] = base64toint(tmppass + 6); + tmppass[6] = '\0'; + k[0] = base64toint(tmppass); + + while (cont--) + { + v[0] = ntohl(*p++); /* 32 bits */ + v[1] = ntohl(*p++); /* 32 bits */ + ircd_tea(v, k, x); + } + + if ((x[0] == numpass[0]) && (x[1] == numpass[1])) + return 1; + + return 0; +} +#endif /* defined(DDB) */ + /** Try to set a user's nickname. * If \a sptr is a server, the client is being introduced for the first time. * @param[in] cptr Client to set nickname. @@ -722,11 +780,116 @@ * @param[in] nick New nickname. * @param[in] parc Number of arguments to NICK. * @param[in] parv Argument list to NICK. + * @param[in] flags * @return CPTR_KILLED if \a cptr was killed, else 0. */ int set_nick_name(struct Client* cptr, struct Client* sptr, - const char* nick, int parc, char* parv[]) + const char* nick, int parc, char* parv[], int flags) { +#if defined(DDB) + struct Ddb *ddb; + int nick_suspend = 0; + char *botname = 0; + + /* + * Comprueba si el nick esta registrado, y + * si lo esta que se ponga la clave correcta + * + * Esta comprobacion solo se va a hacer si + * el usuario es local y no esta haciendo nick flood. + */ + if (MyConnect(sptr) && !IsIdentify(flags) && (ddb = ddb_find_key(DDB_NICKDB, (char *)nick)) + && (CurrentTime >= cli_nextnick(cptr))) + { + const char *name; + int nick_forbid = 0; + char c; + + botname = ddb_get_botname(DDB_NICKSERV); + /* + * Si el ultimo caracter de la clave (bdd->content) contiene: + * '+' El nick esta suspendido. + * '*' El nick esta prohibido (forbid). + * Cualquier otro caracter, el nick esta activo. + */ + c = ddb->content[strlen(ddb->content) - 1]; + if (c == '+') + nick_suspend = 1; + else if (c == '*') + nick_forbid = 1; + + /* + * Si el usuario ha hecho ghost, no se necesita + * verificar la clave de nuevo ya que se ha hecho + * antes al hacer el ghost. En un nick prohibido + * tampoco. + */ + if (!(IsGhost(flags) && !IsIdentify(flags) && !nick_forbid)) + { + if ((IsNickRegistered(sptr) || IsNickSuspended(sptr)) + && (0 == ircd_strcmp(parv[0], nick))) + { + SetNickEquivalent(flags); + SetIdentify(flags); + } + else if (verify_pass_nick(ddb->key, ddb->content, + (parc >= 3 ? parv[2] : cli_passwd(cptr)))) + SetIdentify(flags); + } + + if (*parv[0]) + name = parv[0]; + else + name = nick; + + if (IsIdentify(flags)) + { + /* + * Si no tiene nick anterior (acaba de conectarse) + * mandar este notice. + * El notice de autentificacion de cuando cambia nick + * esta mas abajo. + */ + if (!cli_name(cptr)[0] && !IsNickEquivalent(flags)) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** Password accepted. Welcome to %s", + nick, feature_str(FEAT_NETWORK)); + if (nick_suspend) + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** Your nick %s is suspended", + nick, nick); + } + } + else if (nick_forbid) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** The nick %s is forbided, cannot be used", + name, nick); + send_reply(cptr, ERR_NICKNAMEINUSE, nick); + return 0; + } + else + { + if (parc < 3) + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** The nick %s is Registered, you need password", + name, nick); + else + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** Incorrect password for nick %s", + name, nick); + + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%s :*** It uses \002/NICK %s%spassword\002 for identify", + name, nick, IsGhost(flags) ? "!" : ":"); + + send_reply(cptr, ERR_NICKNAMEINUSE, nick); + return 0; + } + } +#endif /* defined(DDB) */ + if (IsServer(sptr)) { int i; #if defined(UNDERNET) @@ -811,7 +974,8 @@ * if client is on any channels where it is currently * banned. If so, do not allow the nick change to occur. */ - if (MyUser(sptr)) { + if (MyUser(sptr) && !IsRenamed(flags)) + { const char* channel_name; struct Membership *member; if ((channel_name = find_no_nickchange_channel(sptr))) { @@ -847,6 +1011,20 @@ member = member->next_channel) ClearBanValid(member); } + +#if defined(DDB) + if (IsIdentify(flags) && !IsNickEquivalent(flags)) + { + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** Password accepted. Welcome to %s", + cptr, feature_str(FEAT_NETWORK)); + + if (nick_suspend) + sendcmdbotto_one(botname, CMD_NOTICE, cptr, + "%C :*** Your nick %s is suspended", cptr, nick); + } +#endif + /* * Also set 'lastnick' to current time, if changed. */ @@ -859,6 +1037,23 @@ * on that channel. Propagate notice to other servers. */ if (IsUser(sptr)) { + if (!IsNickEquivalent(flags)) + { +#if defined(DDB) + struct Flags oldflags; +#endif + + /* Notify exit user */ + check_status_watch(sptr, RPL_LOGOFF); + +#if defined(DDB) + oldflags = cli_flags(sptr); + ClearNickRegistered(sptr); + ClearNickSuspended(sptr); + + send_umode_out(cptr, sptr, &oldflags, IsRegistered(sptr)); +#endif + } sendcmdto_common_channels_butone(sptr, CMD_NICK, NULL, ":%s", nick); add_history(sptr, 1); sendcmdto_serv_butone(sptr, CMD_NICK, cptr, "%s %Tu", nick, @@ -871,6 +1066,7 @@ hRemClient(sptr); strcpy(cli_name(sptr), nick); hAddClient(sptr); + } else { /* Local client setting NICK the first time */ @@ -906,8 +1102,30 @@ } } - /* Notify change nick local/remote user */ - check_status_watch(sptr, RPL_LOGON); + if (!IsNickEquivalent(flags)) + { +#if defined(DDB) + if (MyConnect(sptr)) + { + struct Flags oldflags; + + if (IsIdentify(flags)) + { + oldflags = cli_flags(sptr); + + if (nick_suspend) + SetNickSuspended(sptr); + else + SetNickRegistered(sptr); + + send_umode_out(cptr, sptr, &oldflags, IsRegistered(sptr)); + } + } +#endif /* defined(DDB) */ + + /* Notify change nick local/remote user */ + check_status_watch(sptr, RPL_LOGON); + } return 0; } @@ -1146,9 +1364,7 @@ int hide_hostmask(struct Client *cptr, unsigned int flag) { -#if defined(UNDERNET) struct Membership *chan; -#endif switch (flag) { case FLAG_HIDDENHOST: @@ -1168,14 +1384,21 @@ return 0; } -#if defined(UNDERNET) SetFlag(cptr, flag); +#if defined(UNDERNET) if (!HasFlag(cptr, FLAG_HIDDENHOST) || !HasFlag(cptr, FLAG_ACCOUNT)) +#else + if (!HasFlag(cptr, FLAG_HIDDENHOST)) +#endif return 0; sendcmdto_common_channels_butone(cptr, CMD_QUIT, cptr, ":Registered"); ircd_snprintf(0, cli_user(cptr)->host, HOSTLEN, "%s.%s", +#if defined(UNDERNET) cli_user(cptr)->account, feature_str(FEAT_HIDDEN_HOST)); +#else + cli_yxx(cptr), feature_str(FEAT_HIDDEN_HOST)); +#endif /* ok, the client is now fully hidden, so let them know -- hikari */ if (MyConnect(cptr)) @@ -1201,7 +1424,6 @@ sendcmdto_channel_butserv_butone(&me, CMD_MODE, chan->channel, cptr, 0, "%H +%c %C", chan->channel, IsChanOp(chan) ? 'o' : 'v', cptr); } -#endif return 0; } @@ -1371,6 +1593,20 @@ if (what == MODE_ADD) do_host_hiding = 1; break; +#if defined(DDB) || defined(SERVICES) + case 'r': + if (what == MODE_ADD) + SetNickRegistered(sptr); + else + ClearNickRegistered(sptr); + break; + case 'S': + if (what == MODE_ADD) + SetNickSuspended(sptr); + else + ClearNickSuspended(sptr); + break; +#endif /* defined(DDB) || defined(SERVICES) */ /* if none of the given case is valid then compain by * sending raw 501 ( ERR_UMODEUNKNOWNFLAG ) */ @@ -1413,6 +1649,12 @@ if (feature_bool(FEAT_HIS_DEBUG_OPER_ONLY) && !IsAnOper(sptr) && !FlagHas(&setflags, FLAG_DEBUG)) ClearDebug(sptr); +#if defined(DDB) || defined(SERVICES) + if (!FlagHas(&setflags, FLAG_NICKREG) && IsNickRegistered(sptr)) + ClearNickRegistered(sptr); + if (!FlagHas(&setflags, FLAG_NICKSUSPEND) && IsNickSuspended(sptr)) + ClearNickSuspended(sptr); +#endif /* defined(DDB) || defined(SERVICES) */ } if (MyConnect(sptr)) Index: ircd-ircdev/ircd/send.c diff -u ircd-ircdev/ircd/send.c:1.6 ircd-ircdev/ircd/send.c:1.7 --- ircd-ircdev/ircd/send.c:1.6 Mon Jan 10 04:23:04 2005 +++ ircd-ircdev/ircd/send.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Send messages to certain targets. - * @version $Id: send.c,v 1.6 2005/01/10 12:23:04 zolty Exp $ + * @version $Id: send.c,v 1.7 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -308,6 +308,34 @@ msgq_clean(mb); } +/** Send a bot command to a single client. + * @param[in] botname Bot sending the command. + * @param[in] cmd Long name of command (used if \a to is a user). + * @param[in] tok Short name of command (used if \a to is a server). + * @param[in] to Destination of command. + * @param[in] pattern Format string for command arguments. + */ +void sendcmdbotto_one(char *botname, const char *cmd, const char *tok, + struct Client *to, const char *pattern, ...) +{ + struct VarData vd; + struct MsgBuf *mb; + + to = cli_from(to); + + vd.vd_format = pattern; /* set up the struct VarData for %v */ + va_start(vd.vd_args, pattern); + + mb = msgq_make(to, ":%s %s %v", botname, cmd, &vd); + + va_end(vd.vd_args); + + send_buffer(to, mb, 0); + + msgq_clean(mb); + +} + /** Send a (prefixed) command to a single client. * @param[in] from Client sending the command. * @param[in] cmd Long name of command (used if \a to is a user). Index: ircd-ircdev/ircd/whocmds.c diff -u ircd-ircdev/ircd/whocmds.c:1.7 ircd-ircdev/ircd/whocmds.c:1.8 --- ircd-ircdev/ircd/whocmds.c:1.7 Mon Jan 10 04:23:04 2005 +++ ircd-ircdev/ircd/whocmds.c Thu Mar 31 04:58:04 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Support functions for /WHO-like commands. - * @version $Id: whocmds.c,v 1.7 2005/01/10 12:23:04 zolty Exp $ + * @version $Id: whocmds.c,v 1.8 2005/03/31 12:58:04 zolty Exp $ */ #include "config.h" @@ -198,6 +198,12 @@ if (SendDebug(acptr)) *(p1++) = 'g'; } +#if defined(DDB) || defined(SERVICES) + if (IsNickRegistered(acptr)) + *(p1++) = 'r'; + if (IsNickSuspended(acptr)) + *(p1++) = 'S'; +#endif if (HasHiddenHost(acptr)) *(p1++) = 'x'; } ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-03-31 13:12:33
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-03-31 13:12:12 UTC Modified files: TODO.es Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ircd-ircdev/TODO.es diff -u ircd-ircdev/TODO.es:1.14 ircd-ircdev/TODO.es:1.15 --- ircd-ircdev/TODO.es:1.14 Mon Mar 28 04:35:55 2005 +++ ircd-ircdev/TODO.es Thu Mar 31 05:12:02 2005 @@ -1,7 +1,7 @@ # # TODO para ircd-ircdev # -# $Id: TODO.es,v 1.14 2005/03/28 12:35:55 zolty Exp $ +# $Id: TODO.es,v 1.15 2005/03/31 13:12:02 zolty Exp $ # # Insertar las nuevas entradas al principio de la lista TODO. # @@ -9,8 +9,10 @@ URGENTE -------------------------------------------------------------------------------------- - [D] Implementar el protocolo DDB. - - [D] Nicks registrados y protegidos. - + - [D] Implementar tabla o de Operadores + - [D] Implementar tabla p de Privilegios + - [D] Implementar tabla f de Features + - [D] Implementar tabla (a definir) de diversas configuraciones ALTA PRIORIDAD -------------------------------------------------------------------------------------- @@ -21,10 +23,8 @@ - [G] Poner uuna Feature para elegir entre salir o no el nombre del servidor en los notices de auth y dnslookup al conectar. - [G] Completar el MAP, salir numeric, nº de usuarios, porcentajes. - - [D] Comando GHOST. - [D] Virtualhost personalizado a traves de la DDB. - [D] U-lines a traves de la DDB. - - [D] F-lines (features) a traves de la DDB. PRIORIDAD MEDIA @@ -39,7 +39,6 @@ - [G] Si un global lo manda un ircop, que salga el prefijo de Mensaje global con la mascara o avisar mediante wallops global. - [S] Buscar una forma para cifrar IPs con un cambio de clave de cifrado incluido. - - [S] Comando SVSNICK. - [S] Comando SVSMODE. - [S] Comando SVSVHOST para cambiar la virtualhost. Estudiar alguna forma de propagarse en el burst. @@ -66,9 +65,12 @@ BUGS CONOCIDOS -------------------------------------------------------------------------------------- -1/Nov/2003 +15/Mar/2005 - [G] Bajo en ciertas circunstancias desconocidas del ircd.conf no pueden entrar clientes al IRCD. Investigar eso. +31/Mar/2005 + - [D] No se propaga el modo cuando estamos autentificando al conectar. + - [D] Dejan quitar modos -R y -S cuando los tienes. Leyenda: [G] General ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-04-02 19:47:56
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-04-02 19:47:45 UTC Modified files: ChangeLog ChangeLog.es doc/ircd.sample-en.conf doc/ircd.sample-es.conf include/client.h include/handlers.h include/hash.h include/ircd_features.h include/msg.h include/numeric.h include/patchlevel.h include/s_conf.h include/struct.h ircd/channel.c ircd/engine_kqueue.c ircd/hash.c ircd/ircd_events.c ircd/ircd_features.c ircd/ircd_lexer.l ircd/ircd_parser.y ircd/ircd_res.c ircd/m_burst.c ircd/m_part.c ircd/m_privs.c ircd/m_server.c ircd/parse.c ircd/s_bsd.c ircd/s_err.c ircd/s_misc.c ircd/s_serv.c ircd/s_stats.c Log message: Author: zoltan <zo...@ir...> Log message: 2005-04-02 Toni García <zo...@ir...> 1.0.alpha24 * STATS J para jupe de nicks * PRIVS remoto * Correccion de Bugs * Sincronización Undernet ---------------------- diff included ---------------------- Index: ircd-ircdev/ChangeLog diff -u ircd-ircdev/ChangeLog:1.25 ircd-ircdev/ChangeLog:1.26 --- ircd-ircdev/ChangeLog:1.25 Thu Mar 31 04:58:01 2005 +++ ircd-ircdev/ChangeLog Sat Apr 2 11:47:33 2005 @@ -1,10 +1,16 @@ # # ChangeLog for ircd-ircdev # -# $Id: ChangeLog,v 1.25 2005/03/31 12:58:01 zolty Exp $ +# $Id: ChangeLog,v 1.26 2005/04/02 19:47:33 zolty Exp $ # # Insert new changes at beginning of the change list. # +2005-04-02 Toni García <zo...@ir...> 1.0.alpha24 + * STATS J for jupe nicks + * PRIVS remote + * Fix bugs + * Undernet synchronization + 2005-03-30 Toni García <zo...@ir...> 1.0.alpha23 * Table n (NICKDB) support * Usermode +r Index: ircd-ircdev/ChangeLog.es diff -u ircd-ircdev/ChangeLog.es:1.25 ircd-ircdev/ChangeLog.es:1.26 --- ircd-ircdev/ChangeLog.es:1.25 Thu Mar 31 04:58:01 2005 +++ ircd-ircdev/ChangeLog.es Sat Apr 2 11:47:33 2005 @@ -1,10 +1,16 @@ # # Log de Cambios para ircd-ircdev # -# $Id: ChangeLog.es,v 1.25 2005/03/31 12:58:01 zolty Exp $ +# $Id: ChangeLog.es,v 1.26 2005/04/02 19:47:33 zolty Exp $ # # Insertar los nuevos cambios al principio de esta lista de cambios. # +2005-04-02 Toni García <zo...@ir...> 1.0.alpha24 + * STATS J para jupe de nicks + * PRIVS remoto + * Correccion de Bugs + * Sincronización Undernet + 2005-03-30 Toni García <zo...@ir...> 1.0.alpha23 * Soporte de tabla n (NICKDB) * Modo de usuario +r Index: ircd-ircdev/doc/ircd.sample-en.conf diff -u ircd-ircdev/doc/ircd.sample-en.conf:1.15 ircd-ircdev/doc/ircd.sample-en.conf:1.16 --- ircd-ircdev/doc/ircd.sample-en.conf:1.15 Mon Mar 21 09:26:29 2005 +++ ircd-ircdev/doc/ircd.sample-en.conf Sat Apr 2 11:47:33 2005 @@ -811,6 +811,7 @@ # "HIS_STATS_h" = "TRUE"; # "HIS_STATS_i" = "TRUE"; # "HIS_STATS_j" = "TRUE"; +# "HIS_STATS_J" = "TRUE"; # "HIS_STATS_k" = "TRUE"; # "HIS_STATS_l" = "TRUE"; # "HIS_STATS_L" = "TRUE"; Index: ircd-ircdev/doc/ircd.sample-es.conf diff -u ircd-ircdev/doc/ircd.sample-es.conf:1.11 ircd-ircdev/doc/ircd.sample-es.conf:1.12 --- ircd-ircdev/doc/ircd.sample-es.conf:1.11 Mon Mar 21 09:26:31 2005 +++ ircd-ircdev/doc/ircd.sample-es.conf Sat Apr 2 11:47:33 2005 @@ -848,6 +848,7 @@ # "HIS_STATS_h" = "TRUE"; # "HIS_STATS_i" = "TRUE"; # "HIS_STATS_j" = "TRUE"; +# "HIS_STATS_J" = "TRUE"; # "HIS_STATS_k" = "TRUE"; # "HIS_STATS_l" = "TRUE"; # "HIS_STATS_L" = "TRUE"; Index: ircd-ircdev/include/client.h diff -u ircd-ircdev/include/client.h:1.13 ircd-ircdev/include/client.h:1.14 --- ircd-ircdev/include/client.h:1.13 Thu Mar 31 04:58:02 2005 +++ ircd-ircdev/include/client.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Structures and functions for handling local clients. - * @version $Id: client.h,v 1.13 2005/03/31 12:58:02 zolty Exp $ + * @version $Id: client.h,v 1.14 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_client_h #define INCLUDED_client_h @@ -277,7 +277,7 @@ struct irc_in_addr cli_ip; /**< Real IP of client */ short cli_status; /**< Client type */ char cli_name[HOSTLEN + 1]; /**< Unique name of the client, nick or host */ - char cli_username[USERLEN + 1]; /**< username here now for auth stuff */ + char cli_username[USERLEN + 1]; /**< Username determined by ident lookup */ char cli_info[REALLEN + 1]; /**< Free form additional client information */ }; Index: ircd-ircdev/include/handlers.h diff -u ircd-ircdev/include/handlers.h:1.11 ircd-ircdev/include/handlers.h:1.12 --- ircd-ircdev/include/handlers.h:1.11 Thu Mar 31 04:58:02 2005 +++ ircd-ircdev/include/handlers.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Declarations for all protocol message handler functions. - * @version $Id: handlers.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ + * @version $Id: handlers.h,v 1.12 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_handlers_h #define INCLUDED_handlers_h @@ -229,6 +229,7 @@ extern int ms_ping(struct Client*, struct Client*, int, char*[]); extern int ms_pong(struct Client*, struct Client*, int, char*[]); extern int ms_privmsg(struct Client*, struct Client*, int, char*[]); +extern int ms_privs(struct Client*, struct Client*, int, char*[]); extern int ms_quit(struct Client*, struct Client*, int, char*[]); extern int ms_rping(struct Client*, struct Client*, int, char*[]); extern int ms_rpong(struct Client*, struct Client*, int, char*[]); Index: ircd-ircdev/include/hash.h diff -u ircd-ircdev/include/hash.h:1.6 ircd-ircdev/include/hash.h:1.7 --- ircd-ircdev/include/hash.h:1.6 Wed Mar 23 10:34:25 2005 +++ ircd-ircdev/include/hash.h Sat Apr 2 11:47:34 2005 @@ -22,13 +22,14 @@ */ /** @file * @brief Hash table management APIs. - * @version $Id: hash.h,v 1.6 2005/03/23 18:34:25 zolty Exp $ + * @version $Id: hash.h,v 1.7 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_hash_h #define INCLUDED_hash_h struct Client; struct Channel; +struct StatDesc; struct Watch; /* @@ -98,6 +99,8 @@ extern int isNickJuped(const char *nick); extern int addNickJupes(const char *nicks); extern void clearNickJupes(void); +extern void stats_nickjupes(struct Client* to, const struct StatDesc* sd, + char* param); extern void list_next_channels(struct Client *cptr); #endif /* INCLUDED_hash_h */ Index: ircd-ircdev/include/ircd_features.h diff -u ircd-ircdev/include/ircd_features.h:1.11 ircd-ircdev/include/ircd_features.h:1.12 --- ircd-ircdev/include/ircd_features.h:1.11 Thu Mar 31 04:58:02 2005 +++ ircd-ircdev/include/ircd_features.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Public interfaces and declarations for dealing with configurable features. - * @version $Id: ircd_features.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ + * @version $Id: ircd_features.h,v 1.12 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_features_h #define INCLUDED_features_h @@ -112,28 +112,29 @@ FEAT_HIS_MAP, FEAT_HIS_LINKS, FEAT_HIS_TRACE, - FEAT_HIS_STATS_l, - FEAT_HIS_STATS_L, FEAT_HIS_STATS_a, #if defined(DDB) FEAT_HIS_STATS_b, #endif FEAT_HIS_STATS_c, + FEAT_HIS_STATS_d, + FEAT_HIS_STATS_e, + FEAT_HIS_STATS_f, FEAT_HIS_STATS_g, FEAT_HIS_STATS_h, - FEAT_HIS_STATS_k, - FEAT_HIS_STATS_f, FEAT_HIS_STATS_i, FEAT_HIS_STATS_j, - FEAT_HIS_STATS_M, + FEAT_HIS_STATS_J, + FEAT_HIS_STATS_k, + FEAT_HIS_STATS_l, + FEAT_HIS_STATS_L, FEAT_HIS_STATS_m, + FEAT_HIS_STATS_M, FEAT_HIS_STATS_o, FEAT_HIS_STATS_p, FEAT_HIS_STATS_q, - FEAT_HIS_STATS_R, FEAT_HIS_STATS_r, - FEAT_HIS_STATS_d, - FEAT_HIS_STATS_e, + FEAT_HIS_STATS_R, FEAT_HIS_STATS_t, FEAT_HIS_STATS_T, FEAT_HIS_STATS_u, Index: ircd-ircdev/include/msg.h diff -u ircd-ircdev/include/msg.h:1.11 ircd-ircdev/include/msg.h:1.12 --- ircd-ircdev/include/msg.h:1.11 Thu Mar 31 04:58:02 2005 +++ ircd-ircdev/include/msg.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Command and token declarations and structures. - * @version $Id: msg.h,v 1.11 2005/03/31 12:58:02 zolty Exp $ + * @version $Id: msg.h,v 1.12 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_msg_h #define INCLUDED_msg_h @@ -360,7 +360,8 @@ #define TOK_GET "GET" #define MSG_PRIVS "PRIVS" /* PRIV */ -#define TOK_PRIVS "PRIVS" +#define TOK_PRIVS "PR" +#define CMD_PRIVS MSG_PRIVS, TOK_PRIVS #define MSG_CAP "CAP" #define TOK_CAP "CAP" Index: ircd-ircdev/include/numeric.h diff -u ircd-ircdev/include/numeric.h:1.10 ircd-ircdev/include/numeric.h:1.11 --- ircd-ircdev/include/numeric.h:1.10 Thu Mar 31 04:58:02 2005 +++ ircd-ircdev/include/numeric.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Declarations of numeric replies and supporting functions. - * @version $Id: numeric.h,v 1.10 2005/03/31 12:58:02 zolty Exp $ + * @version $Id: numeric.h,v 1.11 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_numeric_h #define INCLUDED_numeric_h @@ -97,7 +97,7 @@ #define RPL_STATSNLINE 214 /* unused */ #define RPL_STATSILINE 215 #define RPL_STATSKLINE 216 -#define RPL_STATSPLINE 217 /* Undernet extenstion */ +#define RPL_STATSPLINE 217 /* Undernet extension */ /* RPL_STATSQLINE 217 Various */ #define RPL_STATSYLINE 218 #define RPL_ENDOFSTATS 219 /* See also RPL_STATSDLINE */ @@ -106,6 +106,7 @@ /* RPL_STATSBLINE 220 Numerics List: Dalnet,unreal */ #define RPL_UMODEIS 221 /* RPL_SQLINE_NICK 222 Numerics List: Dalnet */ +#define RPL_STATSJLINE 222 /* Undernet extension */ /* RPL_STATSELINE 223 dalnet */ /* RPL_STATSGLINE 223 unreal */ /* RPL_STATSFLINE 224 Hybrid extension,Dalnet */ Index: ircd-ircdev/include/patchlevel.h diff -u ircd-ircdev/include/patchlevel.h:1.25 ircd-ircdev/include/patchlevel.h:1.26 --- ircd-ircdev/include/patchlevel.h:1.25 Thu Mar 31 04:58:03 2005 +++ ircd-ircdev/include/patchlevel.h Sat Apr 2 11:47:34 2005 @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: patchlevel.h,v 1.25 2005/03/31 12:58:03 zolty Exp $ + * $Id: patchlevel.h,v 1.26 2005/04/02 19:47:34 zolty Exp $ * */ -#define PATCHLEVEL ".alpha23" +#define PATCHLEVEL ".alpha24" #define RELEASE "1.0" Index: ircd-ircdev/include/s_conf.h diff -u ircd-ircdev/include/s_conf.h:1.8 ircd-ircdev/include/s_conf.h:1.9 --- ircd-ircdev/include/s_conf.h:1.8 Mon Jan 10 04:22:00 2005 +++ ircd-ircdev/include/s_conf.h Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file s_conf.h * @brief ircd configuration file API. - * @version $Id: s_conf.h,v 1.8 2005/01/10 12:22:00 zolty Exp $ + * @version $Id: s_conf.h,v 1.9 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_s_conf_h #define INCLUDED_s_conf_h @@ -156,6 +156,8 @@ char nick[1]; /**< start of nick\@server string */ }; +#define SMAP_FAST 1 /**< Command does not have MFLG_SLOW. */ + /** Target set for a service pseudo-command. */ struct s_map { struct s_map *next; /**< Next element in #GlobalServiceMapList. */ @@ -163,6 +165,7 @@ char *name; /**< Text name of the mapping. */ char *command; /**< Command name to use. */ char *prepend; /**< Extra text to prepend to user's text. */ + unsigned int flags; /**< Bitwise map of SMAP_* flags. */ struct nick_host *services; /**< Linked list of possible targets. */ }; Index: ircd-ircdev/include/struct.h diff -u ircd-ircdev/include/struct.h:1.8 ircd-ircdev/include/struct.h:1.9 --- ircd-ircdev/include/struct.h:1.8 Wed Mar 23 10:34:27 2005 +++ ircd-ircdev/include/struct.h Sat Apr 2 11:47:34 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Structure definitions for users and servers. - * @version $Id: struct.h,v 1.8 2005/03/23 18:34:27 zolty Exp $ + * @version $Id: struct.h,v 1.9 2005/04/02 19:47:34 zolty Exp $ */ #ifndef INCLUDED_struct_h #define INCLUDED_struct_h @@ -82,7 +82,12 @@ unsigned int joined; /**< number of channels joined */ unsigned int invites; /**< Number of channels we've been invited to */ unsigned int watches; /**< Number of entrances in the watch list */ - char username[USERLEN + 1]; /**< remote account name */ + /** Remote account name. Before registration is complete, this is + * either empty or contains the username from the USER command. + * After registration, that may be prefixed with ~ or it may be + * overwritten with the ident response. + */ + char username[USERLEN + 1]; char host[HOSTLEN + 1]; /**< displayed hostname */ char realhost[HOSTLEN + 1]; /**< actual hostname */ #if defined(UNDERNET) Index: ircd-ircdev/ircd/channel.c diff -u ircd-ircdev/ircd/channel.c:1.15 ircd-ircdev/ircd/channel.c:1.16 --- ircd-ircdev/ircd/channel.c:1.15 Mon Mar 21 10:39:05 2005 +++ ircd-ircdev/ircd/channel.c Sat Apr 2 11:47:34 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Channel management and maintanance - * @version $Id: channel.c,v 1.15 2005/03/21 18:39:05 zolty Exp $ + * @version $Id: channel.c,v 1.16 2005/04/02 19:47:34 zolty Exp $ */ #include "config.h" @@ -996,7 +996,7 @@ * Do we have a nick with a new mode ? * Or are we starting a new BURST line? */ - if (new_mode || !feat_oplevels) + if (new_mode) { /* * This means we are at the _first_ member that has only @@ -1024,7 +1024,7 @@ msgq_append(&me, mb, tbuf); new_mode = 0; } - else if (flag_cnt > 1 && last_oplevel != member->oplevel) + else if (feat_oplevels && flag_cnt > 1 && last_oplevel != member->oplevel) { /* * This can't be the first member of a (continued) BURST Index: ircd-ircdev/ircd/engine_kqueue.c diff -u ircd-ircdev/ircd/engine_kqueue.c:1.6 ircd-ircdev/ircd/engine_kqueue.c:1.7 --- ircd-ircdev/ircd/engine_kqueue.c:1.6 Wed Jan 26 09:19:47 2005 +++ ircd-ircdev/ircd/engine_kqueue.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief FreeBSD kqueue()/kevent() event engine. - * @version $Id: engine_kqueue.c,v 1.6 2005/01/26 17:19:47 zolty Exp $ + * @version $Id: engine_kqueue.c,v 1.7 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -301,11 +301,6 @@ dellist[1].data = 0; dellist[1].udata = 0; - /* make it all go away */ - if (kevent(kqueue_id, dellist, 2, 0, 0, 0) < 0) - log_write(LS_SOCKET, L_WARNING, 0, - "Unable to delete kevent items for socket %d", s_fd(sock)); - sockList[s_fd(sock)] = 0; } Index: ircd-ircdev/ircd/hash.c diff -u ircd-ircdev/ircd/hash.c:1.8 ircd-ircdev/ircd/hash.c:1.9 --- ircd-ircdev/ircd/hash.c:1.8 Wed Mar 23 10:34:47 2005 +++ ircd-ircdev/ircd/hash.c Sat Apr 2 11:47:35 2005 @@ -22,7 +22,7 @@ */ /** @file * @brief Hash table management. - * @version $Id: hash.c,v 1.8 2005/03/23 18:34:47 zolty Exp $ + * @version $Id: hash.c,v 1.9 2005/04/02 19:47:35 zolty Exp $ * * This file used to use some very complicated hash function. Now it * uses CRC-32, but effectively remaps each input byte according to a @@ -479,6 +479,21 @@ jupeTable[i][0] = '\000'; } +/** Report all nick jupes to a user. + * @param[in] to Client requesting statistics. + * @param[in] sd Stats descriptor for request (ignored). + * @param[in] param Extra parameter from user (ignored). + */ +void +stats_nickjupes(struct Client* to, const struct StatDesc* sd, char* param) +{ + int i; + + for (i = 0; i < JUPEHASHSIZE; i++) + if (jupeTable[i][0]) + send_reply(to, RPL_STATSJLINE, jupeTable[i]); +} + /** Send more channels to a client in mid-LIST. * @param[in] cptr Client to send the list to. */ Index: ircd-ircdev/ircd/ircd_events.c diff -u ircd-ircdev/ircd/ircd_events.c:1.6 ircd-ircdev/ircd/ircd_events.c:1.7 --- ircd-ircdev/ircd/ircd_events.c:1.6 Mon Jan 10 04:22:59 2005 +++ ircd-ircdev/ircd/ircd_events.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Implementation of event loop mid-layer. - * @version $Id: ircd_events.c,v 1.6 2005/01/10 12:22:59 zolty Exp $ + * @version $Id: ircd_events.c,v 1.7 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -528,12 +528,20 @@ "timeout %Tu", timer, timer_to_name(timer->t_type), timer->t_value, timer_to_name(type), value)); - gen_dequeue(timer); /* remove the timer from the queue */ - timer->t_type = type; /* Set the new type and value */ timer->t_value = value; timer->t_expire = 0; + /* If the timer expiration callback tries to change the timer + * expiration, flag the timer but do not dequeue it yet. + */ + if (timer->t_header.gh_flags & GEN_MARKED) + { + timer->t_header.gh_flags |= GEN_READD; + return; + } + gen_dequeue(timer); /* remove the timer from the queue */ + timer_enqueue(timer); /* re-queue the timer */ } Index: ircd-ircdev/ircd/ircd_features.c diff -u ircd-ircdev/ircd/ircd_features.c:1.13 ircd-ircdev/ircd/ircd_features.c:1.14 --- ircd-ircdev/ircd/ircd_features.c:1.13 Thu Mar 31 04:58:04 2005 +++ ircd-ircdev/ircd/ircd_features.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Implementation of configurable feature support. - * @version $Id: ircd_features.c,v 1.13 2005/03/31 12:58:04 zolty Exp $ + * @version $Id: ircd_features.c,v 1.14 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -352,28 +352,29 @@ F_B(HIS_MAP, 0, 1, 0), F_B(HIS_LINKS, 0, 1, 0), F_B(HIS_TRACE, 0, 1, 0), - F_B(HIS_STATS_l, 0, 1, 0), - F_B(HIS_STATS_L, 0, 1, 0), F_B(HIS_STATS_a, 0, 1, 0), #if defined(DDB) F_B(HIS_STATS_b, 0, 1, 0), #endif F_B(HIS_STATS_c, 0, 1, 0), + F_B(HIS_STATS_d, 0, 1, 0), + F_B(HIS_STATS_e, 0, 1, 0), + F_B(HIS_STATS_f, 0, 1, 0), F_B(HIS_STATS_g, 0, 1, 0), F_B(HIS_STATS_h, 0, 1, 0), - F_B(HIS_STATS_k, 0, 1, 0), - F_B(HIS_STATS_f, 0, 1, 0), F_B(HIS_STATS_i, 0, 1, 0), F_B(HIS_STATS_j, 0, 1, 0), - F_B(HIS_STATS_M, 0, 1, 0), + F_B(HIS_STATS_J, 0, 1, 0), + F_B(HIS_STATS_k, 0, 1, 0), + F_B(HIS_STATS_l, 0, 1, 0), + F_B(HIS_STATS_L, 0, 1, 0), F_B(HIS_STATS_m, 0, 1, 0), + F_B(HIS_STATS_M, 0, 1, 0), F_B(HIS_STATS_o, 0, 1, 0), F_B(HIS_STATS_p, 0, 1, 0), F_B(HIS_STATS_q, 0, 1, 0), - F_B(HIS_STATS_R, 0, 1, 0), F_B(HIS_STATS_r, 0, 1, 0), - F_B(HIS_STATS_d, 0, 1, 0), - F_B(HIS_STATS_e, 0, 1, 0), + F_B(HIS_STATS_R, 0, 1, 0), F_B(HIS_STATS_t, 0, 1, 0), F_B(HIS_STATS_T, 0, 1, 0), F_B(HIS_STATS_u, 0, 0, 0), Index: ircd-ircdev/ircd/ircd_lexer.l diff -u ircd-ircdev/ircd/ircd_lexer.l:1.10 ircd-ircdev/ircd/ircd_lexer.l:1.11 --- ircd-ircdev/ircd/ircd_lexer.l:1.10 Wed Mar 9 10:12:34 2005 +++ ircd-ircdev/ircd/ircd_lexer.l Sat Apr 2 11:47:35 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_lexer.l,v 1.10 2005/03/09 18:12:34 zolty Exp $ + * $Id: ircd_lexer.l,v 1.11 2005/04/02 19:47:35 zolty Exp $ * */ @@ -100,6 +100,7 @@ TOKEN(PSEUDO), TOKEN(PREPEND), TOKEN(USERMODE), + TOKEN(FAST), #undef TOKEN { "administrator", ADMIN }, { "apass_opmode", TPRIV_APASS_OPMODE }, Index: ircd-ircdev/ircd/ircd_parser.y diff -u ircd-ircdev/ircd/ircd_parser.y:1.15 ircd-ircdev/ircd/ircd_parser.y:1.16 --- ircd-ircdev/ircd/ircd_parser.y:1.15 Mon Mar 21 10:39:07 2005 +++ ircd-ircdev/ircd/ircd_parser.y Sat Apr 2 11:47:35 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: ircd_parser.y,v 1.15 2005/03/21 18:39:07 zolty Exp $ + * $Id: ircd_parser.y,v 1.16 2005/04/02 19:47:35 zolty Exp $ * */ %{ @@ -158,6 +158,7 @@ %token USERMODE %token IAUTH %token TIMEOUT +%token FAST /* and now a lot of privileges... */ %token TPRIV_CHAN_LIMIT TPRIV_MODE_LCHAN TPRIV_DEOP_LCHAN TPRIV_WALK_LCHAN %token TPRIV_LOCAL_KILL TPRIV_REHASH TPRIV_RESTART TPRIV_DIE @@ -945,7 +946,7 @@ }; pseudoitems: pseudoitem pseudoitems | pseudoitem; -pseudoitem: pseudoname | pseudoprepend | pseudonick | error; +pseudoitem: pseudoname | pseudoprepend | pseudonick | pseudoflags | error; pseudoname: NAME '=' QSTRING ';' { DupString(smap->name, $3); @@ -967,6 +968,10 @@ smap->services = nh; } }; +pseudoflags: FAST ';' +{ + smap->flags |= SMAP_FAST; +}; iauthblock: IAUTH '{' { Index: ircd-ircdev/ircd/ircd_res.c diff -u ircd-ircdev/ircd/ircd_res.c:1.7 ircd-ircdev/ircd/ircd_res.c:1.8 --- ircd-ircdev/ircd/ircd_res.c:1.7 Mon Mar 21 10:39:08 2005 +++ ircd-ircdev/ircd/ircd_res.c Sat Apr 2 11:47:35 2005 @@ -41,7 +41,7 @@ */ /** @file * @brief IRC resolver functions. - * @version $Id: ircd_res.c,v 1.7 2005/03/21 18:39:08 zolty Exp $ + * @version $Id: ircd_res.c,v 1.8 2005/04/02 19:47:35 zolty Exp $ */ #include "client.h" #include "ircd_alloc.h" @@ -300,23 +300,30 @@ { if (when > CurrentTime + AR_TTL) when = CurrentTime + AR_TTL; - if (!t_active(&res_timeout) || !t_onqueue(&res_timeout)) + /* TODO after 2.10.12: Rewrite the timer API because there should be + * no need for clients to know this kind of implementation detail. */ + if (when > t_expire(&res_timeout)) + /* do nothing */; + else if (t_onqueue(&res_timeout) && !(res_timeout.t_header.gh_flags & GEN_MARKED)) + timer_chg(&res_timeout, TT_ABSOLUTE, when); + else timer_add(&res_timeout, timeout_resolver, NULL, TT_ABSOLUTE, when); - else if (when < t_expire(&res_timeout)) - timer_chg(&res_timeout, TT_ABSOLUTE, when); } /** Drop pending DNS lookups which have timed out. - * @param[in] notused Timer event data (ignored). + * @param[in] ev Timer event data (ignored). */ static void -timeout_resolver(struct Event *notused) +timeout_resolver(struct Event *ev) { struct dlink *ptr, *next_ptr; struct reslist *request; time_t next_time = 0; time_t timeout = 0; + if (ev_type(ev) != ET_EXPIRE) + return; + for (ptr = request_list.next; ptr != &request_list; ptr = next_ptr) { next_ptr = ptr->next; @@ -531,6 +538,7 @@ if (request == NULL) { request = make_request(query); + request->state= REQ_PTR; request->type = T_PTR; memcpy(&request->addr, addr, sizeof(request->addr)); request->name = (char *)MyMalloc(HOSTLEN + 1); @@ -822,7 +830,7 @@ * If a bad error was returned, we stop here and don't send * send any more (no retries granted). */ - Debug((DEBUG_DNS, "Request %p has bad response (state %d type %d)", request, request->state, request->type)); + Debug((DEBUG_DNS, "Request %p has bad response (state %d type %d rcode %d)", request, request->state, request->type, header->rcode)); (*request->query.callback)(request->query.vptr, 0); rem_request(request); } Index: ircd-ircdev/ircd/m_burst.c diff -u ircd-ircdev/ircd/m_burst.c:1.8 ircd-ircdev/ircd/m_burst.c:1.9 --- ircd-ircdev/ircd/m_burst.c:1.8 Mon Mar 21 10:39:08 2005 +++ ircd-ircdev/ircd/m_burst.c Sat Apr 2 11:47:35 2005 @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_burst.c,v 1.8 2005/03/21 18:39:08 zolty Exp $ + * $Id: m_burst.c,v 1.9 2005/04/02 19:47:35 zolty Exp $ * */ @@ -300,6 +300,26 @@ modebuf_mode(mbuf, MODE_DEL | chptr->mode.mode); /* wipeout modes */ chptr->mode.mode &= MODE_BURSTADDED | MODE_WASDELJOINS; + /* wipe out modes not represented in chptr->mode.mode */ + if (chptr->mode.limit) { + modebuf_mode_uint(mbuf, MODE_DEL | MODE_LIMIT, chptr->mode.limit); + chptr->mode.limit = 0; + } + if (chptr->mode.key[0]) { + modebuf_mode_string(mbuf, MODE_DEL | MODE_KEY, chptr->mode.key, 0); + chptr->mode.key[0] = '\0'; + } +#if defined(UNDERNET) + if (chptr->mode.upass[0]) { + modebuf_mode_string(mbuf, MODE_DEL | MODE_UPASS, chptr->mode.upass, 0); + chptr->mode.upass[0] = '\0'; + } + if (chptr->mode.apass[0]) { + modebuf_mode_string(mbuf, MODE_DEL | MODE_APASS, chptr->mode.apass, 0); + chptr->mode.apass[0] = '\0'; + } +#endif + parse_flags |= (MODE_PARSE_SET | MODE_PARSE_WIPEOUT); /* wipeout keys */ /* mark bans for wipeout */ @@ -489,7 +509,12 @@ if (current_mode & CHFL_VOICE) nickstr[nickpos++] = 'v'; if (current_mode & CHFL_CHANOP) - nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel); + { + if (chptr->mode.apass[0]) + nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel); + else + nickstr[nickpos++] = 'o'; + } } else if (current_mode & CHFL_CHANOP && oplevel != last_oplevel) { /* if just op level changed... */ nickstr[nickpos++] = ':'; /* add a specifier */ nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel - last_oplevel); Index: ircd-ircdev/ircd/m_part.c diff -u ircd-ircdev/ircd/m_part.c:1.6 ircd-ircdev/ircd/m_part.c:1.7 --- ircd-ircdev/ircd/m_part.c:1.6 Mon Jan 10 04:23:02 2005 +++ ircd-ircdev/ircd/m_part.c Sat Apr 2 11:47:35 2005 @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_part.c,v 1.6 2005/01/10 12:23:02 zolty Exp $ + * $Id: m_part.c,v 1.7 2005/04/02 19:47:35 zolty Exp $ * */ @@ -200,14 +200,6 @@ if (IsDelayedJoin(member)) flags |= CHFL_DELAYED; - /* - * XXX BUG: If a client /part's with a part notice, on channels where - * he's banned, local clients will not see the part notice, but remote - * clients will. - */ - if (!member_can_send_to_channel(member, 0)) - flags |= CHFL_BANNED; - /* part user from channel */ joinbuf_join(&parts, chptr, flags); } Index: ircd-ircdev/ircd/m_privs.c diff -u ircd-ircdev/ircd/m_privs.c:1.4 ircd-ircdev/ircd/m_privs.c:1.5 --- ircd-ircdev/ircd/m_privs.c:1.4 Mon Jan 10 04:23:02 2005 +++ ircd-ircdev/ircd/m_privs.c Sat Apr 2 11:47:35 2005 @@ -18,65 +18,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: m_privs.c,v 1.4 2005/01/10 12:23:02 zolty Exp $ - * */ - -/* - * m_functions execute protocol messages on this server: - * - * cptr is always NON-NULL, pointing to a *LOCAL* client - * structure (with an open socket connected!). This - * identifies the physical socket where the message - * originated (or which caused the m_function to be - * executed--some m_functions may call others...). - * - * sptr is the source of the message, defined by the - * prefix part of the message if present. If not - * or prefix not found, then sptr==cptr. - * - * (!IsServer(cptr)) => (cptr == sptr), because - * prefixes are taken *only* from servers... - * - * (IsServer(cptr)) - * (sptr == cptr) => the message didn't - * have the prefix. - * - * (sptr != cptr && IsServer(sptr) means - * the prefix specified servername. (?) - * - * (sptr != cptr && !IsServer(sptr) means - * that message originated from a remote - * user (not local). - * - * combining - * - * (!IsServer(sptr)) means that, sptr can safely - * taken as defining the target structure of the - * message in this server. - * - * *Always* true (if 'parse' and others are working correct): - * - * 1) sptr->from == cptr (note: cptr->from == cptr) - * - * 2) MyConnect(sptr) <=> sptr == cptr (e.g. sptr - * *cannot* be a local connection, unless it's - * actually cptr!). [MyConnect(x) should probably - * be defined as (x == x->from) --msa ] - * - * parc number of variable parameter strings (if zero, - * parv is allowed to be NULL) - * - * parv a NULL terminated list of parameter pointers, - * - * parv[0], sender (prefix string), if not present - * this points to an empty string. - * parv[1]...parv[parc-1] - * pointers to additional parameters - * parv[parc] == NULL, *always* - * - * note: it is guaranteed that parv[0]..parv[parc-1] are all - * non-NULL pointers. +/** @file + * @brief Report operators' privileges to others + * @version $Id: m_privs.c,v 1.5 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -86,14 +31,19 @@ #include "ircd_log.h" #include "ircd_reply.h" #include "ircd_string.h" +#include "msg.h" #include "numeric.h" #include "numnicks.h" #include "send.h" /* #include <assert.h> -- Now using assert in ircd_log.h */ -/* - * mo_privs - report operator privileges +/** Handle a local operator's privilege query. + * @param[in] cptr Client that sent us the message. + * @param[in] sptr Original source of message. + * @param[in] parc Number of arguments. + * @param[in] parv Argument vector. + * @see \ref m_functions */ int mo_privs(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { @@ -108,10 +58,46 @@ for (i = 1; i < parc; i++) { for (name = ircd_strtok(&p, parv[i], " "); name; name = ircd_strtok(&p, 0, " ")) { - if ((acptr = FindUser(name))) + if (!(acptr = FindUser(name))) + continue; + else if (MyUser(acptr)) client_report_privs(sptr, acptr); + else + sendcmdto_one(cptr, CMD_PRIVS, acptr, "%s%s", NumNick(acptr)); } } return 0; } + +/** Handle a remote user's privilege query. + * @param[in] cptr Client that sent us the message. + * @param[in] sptr Original source of message. + * @param[in] parc Number of arguments. + * @param[in] parv Argument vector. + * @see \ref m_functions + */ +int ms_privs(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) +{ + struct Client *acptr; + char *numnick, *p = 0; + int i; + + if (parc < 2) + return protocol_violation(cptr, "PRIVS with no arguments"); + + for (i = 1; i < parc; i++) { + for (numnick = ircd_strtok(&p, parv[i], " "); numnick; + numnick = ircd_strtok(&p, 0, " ")) { + if (!(acptr = findNUser(numnick))) + continue; + else if (MyUser(acptr)) + client_report_privs(sptr, acptr); + else + sendcmdto_one(cptr, CMD_PRIVS, acptr, "%s%s", NumNick(acptr)); + } + } + + return 0; +} + Index: ircd-ircdev/ircd/m_server.c diff -u ircd-ircdev/ircd/m_server.c:1.7 ircd-ircdev/ircd/m_server.c:1.8 --- ircd-ircdev/ircd/m_server.c:1.7 Mon Mar 21 10:39:08 2005 +++ ircd-ircdev/ircd/m_server.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Handlers for the SERVER command. - * @version $Id: m_server.c,v 1.7 2005/03/21 18:39:08 zolty Exp $ + * @version $Id: m_server.c,v 1.8 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -477,6 +477,20 @@ } } +/** Interpret a server's flags. + * + * @param[in] cptr New server structure. + * @param[in] flags String listing server's P10 flags. + */ +void set_server_flags(struct Client *cptr, const char *flags) +{ + while (*flags) switch (*flags++) { + case 'h': SetHub(cptr); break; + case 's': SetService(cptr); break; + case '6': SetIPv6(cptr); break; + } +} + /** Handle a SERVER message from an unregistered connection. * * \a parv has the following elements: @@ -497,7 +511,6 @@ */ int mr_server(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { - char* ch; char* host; struct ConfItem* aconf; struct Jupe* ajupe; @@ -615,17 +628,8 @@ /* Attach any necessary UWorld config items. */ attach_confs_byhost(cptr, host, CONF_UWORLD); - if (*parv[7] == '+') { - for (ch = parv[7] + 1; *ch; ch++) - switch (*ch) { - case 'h': - SetHub(cptr); - break; - case 's': - SetService(cptr); - break; - } - } + if (*parv[7] == '+') + set_server_flags(cptr, parv[7] + 1); recv_time = TStime(); check_start_timestamp(cptr, timestamp, start_timestamp, recv_time); @@ -664,7 +668,6 @@ */ int ms_server(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { - char* ch; int i; char* host; struct Client* acptr; @@ -739,17 +742,8 @@ /* Attach any necessary UWorld config items. */ attach_confs_byhost(cptr, host, CONF_UWORLD); - if (*parv[7] == '+') { - for (ch = parv[7] + 1; *ch; ch++) - switch (*ch) { - case 'h': - SetHub(acptr); - break; - case 's': - SetService(acptr); - break; - } - } + if (*parv[7] == '+') + set_server_flags(acptr, parv[7] + 1); Count_newremoteserver(UserStats); if (Protocol(acptr) < 10) @@ -759,9 +753,13 @@ if (*parv[5] == 'J') { SetBurst(acptr); - sendto_opmask_butone(0, SNO_NETWORK, "Net junction: %s %s", - cli_name(sptr), cli_name(acptr)); SetJunction(acptr); + for (bcptr = cli_serv(acptr)->up; !IsMe(bcptr); bcptr = cli_serv(bcptr)->up) + if (IsBurstOrBurstAck(bcptr)) + break; + if (IsMe(bcptr)) + sendto_opmask_butone(0, SNO_NETWORK, "Net junction: %s %s", + cli_name(sptr), cli_name(acptr)); } /* * Old sendto_serv_but_one() call removed because we now need to send @@ -774,10 +772,11 @@ continue; if (0 == match(cli_name(&me), cli_name(acptr))) continue; - sendcmdto_one(sptr, CMD_SERVER, bcptr, "%s %d 0 %s %s %s%s +%s%s :%s", + sendcmdto_one(sptr, CMD_SERVER, bcptr, "%s %d 0 %s %s %s%s +%s%s%s :%s", cli_name(acptr), hop + 1, parv[4], parv[5], NumServCap(acptr), IsHub(acptr) ? "h" : "", - IsService(acptr) ? "s" : "", cli_info(acptr)); + IsService(acptr) ? "s" : "", IsIPv6(acptr) ? "6" : "", + cli_info(acptr)); } return 0; } Index: ircd-ircdev/ircd/parse.c diff -u ircd-ircdev/ircd/parse.c:1.14 ircd-ircdev/ircd/parse.c:1.15 --- ircd-ircdev/ircd/parse.c:1.14 Thu Mar 31 04:58:04 2005 +++ ircd-ircdev/ircd/parse.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Parse input from IRC clients and other servers. - * @version $Id: parse.c,v 1.14 2005/03/31 12:58:04 zolty Exp $ + * @version $Id: parse.c,v 1.15 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -609,7 +609,7 @@ TOK_PRIVS, 0, MAXPARA, MFLG_SLOW, 0, NULL, /* UNREG, CLIENT, SERVER, OPER, SERVICE */ - { m_unregistered, m_not_oper, m_ignore, mo_privs, m_ignore } + { m_unregistered, m_not_oper, ms_privs, mo_privs, m_ignore } }, #if defined(UNDERNET) { @@ -792,18 +792,18 @@ msg->tok = map->command; msg->count = 0; msg->parameters = 2; - msg->flags = MFLG_SLOW | MFLG_EXTRA; + msg->flags = MFLG_EXTRA; + if (!(map->flags & SMAP_FAST)) + msg->flags |= MFLG_SLOW; msg->bytes = 0; msg->extra = map; msg->handlers[UNREGISTERED_HANDLER] = m_ignore; msg->handlers[CLIENT_HANDLER] = m_pseudo; msg->handlers[SERVER_HANDLER] = m_ignore; - msg->handlers[OPER_HANDLER] = m_pseudo; + msg->handlers[OPER_HANDLER] = m_pseudo; msg->handlers[SERVICE_HANDLER] = m_ignore; - /* Service mappings are only applicable to clients; insert the - pseudocommand into the command tree only. */ add_msg_element(&msg_tree, msg, msg->cmd); map->msg = msg; @@ -907,7 +907,7 @@ paramcount = mptr->parameters; i = bufend - ((s) ? s : ch); mptr->bytes += i; - if ((mptr->flags & MFLG_SLOW)) + if ((mptr->flags & MFLG_SLOW) || !IsAnOper(cptr)) cli_since(cptr) += (2 + i / 120); /* * Allow only 1 msg per 2 seconds Index: ircd-ircdev/ircd/s_bsd.c diff -u ircd-ircdev/ircd/s_bsd.c:1.12 ircd-ircdev/ircd/s_bsd.c:1.13 --- ircd-ircdev/ircd/s_bsd.c:1.12 Wed Mar 23 10:34:52 2005 +++ ircd-ircdev/ircd/s_bsd.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Functions that now (or in the past) relied on BSD APIs. - * @version $Id: s_bsd.c,v 1.12 2005/03/23 18:34:52 zolty Exp $ + * @version $Id: s_bsd.c,v 1.13 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -907,6 +907,11 @@ cli_error(cptr) = ev_data(ev); if (s_state(&(con_socket(con))) == SS_CONNECTING) { completed_connection(cptr); + /* for some reason, the os_get_sockerr() in completed_connect() + * can return 0 even when ev_data(ev) indicates a real error, so + * re-assign the client error here. + */ + cli_error(cptr) = ev_data(ev); break; } /*FALLTHROUGH*/ Index: ircd-ircdev/ircd/s_err.c diff -u ircd-ircdev/ircd/s_err.c:1.14 ircd-ircdev/ircd/s_err.c:1.15 --- ircd-ircdev/ircd/s_err.c:1.14 Thu Mar 31 04:58:04 2005 +++ ircd-ircdev/ircd/s_err.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Error handling support. - * @version $Id: s_err.c,v 1.14 2005/03/31 12:58:04 zolty Exp $ + * @version $Id: s_err.c,v 1.15 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -483,7 +483,7 @@ /* 221 */ { RPL_UMODEIS, "%s", "221" }, /* 222 */ - { 0 }, + { RPL_STATSJLINE, "J %s", "222" }, /* 223 */ { 0 }, /* 224 */ Index: ircd-ircdev/ircd/s_misc.c diff -u ircd-ircdev/ircd/s_misc.c:1.8 ircd-ircdev/ircd/s_misc.c:1.9 --- ircd-ircdev/ircd/s_misc.c:1.8 Mon Mar 21 10:39:12 2005 +++ ircd-ircdev/ircd/s_misc.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Miscellaneous support functions. - * @version $Id: s_misc.c,v 1.8 2005/03/21 18:39:12 zolty Exp $ + * @version $Id: s_misc.c,v 1.9 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -164,16 +164,12 @@ { static char nbuf[HOSTLEN * 2 + USERLEN + 5]; - if (MyConnect(sptr)) { - if (showip) - ircd_snprintf(0, nbuf, sizeof(nbuf), "%s[%s@%s]", cli_name(sptr), - IsIdented(sptr) ? cli_username(sptr) : "unknown", - cli_sock_ip(sptr)); - else - return cli_name(sptr); - return nbuf; - } - return cli_name(sptr); + if (!MyConnect(sptr) || !showip) + return cli_name(sptr); + ircd_snprintf(0, nbuf, sizeof(nbuf), "%s[%s@%s]", cli_name(sptr), + IsIdented(sptr) ? cli_username(sptr) : "", + cli_sock_ip(sptr)); + return nbuf; } /** Set cli_sockhost(cptr) from \a host. Index: ircd-ircdev/ircd/s_serv.c diff -u ircd-ircdev/ircd/s_serv.c:1.9 ircd-ircdev/ircd/s_serv.c:1.10 --- ircd-ircdev/ircd/s_serv.c:1.9 Wed Mar 23 10:34:52 2005 +++ ircd-ircdev/ircd/s_serv.c Sat Apr 2 11:47:35 2005 @@ -21,7 +21,7 @@ */ /** @file * @brief Miscellaneous server support functions. - * @version $Id: s_serv.c,v 1.9 2005/03/23 18:34:52 zolty Exp $ + * @version $Id: s_serv.c,v 1.10 2005/04/02 19:47:35 zolty Exp $ */ #include "config.h" @@ -203,10 +203,10 @@ if (!match(cli_name(&me), cli_name(cptr))) continue; sendcmdto_one(&me, CMD_SERVER, acptr, - "%s 2 0 %Tu J%02u %s%s +%s%s :%s", cli_name(cptr), + "%s 2 0 %Tu J%02u %s%s +%s%s%s :%s", cli_name(cptr), cli_serv(cptr)->timestamp, Protocol(cptr), NumServCap(cptr), IsHub(cptr) ? "h" : "", IsService(cptr) ? "s" : "", - cli_info(cptr)); + IsIPv6(cptr) ? "6" : "", cli_info(cptr)); } /* Send these as early as possible so that glined users/juped servers can @@ -246,11 +246,11 @@ if (0 == match(cli_name(&me), cli_name(acptr))) continue; sendcmdto_one(cli_serv(acptr)->up, CMD_SERVER, cptr, - "%s %d 0 %Tu %s%u %s%s +%s%s :%s", cli_name(acptr), + "%s %d 0 %Tu %s%u %s%s +%s%s%s :%s", cli_name(acptr), cli_hopcount(acptr) + 1, cli_serv(acptr)->timestamp, protocol_str, Protocol(acptr), NumServCap(acptr), IsHub(acptr) ? "h" : "", IsService(acptr) ? "s" : "", - cli_info(acptr)); + IsIPv6(acptr) ? "6" : "", cli_info(acptr)); } } Index: ircd-ircdev/ircd/s_stats.c diff -u ircd-ircdev/ircd/s_stats.c:1.10 ircd-ircdev/ircd/s_stats.c:1.11 --- ircd-ircdev/ircd/s_stats.c:1.10 Wed Mar 23 10:34:52 2005 +++ ircd-ircdev/ircd/s_stats.c Sat Apr 2 11:47:35 2005 @@ -22,7 +22,7 @@ /** @file * @brief Report configuration lines and other statistics from this * server. - * @version $Id: s_stats.c,v 1.10 2005/03/23 18:34:52 zolty Exp $ + * @version $Id: s_stats.c,v 1.11 2005/04/02 19:47:35 zolty Exp $ * * Note: The info is reported in the order the server uses * it--not reversed as in ircd.conf! @@ -34,6 +34,7 @@ #include "client.h" #include "ddb.h" #include "gline.h" +#include "hash.h" #include "ircd.h" #include "ircd_chattr.h" #include "ircd_crypt.h" @@ -532,9 +533,12 @@ { 'i', "access", (STAT_FLAG_OPERFEAT | STAT_FLAG_VARPARAM), FEAT_HIS_STATS_i, stats_access, CONF_CLIENT, "Connection authorization lines." }, - { 'j', "histogram", STAT_FLAG_OPERFEAT, FEAT_HIS_STATS_j, + { 'j', "histogram", (STAT_FLAG_OPERFEAT | STAT_FLAG_CASESENS), FEAT_HIS_STATS_j, msgq_histogram, 0, "Message length histogram." }, + { 'J', "jupes", (STAT_FLAG_OPERFEAT | STAT_FLAG_CASESENS), FEAT_HIS_STATS_J, + stats_nickjupes, 0, + "Nickname jupes." }, { 'k', "klines", (STAT_FLAG_OPERFEAT | STAT_FLAG_VARPARAM), FEAT_HIS_STATS_k, stats_klines, 0, "Local bans (K-Lines)." }, @@ -574,7 +578,7 @@ "Local connection statistics (Total SND/RCV, etc)." }, { 'U', "uworld", (STAT_FLAG_OPERFEAT | STAT_FLAG_CASESENS), FEAT_HIS_STATS_U, stats_configured_links, CONF_UWORLD, - "Service server & nick jupes information." }, + "Service server information." }, { 'u', "uptime", (STAT_FLAG_OPERFEAT | STAT_FLAG_CASESENS), FEAT_HIS_STATS_u, stats_uptime, 0, "Current uptime & highest connection count." }, ----------------------- End of diff ----------------------- |
From: Toni G. <zo...@us...> - 2005-04-02 19:49:26
|
CVSROOT : /cvsroot/irc-dev Module : ircd-ircdev Commit time: 2005-04-02 19:49:20 UTC Modified files: TODO.es Log message: Actualizacion TODO ---------------------- diff included ---------------------- Index: ircd-ircdev/TODO.es diff -u ircd-ircdev/TODO.es:1.15 ircd-ircdev/TODO.es:1.16 --- ircd-ircdev/TODO.es:1.15 Thu Mar 31 05:12:02 2005 +++ ircd-ircdev/TODO.es Sat Apr 2 11:49:09 2005 @@ -1,7 +1,7 @@ # # TODO para ircd-ircdev # -# $Id: TODO.es,v 1.15 2005/03/31 13:12:02 zolty Exp $ +# $Id: TODO.es,v 1.16 2005/04/02 19:49:09 zolty Exp $ # # Insertar las nuevas entradas al principio de la lista TODO. # @@ -9,6 +9,7 @@ URGENTE -------------------------------------------------------------------------------------- - [D] Implementar el protocolo DDB. + - [D] Implementar tabla i de Ilines - [D] Implementar tabla o de Operadores - [D] Implementar tabla p de Privilegios - [D] Implementar tabla f de Features @@ -57,7 +58,6 @@ - [G] Mirar si el aviso de invites lo haga con wallchops o con raw. - [D] Documentar para Doxygen el Watch y el DDB - [G] Soporte de +e (exceptions) de canales - - [G] STATS J para listar nicks en jupe - [G] Modo de canal +u de esconder mensajes de quit y part (evitar publicidad) - [G] Sistema de modulos dinámicos ----------------------- End of diff ----------------------- |