diff -urN eggdrop1.6.17/CONTENTS eggdrop1.6.18/CONTENTS --- eggdrop1.6.17/CONTENTS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/CONTENTS 2006-03-27 01:48:57.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.17 2004/07/25 03:56:58 wcc Exp $ +$Id: CONTENTS,v 1.19 2006-03-27 06:48:57 wcc Exp $ Directory Contents - / Last revised: April 16, 2003 @@ -65,4 +65,4 @@ You should read this file before even trying to compile Eggdrop. _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/COPYING eggdrop1.6.18/COPYING --- eggdrop1.6.17/COPYING 2000-08-03 00:45:29.000000000 -0400 +++ eggdrop1.6.18/COPYING 2006-03-27 01:48:57.000000000 -0500 @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public @@ -55,8 +55,8 @@ The precise terms and conditions for copying, distribution and modification follow. - - GNU GENERAL PUBLIC LICENSE + + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains @@ -110,7 +110,7 @@ License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -168,7 +168,7 @@ access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is @@ -225,7 +225,7 @@ This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License @@ -255,7 +255,7 @@ of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN @@ -277,9 +277,9 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it diff -urN eggdrop1.6.17/FEATURES eggdrop1.6.18/FEATURES --- eggdrop1.6.17/FEATURES 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/FEATURES 2006-03-27 01:48:57.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: FEATURES,v 1.18 2004/07/25 03:56:58 wcc Exp $ +$Id: FEATURES,v 1.20 2006-03-27 06:48:57 wcc Exp $ Features of Eggdrop Last revised: June 05, 2002 @@ -57,4 +57,4 @@ _____________________________________________________________________ Copyright (C) 1997 Robey Pointer - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/INSTALL eggdrop1.6.18/INSTALL --- eggdrop1.6.17/INSTALL 2004-08-08 14:16:59.000000000 -0400 +++ eggdrop1.6.18/INSTALL 2006-03-27 01:48:57.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.25 2004/08/08 18:16:59 wcc Exp $ +$Id: INSTALL,v 1.27 2006-03-27 06:48:57 wcc Exp $ Compilation and Installation of Eggdrop Last revised: July 24, 2004 @@ -149,4 +149,4 @@ _____________________________________________________________________ Copyright (C) 1997 Robey Pointer - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/Makefile.in eggdrop1.6.18/Makefile.in --- eggdrop1.6.17/Makefile.in 2004-07-25 07:17:33.000000000 -0400 +++ eggdrop1.6.18/Makefile.in 2004-08-28 02:43:21.000000000 -0400 @@ -2,7 +2,7 @@ # This is the Makefile for EGGDROP (the IRC bot) # You should never need to edit this. # -# $Id: Makefile.in,v 1.39 2004/07/25 11:17:33 wcc Exp $ +# $Id: Makefile.in,v 1.40 2004-08-28 06:43:21 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ @@ -115,8 +115,7 @@ 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' 'XLIBS=$(XLIBS)' \ 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static debug version)' 'MODOBJS=mod/*.o' -MAKE_DEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \ -'STRIP=$(STRIP)' 'CFLGS=$(CFLGS)' +MAKE_DEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' MAKE_CONFIG = $(MAKE) 'MAKE=$(MAKE)' diff -urN eggdrop1.6.17/NEWS eggdrop1.6.18/NEWS --- eggdrop1.6.17/NEWS 2004-08-02 14:50:46.000000000 -0400 +++ eggdrop1.6.18/NEWS 2006-03-27 01:48:57.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: NEWS,v 1.32 2004/08/02 18:50:46 wcc Exp $ +$Id: NEWS,v 1.34 2006-03-27 06:48:57 wcc Exp $ News Last revised: April 16, 2003 @@ -217,4 +217,4 @@ ________________________________________________________________________ Copyright (C) 1997 Robey Pointer -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/README eggdrop1.6.18/README --- eggdrop1.6.17/README 2004-08-09 00:39:43.000000000 -0400 +++ eggdrop1.6.18/README 2006-03-27 01:48:57.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: README,v 1.41 2004/08/09 04:39:43 wcc Exp $ +$Id: README,v 1.44 2006-03-27 06:48:57 wcc Exp $ Readme Last revised: June 5, 2002 @@ -488,10 +488,10 @@ The files "match.c", "net.c", and "blowfish.c" are exempt from the above restrictions. "match.c" is original code by Chris Fuller (email: crf@cfox.bchs.uh.edu) and has been placed by him into the public domain. - "net.c" is by me, and I [who?] also choose to place it in the public - domain. "blowfish.c" is by various sources and is in the public domain - as well. All 3 files contain useful functions that could easily be - ported to other applications. + "net.c" is by me, and I [Robey Pointer] also choose to place it in the + public domain. "blowfish.c" is by various sources and is in the public + domain as well. All 3 files contain useful functions that could easily + be ported to other applications. Tcl is by John Ousterhout and is in no way affiliated with Eggdrop. It likely has its own set of copyrights and whatnots. @@ -581,5 +581,5 @@ ________________________________________________________________________ Copyright (C) 1997 Robey Pointer -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/aclocal.m4 eggdrop1.6.18/aclocal.m4 --- eggdrop1.6.17/aclocal.m4 2004-08-22 18:34:02.000000000 -0400 +++ eggdrop1.6.18/aclocal.m4 2006-07-09 19:13:54.953125000 -0400 @@ -1,6 +1,6 @@ dnl aclocal.m4: macros autoconf uses when building configure from configure.ac dnl -dnl Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +dnl Copyright (C) 1999 - 2006 Eggheads Development Team dnl dnl This program is free software; you can redistribute it and/or dnl modify it under the terms of the GNU General Public License @@ -16,7 +16,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: aclocal.m4,v 1.95 2004/08/21 00:16:55 wcc Exp $ +dnl $Id: aclocal.m4,v 1.100 2006-03-27 06:48:57 wcc Exp $ dnl @@ -78,13 +78,13 @@ AC_MSG_RESULT([ To enable module support, type "make eggdrop" instead of just]) AC_MSG_RESULT([ "make" after you run "make config" (or "make iconfig").]) AC_MSG_RESULT - AC_MSG_RESULT([ As we have not done a sufficiant ammount of testing on this]) + AC_MSG_RESULT([ As we have not done a sufficient amount of testing on this]) AC_MSG_RESULT([ OS, your feedback is greatly appreciated. Please let us know]) AC_MSG_RESULT([ at bugs@eggheads.org if there are any problems compiling with]) AC_MSG_RESULT([ module support, or if you got it to work :)]) AC_MSG_RESULT fi - AC_MSG_RESULT([If you experiance any problems compiling Eggdrop, please read the]) + AC_MSG_RESULT([If you experience any problems compiling Eggdrop, please read the]) AC_MSG_RESULT([compile guide, found in doc/COMPILE-GUIDE.]) AC_MSG_RESULT fi @@ -523,7 +523,7 @@ *) if test -r /mach; then # At this point, we're guessing this is NeXT Step. We support rld, so - # modules will probably work on NeXT now, but we have absolutly no way + # modules will probably work on NeXT now, but we have absolutely no way # to test this. I've never even seen a NeXT box, let alone do I know of # one I can test this on. LOAD_METHOD="rld" @@ -592,6 +592,7 @@ SUNOS="no" HPUX="no" EGG_CYGWIN="no" + RANDMAX="RAND_MAX" case "$egg_cv_var_system_type" in BSD/OS) @@ -710,6 +711,8 @@ SHLIB_LD="ld" SHLIB_CC="$CC -PIC" fi + # Solaris defines (2^31)-1 as the limit for random() rather than RAND_MAX. + RANDMAX="0x7FFFFFFF" ;; *BSD) # FreeBSD/OpenBSD/NetBSD @@ -720,6 +723,7 @@ # Mac OS X SHLIB_CC="$CC -fPIC" SHLIB_LD="ld -bundle -undefined error" + AC_DEFINE(BIND_8_COMPAT, 1, [Define if running on Mac OS X with dns.mod.]) ;; *) if test -r /mach; then @@ -741,6 +745,7 @@ AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_CC) AC_SUBST(SHLIB_STRIP) + AC_DEFINE_UNQUOTED(RANDOM_MAX, $RANDMAX, [Define limit of random() function.]) ]) @@ -1428,7 +1433,7 @@ dnl dnl Since module's Makefiles aren't generated by configure, some paths in dnl src/mod/Makefile.in take care of them. For correct path "calculation", we -dnl need to keep absolute paths in mind (which don't need a "../" pre-pended). +dnl need to keep absolute paths in mind (which don't need a "../" prepended). dnl AC_DEFUN([EGG_SUBST_MOD_UPDIR], [ case "$srcdir" in diff -urN eggdrop1.6.17/config.h.in eggdrop1.6.18/config.h.in --- eggdrop1.6.17/config.h.in 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/config.h.in 2006-07-09 18:00:18.000000000 -0400 @@ -3,6 +3,9 @@ #ifndef _EGG_CONFIG_H #define _EGG_CONFIG_H +/* Define if running on Mac OS X with dns.mod. */ +#undef BIND_8_COMPAT + /* Define if running on NeXT Step. */ #undef BORGCUBES @@ -175,6 +178,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -297,6 +303,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define limit of random() function. */ +#undef RANDOM_MAX + /* Define to the type of arg 1 for `select'. */ #undef SELECT_TYPE_ARG1 diff -urN eggdrop1.6.17/configure eggdrop1.6.18/configure --- eggdrop1.6.17/configure 2004-08-22 18:34:02.000000000 -0400 +++ eggdrop1.6.18/configure 2006-07-09 19:13:54.921875000 -0400 @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Revision: 1.14 . +# From configure.ac Revision: 1.23 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for Eggdrop 1.6.17. +# Generated by GNU Autoconf 2.59 for Eggdrop 1.6.18. # # Report bugs to . # @@ -9,7 +9,7 @@ # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 1999 - 2006 Eggheads Development Team ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## @@ -272,8 +272,8 @@ # Identity of this package. PACKAGE_NAME='Eggdrop' PACKAGE_TARNAME='eggdrop' -PACKAGE_VERSION='1.6.17' -PACKAGE_STRING='Eggdrop 1.6.17' +PACKAGE_VERSION='1.6.18' +PACKAGE_STRING='Eggdrop 1.6.18' PACKAGE_BUGREPORT='bugs@eggheads.org' ac_unique_file="src/eggdrop.h" @@ -784,7 +784,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Eggdrop 1.6.17 to adapt to many kinds of systems. +\`configure' configures Eggdrop 1.6.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -841,7 +841,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Eggdrop 1.6.17:";; + short | recursive ) echo "Configuration of Eggdrop 1.6.18:";; esac cat <<\_ACEOF @@ -965,14 +965,14 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -Eggdrop configure 1.6.17 +Eggdrop configure 1.6.18 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team _ACEOF exit 0 fi @@ -981,7 +981,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Eggdrop $as_me 1.6.17, which was +It was created by Eggdrop $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -4966,7 +4966,7 @@ *) if test -r /mach; then # At this point, we're guessing this is NeXT Step. We support rld, so - # modules will probably work on NeXT now, but we have absolutly no way + # modules will probably work on NeXT now, but we have absolutely no way # to test this. I've never even seen a NeXT box, let alone do I know of # one I can test this on. LOAD_METHOD="rld" @@ -5056,6 +5056,7 @@ SUNOS="no" HPUX="no" EGG_CYGWIN="no" + RANDMAX="RAND_MAX" case "$egg_cv_var_system_type" in BSD/OS) @@ -5302,6 +5303,8 @@ SHLIB_LD="ld" SHLIB_CC="$CC -PIC" fi + # Solaris defines (2^31)-1 as the limit for random() rather than RAND_MAX. + RANDMAX="0x7FFFFFFF" ;; *BSD) # FreeBSD/OpenBSD/NetBSD @@ -5312,6 +5315,11 @@ # Mac OS X SHLIB_CC="$CC -fPIC" SHLIB_LD="ld -bundle -undefined error" + +cat >>confdefs.h <<\_ACEOF +#define BIND_8_COMPAT 1 +_ACEOF + ;; *) if test -r /mach; then @@ -5338,6 +5346,11 @@ +cat >>confdefs.h <<_ACEOF +#define RANDOM_MAX $RANDMAX +_ACEOF + + # Checks for header files. @@ -5765,7 +5778,8 @@ -for ac_header in arpa/inet.h fcntl.h limits.h locale.h netdb.h netinet/in.h std_args.h stdarg.h stddef.h sys/file.h sys/param.h sys/rusage.h sys/select.h sys/socket.h sys/time.h unistd.h wchar.h + +for ac_header in arpa/inet.h fcntl.h limits.h locale.h netdb.h netinet/in.h stdio.h std_args.h stdarg.h stddef.h sys/file.h sys/param.h sys/rusage.h sys/select.h sys/socket.h sys/time.h unistd.h wchar.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then @@ -9356,34 +9370,36 @@ -# Tcl version to recomend if no Tcl is found, and the site where it can be +# Tcl version to recommend if no Tcl is found, and the site where it can be # found for download. tclrecommendver="8.4.6" tclrecommendsite="ftp://tcl.activestate.com/pub/tcl/tcl8_4/" - # Tcl library filename prefixes, suffixes, and search paths. -tcllibnames="tcl8.4 tcl84 tcl8.3 tcl83 tcl8.2 tcl82 tcl8.1 tcl81 \ - tcl8.0 tcl80 tcl tcl7.6 tcl76 tcl7.5 tcl75 tcl7.4 tcl74 tcl7.3 \ - tcl73 tcl7.2 tcl72 tcl7.1 tcl71 tcl7.0 tcl70 tcl8.5 tcl85" -tcllibextensions=".so .so.1 .so.1.0 .so.1.2 .dll .dylib .a .sl" -tcllibpaths="$HOME/lib $HOME/tcl/lib /usr/local/lib /usr/lib /lib \ - /usr/local/lib/tcl8.4 /usr/local/lib/tcl8.3 \ - /usr/lib/tcl8.4 /usr/lib/tcl8.3 \ - /usr/local/lib/tcl8.5 /usr/lib/tcl8.5 \ - /usr/local/pkgs/tcl/lib /sys/lib \ - /usr/i486-linuxaout/lib /beos/system/lib $HOME" +tcllibnames="tcl8.5 tcl85 tcl8.4 tcl84 tcl8.3 tcl83 tcl8.2 tcl82 \ + tcl8.1 tcl81 tcl8.0 tcl80 tcl tcl7.6 tcl76 tcl7.5 tcl75 \ + tcl7.4 tcl74 tcl7.3 tcl73 tcl7.2 tcl72 tcl7.1 tcl71 \ + tcl7.0 tcl70" +tcllibextensions=".so .so.1 .so.1.0 .so.1.2 .dll .dylib .sl .a" +tcllibpaths="$HOME/lib $HOME/tcl/lib \ + /usr/local/lib /usr/lib /lib /lib64 /usr/lib64 \ + /usr/local/lib/tcl8.5 /usr/lib/tcl8.5 \ + /usr/local/lib/tcl8.4 /usr/lib/tcl8.4 \ + /usr/local/lib/tcl8.3 /usr/lib/tcl8.3 \ + /usr/local/pkgs/tcl/lib /sys/lib /usr/pkg/lib \ + /usr/i486-linuxaout/lib /beos/system/lib $HOME" # Tcl header filenames and search paths. tclheadernames="tcl.h" -tclheaderpaths="$HOME/include $HOME/tcl/include /usr/local/include /usr/include \ - /usr/local/include/tcl8.3 /usr/local/include/tcl8.4 \ - /usr/include/tcl8.3 /usr/include/tcl8.4 \ +tclheaderpaths="$HOME/include $HOME/tcl/include \ + /usr/local/include /usr/include \ /usr/local/include/tcl8.5 /usr/include/tcl8.5 \ + /usr/local/include/tcl8.4 /usr/include/tcl8.4 \ + /usr/local/include/tcl8.3 /usr/include/tcl8.3 \ /usr/local/pkgs/tcl/include /sys/include \ - /beos/system/include /beos/devel/include $HOME" + /usr/pkg/lib /beos/system/include /beos/devel/include $HOME" # Misc Tcl checks. We save the cache (if used) here to speed things up if we @@ -10222,9 +10238,10 @@ # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -10502,7 +10519,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by Eggdrop $as_me 1.6.17, which was +This file was extended by Eggdrop $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10565,7 +10582,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -Eggdrop config.status 1.6.17 +Eggdrop config.status 1.6.18 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -11499,8 +11516,8 @@ echo "${ECHO_T} \"make\" after you run \"make config\" (or \"make iconfig\")." >&6 echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6 - echo "$as_me:$LINENO: result: As we have not done a sufficiant ammount of testing on this" >&5 -echo "${ECHO_T} As we have not done a sufficiant ammount of testing on this" >&6 + echo "$as_me:$LINENO: result: As we have not done a sufficient amount of testing on this" >&5 +echo "${ECHO_T} As we have not done a sufficient amount of testing on this" >&6 echo "$as_me:$LINENO: result: OS, your feedback is greatly appreciated. Please let us know" >&5 echo "${ECHO_T} OS, your feedback is greatly appreciated. Please let us know" >&6 echo "$as_me:$LINENO: result: at bugs@eggheads.org if there are any problems compiling with" >&5 @@ -11510,8 +11527,8 @@ echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6 fi - echo "$as_me:$LINENO: result: If you experiance any problems compiling Eggdrop, please read the" >&5 -echo "${ECHO_T}If you experiance any problems compiling Eggdrop, please read the" >&6 + echo "$as_me:$LINENO: result: If you experience any problems compiling Eggdrop, please read the" >&5 +echo "${ECHO_T}If you experience any problems compiling Eggdrop, please read the" >&6 echo "$as_me:$LINENO: result: compile guide, found in doc/COMPILE-GUIDE." >&5 echo "${ECHO_T}compile guide, found in doc/COMPILE-GUIDE." >&6 echo "$as_me:$LINENO: result: " >&5 diff -urN eggdrop1.6.17/configure.ac eggdrop1.6.18/configure.ac --- eggdrop1.6.17/configure.ac 2004-07-25 18:15:12.000000000 -0400 +++ eggdrop1.6.18/configure.ac 2006-07-09 18:00:18.000000000 -0400 @@ -1,11 +1,11 @@ dnl configure.ac: this file is processed by autoconf to produce ./configure. dnl -dnl $Id: configure.ac,v 1.14 2004/07/25 22:15:12 wcc Exp $ +dnl $Id: configure.ac,v 1.23 2006-07-09 22:00:18 wcc Exp $ AC_PREREQ(2.59) -AC_INIT([Eggdrop],[1.6.17],[bugs@eggheads.org]) -AC_COPYRIGHT([Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team]) -AC_REVISION($Revision: 1.14 $) +AC_INIT([Eggdrop],[1.6.18],[bugs@eggheads.org]) +AC_COPYRIGHT([Copyright (C) 1999 - 2006 Eggheads Development Team]) +AC_REVISION($Revision: 1.23 $) AC_CONFIG_SRCDIR(src/eggdrop.h) AC_CONFIG_AUX_DIR(misc) AC_CONFIG_HEADER(config.h) @@ -61,7 +61,7 @@ EGG_HEADER_STDC AC_HEADER_DIRENT AC_HEADER_TIME -AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h locale.h netdb.h netinet/in.h std_args.h stdarg.h stddef.h sys/file.h sys/param.h sys/rusage.h sys/select.h sys/socket.h sys/time.h unistd.h wchar.h]) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h locale.h netdb.h netinet/in.h stdio.h std_args.h stdarg.h stddef.h sys/file.h sys/param.h sys/rusage.h sys/select.h sys/socket.h sys/time.h unistd.h wchar.h]) # Checks for typedefs, structures, and compiler characteristics. @@ -97,34 +97,36 @@ EGG_EXEEXT -# Tcl version to recomend if no Tcl is found, and the site where it can be +# Tcl version to recommend if no Tcl is found, and the site where it can be # found for download. tclrecommendver="8.4.6" tclrecommendsite="ftp://tcl.activestate.com/pub/tcl/tcl8_4/" - # Tcl library filename prefixes, suffixes, and search paths. -tcllibnames="tcl8.4 tcl84 tcl8.3 tcl83 tcl8.2 tcl82 tcl8.1 tcl81 \ - tcl8.0 tcl80 tcl tcl7.6 tcl76 tcl7.5 tcl75 tcl7.4 tcl74 tcl7.3 \ - tcl73 tcl7.2 tcl72 tcl7.1 tcl71 tcl7.0 tcl70 tcl8.5 tcl85" -tcllibextensions=".so .so.1 .so.1.0 .so.1.2 .dll .dylib .a .sl" -tcllibpaths="$HOME/lib $HOME/tcl/lib /usr/local/lib /usr/lib /lib \ - /usr/local/lib/tcl8.4 /usr/local/lib/tcl8.3 \ - /usr/lib/tcl8.4 /usr/lib/tcl8.3 \ - /usr/local/lib/tcl8.5 /usr/lib/tcl8.5 \ - /usr/local/pkgs/tcl/lib /sys/lib \ - /usr/i486-linuxaout/lib /beos/system/lib $HOME" +tcllibnames="tcl8.5 tcl85 tcl8.4 tcl84 tcl8.3 tcl83 tcl8.2 tcl82 \ + tcl8.1 tcl81 tcl8.0 tcl80 tcl tcl7.6 tcl76 tcl7.5 tcl75 \ + tcl7.4 tcl74 tcl7.3 tcl73 tcl7.2 tcl72 tcl7.1 tcl71 \ + tcl7.0 tcl70" +tcllibextensions=".so .so.1 .so.1.0 .so.1.2 .dll .dylib .sl .a" +tcllibpaths="$HOME/lib $HOME/tcl/lib \ + /usr/local/lib /usr/lib /lib /lib64 /usr/lib64 \ + /usr/local/lib/tcl8.5 /usr/lib/tcl8.5 \ + /usr/local/lib/tcl8.4 /usr/lib/tcl8.4 \ + /usr/local/lib/tcl8.3 /usr/lib/tcl8.3 \ + /usr/local/pkgs/tcl/lib /sys/lib /usr/pkg/lib \ + /usr/i486-linuxaout/lib /beos/system/lib $HOME" # Tcl header filenames and search paths. tclheadernames="tcl.h" -tclheaderpaths="$HOME/include $HOME/tcl/include /usr/local/include /usr/include \ - /usr/local/include/tcl8.3 /usr/local/include/tcl8.4 \ - /usr/include/tcl8.3 /usr/include/tcl8.4 \ +tclheaderpaths="$HOME/include $HOME/tcl/include \ + /usr/local/include /usr/include \ /usr/local/include/tcl8.5 /usr/include/tcl8.5 \ + /usr/local/include/tcl8.4 /usr/include/tcl8.4 \ + /usr/local/include/tcl8.3 /usr/include/tcl8.3 \ /usr/local/pkgs/tcl/include /sys/include \ - /beos/system/include /beos/devel/include $HOME" + /usr/pkg/lib /beos/system/include /beos/devel/include $HOME" # Misc Tcl checks. We save the cache (if used) here to speed things up if we diff -urN eggdrop1.6.17/disabled_modules eggdrop1.6.18/disabled_modules --- eggdrop1.6.17/disabled_modules 2002-06-04 01:11:10.000000000 -0400 +++ eggdrop1.6.18/disabled_modules 2002-06-04 01:11:10.000000000 -0400 @@ -1,7 +1,7 @@ # disabled_modules -- File which lists all Eggdrop modules that are # disabled by default. # -# $Id: disabled_modules,v 1.6 2002/06/04 05:11:10 wcc Exp $ +# $Id: disabled_modules,v 1.6 2002-06-04 05:11:10 wcc Exp $ # # Note: # - Lines which start with a '#' character are ignored. diff -urN eggdrop1.6.17/doc/ABOUT eggdrop1.6.18/doc/ABOUT --- eggdrop1.6.17/doc/ABOUT 2004-08-08 23:19:01.000000000 -0400 +++ eggdrop1.6.18/doc/ABOUT 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: ABOUT,v 1.12 2004/08/09 03:19:01 wcc Exp $ +$Id: ABOUT,v 1.14 2006-03-27 06:48:58 wcc Exp $ About Eggdrop Last revised: January 12, 2002 @@ -65,4 +65,4 @@ _____________________________________________________________________ - Copyright (C) 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/AUTHORS eggdrop1.6.18/doc/AUTHORS --- eggdrop1.6.17/doc/AUTHORS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/AUTHORS 2006-04-14 18:18:27.000000000 -0400 @@ -1,10 +1,10 @@ -$Id: AUTHORS,v 1.26 2004/07/25 03:56:58 wcc Exp $ +$Id: AUTHORS,v 1.32 2006-04-14 22:18:27 wcc Exp $ -Eggdrop Developers and Contributers -Last revised: March 9, 2002 +Eggdrop Developers and Contributors +Last revised: April 14, 2006 _____________________________________________________________________ - Eggdrop Developers and Contributers + Eggdrop Developers and Contributors This file attempts to list the majority of the Eggdrop developers and @@ -19,6 +19,7 @@ BarkerJr Bryon Eldridge Beldin Darrin Smith Ben Ben Dover + bhab Kelsey Hudson ButchBub Scott Taylor Cybah Jonathan Miles darko`` Darko Ilic @@ -40,18 +41,22 @@ KingKurly Gregory Kubaryk Kirben Travis Howell Kirk Ian Kaney + lordares Bryan Drewery Lucas Lucas Nussbaum nakee Ely Levy + Paladin Alan Cameron poptix Matthew Hallacy Raistlin Jason Slagle RebuM Martin Matuska + robey Robey Pointer rtc Peter 'Rattacresh' Backes SegFault Ryan Butler + SET Sven Trenkel Shaun Shaun Braun slennox Shayne Lennox stdarg Sup Teemu Hjelt - SuperS + SuperS Kevin Lamothe TaKeDa Dariusz Kulinski TheGhost James Simmons TheUnknown @@ -68,4 +73,4 @@ Development Team at eggdev@eggheads.org. _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/BANS eggdrop1.6.18/doc/BANS --- eggdrop1.6.17/doc/BANS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/BANS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: BANS,v 1.6 2004/07/25 03:56:58 wcc Exp $ +$Id: BANS,v 1.8 2006-03-27 06:48:58 wcc Exp $ Bans, Invites and Exempts Last revised: March 07, 2002 @@ -67,4 +67,4 @@ whichever happens last. _____________________________________________________________________ - Copyright (C) 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/BOTNET eggdrop1.6.18/doc/BOTNET --- eggdrop1.6.17/doc/BOTNET 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/BOTNET 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: BOTNET,v 1.19 2004/07/25 03:56:58 wcc Exp $ +$Id: BOTNET,v 1.21 2006-03-27 06:48:58 wcc Exp $ Botnet Sharing and Linking Last revised: June 4, 2002 @@ -300,4 +300,4 @@ `-+Lameshare _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/COMPILE-GUIDE eggdrop1.6.18/doc/COMPILE-GUIDE --- eggdrop1.6.17/doc/COMPILE-GUIDE 2004-08-20 20:16:55.000000000 -0400 +++ eggdrop1.6.18/doc/COMPILE-GUIDE 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: COMPILE-GUIDE,v 1.2 2004/08/21 00:16:55 wcc Exp $ +$Id: COMPILE-GUIDE,v 1.5 2006-03-27 06:48:58 wcc Exp $ Eggdrop Compile Guide and FAQ Last revised: August 20, 2004 @@ -255,7 +255,7 @@ This is usually something like 'C:\cygwin\home\\'. After downloading, extract the Eggdrop tarball: - tar -zxf eggdrop1.6.17.tar.gz + tar -zxf eggdrop1.6.18.tar.gz 4. Run './configure --enable-strip'. Debugging information under Windows is basically useless to the development team, and this will @@ -279,8 +279,8 @@ cd 'C://' (example: cd 'C:/eggdrop') rm modules rm eggdrop.exe - mv eggdrop.exe-1.6.17 eggdrop.exe - mv modules-1.6.17 modules + mv eggdrop.exe-1.6.18 eggdrop.exe + mv modules-1.6.18 modules 9. Create a 'lib' directory and copy needed libraries using the following commands. This assumes that you installed your Eggdrop in @@ -532,4 +532,4 @@ _____________________________________________________________________ Copyright (C) 1997 Robey Pointer - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/CONTENTS eggdrop1.6.18/doc/CONTENTS --- eggdrop1.6.17/doc/CONTENTS 2004-08-08 14:16:59.000000000 -0400 +++ eggdrop1.6.18/doc/CONTENTS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.21 2004/08/08 18:16:59 wcc Exp $ +$Id: CONTENTS,v 1.23 2006-03-27 06:48:58 wcc Exp $ Directory Contents - doc/ Last revised: August 04, 2004 @@ -65,4 +65,4 @@ This is a complete list of changes made to Eggdrop 1.6. _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/FIRST-SCRIPT eggdrop1.6.18/doc/FIRST-SCRIPT --- eggdrop1.6.17/doc/FIRST-SCRIPT 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/FIRST-SCRIPT 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: FIRST-SCRIPT,v 1.4 2004/07/25 03:56:58 wcc Exp $ +$Id: FIRST-SCRIPT,v 1.6 2006-03-27 06:48:58 wcc Exp $ Your First Eggdrop Script Last revised: December 07, 2003 @@ -98,4 +98,4 @@ # Here's the end of the script. _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/KNOWN-PROBLEMS eggdrop1.6.18/doc/KNOWN-PROBLEMS --- eggdrop1.6.17/doc/KNOWN-PROBLEMS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/KNOWN-PROBLEMS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: KNOWN-PROBLEMS,v 1.16 2004/07/25 03:56:58 wcc Exp $ +$Id: KNOWN-PROBLEMS,v 1.18 2006-03-27 06:48:58 wcc Exp $ Known Problems Last revised: April 16, 2003 @@ -25,4 +25,4 @@ Eggdrop can't handle these errors at the moment. _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/MODULES eggdrop1.6.18/doc/MODULES --- eggdrop1.6.17/doc/MODULES 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/MODULES 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: MODULES,v 1.30 2004/07/25 03:56:58 wcc Exp $ +$Id: MODULES,v 1.32 2006-03-27 06:48:58 wcc Exp $ Eggdrop Module Information Last revised: March 04, 2003 @@ -393,4 +393,4 @@ which version Eggdrop the module is written for. _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/Makefile.in eggdrop1.6.18/doc/Makefile.in --- eggdrop1.6.17/doc/Makefile.in 2004-08-08 14:17:00.000000000 -0400 +++ eggdrop1.6.18/doc/Makefile.in 2004-08-08 14:17:00.000000000 -0400 @@ -1,5 +1,5 @@ # Makefile for doc/ -# $Id: Makefile.in,v 1.23 2004/08/08 18:17:00 wcc Exp $ +# $Id: Makefile.in,v 1.23 2004-08-08 18:17:00 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ diff -urN eggdrop1.6.17/doc/PARTYLINE eggdrop1.6.18/doc/PARTYLINE --- eggdrop1.6.17/doc/PARTYLINE 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/PARTYLINE 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: PARTYLINE,v 1.8 2004/07/25 03:56:58 wcc Exp $ +$Id: PARTYLINE,v 1.10 2006-03-27 06:48:58 wcc Exp $ The Party Line Last revised: December 31, 2001 @@ -40,4 +40,4 @@ channels with ".chat off". _____________________________________________________________________ - Copyright (C) 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2002 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/PATCH-HOWTO eggdrop1.6.18/doc/PATCH-HOWTO --- eggdrop1.6.17/doc/PATCH-HOWTO 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/PATCH-HOWTO 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: PATCH-HOWTO,v 1.5 2004/07/25 03:56:58 wcc Exp $ +$Id: PATCH-HOWTO,v 1.8 2006-03-27 06:48:58 wcc Exp $ Patch Howto Last revised: July 23, 2004 @@ -32,7 +32,7 @@ To apply a patch to an Eggdrop, you have to first obtain the Eggdrop source code. You should always keep a tar.gz archive with the source of your current Eggdrop on your shell. In the next step, you have to change - to your source directory (i.e.: /home/user/eggdrop1.6.17/) and type + to your source directory (i.e.: /home/user/eggdrop1.6.18/) and type the following command: patch -p1 < ../path.to.the/patch @@ -119,4 +119,4 @@ ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6 _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/TEXT-SUBSTITUTIONS eggdrop1.6.18/doc/TEXT-SUBSTITUTIONS --- eggdrop1.6.17/doc/TEXT-SUBSTITUTIONS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/TEXT-SUBSTITUTIONS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: TEXT-SUBSTITUTIONS,v 1.4 2004/07/25 03:56:58 wcc Exp $ +$Id: TEXT-SUBSTITUTIONS,v 1.7 2006-03-27 06:48:58 wcc Exp $ Textfile Substitutions Last revised: March 08, 2002 @@ -23,9 +23,9 @@ %B bot's nickname (i.e. "LamestBot") - %V current Eggdrop version (i.e. "eggdrop v1.6.17") + %V current Eggdrop version (i.e. "eggdrop v1.6.18") - %E long form of %V (i.e. "Eggdrop v1.6.17 (C) 1997 Robey Pointer (C) 2004 Eggheads Development Team") + %E long form of %V (i.e. "Eggdrop v1.6.18 (C) 1997 Robey Pointer (C) 2006 Eggheads Development Team") %C channels the bot is on (i.e. "#lamest, #botnetcentral") @@ -71,4 +71,4 @@ %{center} center the following text (70 columns) _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/TRICKS eggdrop1.6.18/doc/TRICKS --- eggdrop1.6.17/doc/TRICKS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/TRICKS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: TRICKS,v 1.3 2004/07/25 03:56:58 wcc Exp $ +$Id: TRICKS,v 1.5 2006-03-27 06:48:58 wcc Exp $ Eggdrop Tricks Last revised: December 08, 2003 @@ -44,5 +44,5 @@ set chanfile "$myvar.chan" _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/UPDATES1.6 eggdrop1.6.18/doc/UPDATES1.6 --- eggdrop1.6.17/doc/UPDATES1.6 2004-08-22 18:33:24.000000000 -0400 +++ eggdrop1.6.18/doc/UPDATES1.6 2006-07-09 18:14:07.000000000 -0400 @@ -1,4 +1,4 @@ -$Id: UPDATES1.6,v 1.591 2004/08/22 22:33:24 wcc Exp $ +$Id: UPDATES1.6,v 1.630 2006-07-09 22:14:07 wcc Exp $ Eggdrop Changes (since v1.6.0) _____________________________________________________________________ @@ -10,6 +10,146 @@ ftp://ftp.eggheads.org/pub/eggdrop/UPDATES/ + + 1.6.18 (09 July 2006) + * Look for Tcl in /lib64 and /usr/lib64. + * Patch by: Kuja + + + RC1 released on April 3rd, 2006. + + * Fixed a type conversion problem in snprintf.c causing Eggdrop to not + compile on OSF1. + * Found by: Joker - Patch by: Wcc + + - Detect NetBSD Tcl in /usr/pkg/lib and /usr/pkg/include. + * Found by: mish - Patch by: Wcc + + - Fixed possibility of referencing a NULL pointer in rembot(). + - Added a missing param cast for dcc_table.timeout. + - Fixed a memleak / other nasty stuff when MODES_PER_LINE_MAX != 6. + - Fixed putlog() of an uninitialized (and incorrect) variable in + dcc_telnet_hostresolved(). + * Patch by: lordares + + - Valgrind doesn't bitch about init_uptime() now. + * Patch by: Wcc + + - Dns.mod should compile on Mac OS X now. Thanks to Netscrape @ EFNet for + testing. + * Found by: various - Patch by: Wcc + + - Corrected nat-ip setting documentation. + * Found by: BarkerJr - Patch by: Wcc + + - Don't allow realname to be blank or whitespace. + * Found by: Jesse M - Patch by: BarkerJr / Wcc + + - Fixed an error in channel get. You can now, correctly, do a channel + get #channel stopnethack-mode. + * Found by: Chris Northwood - Patch by: Wcc + + - The pushmode command should work properly for bans now. + * Patch by: thommey + + - Apparently we broke lastbind. + * Found by: bUrN - Patch by: thommey + + - Request topic on channel reset. + * Found by: De Kus - Patch by: Darko + + - Fixed a situation where noshare could be set to 1 and never + restored. + * Patch by: lordares + + - Fixed a socklist leak in net.c. + * Patch by: lordares + + - Hopefully fixed dns lockups. + * Found by: various - Patch by: Sven Trenkel + + - Fixed remote note bug in add_note() that was introduced in 1.6.17. + Fixes Bugzilla Bug # 433 "Remote Notes Always Say User is Offline" + * Found by: alex323 - Patch by: Tothwolf + + - Completely rewrote check_tcl_bind(). + - Added inline check_bind_flags() for flag checking for check_tcl_bind(). + - Added inline check_bind_match() for match checking for check_tcl_bind(). + - Rewrote trigger_bind() and made it inline for check_tcl_bind(). + - Fixed pointless calling of nmalloc() and nfree() for ContextNote + in trigger_bind() when DEBUG_CONTEXT isn't defined. + - Moved findidx() from tcl.c to dccutil.c. + - Moved findanyidx() from tclhash.c to dccutil.c. + - Moved CHECKVALIDITY from tclhash.h to tclegg.h. + - Added CHECKVALIDITY checks to builtin_dcc() and builtin_fil(). + - Moved CMD_LEAVE from cmdt.h to tclegg.h. + - Changed NULL to CMD_LEAVE for partyline quit in cmds.c. + - Renamed BIND_EXEC_BRK to BIND_QUIT. + - Fixed misc typos. + * Patch by: Tothwolf + + - Added support to MSGM, PUBM, NOTC, and WALL binds to support bound + procs returning 1 to prevent logging of the trigger message text. + Fixes Bugzilla Bug # 334 "msgm bind return values" + - Added BIND_STACKRET bit mask and support for stacked bind return values + to check_tcl_bind(). This allows check_tcl_bind() to check if any + stacked bound procs return 1 while allowing all matching stacked binds + to be processed. Previously if BIND_WANTRET was used to check the + return value of stacked binds, only the first match would be triggered. + - Modified irc.mod gotmsg() function to trigger PUBM binds before + triggering PUB binds. MSGM and MSG binds already worked this way. + - Modified irc.mod gotmsg() function to allow a message to trigger both + PUBM and PUB binds. Previously if a message triggered a PUB bind, any + PUBM binds that might match the message text would not be triggered. + Fixes Bugzilla Bug # 351 "bind pub hogs pubm" + - Added exclusive-binds setting and code to gotmsg() functions to + allow MSGM and PUBM binds to be exclusive of MSG and PUB binds. + - Fixed logging for WALL bind. It had been broken since it was + originally implemented in eggdrop-hayes. Wallops messages were always + logged regardless of the return value of a bound proc. Returning '1' + from a bound proc now causes Eggdrop to not log the Wallops message. + * Patch by: Tothwolf + + - Check for Tcl 8.5 before older versions. + * Patch by: Tothwolf + + - Use flagrec_eq() instead of flagrec_ok() in help_subst() + since lower flags are automatically added now. + * Patch by: Tothwolf + + - Check for bot's nick and user@host earlier in detect_flood() + and detect_chan_flood(). + * Patch by: Tothwolf + + - Allow wildcard matching and stacking for note binds. + * Patch by: Tothwolf + + - Use CHANMETA to define valid channel prefixes in gotmsg(). + * Found by: zathras3 at hotmail.com - Patch by: Wcc + + - Fix for problems created when loading long user-defined channel setting + names from the channel file. + * Patch by: Stream + + - Help file update related to sharing. + * Patch by: Shawn888, slennox + + - Fix for randint() on Solaris / SunOS. + * Patch by: Mikael Hedberg + + - Updated Copyright Dates. + * Patch by: Paladin + + - Fixed 3 invalid reads in notes.c. + * Patch by: rush at winkey.oompah.org + + - Corrected a few of the error messages in neterror(). + * Found by: Steven Nikkel - Patch by: Wcc + + - Corrected the order of our search paths for Tcl. This should help stop + version mismatches between the headers and libraries. + * Patch by: CoderX2 + + 1.6.17 (22 August 2004): + Final released on August 22nd, 2004. @@ -113,6 +253,7 @@ coreutils. * Patch by: Wcc + 1.6.16 (31 May 2004): + Final released on May 31, 2004. @@ -318,10 +459,12 @@ less wrapping of description. * Patch by: Wcc + 1.6.15 (04 May 2003) Found by Fixed by What... MORA Wcc fixed a patch.h compile error + 1.6.14 (04 May 2003) Found by Fixed by What... poptix/ added support for the IPv6 protocol @@ -423,6 +566,7 @@ Wcc .say and .act now allow you to send a message to a moderated channel when the bot has halfop status + 1.6.13 (22 November 2002) Found by Fixed by What... BarkerJr doc/MODULES updates @@ -476,10 +620,12 @@ Wcc made [ban/invite/exempt]-time a channel int BarkerJr documentation updates related to the PUBM bind + 1.6.12 (26 July 2002) Found by Fixed by What... Segfault reverted the sockfix patches from 1.6.11 + 1.6.11 (26 July 2002) Found by Fixed by What... various Wcc need-[limit/invite/unban/key] work now @@ -520,6 +666,7 @@ upstream fixed a crash in seen.mod with long channel names slug added support for the +C channel mode (noctcp) on QuakeNet's ircu + 1.6.10 (29 March 2002) Found by Fixed by What... (^Baron^) Eule protect(ops|friends) works with +bitch now @@ -536,6 +683,7 @@ MC_8 Wcc added some missing command options to tcl-commands.doc Uwe cd_cmd_table was missing a null entry at the end of the list + 1.6.9 (10 March 2002) Found by Fixed by What... BarkerJr/ "Detected loop: two bots exist named bot2: disconnecting @@ -614,6 +762,7 @@ |^Raven^| stdarg/ hand2nick, nick2hand, handonchan, and chanlist might not always return guppy that a user is known even if we know they are -- this has been fixed + 1.6.8 (2 January 2002) Found by Fixed by What... PPSlim guppy removed a legacy tcl hack that probably no one but old eggdrop users @@ -686,6 +835,7 @@ various stdarg small fix to the notes module BarkerJr updated the uptime url + 1.6.7 (7 December 2001) Found by Fixed by What... guppy don't show status_log if we don't have a server @@ -791,6 +941,7 @@ Abraham Noyga the channel file is now backed up various strolchi small fix for binds and unicode characters + 1.6.6 (20 July 2001) Found by Fixed by What... Paladin a few minor doc updates @@ -801,6 +952,7 @@ LethalWP fixed a small getops bug ITE .conf cleanups, added TCL threaded info in DEBUG + 1.6.5 (10 July 2001) Found by Fixed by What... TaKeDa Fabian Fixed 'make config' for some disabled_modules cases. @@ -887,6 +1039,7 @@ Eugene fixed various formatting mistakes SuperS made the IRIX5,6 and 6-64bit OS detection into one check + 1.6.4 (13 April 2001) Found by Fixed by What... Sup Minor fixes to write_debug() function. @@ -920,6 +1073,7 @@ KingBob Tothwolf/ Fixed rest of the problems with utf8 characters. Wingman + 1.6.3 (27 February 2001) Found by Fixed by What... guppy made blowfish.mod a bit more friendly with other @@ -949,6 +1103,7 @@ GregMo guppy fixed cmd_binds when called with no argument guppy cleaned up Context and Assert usage in the modules + 1.6.2 (January 14, 2001) Found by Fixed by What... S Wilcox Sup Fixed a minor typo in got432(). @@ -985,6 +1140,7 @@ ITE/ added '--disable-tcl-threads' to configure Tothwolf + 1.6.1 (November 22, 2000) Found by Fixed by What... Wiktor updated KNOWN-PROBLEMS @@ -1005,6 +1161,7 @@ paran0id Fabian Fixed crash in expired_mask() when checking ops not present in the user-list. + 1.6.0 (November 15, 2000) Found by Fixed by What... Paladin guppy MISC_NOUSERFILE includes the actual config filename now diff -urN eggdrop1.6.17/doc/USERS eggdrop1.6.18/doc/USERS --- eggdrop1.6.17/doc/USERS 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/USERS 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: USERS,v 1.7 2004/07/25 03:56:58 wcc Exp $ +$Id: USERS,v 1.9 2006-03-27 06:48:58 wcc Exp $ Users and Flags Last revised: March 07, 2002 @@ -90,4 +90,4 @@ script that uses them. _____________________________________________________________________ - Copyright (C) 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2002 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/WEIRD-MESSAGES eggdrop1.6.18/doc/WEIRD-MESSAGES --- eggdrop1.6.17/doc/WEIRD-MESSAGES 2004-07-24 23:56:58.000000000 -0400 +++ eggdrop1.6.18/doc/WEIRD-MESSAGES 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: WEIRD-MESSAGES,v 1.4 2004/07/25 03:56:58 wcc Exp $ +$Id: WEIRD-MESSAGES,v 1.6 2006-03-27 06:48:58 wcc Exp $ Weird Messages That Get Logged Last revised: March 10, 2003 @@ -53,4 +53,4 @@ _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/html/about.html eggdrop1.6.18/doc/html/about.html --- eggdrop1.6.17/doc/html/about.html 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/about.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -80,7 +80,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/app-problems.html eggdrop1.6.18/doc/html/app-problems.html --- eggdrop1.6.17/doc/html/app-problems.html 2004-01-09 00:56:35.000000000 -0500 +++ eggdrop1.6.18/doc/html/app-problems.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -44,7 +44,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/app-textsub.html eggdrop1.6.18/doc/html/app-textsub.html --- eggdrop1.6.17/doc/html/app-textsub.html 2004-06-02 02:58:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/app-textsub.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -47,12 +47,12 @@
%V
-
current Eggdrop version (i.e. "eggdrop v1.6.17")
+
current Eggdrop version (i.e. "eggdrop v1.6.18")
%E
-
long form of %V (i.e. "Eggdrop v1.6.17 (C) 1997 Robey Pointer - (C) 2004 Eggheads Development Team")
+
long form of %V (i.e. "Eggdrop v1.6.18 (C) 1997 Robey Pointer + (C) 2006 Eggheads Development Team")
%C
@@ -133,7 +133,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/app-tricks.html eggdrop1.6.18/doc/html/app-tricks.html --- eggdrop1.6.17/doc/html/app-tricks.html 2004-01-09 00:56:35.000000000 -0500 +++ eggdrop1.6.18/doc/html/app-tricks.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -66,7 +66,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/app-weird.html eggdrop1.6.18/doc/html/app-weird.html --- eggdrop1.6.17/doc/html/app-weird.html 2004-01-09 00:56:35.000000000 -0500 +++ eggdrop1.6.18/doc/html/app-weird.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -77,7 +77,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/authors.html eggdrop1.6.18/doc/html/authors.html --- eggdrop1.6.17/doc/html/authors.html 2004-07-05 01:14:12.000000000 -0400 +++ eggdrop1.6.18/doc/html/authors.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -283,7 +283,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/bans.html eggdrop1.6.18/doc/html/bans.html --- eggdrop1.6.17/doc/html/bans.html 2004-01-09 00:56:35.000000000 -0500 +++ eggdrop1.6.18/doc/html/bans.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -116,7 +116,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/botnet.html eggdrop1.6.18/doc/html/botnet.html --- eggdrop1.6.17/doc/html/botnet.html 2004-01-09 00:56:35.000000000 -0500 +++ eggdrop1.6.18/doc/html/botnet.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -425,7 +425,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/compiling.html eggdrop1.6.18/doc/html/compiling.html --- eggdrop1.6.17/doc/html/compiling.html 2004-08-20 20:16:55.000000000 -0400 +++ eggdrop1.6.18/doc/html/compiling.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -376,7 +376,7 @@
-tar -zxf eggdrop1.6.17.tar.gz
+tar -zxf eggdrop1.6.18.tar.gz
 
@@ -410,8 +410,8 @@ cd 'C:/<install path>/' (example: cd 'C:/eggdrop') rm modules rm eggdrop.exe -mv eggdrop.exe-1.6.17 eggdrop.exe -mv modules-1.6.17 modules +mv eggdrop.exe-1.6.18 eggdrop.exe +mv modules-1.6.18 modules @@ -753,7 +753,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/egg-core.html eggdrop1.6.18/doc/html/egg-core.html --- eggdrop1.6.17/doc/html/egg-core.html 2004-07-05 00:37:33.000000000 -0400 +++ eggdrop1.6.18/doc/html/egg-core.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -602,9 +602,7 @@

This setting will drop telnet connections not matching a known - host. It greatly improves protection from IRCops, but makes it - impossible to add hosts on limbo (NOIRC) bots or have NEW as a valid - login.

+ host.

set dcc-sanitycheck 0
@@ -613,9 +611,8 @@

This setting will make the bot ignore DCC chat requests which appear to have bogus information on the grounds that the user may have been trying to make the bot connect to somewhere that will get - it into trouble, or that the user has a broken client (like mIRC - tends to do), in which case the connect wouldn't work anyway. - It's suggested that you turn this on.

+ it into trouble, or that the user has a broken client, in which + case the connect wouldn't work anyway.

set ident-timeout 5
@@ -716,10 +713,11 @@ following ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255, 10.0.0.0-10.255.255.255 and your firewall transparently changes your address to a unique address - for your box) or you have IP masquerading between you and the rest - of the world, and /dcc chat,/ctcp chat or userfile sharing - aren't working, enter your outside IP here. Do not enter - anything for my-ip or my-hostname if you use this setting.

+ for your box) or you have IP masquerading between you and the + rest of the world, and /dcc chat, /ctcp chat or userfile sharing + aren't working, enter your outside IP here. This IP is used for + transfers only, and has nothing to do with the my-ip or my-hostname + settings. You may still need to set my-ip and/or my-hostname.

set reserved-portrange 2010:2020
@@ -917,7 +915,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/faqs.html eggdrop1.6.18/doc/html/faqs.html --- eggdrop1.6.17/doc/html/faqs.html 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/faqs.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -267,7 +267,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/features.html eggdrop1.6.18/doc/html/features.html --- eggdrop1.6.17/doc/html/features.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/features.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -68,7 +68,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/index.html eggdrop1.6.18/doc/html/index.html --- eggdrop1.6.17/doc/html/index.html 2004-08-20 20:16:56.000000000 -0400 +++ eggdrop1.6.18/doc/html/index.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -130,7 +130,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/install.html eggdrop1.6.18/doc/html/install.html --- eggdrop1.6.17/doc/html/install.html 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/install.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -210,7 +210,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-assoc.html eggdrop1.6.18/doc/html/mod-assoc.html --- eggdrop1.6.17/doc/html/mod-assoc.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-assoc.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -33,7 +33,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-blowfish.html eggdrop1.6.18/doc/html/mod-blowfish.html --- eggdrop1.6.17/doc/html/mod-blowfish.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-blowfish.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -36,7 +36,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-channels.html eggdrop1.6.18/doc/html/mod-channels.html --- eggdrop1.6.17/doc/html/mod-channels.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-channels.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -570,7 +570,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-compress.html eggdrop1.6.18/doc/html/mod-compress.html --- eggdrop1.6.17/doc/html/mod-compress.html 2004-05-27 02:29:45.000000000 -0400 +++ eggdrop1.6.18/doc/html/mod-compress.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -56,7 +56,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-console.html eggdrop1.6.18/doc/html/mod-console.html --- eggdrop1.6.17/doc/html/mod-console.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-console.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -61,7 +61,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-ctcp.html eggdrop1.6.18/doc/html/mod-ctcp.html --- eggdrop1.6.17/doc/html/mod-ctcp.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-ctcp.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -74,7 +74,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-dns.html eggdrop1.6.18/doc/html/mod-dns.html --- eggdrop1.6.17/doc/html/mod-dns.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-dns.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -33,7 +33,7 @@
-

Copyright © 1999, 2000, 2001, 2002, 2003, 2004 +

Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-filesys.html eggdrop1.6.18/doc/html/mod-filesys.html --- eggdrop1.6.17/doc/html/mod-filesys.html 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/mod-filesys.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -92,7 +92,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-irc.html eggdrop1.6.18/doc/html/mod-irc.html --- eggdrop1.6.17/doc/html/mod-irc.html 2004-08-21 18:43:27.000000000 -0400 +++ eggdrop1.6.18/doc/html/mod-irc.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -275,7 +275,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-notes.html eggdrop1.6.18/doc/html/mod-notes.html --- eggdrop1.6.17/doc/html/mod-notes.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-notes.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -84,7 +84,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-seen.html eggdrop1.6.18/doc/html/mod-seen.html --- eggdrop1.6.17/doc/html/mod-seen.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-seen.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -37,7 +37,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-server.html eggdrop1.6.18/doc/html/mod-server.html --- eggdrop1.6.17/doc/html/mod-server.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-server.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -230,8 +230,8 @@
set strict-host 0
-

Set this to 1 if you don't want your the bot to strip a - leading '~'on user@hosts.

+

Set this to 0 if you want the bot to strip '~' characters + from user@hosts before matching them.

set quiet-reject 1
@@ -281,6 +281,15 @@ this to 1.

+
set exclusive-binds 0
+
+

This setting configures PUBM and MSGM binds to be exclusive + of PUB and MSG binds. This means if a MSGM bind with the mask + "*help*" exists and is triggered, any MSG bindings + with "help" in their mask will not be triggered. + Don't enable this unless you know what you are doing!

+
+
set double-mode 0
@@ -307,8 +316,8 @@

This enables Eggdrop's penalty calculation. Every command Eggdrop sends to the IRC server raises it's penalty points. If Eggdrop reaches a server limit, it gets disconnected with - "excess flood" message. Eggdrop is able to count internal those - penalty points, too and take measures against excess flooding. + "excess flood" message. Eggdrop is able to count internal + those penalty points, too and take measures against excess flooding. Note: it's highly advised to turn this on!

@@ -360,7 +369,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-share.html eggdrop1.6.18/doc/html/mod-share.html --- eggdrop1.6.17/doc/html/mod-share.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-share.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -92,7 +92,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-uptime.html eggdrop1.6.18/doc/html/mod-uptime.html --- eggdrop1.6.17/doc/html/mod-uptime.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-uptime.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -41,7 +41,7 @@
-

Copyright © 2001, 2002, 2003, 2004 +

Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-wire.html eggdrop1.6.18/doc/html/mod-wire.html --- eggdrop1.6.17/doc/html/mod-wire.html 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/html/mod-wire.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -34,7 +34,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/mod-woobie.html eggdrop1.6.18/doc/html/mod-woobie.html --- eggdrop1.6.17/doc/html/mod-woobie.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/mod-woobie.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -33,7 +33,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/news.html eggdrop1.6.18/doc/html/news.html --- eggdrop1.6.17/doc/html/news.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/news.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -342,7 +342,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/party.html eggdrop1.6.18/doc/html/party.html --- eggdrop1.6.17/doc/html/party.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/party.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -49,7 +49,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/patch-howto.html eggdrop1.6.18/doc/html/patch-howto.html --- eggdrop1.6.17/doc/html/patch-howto.html 2004-08-08 23:19:01.000000000 -0400 +++ eggdrop1.6.18/doc/html/patch-howto.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -52,7 +52,7 @@

To apply a patch to an Eggdrop, you have to first obtain the Eggdrop source code. You should always keep a tar.gz archive with the source of your current Eggdrop on your shell. In the next step, you have to change - to your source directory (i.e.: /home/user/eggdrop1.6.17/) and type + to your source directory (i.e.: /home/user/eggdrop1.6.18/) and type the following command:

@@ -171,7 +171,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/readme.html eggdrop1.6.18/doc/html/readme.html --- eggdrop1.6.17/doc/html/readme.html 2004-08-09 00:39:43.000000000 -0400 +++ eggdrop1.6.18/doc/html/readme.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -448,9 +448,9 @@ "blowfish.c" are exempt from the above restrictions. "match.c" is original code by Chris Fuller (email: crf@cfox.bchs.uh.edu) and has been placed by him into the public - domain. "net.c" is by me, and I [who?] also choose to place - it in the public domain. "blowfish.c" is by various sources - and is in the public domain as well. All 3 files contain useful + domain. "net.c" is by me, and I [Robey Pointer] also choose + to place it in the public domain. "blowfish.c" is by various + sources and is in the public domain as well. All 3 files contain useful functions that could easily be ported to other applications.

Tcl is by John Ousterhout and is in no way affiliated with Eggdrop. @@ -632,7 +632,7 @@


Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/starting.html eggdrop1.6.18/doc/html/starting.html --- eggdrop1.6.17/doc/html/starting.html 2004-08-09 00:39:43.000000000 -0400 +++ eggdrop1.6.18/doc/html/starting.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -154,7 +154,7 @@

Copyright © 1997 Robey Pointer
- Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

diff -urN eggdrop1.6.17/doc/html/tcl-commands.html eggdrop1.6.18/doc/html/tcl-commands.html --- eggdrop1.6.17/doc/html/tcl-commands.html 2004-08-02 14:50:47.000000000 -0400 +++ eggdrop1.6.18/doc/html/tcl-commands.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -17,7 +17,7 @@ you can also use these to manipulate features of the bot. They are listed according to category.

-

This list is accurate for Eggdrop v1.6.17. Scripts written for +

This list is accurate for Eggdrop v1.6.18. Scripts written for v1.3/v1.4 series of Eggdrop should probably work with a few minor modifications depending on the script. Scripts which were written for v0.9, v1.0, v1.1 or v1.2 will probably not work without modification. @@ -3357,7 +3357,7 @@

Module: core

-
* stripcodes <strip-flags> <string>
+
stripcodes <strip-flags> <string>

Description: strips specified control characters from the string given. strip-flags can be any combination of the @@ -3702,7 +3702,11 @@

Description: matches the entire line of text from a /msg with the mask. This is useful for binding Tcl procs to words or phrases spoken anywhere within a line - of text.

+ of text. If the proc returns 1, Eggdrop will not log the + message that triggered this bind. MSGM binds are processed + before MSG binds. If the exclusive-binds setting is enabled, + MSG binds will not be trigged by text that a MSGM bind has + already handled.

Module: server

@@ -3719,8 +3723,11 @@ it's triggered by things said on a channel instead of things /msg'd to the bot. The mask is matched against the channel name followed by the text and can contain - wildcards. Also, if a line triggers a PUB bind, it will not - trigger a PUBM bind.

+ wildcards. If the proc returns 1, Eggdrop will not log + the message that triggered this bind. PUBM binds are + processed before PUB binds. If the exclusive-binds setting + is enabled, PUB binds will not be trigged by text that a + PUBM bind has already handled.

Module: irc

@@ -3737,7 +3744,9 @@ matched against the entire notice and can contain wildcards. It is considered a breach of protocol to respond to a /notice on IRC, so this is intended for internal use (logging, etc.) - only.Note that server notices do not trigger the NOTC bind.

+ only. Note that server notices do not trigger the NOTC bind. + If the proc returns 1, Eggdrop will not log the message that + triggered this bind.

New Tcl procs should be declared as

@@ -3834,7 +3843,7 @@ the person who got kicked (can contain wildcards). The proc is called with the nick, user@host, and handle of the kicker, plus the channel, the nickname of the person who was kicked, - and the reason; flags are ignored.

+ and the reason.

Module: irc

@@ -3859,44 +3868,48 @@

bind mode <flags> <mask> <proc>
proc-name <nick> <user@host> <handle> - <channel> <mode-change> <victim>

+ <channel> <mode-change> <target>

Description: mode changes are broken down into their component parts before being sent here, so the <mode-change> will always be a single mode, such as - "+m" or "-o". victim will show the argument + "+m" or "-o". target will show the argument of the mode change (for o/v/b/e/I) or "" if the set - mode does not take an argument. Flags are ignored. The - bot's automatic response to a mode change will happen - AFTER all matching Tcl procs are called. The mask will be - matched against '#channel +/-modes' and can - contain wildcards.

+ mode does not take an argument. The bot's automatic + response to a mode change will happen AFTER all matching Tcl + procs are called. The mask will be matched against + '#channel +/-modes' and can contain wildcards.

If it is a server mode, nick will be "", user@host is the server name, and handle is *.

-

Note that "victim" was added in 1.3.23 and that - this will break Tcl scripts that were written for pre-1.3.23 - versions and use this binding. An easy fix (by guppy) is as - follows (example):

+

Note that "target" was added in 1.3.17 and that + this will break Tcl scripts that were written for pre-1.3.17 + Eggdrop that use the mode binding. Also, due to a typo, mode + binds were broken completely in 1.3.17 but were fixed in + 1.3.18. Mode bindings are not triggered at all in 1.3.17.

+ +

One easy example (from guppy) of how to support the + "target" parameter in 1.3.18 and later and still + remain compatible with older Eggdrop versions is:

Old script looks as follows:

   bind mode - * mode_proc
-  proc mode_proc {nick uhost hand chan mc} { ... }
+  proc mode_proc {nick uhost hand chan mode} { ... }
 
-

To make it work with 1.3.23+ and stay compatible with older +

To make it work with 1.3.18+ and stay compatible with older bots, do:

   bind mode - * mode_proc_fix
-  proc mode_proc_fix {nick uhost hand chan mc {victim ""}} {
-    if {$victim != ""} {append mc " $victim"}
-    mode_proc $nick $uhost $hand $chan $mc
+  proc mode_proc_fix {nick uhost hand chan mode {target ""}} {
+    if {$target != ""} {append mode " $target"}
+    mode_proc $nick $uhost $hand $chan $mode
   }
-  proc mode_proc {nick uhost hand chan mc} { ... }
+  proc mode_proc {nick uhost hand chan mode} { ... }
 

Module: irc

@@ -4039,7 +4052,7 @@
  • -

    * CHAT (stackable)

    +

    CHAT (stackable)

    bind chat <flags> <mask> <proc>
    proc-name <handle> <channel#> @@ -4175,17 +4188,17 @@

  • -

    NOTE

    +

    NOTE (stackable)

    -

    bind note <flags> <handle> <proc>
    +

    bind note <flags> <mask> <proc>
    procname <from> <to> <text>

    Description: incoming notes (either from the party line, someone on IRC, or someone on another bot on the botnet) are checked against these binds before being - processed. If a bind exists, the bot will not deliver the - note. The handle must be an exact match (no wildcards), but - it is not case sensitive; flags are ignored.

    + processed. The mask is matched against the receiving handle + and supports wildcards. If the proc returns 1, Eggdrop will + not process the note any further. Flags are ignored.

    Module: core

  • @@ -4212,14 +4225,19 @@ proc-name <handle> <msg>

    Description: when the bot receives a - wallops, it invokes this binding. flags are ignored; the - mask is matched against the text of the wallops msg.

    + wallops, it invokes this binding. flags are ignored; the mask + is matched against the text of the wallops msg. Note that RFC + shows the server name as a source of the message, whereas many + IRCds send the nick!user@host of the actual sender, thus, + Eggdrop will not parse it at all, but simply pass it to bind + in its original form. If the proc returns 1, Eggdrop will not + log the message that triggered this bind.

    Module: server

  • -

    * BCST (stackable)

    +

    BCST (stackable)

    bind bcst <flags> <mask> <proc>
    proc-name <botname> <channel#> @@ -4250,7 +4268,8 @@

    Description: when someone joins a botnet channel, it invokes this binding. The mask is matched against the channel and can contain wildcards. flag is one of: * - (owner), + (master), @ (op), or % (botnet master).

    + (owner), + (master), @ (op), or % (botnet master). + Flags are ignored.

    Module: core

  • @@ -4263,8 +4282,8 @@ <channel#>

    Description: when someone parts a botnet - channel, it invokes this binding. flags are ignored; the mask - is matched against the channel and can contain wildcards.

    + channel, it invokes this binding. The mask is matched against + the channel and can contain wildcards. Flags are ignored.

    Module: core

    @@ -4280,8 +4299,8 @@ procedure calls at certain times. mask matches 5 space separated integers of the form: "minute hour day month year". minute, hour, day, month have a zero padding so - they are exactly two characters long; year is extended to - four characters in the same way. flags are ignored.

    + they are exactly two characters long; year is four characters. + Flags are ignored.

    Module: core

    @@ -4550,9 +4569,9 @@
    1. -

      MSG +

      MSG

      -

      Return 1 to make the command get logged like so:

      +

      Return 1 to make Eggdrop log the command as:

      (nick!user@host) !handle! command

      @@ -4560,9 +4579,9 @@
    2. -

      DCC +

      DCC

      -

      Return 1 to make the command get logged like so:

      +

      Return 1 to make Eggdrop log the command as:

      #handle# command

      @@ -4570,9 +4589,9 @@
    3. -

      FIL +

      FIL

      -

      Return 1 to make the command get logged like so:

      +

      Return 1 to make Eggdrop log the command as:

      #handle# files: command

      @@ -4580,9 +4599,9 @@
    4. -

      PUB +

      PUB

      -

      Return 1 to make the command get logged like so:

      +

      Return 1 to make Eggdrop log the command as:

      <<nick>> !handle! command

      @@ -4590,7 +4609,7 @@
    5. -

      CTCP +

      CTCP

      Return 1 to ask the bot not to process the CTCP command on its own. Otherwise, it would send its own response to the CTCP @@ -4599,7 +4618,7 @@

    6. -

      FILT +

      FILT

      Return "" to indicate the text has been processed, and the bot should just ignore it. Otherwise, it will treat the text @@ -4607,14 +4626,14 @@

    7. -

      FLUD +

      FLUD

      Return 1 to ask the bot not to take action on the flood. Otherwise it will do its normal punishment.

    8. -

      RAW +

      RAW

      Return 1 to ask the bot not to process the server text. This can affect the bot's performance by causing it to @@ -4623,27 +4642,54 @@

    9. -

      CHON +

      CHON

      Return 1 to ask the bot not to process the partyline join event.

    10. -

      CHOF +

      CHOF

      Return 1 to ask the bot not to process the partyline part event.

    11. -

      WALL +

      WALL

      -

      Return 1 to make the command get logged like so:

      +

      Return 1 to make Eggdrop not log the message that + triggered this bind.

      +
    12. -
      -

      !nick! msg

      -
      +
    13. +

      NOTE

      + +

      Return 1 to make Eggdrop not process the note any + further. This includes stacked note bindings that would + be processed after this one, as well as the built-in + eggdrop note handling routines.

      +
    14. + +
    15. +

      MSGM

      + +

      Return 1 to make Eggdrop not log the message that + triggered this bind.

      +
    16. + +
    17. +

      PUBM

      + +

      Return 1 to make Eggdrop not log the message that + triggered this bind.

      +
    18. + +
    19. +

      NOTC

      + +

      Return 1 to make Eggdrop not log the message that + triggered this bind.

    @@ -4818,7 +4864,7 @@

    Copyright © 1997 Robey Pointer
    - Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

    diff -urN eggdrop1.6.17/doc/html/users.html eggdrop1.6.18/doc/html/users.html --- eggdrop1.6.17/doc/html/users.html 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/doc/html/users.html 2006-03-27 01:48:58.000000000 -0500 @@ -1,5 +1,5 @@ - + @@ -300,7 +300,7 @@

    Copyright © 1997 Robey Pointer
    - Copyright © 1999, 2000, 2001, 2002, 2003, 2004 + Copyright © 1999 - 2006 Eggheads Development Team Eggheads Development Team

    diff -urN eggdrop1.6.17/doc/man1/eggdrop.1 eggdrop1.6.18/doc/man1/eggdrop.1 --- eggdrop1.6.17/doc/man1/eggdrop.1 2004-08-08 23:19:01.000000000 -0400 +++ eggdrop1.6.18/doc/man1/eggdrop.1 2006-03-27 01:48:58.000000000 -0500 @@ -1,6 +1,6 @@ .\" To view: groff -man -Tascii eggdrop.1 .\" -.\" Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +.\" Copyright (C) 1999 - 2006 Eggheads Development Team .\" .\" This file is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ .\" * 2000-10-07 Fabian Updated and slightly re-organized. .\" * 2004-08-08 Wcc Updated. .\" -.\" $Id: eggdrop.1,v 1.16 2004/08/09 03:19:01 wcc Exp $ +.\" $Id: eggdrop.1,v 1.19 2006-03-27 06:48:58 wcc Exp $ .TH eggdrop 1 "August 2004" "Eggheads Development Team" "IRC Tools" .SH NAME eggdrop \- an IRC bot @@ -140,7 +140,7 @@ .SH COPYRIGHT Copyright (C) 1997 Robey Pointer .br -Copyright (C) 1999-2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team .PP 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 diff -urN eggdrop1.6.17/doc/settings/CONTENTS eggdrop1.6.18/doc/settings/CONTENTS --- eggdrop1.6.17/doc/settings/CONTENTS 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/CONTENTS 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.10 2004/07/25 03:56:59 wcc Exp $ +$Id: CONTENTS,v 1.12 2006-03-28 02:35:49 wcc Exp $ Directory Contents - doc/settings/ Last revised: April 16, 2003 @@ -62,4 +62,4 @@ Documentation for the woobie module is provided in this file. ________________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/core.settings eggdrop1.6.18/doc/settings/core.settings --- eggdrop1.6.17/doc/settings/core.settings 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/core.settings 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: core.settings,v 1.30 2004/07/25 03:56:59 wcc Exp $ +$Id: core.settings,v 1.35 2006-03-28 02:35:49 wcc Exp $ Eggdrop Core Settings Last revised: April 17, 2003 @@ -321,16 +321,15 @@ set protect-telnet 0 - This setting will drop telnet connections not matching a known host. It - greatly improves protection from IRCops, but makes it impossible to add - hosts on limbo (NOIRC) bots or have NEW as a valid login. + This setting will drop telnet connections not matching a known host. + set dcc-sanitycheck 0 This setting will make the bot ignore DCC chat requests which appear to have bogus information on the grounds that the user may have been trying to make the bot connect to somewhere that will get it into trouble, or - that the user has a broken client (like mIRC tends to do), in which case - the connect wouldn't work anyway. It's suggested that you turn this on. + that the user has a broken client, in which case the connect wouldn't + work anyway. set ident-timeout 5 @@ -399,9 +398,10 @@ ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255, 10.0.0.0-10.255.255.255 and your firewall transparently changes your address to a unique address for your box) or you have IP masquerading - between you and the rest of the world, and /dcc chat,/ctcp chat or - userfile sharing aren't working, enter your outside IP here. Do not - enter anything for my-ip or my-hostname if you use this setting. + between you and the rest of the world, and /dcc chat, /ctcp chat or + userfile sharing aren't working, enter your outside IP here. This IP + is used for transfers only, and has nothing to do with the my-ip or + my-hostname settings. You may still need to set my-ip and/or my-hostname. set reserved-portrange 2010:2020 @@ -543,4 +543,4 @@ source scripts/action.fix.tcl _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.assoc eggdrop1.6.18/doc/settings/mod.assoc --- eggdrop1.6.17/doc/settings/mod.assoc 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.assoc 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.assoc,v 1.12 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.assoc,v 1.14 2006-03-28 02:35:49 wcc Exp $ Assoc Module Last revised: January 1, 2002 @@ -18,4 +18,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.blowfish eggdrop1.6.18/doc/settings/mod.blowfish --- eggdrop1.6.17/doc/settings/mod.blowfish 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.blowfish 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.blowfish,v 1.13 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.blowfish,v 1.15 2006-03-28 02:35:49 wcc Exp $ Blowfish Module Last revised: January 28, 2003 @@ -21,4 +21,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.channels eggdrop1.6.18/doc/settings/mod.channels --- eggdrop1.6.17/doc/settings/mod.channels 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.channels 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.channels,v 1.17 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.channels,v 1.19 2006-03-28 02:35:49 wcc Exp $ Channels Module Last revised: February 12, 2003 @@ -311,4 +311,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.compress eggdrop1.6.18/doc/settings/mod.compress --- eggdrop1.6.17/doc/settings/mod.compress 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.compress 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.compress,v 1.14 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.compress,v 1.16 2006-03-28 02:35:49 wcc Exp $ Compress Module Last revised: May 27, 2004 @@ -30,4 +30,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.console eggdrop1.6.18/doc/settings/mod.console --- eggdrop1.6.17/doc/settings/mod.console 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.console 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.console,v 1.12 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.console,v 1.14 2006-03-28 02:35:49 wcc Exp $ Console Module Last revised: January 1, 2002 @@ -35,4 +35,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.ctcp eggdrop1.6.18/doc/settings/mod.ctcp --- eggdrop1.6.17/doc/settings/mod.ctcp 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.ctcp 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.ctcp,v 1.13 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.ctcp,v 1.15 2006-03-28 02:35:49 wcc Exp $ CTCP Module Last revised: February 12, 2002 @@ -34,4 +34,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.dns eggdrop1.6.18/doc/settings/mod.dns --- eggdrop1.6.17/doc/settings/mod.dns 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.dns 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.dns,v 1.13 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.dns,v 1.15 2006-03-28 02:35:49 wcc Exp $ DNS Module Last revised: February 12, 2002 @@ -20,4 +20,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.filesys eggdrop1.6.18/doc/settings/mod.filesys --- eggdrop1.6.17/doc/settings/mod.filesys 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.filesys 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.filesys,v 1.14 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.filesys,v 1.16 2006-03-28 02:35:49 wcc Exp $ Filesys Module Last revised: May 26, 2004 @@ -54,4 +54,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.irc eggdrop1.6.18/doc/settings/mod.irc --- eggdrop1.6.17/doc/settings/mod.irc 2004-08-21 18:43:27.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.irc 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.irc,v 1.21 2004/08/21 22:43:27 wcc Exp $ +$Id: mod.irc,v 1.23 2006-03-28 02:35:49 wcc Exp $ IRC Module Last revised: August 21, 2004 @@ -185,4 +185,4 @@ set this to 0. _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.notes eggdrop1.6.18/doc/settings/mod.notes --- eggdrop1.6.17/doc/settings/mod.notes 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.notes 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.notes,v 1.13 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.notes,v 1.15 2006-03-28 02:35:49 wcc Exp $ Notes Module Last revised: January 1, 2002 @@ -49,4 +49,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.seen eggdrop1.6.18/doc/settings/mod.seen --- eggdrop1.6.17/doc/settings/mod.seen 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.seen 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.seen,v 1.12 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.seen,v 1.14 2006-03-28 02:35:49 wcc Exp $ Seen Module Last revised: January 1, 2002 @@ -20,4 +20,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.server eggdrop1.6.18/doc/settings/mod.server --- eggdrop1.6.17/doc/settings/mod.server 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.server 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.server,v 1.32 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.server,v 1.36 2006-03-28 02:35:49 wcc Exp $ Server Module Last revised: February 12, 2003 @@ -136,8 +136,8 @@ set strict-host 0 - Set this to 1 if you don't want your the bot to strip a leading '~' - on user@hosts. + Set this to 0 if you want the bot to strip '~' characters from user@hosts + before matching them. set quiet-reject 1 @@ -171,6 +171,13 @@ If you want Eggdrop to trigger binds for ignored users, set this to 1. + set exclusive-binds 0 + This setting configures PUBM and MSGM binds to be exclusive of PUB + and MSG binds. This means if a MSGM bind with the mask "*help*" exists + and is triggered, any MSG bindings with "help" in their mask will not + be triggered. Don't enable this unless you know what you are doing! + + set double-mode 0 Allow identical messages in the mode queue? @@ -225,5 +232,5 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.share eggdrop1.6.18/doc/settings/mod.share --- eggdrop1.6.17/doc/settings/mod.share 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.share 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.share,v 1.14 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.share,v 1.16 2006-03-28 02:35:49 wcc Exp $ Share Module Last revised: November 27, 2003 @@ -58,4 +58,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.transfer eggdrop1.6.18/doc/settings/mod.transfer --- eggdrop1.6.17/doc/settings/mod.transfer 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.transfer 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.transfer,v 1.14 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.transfer,v 1.16 2006-03-28 02:35:49 wcc Exp $ Transfer Module Last revised: January 1, 2002 @@ -44,4 +44,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.uptime eggdrop1.6.18/doc/settings/mod.uptime --- eggdrop1.6.17/doc/settings/mod.uptime 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.uptime 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.uptime,v 1.10 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.uptime,v 1.12 2006-03-28 02:35:49 wcc Exp $ Uptime Module Last revised: January 1, 2002 @@ -27,4 +27,4 @@ _____________________________________________________________________ - Copyright (C) 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2001 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.wire eggdrop1.6.18/doc/settings/mod.wire --- eggdrop1.6.17/doc/settings/mod.wire 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.wire 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.wire,v 1.12 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.wire,v 1.14 2006-03-28 02:35:49 wcc Exp $ Wire Module Last revised: July 24, 2004 @@ -18,4 +18,4 @@ _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/settings/mod.woobie eggdrop1.6.18/doc/settings/mod.woobie --- eggdrop1.6.17/doc/settings/mod.woobie 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/doc/settings/mod.woobie 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: mod.woobie,v 1.12 2004/07/25 03:56:59 wcc Exp $ +$Id: mod.woobie,v 1.14 2006-03-28 02:35:49 wcc Exp $ Woobie Module Last revised: December 31, 2001 @@ -18,4 +18,4 @@ loadmodule woobie _____________________________________________________________________ - Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2000 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/doc/tcl-commands.doc eggdrop1.6.18/doc/tcl-commands.doc --- eggdrop1.6.17/doc/tcl-commands.doc 2004-08-02 14:50:46.000000000 -0400 +++ eggdrop1.6.18/doc/tcl-commands.doc 2006-03-27 01:48:58.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: tcl-commands.doc,v 1.115 2004/08/02 18:50:46 wcc Exp $ +$Id: tcl-commands.doc,v 1.122 2006-03-27 06:48:58 wcc Exp $ Eggdrop Tcl Commands Last revised: August 02, 2004 @@ -12,7 +12,7 @@ can also use these to manipulate features of the bot. They are listed according to category. -This list is accurate for Eggdrop v1.6.17. Scripts written for v1.3/v1.4 +This list is accurate for Eggdrop v1.6.18. Scripts written for v1.3/v1.4 series of Eggdrop should probably work with a few minor modifications depending on the script. Scripts which were written for v0.9, v1.0, v1.1 or v1.2 will probably not work without modification. Commands which have @@ -909,14 +909,14 @@ Module: core strip [+/-strip-flags] -| Description: modifies the strip-flags for a user. The supported -| strip-flags are: -| b - remove all boldface codes -| c - remove all color codes -| r - remove all reverse video codes -| u - remove all underline codes -| a - remove all ANSI codes -| g - remove all ctrl-g (bell) codes + Description: modifies the strip-flags for a user. The supported + strip-flags are: + b - remove all boldface codes + c - remove all color codes + r - remove all reverse video codes + u - remove all underline codes + a - remove all ANSI codes + g - remove all ctrl-g (bell) codes Returns: new strip-flags for the specified user (or the current flags, if strip-flags was omitted) Module: core @@ -1517,17 +1517,17 @@ Returns: nothing Module: core -| stripcodes -| Description: strips specified control characters from the string given. -| strip-flags can be any combination of the following: -| b - remove all boldface codes -| c - remove all color codes -| r - remove all reverse video codes -| u - remove all underline codes -| a - remove all ANSI codes -| g - remove all ctrl-g (bell) codes -| Returns: the stripped string. -| Module: core + stripcodes + Description: strips specified control characters from the string given. + strip-flags can be any combination of the following: + b - remove all boldface codes + c - remove all color codes + r - remove all reverse video codes + u - remove all underline codes + a - remove all ANSI codes + g - remove all ctrl-g (bell) codes + Returns: the stripped string. + Module: core *** GLOBAL VARIABLES *** @@ -1661,7 +1661,11 @@ Description: matches the entire line of text from a /msg with the mask. This is useful for binding Tcl procs to words or phrases - spoken anywhere within a line of text. +| spoken anywhere within a line of text. If the proc returns 1, +| Eggdrop will not log the message that triggered this bind. +| MSGM binds are processed before MSG binds. If the exclusive-binds +| setting is enabled, MSG binds will not be trigged by text that +| a MSGM bind has already handled. Module: server (6) PUBM (stackable) @@ -1671,8 +1675,11 @@ Description: just like MSGM, except it's triggered by things said on a channel instead of things /msg'd to the bot. The mask is matched against the channel name followed by the text and can - contain wildcards. Also, if a line triggers a PUB bind, it will not - trigger a PUBM bind. +| contain wildcards. If the proc returns 1, Eggdrop will not log +| the message that triggered this bind. PUBM binds are processed +| before PUB binds. If the exclusive-binds setting is enabled, +| PUB binds will not be trigged by text that a PUBM bind has +| already handled. Module: irc (7) NOTC (stackable) @@ -1683,8 +1690,9 @@ obviously) or a channel name. mask is matched against the entire notice and can contain wildcards. It is considered a breach of protocol to respond to a /notice on IRC, so this is intended for - internal use (logging, etc.) only. Note that server notices do not - trigger the NOTC bind. + internal use (logging, etc.) only. Note that server notices do +| not trigger the NOTC bind. If the proc returns 1, Eggdrop will +| not log the message that triggered this bind. New Tcl procs should be declared as proc notcproc {nick uhost hand text {dest ""}} { @@ -1744,7 +1752,7 @@ the nickname of the person who got kicked (can contain wildcards). The proc is called with the nick, user@host, and handle of the kicker, plus the channel, the nickname of the person who was - kicked, and the reason; flags are ignored. + kicked, and the reason. Module: irc (13) NICK (stackable) @@ -1757,37 +1765,43 @@ yet in a channel). Module: irc - (14) MODE (stackable) + (14) MODE (stackable) bind mode - proc-name + proc-name Description: mode changes are broken down into their component parts before being sent here, so the will always - be a single mode, such as "+m" or "-o". victim will show the + be a single mode, such as "+m" or "-o". target will show the argument of the mode change (for o/v/b/e/I) or "" if the set - mode does not take an argument. Flags are ignored. The bot's - automatic response to a mode change will happen AFTER all - matching Tcl procs are called. The mask will be matched against - '#channel +/-modes' and can contain wildcards. + mode does not take an argument. The bot's automatic response + to a mode change will happen AFTER all matching Tcl procs are + called. The mask will be matched against '#channel +/-modes' + and can contain wildcards. If it is a server mode, nick will be "", user@host is the server name, and handle is *. - Note that "victim" was added in 1.3.23 and that this will break - Tcl scripts that were written for pre-1.3.23 versions and use this - binding. An easy fix (by guppy) is as follows (example): + Note that "target" was added in 1.3.17 and that this will break + Tcl scripts that were written for pre-1.3.17 Eggdrop that use the + mode binding. Also, due to a typo, mode binds were broken + completely in 1.3.17 but were fixed in 1.3.18. Mode bindings are + not triggered at all in 1.3.17. + + One easy example (from guppy) of how to support the "target" + parameter in 1.3.18 and later and still remain compatible with + older Eggdrop versions is: Old script looks as follows: bind mode - * mode_proc - proc mode_proc {nick uhost hand chan mc} { ... } + proc mode_proc {nick uhost hand chan mode} { ... } - To make it work with 1.3.23+ and stay compatible with older bots, do: + To make it work with 1.3.18+ and stay compatible with older bots, do: bind mode - * mode_proc_fix - proc mode_proc_fix {nick uhost hand chan mc {victim ""}} { - if {$victim != ""} {append mc " $victim"} - mode_proc $nick $uhost $hand $chan $mc + proc mode_proc_fix {nick uhost hand chan mode {target ""}} { + if {$target != ""} {append mode " $target"} + mode_proc $nick $uhost $hand $chan $mode } - proc mode_proc {nick uhost hand chan mc} { ... } + proc mode_proc {nick uhost hand chan mode} { ... } Module: irc @@ -1889,8 +1903,8 @@ you can't rely on a local user record. The mask is checked against the entire line of text and supports wildcards. -| NOTE: If a BOT says something on the botnet, the BCST bind is -| invoked instead. + NOTE: If a BOT says something on the botnet, the BCST bind is + invoked instead. Module: core (24) LINK (stackable) @@ -1970,16 +1984,16 @@ "*" for the bind); flags are ignored. Module: server - (31) NOTE - bind note - procname - - Description: incoming notes (either from the party line, someone on - IRC, or someone on another bot on the botnet) are checked against - these binds before being processed. If a bind exists, the bot will - not deliver the note. The handle must be an exact match (no wildcards), - but it is not case sensitive; flags are ignored. - Module: core +| (31) NOTE (stackable) +| bind note +| procname +| +| Description: incoming notes (either from the party line, someone on +| IRC, or someone on another bot on the botnet) are checked against +| these binds before being processed. The mask is matched against +| the receiving handle and supports wildcards. If the proc returns 1, +| Eggdrop will not process the note any further. Flags are ignored. +| Module: core (32) ACT (stackable) bind act @@ -1999,23 +2013,24 @@ of the wallops msg. Note that RFC shows the server name as a source of the message, whereas many IRCds send the nick!user@host of the actual sender, thus, Eggdrop will not parse it at all, but simply - pass it to bind in its original form. +| pass it to bind in its original form. If the proc returns 1, +| Eggdrop will not log the message that triggered this bind. Module: server -| (34) BCST (stackable) -| bind bcst -| proc-name -| -| Description: when a bot broadcasts something on the botnet (see -| 'dccbroadcast' above), it invokes this binding. flags are ignored; -| the mask is matched against the message text and can contain -| wildcards. 'channel' argument will always be '-1' since broadcasts -| are not directed to any partyline channel. -| -| It is also invoked when a BOT (not a person, as with the CHAT bind) -| 'says' something on a channel. In this case, the 'channel' argument -| will be a valid channel, and not '-1'. -| Module: core + (34) BCST (stackable) + bind bcst + proc-name + + Description: when a bot broadcasts something on the botnet (see + 'dccbroadcast' above), it invokes this binding. flags are ignored; + the mask is matched against the message text and can contain + wildcards. 'channel' argument will always be '-1' since broadcasts + are not directed to any partyline channel. + + It is also invoked when a BOT (not a person, as with the CHAT bind) + 'says' something on a channel. In this case, the 'channel' argument + will be a valid channel, and not '-1'. + Module: core (35) CHJN (stackable) bind chjn @@ -2024,7 +2039,7 @@ Description: when someone joins a botnet channel, it invokes this binding. The mask is matched against the channel and can contain wildcards. flag is one of: * (owner), + (master), @ (op), or % - (botnet master). + (botnet master). Flags are ignored. Module: core (36) CHPT (stackable) @@ -2032,8 +2047,8 @@ proc-name Description: when someone parts a botnet channel, it invokes this - binding. flags are ignored; the mask is matched against the - channel and can contain wildcards. + binding. The mask is matched against the channel and can contain + wildcards. Flags are ignored. Module: core (37) TIME (stackable) @@ -2044,7 +2059,7 @@ times. mask matches 5 space separated integers of the form: "minute hour day month year". minute, hour, day, month have a zero padding so they are exactly two characters long; year is - extended to four characters in the same way. + four characters. Flags are ignored. Module: core (38) AWAY (stackable) @@ -2139,16 +2154,16 @@ Here's a list of the bindings that use the return value from procs they trigger: - (1) MSG Return 1 to make the command get logged like so: + (1) MSG Return 1 to make Eggdrop log the command as: (nick!user@host) !handle! command - (2) DCC Return 1 to make the command get logged like so: + (2) DCC Return 1 to make Eggdrop log the command as: #handle# command - (3) FIL Return 1 to make the command get logged like so: + (3) FIL Return 1 to make Eggdrop log the command as: #handle# files: command - (4) PUB Return 1 to make the command get logged like so: + (4) PUB Return 1 to make Eggdrop log the command as: <> !handle! command (5) CTCP Return 1 to ask the bot not to process the CTCP command on its @@ -2171,8 +2186,22 @@ (10) CHOF Return 1 to ask the bot not to process the partyline part event. - (11) WALL Return 1 to make the command get logged like so: - !nick! msg +| (11) WALL Return 1 to make Eggdrop not log the message that triggered +| this bind. + +| (12) NOTE Return 1 to make Eggdrop not process the note any further. +| This includes stacked note bindings that would be processed +| after this one, as well as the built-in eggdrop note handling +| routines. + +| (13) MSGM Return 1 to make Eggdrop not log the message that triggered +| this bind. + +| (14) PUBM Return 1 to make Eggdrop not log the message that triggered +| this bind. + +| (15) NOTC Return 1 to make Eggdrop not log the message that triggered +| this bind. *** CONTROL PROCEDURES *** @@ -2274,4 +2303,4 @@ words) _____________________________________________________________________ - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/eggdrop.conf eggdrop1.6.18/eggdrop.conf --- eggdrop1.6.17/eggdrop.conf 2004-08-21 18:43:27.000000000 -0400 +++ eggdrop1.6.18/eggdrop.conf 2005-08-28 23:51:36.000000000 -0400 @@ -1,7 +1,7 @@ #! /path/to/executable/eggdrop # ^- This should contain a fully qualified path to your Eggdrop executable. # -# $Id: eggdrop.conf,v 1.40 2004/08/21 22:43:27 wcc Exp $ +# $Id: eggdrop.conf,v 1.47 2005-08-29 03:51:36 wcc Exp $ # # This is a sample Eggdrop configuration file which includes all possible # settings that can be used to configure your bot. @@ -263,16 +263,14 @@ # share bots. set share-unlinks 1 -# This setting will drop telnet connections not matching a known host. It -# greatly improves protection from IRCops, but makes it impossible to add -# hosts on limbo (NOIRC) bots or have NEW as a valid login. +# This setting will drop telnet connections not matching a known host. set protect-telnet 0 # This setting will make the bot ignore DCC chat requests which appear to # have bogus information on the grounds that the user may have been trying # to make the bot connect to somewhere that will get it into trouble, or -# that the user has a broken client (like mIRC tends to do), in which case -# the connect wouldn't work anyway. It's suggested that you turn this on. +# that the user has a broken client, in which case the connect wouldn't work +# anyway. set dcc-sanitycheck 0 # This settings defines a time in seconds that the bot should wait before @@ -327,8 +325,9 @@ # 10.0.0.0-10.255.255.255 and your firewall transparently changes your # address to a unique address for your box) or you have IP masquerading # between you and the rest of the world, and /dcc chat, /ctcp chat or -# userfile sharing aren't working, enter your outside IP here. Do not -# enter anything for my-ip or my-hostname if you use this setting. +# userfile sharing aren't working, enter your outside IP here. This IP +# is used for transfers only, and has nothing to do with the my-ip or +# my-hostname settings. You may still need to set my-ip and/or my-hostname. #set nat-ip "127.0.0.1" # If you want all dcc file transfers to use a particular portrange either @@ -515,6 +514,7 @@ # chanmode +/- # This setting makes the bot enforce channel modes. It will always add # the + and remove the - modes. +# # idle-kick 0 # This setting will make the bot check every minute for idle # users. Set this to 0 to disable idle check. @@ -784,6 +784,7 @@ set altnick "Llamab?t" # Set what should be displayed in the real-name field for the bot on IRC. +# This can not be blank, it has to contain something. set realname "/msg LamestBot hello" # This is a Tcl script to be run immediately after connecting to a server. @@ -817,8 +818,8 @@ # primary nickname is already in use. set keep-nick 1 -# Set this to 1 if you don't want your the bot to strip a leading '~' on -# user@hosts. +# Set this to 0 if you want the bot to strip '~' characters from user@hosts +# before matching them. set strict-host 0 # This setting makes the bot squelch the error message when rejecting a DCC @@ -879,6 +880,12 @@ # If you want Eggdrop to trigger binds for ignored users, set this to 1. set trigger-on-ignore 0 +# This setting configures PUBM and MSGM binds to be exclusive of PUB and MSG +# binds. This means if a MSGM bind with the mask "*help*" exists and is +# triggered, any MSG bindings with "help" in their mask will not be +# triggered. Don't enable this unless you know what you are doing! +set exclusive-binds 0 + # Allow identical messages in the mode queue? set double-mode 1 @@ -1332,9 +1339,9 @@ source scripts/alltools.tcl source scripts/action.fix.tcl -# Use this script for Tcl and Eggdrop downwards compatibility. +# Use this script for Tcl and Eggdrop backwards compatibility. # NOTE: This can also cause problems with some newer scripts. -source scripts/compat.tcl +#source scripts/compat.tcl # This script provides many useful informational functions, like setting # users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add diff -urN eggdrop1.6.17/help/cmds2.help eggdrop1.6.18/help/cmds2.help --- eggdrop1.6.17/help/cmds2.help 2004-06-03 10:10:18.000000000 -0400 +++ eggdrop1.6.18/help/cmds2.help 2005-01-20 16:03:37.000000000 -0500 @@ -411,8 +411,8 @@ For bots, there are additional flags seen under the "BOTATTR:" section. Valid botflags include: - %bs%b - passive share (bot is sharing user records, aggressively) - %bp%b - agressive share (bot is sharing user records, passively) + %bs%b - share aggressively (SEND userfile to a passive bot) + %bp%b - share passively (ACCEPT userfile from an aggressive bot) %bg%b - global share (bot is sharing all channels) %bh%b - hub (bot is autolinked at highest priority) %ba%b - alternate (bot is autolinked if no hub bots can be linked) diff -urN eggdrop1.6.17/help/set/cmds1.help eggdrop1.6.18/help/set/cmds1.help --- eggdrop1.6.17/help/set/cmds1.help 2004-05-26 21:30:11.000000000 -0400 +++ eggdrop1.6.18/help/set/cmds1.help 2005-08-28 23:51:36.000000000 -0400 @@ -43,16 +43,17 @@ firewall transparently changes your address to a unique address for your box) or you have IP masquerading between you and the rest of the world, and /dcc chat, /ctcp chat or userfile sharing - aren't working, enter your outside IP here. Do not enter anything - for my-ip or my-hostname if you use this setting. + aren't working, enter your outside IP here. This IP is used for + transfers only, and has nothing to do with the my-ip or + my-hostname settings. You may still need to set my-ip and/or + my-hostname. %{help=set dcc-sanitycheck}%{+n} ### %bset dcc-sanitycheck%b <0/1> This setting will make the bot ignore DCC chat requests which appear to have bogus information on the grounds that the user may have been trying to make the bot connect to somewhere that will - get it into trouble, or that the user has a broken client (like - mIRC tends to do), in which case the connect wouldn't work anyway. - It's suggested that you turn this on. + get it into trouble, or that the user has a broken client, in + which case the connect wouldn't work anyway. %{help=set network}%{+n} ### %bset network%b This setting is used only for info to share with others on your @@ -225,9 +226,7 @@ %{help=set protect-telnet}%{+n} ### %bset protect-telnet%b <0/1> This setting will drop telnet connections not matching a known - host. It greatly improves protection from IRCops, but makes it - impossible to add hosts on limbo (NOIRC) bots or have NEW as a - valid login. + host. %{help=set ident-timeout}%{+n} ### %bset ident-timeout%b This settings defines a time in seconds that the bot should wait diff -urN eggdrop1.6.17/language/core.danish.lang eggdrop1.6.18/language/core.danish.lang --- eggdrop1.6.17/language/core.danish.lang 2004-08-09 00:39:43.000000000 -0400 +++ eggdrop1.6.18/language/core.danish.lang 2005-09-04 23:38:31.000000000 -0400 @@ -1,7 +1,7 @@ # core.danish.lang # core language messages for eggdrop # -# $Id: core.danish.lang,v 1.10 2004/08/09 04:39:43 wcc Exp $ +# $Id: core.danish.lang,v 1.11 2005-09-05 03:38:31 wcc Exp $ # General stuff 0x001,Brug @@ -45,7 +45,7 @@ 0x209,Fejl under indlæsning af modul: 0x20a,Fejl under fjernelse af module: 0x20b,Kan ikke indlæse modulet -0x20c,Stillestående module; der VIL opstå hukommelseslækager! +0x20c,Stillestående modules; der VIL opstå hukommelseslækager! 0x20d,Du har installeret moduler, men ikke valgt noget krypterings\n\ modul, venligst rådfør dig med standard config filen for info.\n 0x20e,Filesys modul ikke indlæst. diff -urN eggdrop1.6.17/language/core.english.lang eggdrop1.6.18/language/core.english.lang --- eggdrop1.6.17/language/core.english.lang 2004-08-09 00:39:44.000000000 -0400 +++ eggdrop1.6.18/language/core.english.lang 2005-09-04 23:38:31.000000000 -0400 @@ -1,7 +1,7 @@ # core.english.lang # core language messages for eggdrop # -# $Id: core.english.lang,v 1.43 2004/08/09 04:39:44 wcc Exp $ +# $Id: core.english.lang,v 1.44 2005-09-05 03:38:31 wcc Exp $ # General stuff 0x001,Usage @@ -45,7 +45,7 @@ 0x209,Error loading module: 0x20a,Error unloading module: 0x20b,Can't load modules -0x20c,Stagnant module; there WILL be memory leaks! +0x20c,Stagnant modules; there WILL be memory leaks! 0x20d,You have installed modules but have not selected an encryption\n\ module, please consult the default config file for info.\n 0x20e,Filesys module not loaded. diff -urN eggdrop1.6.17/language/core.finnish.lang eggdrop1.6.18/language/core.finnish.lang --- eggdrop1.6.17/language/core.finnish.lang 2004-08-09 00:39:44.000000000 -0400 +++ eggdrop1.6.18/language/core.finnish.lang 2004-08-09 00:39:44.000000000 -0400 @@ -1,7 +1,7 @@ # core.finnish.lang # core kieli viestit eggdroppiin # -# $Id: core.finnish.lang,v 1.2 2004/08/09 04:39:44 wcc Exp $ +# $Id: core.finnish.lang,v 1.2 2004-08-09 04:39:44 wcc Exp $ # Yleinen tavara 0x001,Käytössä diff -urN eggdrop1.6.17/language/core.french.lang eggdrop1.6.18/language/core.french.lang --- eggdrop1.6.17/language/core.french.lang 2004-08-09 00:39:44.000000000 -0400 +++ eggdrop1.6.18/language/core.french.lang 2005-09-04 23:38:31.000000000 -0400 @@ -1,7 +1,7 @@ # core.french.lang # core language messages for eggdrop # -# $Id: core.french.lang,v 1.32 2004/08/09 04:39:44 wcc Exp $ +# $Id: core.french.lang,v 1.33 2005-09-05 03:38:31 wcc Exp $ # General stuff @@ -46,7 +46,7 @@ 0x209,Erreur pendant le chargement du module: 0x20a,Erreur pendant le déchargement du module: 0x20b,Ne peut pas charger les modules -0x20c,Module stagnant; il va y avoir perte de mémoire! +0x20c,Modules stagnant; il va y avoir perte de mémoire! 0x20d,Vous avez installé des modules, mais n'avez pas choisi de module de cryptage,\n\ consultez le ficher de configuration initiale pour plus de renseignements.\n 0x20e,Module Filesys non chargé. diff -urN eggdrop1.6.17/language/core.german.lang eggdrop1.6.18/language/core.german.lang --- eggdrop1.6.17/language/core.german.lang 2004-08-09 00:39:44.000000000 -0400 +++ eggdrop1.6.18/language/core.german.lang 2005-09-04 23:38:32.000000000 -0400 @@ -6,7 +6,7 @@ # Modified by Michael for 1.3.25. # Modified by rtc for 1.4.0 # -# $Id: core.german.lang,v 1.35 2004/08/09 04:39:44 wcc Exp $ +# $Id: core.german.lang,v 1.36 2005-09-05 03:38:32 wcc Exp $ # General stuff 0x001,Gebrauch @@ -50,7 +50,7 @@ 0x209,Fehler beim Laden des Moduls: 0x20a,Fehler beim Entfernen des Moduls: 0x20b,Kann keine Module laden -0x20c,Stillstehendes Modul; es WERDEN Speicherlecks auftreten! +0x20c,Stillstehendes Moduls; es WERDEN Speicherlecks auftreten! 0x20d,Du hast die modulare Version installiert, jedoch kein \n\ Verschluesselungsmodul ausgewaehlt. Fuer weitere Informationen siehe\n\ die mitgelieferte Konfigurationsdatei.\n diff -urN eggdrop1.6.17/logs/CONTENTS eggdrop1.6.18/logs/CONTENTS --- eggdrop1.6.17/logs/CONTENTS 2004-08-08 23:19:01.000000000 -0400 +++ eggdrop1.6.18/logs/CONTENTS 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.5 2004/08/09 03:19:01 wcc Exp $ +$Id: CONTENTS,v 1.7 2006-03-28 02:35:49 wcc Exp $ Directory Contents - logs/ Last revised: August 08, 2004 @@ -10,4 +10,4 @@ This is a good place to put your logfiles. _____________________________________________________________________ - Copyright (C) 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2001 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/misc/addpatch eggdrop1.6.18/misc/addpatch --- eggdrop1.6.17/misc/addpatch 2004-08-02 16:08:49.000000000 -0400 +++ eggdrop1.6.18/misc/addpatch 2006-03-27 21:35:49.000000000 -0500 @@ -2,7 +2,7 @@ # # addpatch - modifies src/patch.h # -# Copyright (C) 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 2002 - 2006 Eggheads Development Team # Copyright (C) 2000 Fabian Knittel # # This file is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # -# $Id: addpatch,v 1.10 2004/08/02 20:08:49 wcc Exp $ +# $Id: addpatch,v 1.13 2006-03-28 02:35:49 wcc Exp $ show_usage() { echo "Usage: `basename $0` [-hs] [unixtime]" @@ -69,7 +69,7 @@ echo "Current patch: ${oldpatch_name}" echo "New patch: ${patch_name}" -if sed src/patch.h -e "s/^patch.*\")\(.*current unixtime.*\)/patch(\"${unix_time}\")\1/" -e "s/^patch.*);$/patch(\"${patch_name}\");/" > src/patch.h_; then +if sed -e "s/^patch.*\")\(.*current unixtime.*\)/patch(\"${unix_time}\")\1/" -e "s/^patch.*);$/patch(\"${patch_name}\");/" src/patch.h > src/patch.h_; then mv src/patch.h_ src/patch.h if test "${oldpatch_name}" = "${patch_name}"; then echo "Successful: yes (no name change)" diff -urN eggdrop1.6.17/misc/install-sh eggdrop1.6.18/misc/install-sh --- eggdrop1.6.17/misc/install-sh 2000-03-05 18:22:48.000000000 -0500 +++ eggdrop1.6.18/misc/install-sh 2000-03-05 18:22:48.000000000 -0500 @@ -3,7 +3,7 @@ # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # -# $Id: install-sh,v 1.1 2000/03/05 23:22:48 fabian Exp $ +# $Id: install-sh,v 1.1 2000-03-05 23:22:48 fabian Exp $ # # Copyright 1991 by the Massachusetts Institute of Technology # diff -urN eggdrop1.6.17/misc/killwhitespace eggdrop1.6.18/misc/killwhitespace --- eggdrop1.6.17/misc/killwhitespace 1969-12-31 19:00:00.000000000 -0500 +++ eggdrop1.6.18/misc/killwhitespace 2006-03-27 21:35:49.000000000 -0500 @@ -0,0 +1,50 @@ +#! /bin/sh +# +# killwhitespace - removes trailing whitespace from source files +# +# Copyright (C) 2005 - 2006 Eggheads Development Team +# +# This file 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# $Id: killwhitespace,v 1.2 2006-03-28 02:35:49 wcc Exp $ + +find_whitespace_files() { + grep -rE '[[:space:]]+$' . | sed 's/:.*//' | grep '\.[ch]$' | sort | uniq +} + +if test ! -f src/main.c; then + echo "You are not in the Eggdrop root directory." + exit 1 +fi + +echo -n "Running 'make clean'... " +make clean >/dev/null 2>&1 +echo "done." + +count=0 +for i in $(find_whitespace_files); do + count=$(($count + 1)) + echo -n "${i}... " + sed -e 's:[ \t]*$::g' $i > ${i}_ + mv ${i}_ $i + echo "done." +done + +echo "Found/fixed ${count} files." diff -urN eggdrop1.6.17/misc/makedepend eggdrop1.6.18/misc/makedepend --- eggdrop1.6.17/misc/makedepend 1969-12-31 19:00:00.000000000 -0500 +++ eggdrop1.6.18/misc/makedepend 2006-03-27 21:35:49.000000000 -0500 @@ -0,0 +1,128 @@ +#! /bin/sh +# +# makedepend - updates Makefile dependencies throughout the tree +# +# Copyright (C) 2004 - 2006 Eggheads Development Team +# +# This file 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# $Id: makedepend,v 1.3 2006-03-28 02:35:49 wcc Exp $ + +show_usage() { + echo "Usage: `basename $0` [-h|-f]" + echo "" + echo " -h, --help - Print this help and exit." + echo " -n, --nocleanup - Don't run 'make distclean' when finished." + echo " -f, --force - Continue even if 'make depend' fails." + exit 1 +} + +update_makefile() { + if test ! -f ${1}/.depend; then + echo "Warning: no .depend found in ${1}/; skipping." + elif ! grep '#safety hash' >/dev/null 2>/dev/null ${1}/${2}; then + echo "Warning: no '#safety hash' found in ${1}/${2}; skipping." + else + sed '/#safety hash/,$d' < ${1}/$2 > ${1}/${2}_ + echo "#safety hash" >> ${1}/${2}_ + cat ${1}/.depend >> ${1}/${2}_ + mv ${1}/${2}_ ${1}/${2} + echo "Updated ${1}/${2}." + fi +} + +update_disabled() { + cd ./src/mod/${1}.mod/ && make 'CC=gcc' \ + 'CFLAGS = -I. -I../../.. -I../../../src/mod -DMAKING_DEPEND -DHAVE_CONFIG_H -DMAKING_MODS' depend + if test ! $? = 0; then + echo "Error: 'make depend' failed in ./src/mod/${1}.mod/." >&2 + echo "" >&2 + test $use_force = 1 || exit 1 + fi + cd $CURRENT_PWD +} + +if test ! -f src/main.c; then + echo "You are not in the Eggdrop root directory." + exit 1 +fi + +use_force=0 +no_cleanup=0 +for arg in $@; do + if test "x${arg}" = "x-h" || test "x${arg}" = "x--help"; then + show_usage + fi + if test "x${arg}" = "x-f" || test "x${arg}" = "x--force"; then + use_force=1 + fi + if test "x${arg}" = "x-n" || test "x${arg}" = "x--nocleanup"; then + no_cleanup=1 + fi +done + +echo "" +echo -n "Running 'make distclean'..." +make distclean >/dev/null 2>/dev/null +echo " done." +echo -n "Running configure..." +sh configure >/dev/null 2>/dev/null && make config >/dev/null 2>/dev/null +echo " done." + +echo "" +echo "Running 'make depend'..." +echo "" +make depend +if test ! $? = 0; then + echo "Error: 'make depend' failed." >&2 + echo "" >&2 + test $use_force = 1 || exit 1 +fi + +echo "" +echo "Running 'make depend' for disabled modules..." +echo "" +DISABLED_MODULES=$(cat disabled_modules | grep '^[a-z]') +CURRENT_PWD=$(pwd) +for i in ${DISABLED_MODULES}; do + update_disabled $i +done + +echo "" +echo "Updating Makefiles and Makefile.ins..." +echo "" +for i in $(find ./src/ -name "Makefile.in" -exec dirname '{}' ';' | grep -v '^\./src/mod$'); do + update_makefile $i "Makefile.in" +done + +for i in $(find ./src/ -name "Makefile" -exec dirname '{}' ';' | grep -v '^\./src/mod$'); do + update_makefile $i "Makefile" +done + +if test $no_cleanup = 0; then + echo "" + echo -n "Running 'make distclean'..." + make distclean >/dev/null + echo " done." +fi + +echo "" +echo "Complete." +echo "" diff -urN eggdrop1.6.17/misc/mkinstalldirs eggdrop1.6.18/misc/mkinstalldirs --- eggdrop1.6.17/misc/mkinstalldirs 2000-03-05 18:22:48.000000000 -0500 +++ eggdrop1.6.18/misc/mkinstalldirs 2000-03-05 18:22:48.000000000 -0500 @@ -4,7 +4,7 @@ # Created: 1993-05-16 # Public domain -# $Id: mkinstalldirs,v 1.1 2000/03/05 23:22:48 fabian Exp $ +# $Id: mkinstalldirs,v 1.1 2000-03-05 23:22:48 fabian Exp $ errstatus=0 diff -urN eggdrop1.6.17/misc/modconfig eggdrop1.6.18/misc/modconfig --- eggdrop1.6.17/misc/modconfig 2004-06-15 03:20:55.000000000 -0400 +++ eggdrop1.6.18/misc/modconfig 2006-03-27 21:35:49.000000000 -0500 @@ -2,7 +2,7 @@ # # modconfig # -# Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 2000 - 2006 Eggheads Development Team # Written by Fabian Knittel # # This program is free software; you can redistribute it and/or @@ -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: modconfig,v 1.15 2004/06/15 07:20:55 wcc Exp $ +# $Id: modconfig,v 1.17 2006-03-28 02:35:49 wcc Exp $ mc_pn=`echo $0 | sed -e 's/^.*\///'` diff -urN eggdrop1.6.17/misc/newversion eggdrop1.6.18/misc/newversion --- eggdrop1.6.17/misc/newversion 1969-12-31 19:00:00.000000000 -0500 +++ eggdrop1.6.18/misc/newversion 2006-03-27 21:35:49.000000000 -0500 @@ -0,0 +1,88 @@ +#! /bin/sh +# +# newversion - prepares the tree for a new version number in CVS +# +# Copyright (C) 2004 - 2006 Eggheads Development Team +# +# This file 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# $Id: newversion,v 1.5 2006-03-28 02:35:49 wcc Exp $ + +MOD_CONFIGURE_ACS="src/mod/compress.mod/configure.ac src/mod/dns.mod/configure.ac" +DOCS="doc/COMPILE-GUIDE doc/PATCH-HOWTO doc/tcl-commands.doc doc/TEXT-SUBSTITUTIONS \ + doc/html/app-textsub.html doc/html/compiling.html doc/tcl-commands.html \ + doc/html/patch-howto.html" + +fix_main_c() { + sed -e 's:egg_numver = .*$:egg_numver = '${NEW_NUMVERSION}';:' \ + -e 's:egg_version\[1024\] = ".*":egg_version[1024] = "'${NEW_EGGVERSION}'":' src/main.c > src/main.c_ + mv src/main.c_ src/main.c +} + +if test ! -f src/main.c; then + echo "You are not in the Eggdrop root directory." + exit 1 +fi + +umask 022 + +OLD_EGGVERSION=$(grep AC_INIT configure.ac | sed -e 's/AC_INIT(\[Eggdrop\],\[//g' -e 's/\],\[bugs@eggheads.org\])//g') +NEW_EGGVERSION=$(echo $OLD_EGGVERSION | cut -d. -f1-2).$(($(echo $OLD_EGGVERSION | cut -d. -f3) + 1)) +NEW_NUMVERSION=$(($(grep 'egg_numver =' src/main.c | sed -e 's/.*= //' -e 's/;$//') + 100)) + +# Change the patch to 'none'. +echo -n "Adding patch 'none'..." +misc/addpatch none >/dev/null +echo " done." + +# Fix main.c. +echo -n "Updating src/main.c..." +fix_main_c +echo " done." + +# Fix configure.ac's. +echo -n "Fixing configure.ac files..." +for i in $MOD_CONFIGURE_ACS configure.ac; do + sed 's:'${OLD_EGGVERSION}':'${NEW_EGGVERSION}':g' $i > ${i}_ + mv ${i}_ $i +done +echo " done." + +echo -n "Fixing docs..." +for i in $DOCS; do + sed 's:'${OLD_EGGVERSION}':'${NEW_EGGVERSION}':g' $i > ${i}_ + mv ${i}_ $i +done +echo " done." + +echo Current patch: `misc/addpatch -s` +echo "" +echo "Complete." +echo "" +echo "Now, cvs commit, and then run the following, and commit again:" +echo " autoconf" +CURRENT_PWD=$PWD +for i in $MOD_CONFIGURE_ACS; do + echo " cd ${CURRENT_PWD}/`dirname $i` && autoconf" +done +echo " cd $PWD" +echo "" +echo "Don't forget to add $NEW_EGGVERSION to UPDATES." +echo "" diff -urN eggdrop1.6.17/misc/releaseprep eggdrop1.6.18/misc/releaseprep --- eggdrop1.6.17/misc/releaseprep 2004-08-20 03:10:40.000000000 -0400 +++ eggdrop1.6.18/misc/releaseprep 2006-03-27 21:35:49.000000000 -0500 @@ -2,7 +2,7 @@ # # releaseprep - prepares the tree for release # -# Copyright (C) 2004 Eggheads Development Team +# Copyright (C) 2004 - 2006 Eggheads Development Team # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # -# $Id: releaseprep,v 1.11 2004/08/20 07:10:40 wcc Exp $ +# $Id: releaseprep,v 1.14 2006-03-28 02:35:49 wcc Exp $ show_usage() { echo "Usage: `basename $0` [-h|-r <#>]" @@ -131,3 +131,4 @@ echo Current patch: `misc/addpatch -s` echo "Complete." +echo "" diff -urN eggdrop1.6.17/misc/runautotools eggdrop1.6.18/misc/runautotools --- eggdrop1.6.17/misc/runautotools 1969-12-31 19:00:00.000000000 -0500 +++ eggdrop1.6.18/misc/runautotools 2006-03-27 21:35:49.000000000 -0500 @@ -0,0 +1,62 @@ +#! /bin/sh +# +# runautotools - +# +# Copyright (C) 2004 - 2006 Eggheads Development Team +# +# This file 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. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# $Id: runautotools,v 1.3 2006-03-28 02:35:49 wcc Exp $ + +show_usage() { + echo "Usage: `basename $0` [-h|-v]" + echo " -h, --help - Print this help and exit." + echo " -v, --verbose - Use verbose mode when running autoconf." + exit 0 +} + +if test ! -f src/main.c; then + echo "You are not in the Eggdrop root directory." + exit 1 +fi + +if test "x${1}" = "x-h" || test "x${1}" = "x--help"; then + show_usage +fi + +echo "Running autotools in root directory..." +autoconf +autoheader + +CURRENT_PWD=$PWD +for i in $(find ./src/mod -name "configure.ac" -exec dirname '{}' ';'); do + cd $i && autoconf + echo "Running autoconf in $i..." + cd $CURRENT_PWD +done + +for i in $(find ./src/mod -name "config.h.in" -exec dirname '{}' ';'); do + cd $i && autoheader + echo "Running autoheader in $i..." + cd $CURRENT_PWD +done + +echo "" +echo "Complete." diff -urN eggdrop1.6.17/scripts/CONTENTS eggdrop1.6.18/scripts/CONTENTS --- eggdrop1.6.17/scripts/CONTENTS 2004-08-08 23:19:01.000000000 -0400 +++ eggdrop1.6.18/scripts/CONTENTS 2006-03-27 21:35:49.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.11 2004/08/09 03:19:01 wcc Exp $ +$Id: CONTENTS,v 1.13 2006-03-28 02:35:49 wcc Exp $ Directory Contents - scripts/ Last revised: August 08, 2004 @@ -61,4 +61,4 @@ _____________________________________________________________________ - Copyright (C) 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 2001 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/scripts/Makefile.in eggdrop1.6.18/scripts/Makefile.in --- eggdrop1.6.17/scripts/Makefile.in 2004-06-17 01:43:29.000000000 -0400 +++ eggdrop1.6.18/scripts/Makefile.in 2004-06-17 01:43:29.000000000 -0400 @@ -1,5 +1,5 @@ # Makefile for scripts/ -# $Id: Makefile.in,v 1.13 2004/06/17 05:43:29 wcc Exp $ +# $Id: Makefile.in,v 1.13 2004-06-17 05:43:29 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ diff -urN eggdrop1.6.17/scripts/action.fix.tcl eggdrop1.6.18/scripts/action.fix.tcl --- eggdrop1.6.17/scripts/action.fix.tcl 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/scripts/action.fix.tcl 2006-03-27 21:35:49.000000000 -0500 @@ -1,12 +1,12 @@ # action.fix.tcl # -# Copyright (C) 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 2002 - 2006 Eggheads Development Team # # Tothwolf 25May1999: cleanup # Tothwolf 04Oct1999: changed proc names slightly # poptix 07Dec2001: handle irssi (and some others) "correct" messages for DCC CTCP # -# $Id: action.fix.tcl,v 1.7 2004/01/09 05:56:36 wcc Exp $ +# $Id: action.fix.tcl,v 1.9 2006-03-28 02:35:49 wcc Exp $ # Fix for mIRC dcc chat /me's: bind filt - "\001ACTION *\001" filt:dcc_action diff -urN eggdrop1.6.17/scripts/alltools.tcl eggdrop1.6.18/scripts/alltools.tcl --- eggdrop1.6.17/scripts/alltools.tcl 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/scripts/alltools.tcl 2006-03-27 21:35:49.000000000 -0500 @@ -5,7 +5,7 @@ # moretools was originally authored by David Sesno # modified for 1.3.0 bots by TG # -# Copyright (C) 1999, 2003, 2004 Eggheads Development Team +# Copyright (C) 1999, 2003 - 2006 Eggheads Development Team # # Tothwolf 02May1999: rewritten and updated # guppy 02May1999: updated even more @@ -24,7 +24,7 @@ # Tothwolf 27Dec2003: added matchbotattrany, optimized ordnumber, # more minor changes # -# $Id: alltools.tcl,v 1.17 2004/01/09 05:56:36 wcc Exp $ +# $Id: alltools.tcl,v 1.19 2006-03-28 02:35:49 wcc Exp $ # ######################################## # diff -urN eggdrop1.6.17/scripts/autobotchk eggdrop1.6.18/scripts/autobotchk --- eggdrop1.6.17/scripts/autobotchk 2003-04-15 13:41:57.000000000 -0400 +++ eggdrop1.6.18/scripts/autobotchk 2003-04-15 13:41:57.000000000 -0400 @@ -60,7 +60,7 @@ # 15Apr2003: cleaned up a few things, fixed a few bugs, and made a little # love! j/k # -# $Id: autobotchk,v 1.11 2003/04/15 17:41:57 guppy Exp $ +# $Id: autobotchk,v 1.11 2003-04-15 17:41:57 guppy Exp $ # if {$argc == 0} { diff -urN eggdrop1.6.17/scripts/botchk eggdrop1.6.18/scripts/botchk --- eggdrop1.6.17/scripts/botchk 2002-02-27 13:21:46.000000000 -0500 +++ eggdrop1.6.18/scripts/botchk 2002-02-27 13:21:46.000000000 -0500 @@ -2,7 +2,7 @@ # # botchk # -# $Id: botchk,v 1.6 2002/02/27 18:21:46 guppy Exp $ +# $Id: botchk,v 1.6 2002-02-27 18:21:46 guppy Exp $ # # This is a script suitable for use in a crontab. It checks to make sure # your bot is running. YOU NEED A SEPARATE CRON JOB FOR EACH BOT. If your diff -urN eggdrop1.6.17/scripts/cmd_resolve.tcl eggdrop1.6.18/scripts/cmd_resolve.tcl --- eggdrop1.6.17/scripts/cmd_resolve.tcl 2003-04-15 21:03:04.000000000 -0400 +++ eggdrop1.6.18/scripts/cmd_resolve.tcl 2003-04-15 21:03:04.000000000 -0400 @@ -12,7 +12,7 @@ # 05Nov2000: fixed a nasty security hole, .resolve [die] # 04Nov2000: first version # -# $Id: cmd_resolve.tcl,v 1.4 2003/04/16 01:03:04 guppy Exp $ +# $Id: cmd_resolve.tcl,v 1.4 2003-04-16 01:03:04 guppy Exp $ bind dcc -|- resolve resolve_cmd bind dcc -|- dns resolve_cmd diff -urN eggdrop1.6.17/scripts/compat.tcl eggdrop1.6.18/scripts/compat.tcl --- eggdrop1.6.17/scripts/compat.tcl 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/scripts/compat.tcl 2006-03-27 21:35:49.000000000 -0500 @@ -3,14 +3,14 @@ # use this is you are to lazy to get of your butt and update your scripts :D # by the way it binds some old command to the new ones # -# Copyright (C) 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 2002 - 2006 Eggheads Development Team # # Wiktor 31Mar2000: added binds and chnick proc # Tothwolf 25May1999: cleanup # Tothwolf 06Oct1999: optimized # rtc 10Oct1999: added [set|get][dn|up]loads functions # -# $Id: compat.tcl,v 1.11 2004/01/09 05:56:36 wcc Exp $ +# $Id: compat.tcl,v 1.13 2006-03-28 02:35:49 wcc Exp $ proc gethosts {hand} { getuser $hand HOSTS diff -urN eggdrop1.6.17/scripts/getops.tcl eggdrop1.6.18/scripts/getops.tcl --- eggdrop1.6.17/scripts/getops.tcl 2003-03-25 19:19:30.000000000 -0500 +++ eggdrop1.6.18/scripts/getops.tcl 2003-03-25 19:19:30.000000000 -0500 @@ -1,7 +1,7 @@ # Getops 2.3b -# $Id: getops.tcl,v 1.18 2003/03/26 00:19:30 wcc Exp $ +# $Id: getops.tcl,v 1.18 2003-03-26 00:19:30 wcc Exp $ # This script is used for bots to request and give ops to each other. # For this to work, you'll need: diff -urN eggdrop1.6.17/scripts/klined.tcl eggdrop1.6.18/scripts/klined.tcl --- eggdrop1.6.17/scripts/klined.tcl 1999-12-21 12:35:08.000000000 -0500 +++ eggdrop1.6.18/scripts/klined.tcl 1999-12-21 12:35:08.000000000 -0500 @@ -2,7 +2,7 @@ # KLined.TCL - Version 1.0 # By Ian Kaney - ikaney@uk.defiant.org # -# $Id: klined.tcl,v 1.2 1999/12/21 17:35:08 fabian Exp $ +# $Id: klined.tcl,v 1.2 1999-12-21 17:35:08 fabian Exp $ # # Even at the best of times, your bot will get k-lined by one operator or # another on a server you're running your bot on. This script will 'hopefully' diff -urN eggdrop1.6.17/scripts/notes2.tcl eggdrop1.6.18/scripts/notes2.tcl --- eggdrop1.6.17/scripts/notes2.tcl 2001-11-04 23:08:28.000000000 -0500 +++ eggdrop1.6.18/scripts/notes2.tcl 2001-11-04 23:08:28.000000000 -0500 @@ -3,7 +3,7 @@ # - a bind apart script from #TSF # - for eggdrop 1.3.15+ # -# $Id: notes2.tcl,v 1.6 2001/11/05 04:08:28 guppy Exp $ +# $Id: notes2.tcl,v 1.6 2001-11-05 04:08:28 guppy Exp $ # #### # diff -urN eggdrop1.6.17/scripts/ques5.tcl eggdrop1.6.18/scripts/ques5.tcl --- eggdrop1.6.17/scripts/ques5.tcl 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/scripts/ques5.tcl 2006-03-27 21:35:49.000000000 -0500 @@ -1,8 +1,8 @@ # # ques5.tcl # -# Copyright (C) 1995, 1996, 1997 Robey Pointer -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 1995 - 1997 Robey Pointer +# Copyright (C) 1999 - 2006 Eggheads Development Team # # v1 -- 20aug95 # v2 -- 2oct95 [improved it] @@ -11,7 +11,7 @@ # v4.00001 nov97 [blurgh] # v5-BETA1 -- 26sep99 by rtc # -# $Id: ques5.tcl,v 1.11 2004/01/09 05:56:36 wcc Exp $ +# $Id: ques5.tcl,v 1.14 2006-03-28 02:35:49 wcc Exp $ # # o clean webfile var removal # o using timezone variable from config file diff -urN eggdrop1.6.17/scripts/userinfo.tcl eggdrop1.6.18/scripts/userinfo.tcl --- eggdrop1.6.17/scripts/userinfo.tcl 2001-11-15 01:28:35.000000000 -0500 +++ eggdrop1.6.18/scripts/userinfo.tcl 2001-11-15 01:28:35.000000000 -0500 @@ -1,7 +1,7 @@ # userinfo.tcl v1.06 for Eggdrop 1.4.3 and higher # Scott G. Taylor -- ButchBub!staylor@mrynet.com # -# $Id: userinfo.tcl,v 1.5 2001/11/15 06:28:35 guppy Exp $ +# $Id: userinfo.tcl,v 1.5 2001-11-15 06:28:35 guppy Exp $ # # v1.00 ButchBub 14 July 1997 -Original release. Based on # whois.tcl "URL" commands. diff -urN eggdrop1.6.17/scripts/weed eggdrop1.6.18/scripts/weed --- eggdrop1.6.17/scripts/weed 2001-11-11 15:24:46.000000000 -0500 +++ eggdrop1.6.18/scripts/weed 2001-11-11 15:24:46.000000000 -0500 @@ -29,7 +29,7 @@ done; \ exec tclsh$lastver "$0" "$@" # -# $Id: weed,v 1.8 2001/11/11 20:24:46 guppy Exp $ +# $Id: weed,v 1.8 2001-11-11 20:24:46 guppy Exp $ # # weed out certain undesirables from an eggdrop userlist # try just typing 'tclsh weed' to find out the options diff -urN eggdrop1.6.17/src/Makefile.in eggdrop1.6.18/src/Makefile.in --- eggdrop1.6.17/src/Makefile.in 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/Makefile.in 2006-03-27 21:35:49.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/ -# $Id: Makefile.in,v 1.20 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile.in,v 1.22 2006-03-28 02:35:49 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ @@ -46,7 +46,7 @@ $(EGGEXEC): ../$(EGGEXEC) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend + $(CC) -I.. -DMAKING_DEPEND -DHAVE_CONFIG_H -MM *.c > .depend clean: @rm -f .depend *.o *.a *~ @@ -88,134 +88,129 @@ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< #safety hash -bg.o: ./bg.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h bg.h -botcmd.o: ./botcmd.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h modules.h mod/modvals.h -botmsg.o: ./botmsg.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h -botnet.o: ./botnet.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h -chanprog.o: ./chanprog.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h -cmds.o: ./cmds.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h modules.h mod/modvals.h -dcc.o: ./dcc.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h md5/md5.h -dccutil.o: ./dccutil.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h -dns.o: ./dns.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h dns.h -flags.o: ./flags.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -language.o: ./language.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -main.o: ./main.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h bg.h patch.h -match.o: ./match.c ./main.h -mem.o: ./mem.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h mod/modvals.h -misc.o: ./misc.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h stat.h -misc_file.o: ./misc_file.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h stat.h -modules.o: ./modules.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h -net.o: ./net.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -rfc1459.o: ./rfc1459.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -tcl.o: ./tcl.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -tcldcc.o: ./tcldcc.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h modules.h mod/modvals.h -tclhash.o: ./tclhash.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -tclmisc.o: ./tclmisc.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h md5/md5.h -tcluser.o: ./tcluser.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h tandem.h -userent.o: ./userent.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h -userrec.o: ./userrec.c main.h ../config.h lang.h eggdrop.h flags.h \ - proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \ - users.h compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h -users.o: ./users.c main.h ../config.h lang.h eggdrop.h flags.h proto.h \ - ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ - compat/compat.h compat/inet_aton.h ../src/main.h \ - compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \ - compat/strftime.h modules.h mod/modvals.h tandem.h +bg.o: bg.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h proto.h \ + misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h compat/compat.h \ + compat/inet_aton.h ../src/main.h compat/snprintf.h compat/memset.h \ + compat/memcpy.h compat/strcasecmp.h compat/strftime.h bg.h +botcmd.o: botcmd.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h modules.h mod/modvals.h +botmsg.o: botmsg.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h +botnet.o: botnet.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h +chanprog.o: chanprog.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h +cmds.o: cmds.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h modules.h mod/modvals.h +dcc.o: dcc.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h md5/md5.h +dccutil.o: dccutil.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h +dns.o: dns.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + dns.h +flags.o: flags.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +language.o: language.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +main.o: main.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h bg.h patch.h +match.o: match.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +mem.o: mem.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + mod/modvals.h +misc.o: misc.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h modules.h mod/modvals.h stat.h +misc_file.o: misc_file.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + stat.h +modules.o: modules.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h md5/md5.h +net.o: net.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +rfc1459.o: rfc1459.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +tcl.o: tcl.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +tcldcc.o: tcldcc.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h modules.h mod/modvals.h +tclhash.o: tclhash.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +tclmisc.o: tclmisc.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h md5/md5.h +tcluser.o: tcluser.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + tandem.h modules.h mod/modvals.h +userent.o: userent.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h +userrec.o: userrec.c main.h ../config.h ../lush.h lang.h eggdrop.h \ + flags.h proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h +users.o: users.c main.h ../config.h ../lush.h lang.h eggdrop.h flags.h \ + proto.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \ + compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \ + compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \ + modules.h mod/modvals.h tandem.h diff -urN eggdrop1.6.17/src/bg.c eggdrop1.6.18/src/bg.c --- eggdrop1.6.17/src/bg.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/bg.c 2006-03-27 21:35:49.000000000 -0500 @@ -3,11 +3,11 @@ * moving the process to the background, i.e. forking, while keeping threads * happy. * - * $Id: bg.c,v 1.10 2004/06/14 01:14:06 wcc Exp $ + * $Id: bg.c,v 1.12 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/bg.h eggdrop1.6.18/src/bg.h --- eggdrop1.6.17/src/bg.h 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/src/bg.h 2006-03-27 21:35:49.000000000 -0500 @@ -1,10 +1,10 @@ /* * bg.h * - * $Id: bg.h,v 1.6 2004/01/09 05:56:36 wcc Exp $ + * $Id: bg.h,v 1.8 2006-03-28 02:35:49 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/botcmd.c eggdrop1.6.18/src/botcmd.c --- eggdrop1.6.17/src/botcmd.c 2004-06-11 13:46:14.000000000 -0400 +++ eggdrop1.6.18/src/botcmd.c 2006-03-27 21:35:49.000000000 -0500 @@ -3,11 +3,11 @@ * commands that comes across the botnet * userfile transfer and update commands from sharebots * - * $Id: botcmd.c,v 1.42 2004/06/11 17:46:14 wcc Exp $ + * $Id: botcmd.c,v 1.45 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -171,7 +171,7 @@ } chatout("*** (%s) %s\n", from, par); botnet_send_chat(idx, from, par); - check_tcl_bcst(from, -1, par); + check_tcl_bcst(from, -1, par); } /* actchan diff -urN eggdrop1.6.17/src/botmsg.c eggdrop1.6.18/src/botmsg.c --- eggdrop1.6.17/src/botmsg.c 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/botmsg.c 2006-03-27 21:35:49.000000000 -0500 @@ -5,11 +5,11 @@ * * by Darrin Smith (beldin@light.iinet.net.au) * - * $Id: botmsg.c,v 1.31 2004/07/25 11:17:34 wcc Exp $ + * $Id: botmsg.c,v 1.35 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -754,9 +754,7 @@ } /* This part of add_note is more relevant to the botnet than - * to the notes file. If idx is -1, the note will be stored - * and the user will not be notified. If idx is -2, the note - * will not be stored. + * to the notes file. */ int add_note(char *to, char *from, char *msg, int idx, int echo) { @@ -765,11 +763,14 @@ struct userrec *u; /* Notes have a length limit. Note + PRIVMSG header + nick + date must - * be < 512 */ + * be less than 512. + */ if (strlen(msg) > 450) msg[450] = 0; - /* Cross-bot note? */ + /* Is this a cross-bot note? If it is, 'to' will be of the format + * 'user@bot'. + */ p = strchr(to, '@'); if (p != NULL) { char x[21]; @@ -789,17 +790,17 @@ if (strchr(from, '@')) { strcpy(botf, from); - } else { + } else sprintf(botf, "%s@%s", from, botnetnick); - } - } else { + + } else strcpy(botf, botnetnick); - } i = nextbot(p); if (i < 0) { if (idx >= 0) dprintf(idx, BOT_NOTHERE); + return NOTE_ERROR; } @@ -809,14 +810,13 @@ if (idx >= 0) { sprintf(ssf, "%lu:%s", dcc[idx].sock, botf); botnet_send_priv(i, ssf, x, p, "%s", msg); - } else { + } else botnet_send_priv(i, botf, x, p, "%s", msg); - } - return NOTE_OK; /* Forwarded to the right bot. */ + return NOTE_OK; /* Forwarded to the right bot */ } - /* Might be form "sock:nick". */ + /* Might be form "sock:nick" */ splitc(ssf, from, ':'); rmspace(ssf); splitc(ss, to, ':'); @@ -826,11 +826,12 @@ else sock = atoi(ss); - /* Notes from bots don't trigger it. */ - if (idx != -2) { + /* Don't process if there's a note binding for it */ + if (idx != -2) { /* Notes from bots don't trigger it */ if (check_tcl_note(from, to, msg)) { if (idx >= 0 && echo) dprintf(idx, "-> %s: %s\n", to, msg); + return NOTE_TCL; } } @@ -840,6 +841,7 @@ if (!u) { if (idx >= 0) dprintf(idx, USERF_UNKNOWN); + return NOTE_ERROR; } @@ -847,60 +849,66 @@ if (is_bot(u)) { if (idx >= 0) dprintf(idx, BOT_NONOTES); + return NOTE_ERROR; } - /* Is user ignoring notes from this source? */ + /* Is user rejecting notes from this source? */ if (match_noterej(u, from)) { if (idx >= 0) dprintf(idx, "%s rejected your note.\n", u->handle); + return NOTE_REJECT; } status = NOTE_STORED; iaway = 0; - /* Online right now? Don't bother if idx == -1. */ - if (idx != -1) { - for (i = 0; i < dcc_total; i++) { - if ((dcc[i].type->flags & DCT_GETNOTES) && - (sock == -1 || sock == dcc[i].sock) && - !egg_strcasecmp(dcc[i].nick, to)) { - int aok = 1; - - if (dcc[i].type == &DCC_CHAT) { - /* Don't check away if from a bot. */ - if (dcc[i].u.chat->away != NULL && idx != -2) { - aok = 0; - if (idx >= 0) - dprintf(idx, "%s %s: %s\n", dcc[i].nick, BOT_USERAWAY, - dcc[i].u.chat->away); - if (!iaway) - iaway = i; - status = NOTE_AWAY; - } + /* Online right now? */ + for (i = 0; i < dcc_total; i++) { + if ((dcc[i].type->flags & DCT_GETNOTES) && + (sock == -1 || sock == dcc[i].sock) && + !egg_strcasecmp(dcc[i].nick, to)) { + int aok = 1; + + if (dcc[i].type == &DCC_CHAT) { + + /* Only check away if it's not from a bot. */ + if (dcc[i].u.chat->away != NULL && idx != -2) { + aok = 0; + + if (idx >= 0) + dprintf(idx, "%s %s: %s\n", dcc[i].nick, BOT_USERAWAY, + dcc[i].u.chat->away); + + if (!iaway) + iaway = i; + status = NOTE_AWAY; } + } - if (aok) { - char *p, *fr = from, work[1024]; - int l = 0; - - while (*msg == '<' || *msg == '>') { - p = newsplit(&msg); - if (*p == '<') - l += simple_sprintf(work + l, "via %s, ", p + 1); - else if (*from == '@') - fr = p + 1; - } - - if (idx == -2 || !egg_strcasecmp(from, botnetnick)) - dprintf(i, "*** [%s] %s%s\n", fr, l ? work : "", msg); - else - dprintf(i, "%cNote [%s]: %s%s\n", 7, fr, l ? work : "", msg); - if (idx >= 0 && echo) - dprintf(idx, "-> %s: %s\n", to, msg); - return NOTE_OK; + if (aok) { + char *p, *fr = from, work[1024]; + int l = 0; + + while (*msg == '<' || *msg == '>') { + p = newsplit(&msg); + + if (*p == '<') + l += simple_sprintf(work + l, "via %s, ", p + 1); + else if (*from == '@') + fr = p + 1; } + + if (idx == -2 || !egg_strcasecmp(from, botnetnick)) + dprintf(i, "*** [%s] %s%s\n", fr, l ? work : "", msg); + else + dprintf(i, "%cNote [%s]: %s%s\n", 7, fr, l ? work : "", msg); + + if (idx >= 0 && echo) + dprintf(idx, "-> %s: %s\n", to, msg); + + return NOTE_OK; } } } @@ -908,30 +916,27 @@ if (idx == -2) return NOTE_OK; /* Error msg from a tandembot: don't store. */ - /* Prepare to call tcl_storenote. */ + /* Call 'storenote' Tcl command. */ + simple_sprintf(ss, "%d", (idx >= 0) ? dcc[idx].sock : -1); Tcl_SetVar(interp, "_from", from, 0); - Tcl_SetVar(interp, "_to", to, 0); - Tcl_SetVar(interp, "_data", msg, 0); - if (idx >= 0) - simple_sprintf(ss, "%d", dcc[idx].sock); - else - simple_sprintf(ss, "%d", -1); - Tcl_SetVar(interp, "_idx", ss, 0); + Tcl_SetVar(interp, "_to", to, 0); + Tcl_SetVar(interp, "_data", msg, 0); + Tcl_SetVar(interp, "_idx", ss, 0); + if (Tcl_VarEval(interp, "storenote", " $_from $_to $_data $_idx", NULL) == + TCL_OK) { - /* Store the note. */ - if (Tcl_VarEval(interp, "storenote", " $_from $_to $_data $_idx", NULL) == TCL_OK) { if (interp->result && interp->result[0]) status = NOTE_FWD; - if (status == NOTE_AWAY) { - /* User is away in all sessions -- just notify the user that a - * message arrived and was stored. (only oldest session is notified.) - */ + /* User is away in all sessions -- just notify the user that a + * message arrived and was stored (only oldest session is notified). + */ + if (status == NOTE_AWAY) dprintf(iaway, "*** %s.\n", BOT_NOTEARRIVED); - } return status; } + /* If we haven't returned anything else by now, assume an error occurred. */ return NOTE_ERROR; } diff -urN eggdrop1.6.17/src/botnet.c eggdrop1.6.18/src/botnet.c --- eggdrop1.6.17/src/botnet.c 2004-06-11 02:06:24.000000000 -0400 +++ eggdrop1.6.18/src/botnet.c 2006-03-27 21:35:49.000000000 -0500 @@ -7,11 +7,11 @@ * linking, unlinking, and relaying to another bot * pinging the bots periodically and checking leaf status * - * $Id: botnet.c,v 1.57 2004/06/11 06:06:24 wcc Exp $ + * $Id: botnet.c,v 1.60 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -288,21 +288,29 @@ } } -/* Remove a tandem bot from the chain list - */ -void rembot(char *who) +/* Remove a tandem bot from the chain list. */ +void rembot(char *whoin) { tand_t **ptr = &tandbot, *ptr2; struct userrec *u; + char *who = NULL; + size_t len = 0; + + /* Need to save the nick for later as it MAY be a pointer to ptr->bot, and we free(ptr) in here. */ + len = strlen(whoin); + who = nmalloc(len + 1); + strncpyz(who, whoin, len + 1); while (*ptr) { if (!egg_strcasecmp((*ptr)->bot, who)) break; ptr = &((*ptr)->next); } - if (!*ptr) - /* May have just .unlink *'d */ + if (!*ptr) { + /* May have just .unlink *'d. */ + nfree(who); return; + } check_tcl_disc(who); u = get_user_by_handle(userlist, who); @@ -315,6 +323,7 @@ tands--; dupwait_notify(who); + nfree(who); } void remparty(char *bot, int sock) diff -urN eggdrop1.6.17/src/chan.h eggdrop1.6.18/src/chan.h --- eggdrop1.6.17/src/chan.h 2004-06-27 13:26:51.000000000 -0400 +++ eggdrop1.6.18/src/chan.h 2006-03-27 21:35:49.000000000 -0500 @@ -3,11 +3,11 @@ * stuff common to chan.c and mode.c * users.h needs to be loaded too * - * $Id: chan.h,v 1.40 2004/06/27 17:26:51 wcc Exp $ + * $Id: chan.h,v 1.42 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/chanprog.c eggdrop1.6.18/src/chanprog.c --- eggdrop1.6.17/src/chanprog.c 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/chanprog.c 2006-03-27 21:35:49.000000000 -0500 @@ -7,11 +7,11 @@ * telling the current programmed settings * initializing a lot of stuff and loading the tcl scripts * - * $Id: chanprog.c,v 1.57 2004/07/25 11:17:34 wcc Exp $ + * $Id: chanprog.c,v 1.59 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/cmds.c eggdrop1.6.18/src/cmds.c --- eggdrop1.6.17/src/cmds.c 2004-08-04 15:57:13.000000000 -0400 +++ eggdrop1.6.18/src/cmds.c 2006-03-27 21:35:49.000000000 -0500 @@ -3,11 +3,11 @@ * commands from a user via dcc * (split in 2, this portion contains no-irc commands) * - * $Id: cmds.c,v 1.111 2004/08/04 19:57:13 wcc Exp $ + * $Id: cmds.c,v 1.114 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -2837,7 +2837,7 @@ {"handle", "", (Function) cmd_handle, NULL}, {"nick", "", (Function) cmd_handle, NULL}, {"page", "", (Function) cmd_page, NULL}, - {"quit", "", (Function) NULL, NULL}, + {"quit", "", (Function) CMD_LEAVE, NULL}, {"rehash", "m", (Function) cmd_rehash, NULL}, {"rehelp", "n", (Function) cmd_rehelp, NULL}, {"relay", "o", (Function) cmd_relay, NULL}, diff -urN eggdrop1.6.17/src/cmdt.h eggdrop1.6.18/src/cmdt.h --- eggdrop1.6.17/src/cmdt.h 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/src/cmdt.h 2006-03-27 21:35:49.000000000 -0500 @@ -2,11 +2,11 @@ * cmdt.h * stuff for builtin commands * - * $Id: cmdt.h,v 1.8 2004/01/09 05:56:36 wcc Exp $ + * $Id: cmdt.h,v 1.11 2006-03-28 02:35:49 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -26,7 +26,6 @@ #ifndef _EGG_CMDT_H #define _EGG_CMDT_H -#define CMD_LEAVE (Function)(-1) typedef struct { char *name; char *flags; diff -urN eggdrop1.6.17/src/compat/Makefile.in eggdrop1.6.18/src/compat/Makefile.in --- eggdrop1.6.17/src/compat/Makefile.in 2003-11-01 18:26:57.000000000 -0500 +++ eggdrop1.6.18/src/compat/Makefile.in 2005-12-09 04:29:10.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/compat/ -# $Id: Makefile.in,v 1.7 2003/11/01 23:26:57 wcc Exp $ +# $Id: Makefile.in,v 1.9 2005-12-09 09:29:10 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ @@ -27,7 +27,7 @@ @cd ../.. && $(MAKE) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend + $(CC) -I../.. -I../../src -DMAKING_DEPEND -DHAVE_CONFIG_H -MM *.c > .depend clean: @rm -f .depend *.o *~ @@ -41,55 +41,58 @@ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< #safety hash -gnu_strftime.o: ./gnu_strftime.c -inet_aton.o: ./inet_aton.c ../../src/main.h ../../config.h \ - ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ - ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \ - ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ - ../../src/users.h ../../src/compat/compat.h \ - ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \ - ../../src/compat/memset.h ../../src/compat/memcpy.h \ - ../../src/compat/strcasecmp.h ../../src/compat/strftime.h inet_aton.h -memcpy.o: ./memcpy.c ../../src/main.h ../../config.h ../../src/lang.h \ - ../../src/eggdrop.h ../../src/flags.h ../../src/proto.h ../../lush.h \ - ../../src/misc_file.h ../../src/cmdt.h ../../src/tclegg.h \ - ../../src/tclhash.h ../../src/chan.h ../../src/users.h \ - ../../src/compat/compat.h ../../src/compat/inet_aton.h \ - ../../src/compat/snprintf.h ../../src/compat/memset.h \ - ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ - ../../src/compat/strftime.h memcpy.h -memset.o: ./memset.c ../../src/main.h ../../config.h ../../src/lang.h \ - ../../src/eggdrop.h ../../src/flags.h ../../src/proto.h ../../lush.h \ - ../../src/misc_file.h ../../src/cmdt.h ../../src/tclegg.h \ - ../../src/tclhash.h ../../src/chan.h ../../src/users.h \ - ../../src/compat/compat.h ../../src/compat/inet_aton.h \ - ../../src/compat/snprintf.h ../../src/compat/memset.h \ - ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ - ../../src/compat/strftime.h memset.h -snprintf.o: ./snprintf.c ../../src/main.h ../../config.h \ - ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ - ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \ - ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ - ../../src/users.h ../../src/compat/compat.h \ - ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \ - ../../src/compat/memset.h ../../src/compat/memcpy.h \ - ../../src/compat/strcasecmp.h \ - ../../src/compat/strftime.h snprintf.h -strcasecmp.o: ./strcasecmp.c ../../src/main.h ../../config.h \ - ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ - ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \ - ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ - ../../src/users.h ../../src/compat/compat.h \ - ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \ - ../../src/compat/memset.h ../../src/compat/memcpy.h \ - ../../src/compat/strcasecmp.h \ - ../../src/compat/strftime.h memcpy.h -strftime.o: ./strftime.c ../../src/main.h ../../config.h \ - ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ - ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \ - ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ - ../../src/users.h ../../src/compat/compat.h \ - ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \ - ../../src/compat/memset.h ../../src/compat/memcpy.h \ - ../../src/compat/strcasecmp.h \ - ../../src/compat/strftime.h strftime.h +gnu_strftime.o: gnu_strftime.c ../../config.h +inet_aton.o: inet_aton.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h inet_aton.h +memcpy.o: memcpy.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h memcpy.h +memset.o: memset.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h memset.h +snprintf.o: snprintf.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h snprintf.h +strcasecmp.o: strcasecmp.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h memcpy.h +strftime.o: strftime.c ../../src/main.h ../../config.h ../../lush.h \ + ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h \ + ../../src/compat/snprintf.h ../../src/compat/memset.h \ + ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \ + ../../src/compat/strftime.h strftime.h diff -urN eggdrop1.6.17/src/compat/compat.h eggdrop1.6.18/src/compat/compat.h --- eggdrop1.6.17/src/compat/compat.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/compat.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * compat.h * wrap-around header for all compability functions. * - * $Id: compat.h,v 1.9 2004/01/09 05:56:37 wcc Exp $ + * $Id: compat.h,v 1.11 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/inet_aton.c eggdrop1.6.18/src/compat/inet_aton.c --- eggdrop1.6.17/src/compat/inet_aton.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/inet_aton.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,10 +1,10 @@ /* * inet_aton.c -- provides inet_aton() if necessary. * - * $Id: inet_aton.c,v 1.15 2004/01/09 05:56:37 wcc Exp $ + * $Id: inet_aton.c,v 1.17 2006-03-28 02:35:50 wcc Exp $ */ /* - * Portions Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Portions Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/inet_aton.h eggdrop1.6.18/src/compat/inet_aton.h --- eggdrop1.6.17/src/compat/inet_aton.h 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/compat/inet_aton.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * inet_aton.h * prototypes for inet_aton.c * - * $Id: inet_aton.h,v 1.10 2004/06/14 01:14:06 wcc Exp $ + * $Id: inet_aton.h,v 1.12 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/memcpy.c eggdrop1.6.18/src/compat/memcpy.c --- eggdrop1.6.17/src/compat/memcpy.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/memcpy.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * memcpy.c -- provides memcpy() if necessary. * - * $Id: memcpy.c,v 1.5 2004/01/09 05:56:37 wcc Exp $ + * $Id: memcpy.c,v 1.7 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/memcpy.h eggdrop1.6.18/src/compat/memcpy.h --- eggdrop1.6.17/src/compat/memcpy.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/memcpy.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * memcpy.h * prototypes for memcpy.c * - * $Id: memcpy.h,v 1.8 2004/01/09 05:56:37 wcc Exp $ + * $Id: memcpy.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/memset.c eggdrop1.6.18/src/compat/memset.c --- eggdrop1.6.17/src/compat/memset.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/memset.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * memset.c -- provides memset() if necessary. * - * $Id: memset.c,v 1.6 2004/01/09 05:56:37 wcc Exp $ + * $Id: memset.c,v 1.8 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/memset.h eggdrop1.6.18/src/compat/memset.h --- eggdrop1.6.17/src/compat/memset.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/memset.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * memset.h * prototypes for memset.c * - * $Id: memset.h,v 1.8 2004/01/09 05:56:37 wcc Exp $ + * $Id: memset.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/snprintf.c eggdrop1.6.18/src/compat/snprintf.c --- eggdrop1.6.17/src/compat/snprintf.c 2004-01-13 05:21:00.000000000 -0500 +++ eggdrop1.6.18/src/compat/snprintf.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,10 +1,10 @@ /* * snprintf.c - a portable implementation of snprintf and vsnprintf * - * $Id: snprintf.c,v 1.20 2004/01/13 10:21:00 wcc Exp $ + * $Id: snprintf.c,v 1.23 2006-03-28 02:35:50 wcc Exp $ */ /* - * Portions Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Portions Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -277,7 +277,7 @@ case 'd': case 'i': if (cflags == DP_C_SHORT) - value = va_arg(args, short int); + value = va_arg(args, int); else if (cflags == DP_C_LONG) value = va_arg(args, long int); @@ -290,7 +290,7 @@ case 'o': flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) - value = va_arg(args, unsigned short int); + value = va_arg(args, unsigned int); else if (cflags == DP_C_LONG) value = va_arg(args, unsigned long int); @@ -303,7 +303,7 @@ case 'u': flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) - value = va_arg(args, unsigned short int); + value = va_arg(args, unsigned int); else if (cflags == DP_C_LONG) value = va_arg(args, unsigned long int); @@ -318,7 +318,7 @@ case 'x': flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) - value = va_arg(args, unsigned short int); + value = va_arg(args, unsigned int); else if (cflags == DP_C_LONG) value = va_arg(args, unsigned long int); diff -urN eggdrop1.6.17/src/compat/snprintf.h eggdrop1.6.18/src/compat/snprintf.h --- eggdrop1.6.17/src/compat/snprintf.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/snprintf.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * snprintf.h * header file for snprintf.c * - * $Id: snprintf.h,v 1.17 2004/01/09 05:56:37 wcc Exp $ + * $Id: snprintf.h,v 1.19 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/strcasecmp.c eggdrop1.6.18/src/compat/strcasecmp.c --- eggdrop1.6.17/src/compat/strcasecmp.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/strcasecmp.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * strcasecmp.c -- provides strcasecmp() and strncasecmp if necessary. * - * $Id: strcasecmp.c,v 1.5 2004/01/09 05:56:37 wcc Exp $ + * $Id: strcasecmp.c,v 1.7 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/strcasecmp.h eggdrop1.6.18/src/compat/strcasecmp.h --- eggdrop1.6.17/src/compat/strcasecmp.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/strcasecmp.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * strcasecmp.h * prototypes for strcasecmp.c * - * $Id: strcasecmp.h,v 1.8 2004/01/09 05:56:37 wcc Exp $ + * $Id: strcasecmp.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/compat/strftime.c eggdrop1.6.18/src/compat/strftime.c --- eggdrop1.6.17/src/compat/strftime.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/strftime.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * strftime.c * Portable strftime implementation. Uses GNU's strftime(). * - * $Id: strftime.c,v 1.7 2004/01/09 05:56:37 wcc Exp $ + * $Id: strftime.c,v 1.9 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * Written by Fabian Knittel * * This program is free software; you can redistribute it and/or diff -urN eggdrop1.6.17/src/compat/strftime.h eggdrop1.6.18/src/compat/strftime.h --- eggdrop1.6.17/src/compat/strftime.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/compat/strftime.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,22 +2,22 @@ * strftime.h * header file for strftime.c * - * $Id: strftime.h,v 1.7 2004/01/09 05:56:37 wcc Exp $ + * $Id: strftime.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ -/* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +/* + * Copyright (C) 2000 - 2006 Eggheads Development Team * Written by Fabian Knittel - * + * * 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. diff -urN eggdrop1.6.17/src/dcc.c eggdrop1.6.18/src/dcc.c --- eggdrop1.6.17/src/dcc.c 2004-07-30 21:21:53.000000000 -0400 +++ eggdrop1.6.18/src/dcc.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * disconnect on a dcc socket * ...and that's it! (but it's a LOT) * - * $Id: dcc.c,v 1.81 2004/07/31 01:21:53 wcc Exp $ + * $Id: dcc.c,v 1.85 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1152,7 +1152,7 @@ if (dcc[idx].host[0] == '@') { /* Restrict by hostname */ if (!wild_match(dcc[idx].host + 1, dcc[i].host)) { - putlog(LOG_BOTS, "*", DCC_BADHOST, s); + putlog(LOG_BOTS, "*", DCC_BADHOST, dcc[i].host); killsock(dcc[i].sock); lostdcc(i); return; @@ -1322,7 +1322,7 @@ strip_telnet(dcc[idx].sock, buf, &atr); buf[HANDLEN] = 0; /* Toss out bad nicknames */ - if ((dcc[idx].nick[0] != '@') && (!wild_match(dcc[idx].nick, buf))) { + if (dcc[idx].nick[0] != '@' && !wild_match(dcc[idx].nick, buf)) { dprintf(idx, "Sorry, that nickname format is invalid.\n"); putlog(LOG_BOTS, "*", DCC_BADNICK, dcc[idx].host); killsock(dcc[idx].sock); @@ -1347,8 +1347,7 @@ return; } dcc[idx].status &= ~(STAT_BOTONLY | STAT_USRONLY); - if ((!egg_strcasecmp(buf, "NEW")) && ((allow_new_telnets) || - (make_userfile))) { + if (!egg_strcasecmp(buf, "NEW") && (allow_new_telnets || make_userfile)) { dcc[idx].type = &DCC_TELNET_NEW; dcc[idx].timeval = now; dprintf(idx, "\n"); diff -urN eggdrop1.6.17/src/dccutil.c eggdrop1.6.18/src/dccutil.c --- eggdrop1.6.17/src/dccutil.c 2004-06-11 02:06:24.000000000 -0400 +++ eggdrop1.6.18/src/dccutil.c 2006-03-27 21:35:50.000000000 -0500 @@ -6,11 +6,11 @@ * memory management for dcc structures * timeout checking for dcc connections * - * $Id: dccutil.c,v 1.52 2004/06/11 06:06:24 wcc Exp $ + * $Id: dccutil.c,v 1.56 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -39,7 +39,6 @@ extern char botnetnick[], version[]; extern time_t now; extern sock_list *socklist; -extern Tcl_Interp *interp; char motdfile[121] = "text/motd"; /* File where the motd is stored */ int connect_timeout = 15; /* How long to wait before a telnet @@ -82,6 +81,25 @@ return tot; } +int findidx(int z) +{ + int j; + + for (j = 0; j < dcc_total; j++) + if ((dcc[j].sock == z) && (dcc[j].type->flags & DCT_VALIDIDX)) + return j; + return -1; +} + +int findanyidx(register int z) +{ + register int j; + + for (j = 0; j < dcc_total; j++) + if (dcc[j].sock == z) + return j; + return -1; +} /* Replace \n with \r\n */ char *add_cr(char *buf) @@ -432,7 +450,6 @@ void *_get_data_ptr(int size, char *file, int line) { char *p; - #ifdef DEBUG_MEM char x[1024]; diff -urN eggdrop1.6.17/src/dns.c eggdrop1.6.18/src/dns.c --- eggdrop1.6.17/src/dns.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/dns.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,12 +4,12 @@ * provides the code used by the bot if the DNS module is not loaded * DNS Tcl commands * - * $Id: dns.c,v 1.30 2004/07/02 21:02:02 wcc Exp $ + * $Id: dns.c,v 1.33 2006-03-28 02:35:50 wcc Exp $ */ /* * Written by Fabian Knittel * - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -39,7 +39,7 @@ extern int dcc_total; extern int resolve_timeout; extern time_t now; -extern jmp_buf alarmret; +extern sigjmp_buf alarmret; extern Tcl_Interp *interp; devent_t *dns_events = NULL; @@ -449,7 +449,7 @@ unsigned long addr = htonl(ip); static char s[UHOSTLEN]; - if (!setjmp(alarmret)) { + if (!sigsetjmp(alarmret, 1)) { alarm(resolve_timeout); hp = gethostbyaddr((char *) &addr, sizeof(addr), AF_INET); alarm(0); @@ -475,7 +475,7 @@ call_ipbyhost(host, ntohl(inaddr.s_addr), 1); return; } - if (!setjmp(alarmret)) { + if (!sigsetjmp(alarmret, 1)) { struct hostent *hp; struct in_addr *in; IP ip = 0; diff -urN eggdrop1.6.17/src/dns.h eggdrop1.6.18/src/dns.h --- eggdrop1.6.17/src/dns.h 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/src/dns.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,12 +2,12 @@ * dns.h * stuff used by dns.c * - * $Id: dns.h,v 1.10 2004/01/09 05:56:36 wcc Exp $ + * $Id: dns.h,v 1.12 2006-03-28 02:35:50 wcc Exp $ */ /* * Written by Fabian Knittel * - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/eggdrop.h eggdrop1.6.18/src/eggdrop.h --- eggdrop1.6.17/src/eggdrop.h 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/eggdrop.h 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * * IF YOU ALTER THIS FILE, YOU NEED TO RECOMPILE THE BOT. * - * $Id: eggdrop.h,v 1.61 2004/07/25 11:17:34 wcc Exp $ + * $Id: eggdrop.h,v 1.65 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -304,7 +304,7 @@ void (*eof) (int); void (*activity) (int, char *, int); int *timeout_val; - void (*timeout) (); + void (*timeout) (int); void (*display) (int, char *); int (*expmem) (void *); void (*kill) (int, void *); @@ -315,15 +315,15 @@ struct userrec; struct dcc_t { - long sock; /* This should be a long to keep 64-bit machines sane */ - IP addr; /* IP address in host byte order */ + long sock; /* This should be a long to keep 64-bit machines sane. */ + IP addr; /* IP address in host network byte order. */ unsigned int port; struct userrec *user; char nick[NICKLEN]; char host[UHOSTLEN]; struct dcc_table *type; - time_t timeval; /* This is used for timeout checking */ - unsigned long status; /* A LOT of dcc types have status things; makes it more avaliabe */ + time_t timeval; /* This is used for timeout checking. */ + unsigned long status; /* A LOT of dcc types have status things; makes it more avaliabe. */ union { struct chat_info *chat; struct file_info *file; diff -urN eggdrop1.6.17/src/flags.c eggdrop1.6.18/src/flags.c --- eggdrop1.6.17/src/flags.c 2004-06-12 17:00:41.000000000 -0400 +++ eggdrop1.6.18/src/flags.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * flags.c -- handles: * all the flag matching/conversion functions in one neat package :) * - * $Id: flags.c,v 1.28 2004/06/12 21:00:41 wcc Exp $ + * $Id: flags.c,v 1.32 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -537,13 +537,16 @@ int flagrec_ok(struct flag_record *req, struct flag_record *have) { + /* FIXME: flag masks with '&' in them won't be subject to + * further tests below. Example: 'o&j' + */ if (req->match & FR_AND) return flagrec_eq(req, have); else if (req->match & FR_OR) { int hav = have->global; /* Exception 1 - global +d/+k cant use -|-, unless they are +p */ - if (!req->chan && !req->global &&!req->udef_global && !req->udef_chan) { + if (!req->chan && !req->global && !req->udef_global && !req->udef_chan) { if (!allow_dk_cmds) { if (glob_party(*have)) return 1; @@ -554,8 +557,8 @@ } return 1; } - /* The +n/+m checks arent needed anymore since +n/+m - * automatically add lower flags + /* The +n/+m checks aren't needed anymore because +n/+m + * automatically adds lower flags */ if (!require_p && ((hav & USER_OP) || (have->chan & USER_OWNER))) hav |= USER_PARTY; @@ -576,7 +579,7 @@ { if (req->match & FR_AND) { if (req->match & FR_GLOBAL) { - if ((req->global &have->global) !=req->global) + if ((req->global & have->global) !=req->global) return 0; if ((req->udef_global & have->udef_global) != req->udef_global) return 0; @@ -592,11 +595,11 @@ } return 1; } else if (req->match & FR_OR) { - if (!req->chan && !req->global &&!req->udef_chan && + if (!req->chan && !req->global && !req->udef_chan && !req->udef_global && !req->bot) return 1; if (req->match & FR_GLOBAL) { - if (have->global &req->global) + if (have->global & req->global) return 1; if (have->udef_global & req->udef_global) return 1; diff -urN eggdrop1.6.17/src/flags.h eggdrop1.6.18/src/flags.h --- eggdrop1.6.17/src/flags.h 2004-01-09 00:56:36.000000000 -0500 +++ eggdrop1.6.18/src/flags.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * flags.h * - * $Id: flags.h,v 1.14 2004/01/09 05:56:36 wcc Exp $ + * $Id: flags.h,v 1.16 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/lang.h eggdrop1.6.18/src/lang.h --- eggdrop1.6.17/src/lang.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/lang.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * lang.h * Conversion definitions for language support * - * $Id: lang.h,v 1.33 2004/01/09 05:56:37 wcc Exp $ + * $Id: lang.h,v 1.35 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/language.c eggdrop1.6.18/src/language.c --- eggdrop1.6.17/src/language.c 2004-04-06 02:56:38.000000000 -0400 +++ eggdrop1.6.18/src/language.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * language.c -- handles: * language support code * - * $Id: language.c,v 1.24 2004/04/06 06:56:38 wcc Exp $ + * $Id: language.c,v 1.26 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/main.c eggdrop1.6.18/src/main.c --- eggdrop1.6.17/src/main.c 2004-07-02 17:21:08.000000000 -0400 +++ eggdrop1.6.18/src/main.c 2006-03-27 21:35:50.000000000 -0500 @@ -5,11 +5,11 @@ * command line arguments * context and assert debugging * - * $Id: main.c,v 1.111 2004/07/02 21:21:08 wcc Exp $ + * $Id: main.c,v 1.118 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -80,7 +80,7 @@ extern log_t *logs; extern Tcl_Interp *interp; extern tcl_timer_t *timer, *utimer; -extern jmp_buf alarmret; +extern sigjmp_buf alarmret; time_t now; /* @@ -90,8 +90,8 @@ * modified versions of this bot. */ -char egg_version[1024] = "1.6.17"; -int egg_numver = 1061700; +char egg_version[1024] = "1.6.18"; +int egg_numver = 1061800; char notify_new[121] = ""; /* Person to send a note to for new users */ int default_flags = 0; /* Default user flags */ @@ -390,7 +390,7 @@ */ static void got_alarm(int z) { - longjmp(alarmret, 1); + siglongjmp(alarmret, 1); /* -Never reached- */ } @@ -460,7 +460,7 @@ static void do_arg(char *s) { - char x[1024], *z = x; + char x[512], *z = x; int i; if (s[0] == '-') @@ -734,7 +734,7 @@ /* Version info! */ egg_snprintf(ver, sizeof ver, "eggdrop v%s", egg_version); egg_snprintf(version, sizeof version, - "Eggdrop v%s (C) 1997 Robey Pointer (C) 2004 Eggheads", + "Eggdrop v%s (C) 1997 Robey Pointer (C) 2006 Eggheads", egg_version); /* Now add on the patchlevel (for Tcl) */ sprintf(&egg_version[strlen(egg_version)], " %u", egg_numver); @@ -1043,8 +1043,8 @@ /* Unload as many modules as possible */ int f = 1; module_entry *p; - Function x; - char xx[256]; + Function startfunc; + char name[256]; /* oops, I guess we should call this event before tcl is restarted */ check_tcl_event("prerestart"); @@ -1061,8 +1061,8 @@ d = d->next; } if (ok) { - strcpy(xx, p->name); - if (module_unload(xx, botnetnick) == NULL) { + strcpy(name, p->name); + if (module_unload(name, botnetnick) == NULL) { f = 1; break; } @@ -1070,16 +1070,18 @@ } } + /* Make sure we don't have any modules left hanging around other than + * "eggdrop" and the two that are supposed to be. + */ for (f = 0, p = module_list; p; p = p->next) { - if (!strcmp(p->name, "eggdrop") || !strcmp(p->name, "encryption") || - !strcmp(p->name, "uptime")) - f = 0; - else - f = 1; + if (strcmp(p->name, "eggdrop") && strcmp(p->name, "encryption") && + strcmp(p->name, "uptime")) { + f++; + } } - if (f) - /* Should be only 3 modules now - eggdrop, encryption, and uptime */ + if (f != 0) { putlog(LOG_MISC, "*", MOD_STAGNANT); + } flushlogs(); kill_tcl(); @@ -1089,8 +1091,8 @@ /* this resets our modules which we didn't unload (encryption and uptime) */ for (p = module_list; p; p = p->next) { if (p->funcs) { - x = p->funcs[MODCALL_START]; - x(NULL); + startfunc = p->funcs[MODCALL_START]; + startfunc(NULL); } } @@ -1098,6 +1100,7 @@ restart_chons(); call_hook(HOOK_LOADED); } + do_restart = 0; } } diff -urN eggdrop1.6.17/src/main.h eggdrop1.6.18/src/main.h --- eggdrop1.6.17/src/main.h 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/main.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * main.h * include file to include most other include files * - * $Id: main.h,v 1.29 2004/07/25 11:17:34 wcc Exp $ + * $Id: main.h,v 1.34 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -71,10 +71,12 @@ # define EGG_VARARGS_DEF(type, name) (type name, ...) # define EGG_VARARGS_START(type, name, list) (va_start(list, name), name) #else -# include -# define EGG_VARARGS(type, name) () -# define EGG_VARARGS_DEF(type, name) (va_alist) va_dcl -# define EGG_VARARGS_START(type, name, list) (va_start(list), va_arg(list,type)) +# ifndef MAKING_DEPEND /* Allows 'make depend' to work on newer GCC versions. */ +# include +# define EGG_VARARGS(type, name) () +# define EGG_VARARGS_DEF(type, name) (va_alist) va_dcl +# define EGG_VARARGS_START(type, name, list) (va_start(list), va_arg(list,type)) +# endif #endif #include @@ -138,12 +140,12 @@ #ifdef BORGCUBES # define O_NONBLOCK 00000004 /* POSIX non-blocking I/O */ -#endif /* BORGUBES */ +#endif /* BORGCUBES */ /* Use high-order bits for getting the random integer. With random() * modulo would probably be sufficient but on systems lacking random(), * the function will be just renamed rand(). */ -#define randint(n) (unsigned long) (random() / (RAND_MAX + 1.0) * ((n) < 0 ? (-(n)) : (n))) +#define randint(n) (unsigned long) (random() / (RANDOM_MAX + 1.0) * ((n) < 0 ? (-(n)) : (n))) #endif /* _EGG_MAIN_H */ diff -urN eggdrop1.6.17/src/match.c eggdrop1.6.18/src/match.c --- eggdrop1.6.17/src/match.c 2004-04-06 02:56:38.000000000 -0400 +++ eggdrop1.6.18/src/match.c 2004-04-06 02:56:38.000000000 -0400 @@ -2,7 +2,7 @@ * match.c * wildcard matching functions * - * $Id: match.c,v 1.11 2004/04/06 06:56:38 wcc Exp $ + * $Id: match.c,v 1.11 2004-04-06 06:56:38 wcc Exp $ * * Once this code was working, I added support for % so that I could * use the same code both in Eggdrop and in my IrcII client. diff -urN eggdrop1.6.17/src/md5/Makefile.in eggdrop1.6.18/src/md5/Makefile.in --- eggdrop1.6.17/src/md5/Makefile.in 2003-11-01 18:26:57.000000000 -0500 +++ eggdrop1.6.18/src/md5/Makefile.in 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/md5/ -# $Id: Makefile.in,v 1.11 2003/11/01 23:26:57 wcc Exp $ +# $Id: Makefile.in,v 1.13 2005-12-09 09:29:11 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ @@ -27,7 +27,7 @@ @cd ../.. && $(MAKE) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend + $(CC) -I../.. -I../../src -DMAKING_DEPEND -DHAVE_CONFIG_H -MM *.c > .depend clean: @rm -f .depend *.o *~ @@ -41,11 +41,11 @@ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< #safety hash -md5c.o: ./md5c.c ../../src/main.h ../../config.h ../../src/lang.h \ - ../../src/eggdrop.h ../../src/flags.h ../../src/proto.h ../../lush.h \ - ../../src/misc_file.h ../../src/cmdt.h ../../src/tclegg.h \ - ../../src/tclhash.h ../../src/chan.h ../../src/users.h \ - ../../src/compat/compat.h ../../src/compat/inet_aton.h \ - ../../src/compat/snprintf.h \ - ../../src/compat/memset.h ../../src/compat/memcpy.h \ - ../../src/compat/strcasecmp.h ../../src/compat/strftime.h md5.h +md5c.o: md5c.c md5.h ../../src/compat/compat.h \ + ../../src/compat/inet_aton.h ../../src/main.h ../../config.h \ + ../../lush.h ../../src/lang.h ../../src/eggdrop.h ../../src/flags.h \ + ../../src/proto.h ../../src/misc_file.h ../../src/cmdt.h \ + ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \ + ../../src/users.h ../../src/compat/compat.h ../../src/compat/snprintf.h \ + ../../src/compat/memset.h ../../src/compat/memcpy.h \ + ../../src/compat/strcasecmp.h ../../src/compat/strftime.h diff -urN eggdrop1.6.17/src/mem.c eggdrop1.6.18/src/mem.c --- eggdrop1.6.17/src/mem.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/mem.c 2006-03-27 21:35:50.000000000 -0500 @@ -3,11 +3,11 @@ * memory allocation and deallocation * keeping track of what memory is being used by whom * - * $Id: mem.c,v 1.24 2004/06/14 01:14:06 wcc Exp $ + * $Id: mem.c,v 1.26 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/misc.c eggdrop1.6.18/src/misc.c --- eggdrop1.6.17/src/misc.c 2004-06-11 01:53:03.000000000 -0400 +++ eggdrop1.6.18/src/misc.c 2006-03-27 21:35:50.000000000 -0500 @@ -7,11 +7,11 @@ * help system * motd display and %var substitution * - * $Id: misc.c,v 1.74 2004/06/11 05:53:03 wcc Exp $ + * $Id: misc.c,v 1.77 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -946,7 +946,11 @@ struct flag_record fr = { FR_GLOBAL | FR_CHAN, 0, 0, 0, 0, 0 }; break_down_flags(q + 1, &fr, NULL); - if (!flagrec_ok(&fr, flags)) + + /* We used to check flagrec_ok(), but we can use flagrec_eq() + * instead because lower flags are automatically added now. + */ + if (!flagrec_eq(&fr, flags)) blind |= 1; else blind &= ~1; diff -urN eggdrop1.6.17/src/misc_file.c eggdrop1.6.18/src/misc_file.c --- eggdrop1.6.17/src/misc_file.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/misc_file.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * misc_file.c -- handles: * copyfile() movefile() file_readable() * - * $Id: misc_file.c,v 1.12 2004/01/09 05:56:37 wcc Exp $ + * $Id: misc_file.c,v 1.14 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/misc_file.h eggdrop1.6.18/src/misc_file.h --- eggdrop1.6.17/src/misc_file.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/misc_file.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * misc_file.h * prototypes for misc_file.c * - * $Id: misc_file.h,v 1.7 2004/01/09 05:56:37 wcc Exp $ + * $Id: misc_file.h,v 1.9 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/Makefile.in eggdrop1.6.18/src/mod/Makefile.in --- eggdrop1.6.17/src/mod/Makefile.in 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/Makefile.in 2004-08-28 02:43:22.000000000 -0400 @@ -1,5 +1,5 @@ # Makefile for src/mod/ -# $Id: Makefile.in,v 1.20 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile.in,v 1.21 2004-08-28 06:43:22 wcc Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ @@ -39,6 +39,8 @@ 'XLIBS=$(XLIBS)' 'MOD_EXT=$(MOD_EXT)' 'SHELL=$(SHELL)' \ 'MODULE_XLIBS=$(MODULE_XLIBS)' +MAKE_MODDEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' \ +'CFLAGS=-I../../.. -I../../../src/mod -DMAKING_DEPEND -DHAVE_CONFIG_H -DMAKING_MODS' doofus: @echo "" @@ -76,7 +78,7 @@ if test ! -r $$i/Makefile; then \ cp $(srcdir)/$$i/Makefile $$i/Makefile; \ fi; \ - (cd $$i && $(MAKE_MOD) "VPATH=$(MOD_UPDIR)$(srcdir)/$$i" "srcdir=$(MOD_UPDIR)$(srcdir)/$$i" depend); \ + (cd $$i && $(MAKE_MODDEPEND) "VPATH=$(MOD_UPDIR)$(srcdir)/$$i" "srcdir=$(MOD_UPDIR)$(srcdir)/$$i" depend); \ done config: diff -urN eggdrop1.6.17/src/mod/assoc.mod/Makefile eggdrop1.6.18/src/mod/assoc.mod/Makefile --- eggdrop1.6.17/src/mod/assoc.mod/Makefile 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/assoc.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/assoc.mod/ -# $Id: Makefile,v 1.15 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../assoc.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/assoc.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/assoc.c -MT ../assoc.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,12 @@ #safety hash ../assoc.o: .././assoc.mod/assoc.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../assoc.mod/assoc.h + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/tandem.h .././assoc.mod/assoc.h diff -urN eggdrop1.6.17/src/mod/assoc.mod/assoc.c eggdrop1.6.18/src/mod/assoc.mod/assoc.c --- eggdrop1.6.17/src/mod/assoc.mod/assoc.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/mod/assoc.mod/assoc.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * assoc.c -- part of assoc.mod * the assoc code, moved here mainly from botnet.c for module work * - * $Id: assoc.c,v 1.30 2004/06/14 01:14:06 wcc Exp $ + * $Id: assoc.c,v 1.32 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/assoc.mod/assoc.h eggdrop1.6.18/src/mod/assoc.mod/assoc.h --- eggdrop1.6.17/src/mod/assoc.mod/assoc.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/assoc.mod/assoc.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,10 +1,10 @@ /* * assoc.h -- part of assoc.mod * - * $Id: assoc.h,v 1.8 2004/01/09 05:56:37 wcc Exp $ + * $Id: assoc.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/assoc.mod/language/assoc.danish.lang eggdrop1.6.18/src/mod/assoc.mod/language/assoc.danish.lang --- eggdrop1.6.17/src/mod/assoc.mod/language/assoc.danish.lang 2003-03-19 19:10:26.000000000 -0500 +++ eggdrop1.6.18/src/mod/assoc.mod/language/assoc.danish.lang 2003-03-19 19:10:26.000000000 -0500 @@ -1,7 +1,7 @@ # assoc.danish.lang # language messages for the assoc module # -# $Id: assoc.danish.lang,v 1.4 2003/03/20 00:10:26 wcc Exp $ +# $Id: assoc.danish.lang,v 1.4 2003-03-20 00:10:26 wcc Exp $ 0xb000,Ingen kanal navne 0xb001,Kanal diff -urN eggdrop1.6.17/src/mod/assoc.mod/language/assoc.english.lang eggdrop1.6.18/src/mod/assoc.mod/language/assoc.english.lang --- eggdrop1.6.17/src/mod/assoc.mod/language/assoc.english.lang 2000-09-23 13:45:23.000000000 -0400 +++ eggdrop1.6.18/src/mod/assoc.mod/language/assoc.english.lang 2000-09-23 13:45:23.000000000 -0400 @@ -1,7 +1,7 @@ # assoc.english.lang # language messages for the assoc module # -# $Id: assoc.english.lang,v 1.1 2000/09/23 17:45:23 fabian Exp $ +# $Id: assoc.english.lang,v 1.1 2000-09-23 17:45:23 fabian Exp $ 0xb000,No channel names 0xb001,Chan diff -urN eggdrop1.6.17/src/mod/assoc.mod/language/assoc.finnish.lang eggdrop1.6.18/src/mod/assoc.mod/language/assoc.finnish.lang --- eggdrop1.6.17/src/mod/assoc.mod/language/assoc.finnish.lang 2004-07-05 00:37:33.000000000 -0400 +++ eggdrop1.6.18/src/mod/assoc.mod/language/assoc.finnish.lang 2004-07-05 00:37:33.000000000 -0400 @@ -1,7 +1,7 @@ # assoc.finnish.lang # kieli viestit assoc moduuliin # -# $Id: assoc.finnish.lang,v 1.1 2004/07/05 04:37:33 wcc Exp $ +# $Id: assoc.finnish.lang,v 1.1 2004-07-05 04:37:33 wcc Exp $ 0xb000,Ei kanava nimeä 0xb001,Kanava diff -urN eggdrop1.6.17/src/mod/assoc.mod/language/assoc.french.lang eggdrop1.6.18/src/mod/assoc.mod/language/assoc.french.lang --- eggdrop1.6.17/src/mod/assoc.mod/language/assoc.french.lang 2002-01-02 03:06:14.000000000 -0500 +++ eggdrop1.6.18/src/mod/assoc.mod/language/assoc.french.lang 2002-01-02 03:06:14.000000000 -0500 @@ -1,7 +1,7 @@ # assoc.french.lang # language messages for the assoc module # -# $Id: assoc.french.lang,v 1.2 2002/01/02 08:06:14 tothwolf Exp $ +# $Id: assoc.french.lang,v 1.2 2002-01-02 08:06:14 tothwolf Exp $ 0xb000,Pas de noms de canaux 0xb001,Canal diff -urN eggdrop1.6.17/src/mod/assoc.mod/language/assoc.german.lang eggdrop1.6.18/src/mod/assoc.mod/language/assoc.german.lang --- eggdrop1.6.17/src/mod/assoc.mod/language/assoc.german.lang 2002-01-02 03:06:14.000000000 -0500 +++ eggdrop1.6.18/src/mod/assoc.mod/language/assoc.german.lang 2002-01-02 03:06:14.000000000 -0500 @@ -1,7 +1,7 @@ # assoc.german.lang # language messages for the assoc module # -# $Id: assoc.german.lang,v 1.2 2002/01/02 08:06:14 tothwolf Exp $ +# $Id: assoc.german.lang,v 1.2 2002-01-02 08:06:14 tothwolf Exp $ 0xb000,Keine Channel-Namen 0xb001,Channel diff -urN eggdrop1.6.17/src/mod/assoc.mod/modinfo eggdrop1.6.18/src/mod/assoc.mod/modinfo --- eggdrop1.6.17/src/mod/assoc.mod/modinfo 2004-05-26 21:30:11.000000000 -0400 +++ eggdrop1.6.18/src/mod/assoc.mod/modinfo 2004-05-26 21:30:11.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2004/05/27 01:30:11 wcc Exp $ +# $Id: modinfo,v 1.3 2004-05-27 01:30:11 wcc Exp $ DESC:This module allows users to give party-line channels descriptive names DESC:instead of using only boring numbers. The names are also distributed DESC:over the botnet. diff -urN eggdrop1.6.17/src/mod/blowfish.mod/Makefile eggdrop1.6.18/src/mod/blowfish.mod/Makefile --- eggdrop1.6.17/src/mod/blowfish.mod/Makefile 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/blowfish.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/blowfish.mod/ -# $Id: Makefile,v 1.14 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile,v 1.16 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../blowfish.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/blowfish.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/blowfish.c -MT ../blowfish.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,13 @@ #safety hash ../blowfish.o: .././blowfish.mod/blowfish.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../blowfish.mod/blowfish.h ../blowfish.mod/bf_tab.h + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././blowfish.mod/blowfish.h \ + .././blowfish.mod/bf_tab.h diff -urN eggdrop1.6.17/src/mod/blowfish.mod/bf_tab.h eggdrop1.6.18/src/mod/blowfish.mod/bf_tab.h --- eggdrop1.6.17/src/mod/blowfish.mod/bf_tab.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/blowfish.mod/bf_tab.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * bf_tab.h -- part of blowfish.mod * Blowfish P-box and S-box tables * - * $Id: bf_tab.h,v 1.8 2004/01/09 05:56:37 wcc Exp $ + * $Id: bf_tab.h,v 1.10 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/blowfish.mod/blowfish.c eggdrop1.6.18/src/mod/blowfish.mod/blowfish.c --- eggdrop1.6.17/src/mod/blowfish.mod/blowfish.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/mod/blowfish.mod/blowfish.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * blowfish.c -- part of blowfish.mod * encryption and decryption of passwords * - * $Id: blowfish.c,v 1.30 2004/06/14 01:14:06 wcc Exp $ + * $Id: blowfish.c,v 1.32 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/blowfish.mod/blowfish.h eggdrop1.6.18/src/mod/blowfish.mod/blowfish.h --- eggdrop1.6.17/src/mod/blowfish.mod/blowfish.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/blowfish.mod/blowfish.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * blowfish.h -- part of blowfish.mod * - * $Id: blowfish.h,v 1.11 2004/01/09 05:56:37 wcc Exp $ + * $Id: blowfish.h,v 1.13 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/blowfish.mod/modinfo eggdrop1.6.18/src/mod/blowfish.mod/modinfo --- eggdrop1.6.17/src/mod/blowfish.mod/modinfo 2003-12-20 17:29:51.000000000 -0500 +++ eggdrop1.6.18/src/mod/blowfish.mod/modinfo 2003-12-20 17:29:51.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2003/12/20 22:29:51 wcc Exp $ +# $Id: modinfo,v 1.3 2003-12-20 22:29:51 wcc Exp $ DESC:The blowfish module provides encryption support for eggdrop. You always DESC:need to load an encryption module to run eggdrop. Currently, blowfish DESC:is the only encryption module, so you don't have much choice. diff -urN eggdrop1.6.17/src/mod/channels.mod/Makefile eggdrop1.6.18/src/mod/channels.mod/Makefile --- eggdrop1.6.17/src/mod/channels.mod/Makefile 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/channels.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/channels.mod/ -# $Id: Makefile,v 1.15 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../channels.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/channels.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/channels.c -MT ../channels.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,15 +33,14 @@ #safety hash ../channels.o: .././channels.mod/channels.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../channels.mod/channels.h ../channels.mod/cmdschan.c \ - ../channels.mod/tclchan.c ../channels.mod/userchan.c \ - ../channels.mod/udefchan.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././channels.mod/channels.h \ + .././channels.mod/cmdschan.c .././channels.mod/tclchan.c \ + .././channels.mod/userchan.c .././channels.mod/udefchan.c diff -urN eggdrop1.6.17/src/mod/channels.mod/channels.c eggdrop1.6.18/src/mod/channels.mod/channels.c --- eggdrop1.6.17/src/mod/channels.mod/channels.c 2004-06-27 13:26:51.000000000 -0400 +++ eggdrop1.6.18/src/mod/channels.mod/channels.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * channels.c -- part of channels.mod * support for channels within the bot * - * $Id: channels.c,v 1.89 2004/06/27 17:26:51 wcc Exp $ + * $Id: channels.c,v 1.93 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -308,7 +308,7 @@ user_del_chan(chan->dname); noshare = 0; nfree(chan->channel.key); - for (i = 0; i < 6 && chan->cmode[i].op; i++) + for (i = 0; i < MODES_PER_LINE_MAX && chan->cmode[i].op; i++) nfree(chan->cmode[i].op); if (chan->key) nfree(chan->key); @@ -452,13 +452,14 @@ PLSMNS(channel_dynamicinvites(chan)), PLSMNS(!channel_nouserinvites(chan)), PLSMNS(channel_nodesynch(chan))); + fprintf(f, "%s\n", channel_static(chan) ? "" : "}"); for (ul = udef; ul; ul = ul->next) { if (ul->defined && ul->name) { if (ul->type == UDEF_FLAG) - fprintf(f, "%c%s%s ", getudef(ul->values, chan->dname) ? '+' : '-', + fprintf(f, "channel set %s %c%s%s\n", name, getudef(ul->values, chan->dname) ? '+' : '-', "udef-flag-", ul->name); else if (ul->type == UDEF_INT) - fprintf(f, "%s%s %d ", "udef-int-", ul->name, getudef(ul->values, + fprintf(f, "channel set %s %s%s %d\n", name, "udef-int-", ul->name, getudef(ul->values, chan->dname)); else if (ul->type == UDEF_STR) { char *p = (char *) getudef(ul->values, chan->dname); @@ -466,12 +467,11 @@ if (!p) p = "{}"; - fprintf(f, "udef-str-%s %s ", ul->name, p); + fprintf(f, "channel set %s udef-str-%s %s\n", name, ul->name, p); } else debug1("UDEF-ERROR: unknown type %d", ul->type); } } - fprintf(f, "%s\n", channel_static(chan) ? "" : "}"); if (fflush(f)) { putlog(LOG_MISC, "*", "ERROR writing channel file."); fclose(f); @@ -723,7 +723,7 @@ tot += expmem_masklist(chan->channel.exempt); tot += expmem_masklist(chan->channel.invite); - for (i = 0; i < 6 && chan->cmode[i].op; i++) + for (i = 0; i < MODES_PER_LINE_MAX && chan->cmode[i].op; i++) tot += strlen(chan->cmode[i].op) + 1; if (chan->key) tot += strlen(chan->key) + 1; diff -urN eggdrop1.6.17/src/mod/channels.mod/channels.h eggdrop1.6.18/src/mod/channels.mod/channels.h --- eggdrop1.6.17/src/mod/channels.mod/channels.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/channels.mod/channels.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * channels.h -- part of channels.mod * - * $Id: channels.h,v 1.25 2004/01/09 05:56:37 wcc Exp $ + * $Id: channels.h,v 1.27 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/channels.mod/cmdschan.c eggdrop1.6.18/src/mod/channels.mod/cmdschan.c --- eggdrop1.6.17/src/mod/channels.mod/cmdschan.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/channels.mod/cmdschan.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * cmdschan.c -- part of channels.mod * commands from a user via dcc that cause server interaction * - * $Id: cmdschan.c,v 1.70 2004/01/09 05:56:37 wcc Exp $ + * $Id: cmdschan.c,v 1.73 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1398,7 +1398,7 @@ if (u->flags & USER_OWNER) { tmp = 0; - + for (ul = udef; ul; ul = ul->next) { if (ul->defined && ul->type == UDEF_STR) { char *p = (char *) getudef(ul->values, chan->dname); diff -urN eggdrop1.6.17/src/mod/channels.mod/modinfo eggdrop1.6.18/src/mod/channels.mod/modinfo --- eggdrop1.6.17/src/mod/channels.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 +++ eggdrop1.6.18/src/mod/channels.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:49 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:49 wcc Exp $ DESC:The channels module provides channel related support for the bot. It's DESC:essential for hubs that share userfiles, as well as normal bots DESC:monitoring channels on IRC. diff -urN eggdrop1.6.17/src/mod/channels.mod/tclchan.c eggdrop1.6.18/src/mod/channels.mod/tclchan.c --- eggdrop1.6.17/src/mod/channels.mod/tclchan.c 2004-06-11 01:53:03.000000000 -0400 +++ eggdrop1.6.18/src/mod/channels.mod/tclchan.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * tclchan.c -- part of channels.mod * - * $Id: tclchan.c,v 1.89 2004/06/11 05:53:03 wcc Exp $ + * $Id: tclchan.c,v 1.94 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -910,11 +910,11 @@ args[1] = b; x = Tcl_Merge(2, args); egg_snprintf(s, sizeof s, "%s", x); - Tcl_Free((char *) x); + Tcl_Free((char *) x); Tcl_AppendElement(irp, s); } else if (ul->type == UDEF_STR) { char *p = (char *) getudef(ul->values, chan->dname), *buf; - + if (!p) p = "{}"; @@ -955,7 +955,7 @@ s[120] = 0; } else if (!strcmp(setting, "idle-kick")) simple_sprintf(s, "%d", chan->idle_kick); - else if (!strcmp(setting, "stop-net-hack")) + else if (!strcmp(setting, "stopnethack-mode") || !strcmp(setting, "stop-net-hack")) simple_sprintf(s, "%d", chan->stopnethack_mode); else if (!strcmp(setting, "revenge-mode")) simple_sprintf(s, "%d", chan->revenge_mode); diff -urN eggdrop1.6.17/src/mod/channels.mod/udefchan.c eggdrop1.6.18/src/mod/channels.mod/udefchan.c --- eggdrop1.6.17/src/mod/channels.mod/udefchan.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/channels.mod/udefchan.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * udefchan.c -- part of channels.mod * user definable channel flags/settings * - * $Id: udefchan.c,v 1.10 2004/01/09 05:56:37 wcc Exp $ + * $Id: udefchan.c,v 1.12 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/channels.mod/userchan.c eggdrop1.6.18/src/mod/channels.mod/userchan.c --- eggdrop1.6.17/src/mod/channels.mod/userchan.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/mod/channels.mod/userchan.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * userchan.c -- part of channels.mod * - * $Id: userchan.c,v 1.45 2004/07/02 21:02:02 wcc Exp $ + * $Id: userchan.c,v 1.47 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/compress.mod/Makefile.in eggdrop1.6.18/src/mod/compress.mod/Makefile.in --- eggdrop1.6.17/src/mod/compress.mod/Makefile.in 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/compress.mod/Makefile.in 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile.in for src/mod/compress.mod/ -# $Id: Makefile.in,v 1.11 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile.in,v 1.13 2005-12-09 09:29:11 wcc Exp $ ZLIB = @ZLIB@ srcdir = . @@ -26,7 +26,7 @@ $(STRIP) ../../../compress.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/compress.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/compress.c -MT ../compress.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -36,14 +36,13 @@ #safety hash ../compress.o: .././compress.mod/compress.c ../../../src/mod/module.h \ -../../../src/main.h ../../../config.h ../../../src/lang.h \ -../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ -../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ -../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ -../../../src/users.h ../../../src/compat/compat.h \ -../../../src/compat/inet_aton.h \ -../../../src/compat/snprintf.h ../../../src/compat/memset.h \ -../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ -../../../src/compat/strftime.h ../../../src/mod/modvals.h \ -../../../src/tandem.h ../../../src/mod/share.mod/share.h \ -../compress.mod/compress.h ../compress.mod/tclcompress.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/mod/share.mod/share.h \ + .././compress.mod/compress.h .././compress.mod/tclcompress.c diff -urN eggdrop1.6.17/src/mod/compress.mod/compress.c eggdrop1.6.18/src/mod/compress.mod/compress.c --- eggdrop1.6.17/src/mod/compress.mod/compress.c 2004-06-15 03:20:55.000000000 -0400 +++ eggdrop1.6.18/src/mod/compress.mod/compress.c 2006-03-27 21:35:50.000000000 -0500 @@ -6,10 +6,10 @@ * Written by Fabian Knittel . Based on zlib examples * by Jean-loup Gailly and Miguel Albrecht. * - * $Id: compress.c,v 1.24 2004/06/15 07:20:55 wcc Exp $ + * $Id: compress.c,v 1.26 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/compress.mod/compress.h eggdrop1.6.18/src/mod/compress.mod/compress.h --- eggdrop1.6.17/src/mod/compress.mod/compress.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/compress.mod/compress.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * compress.h -- part of src/mod/compress.mod * header file for the zlib compression module * - * $Id: compress.h,v 1.9 2004/01/09 05:56:37 wcc Exp $ + * $Id: compress.h,v 1.11 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/compress.mod/configure eggdrop1.6.18/src/mod/compress.mod/configure --- eggdrop1.6.17/src/mod/compress.mod/configure 2004-07-25 07:18:29.000000000 -0400 +++ eggdrop1.6.18/src/mod/compress.mod/configure 2006-04-05 11:11:16.000000000 -0400 @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Revision: 1.2 . +# From configure.ac Revision: 1.5 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for Eggdrop Compress Module 1.6.17. +# Generated by GNU Autoconf 2.59 for Eggdrop Compress Module 1.6.18. # # Report bugs to . # @@ -9,7 +9,7 @@ # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 1999 - 2006 Eggheads Development Team ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## @@ -272,8 +272,8 @@ # Identity of this package. PACKAGE_NAME='Eggdrop Compress Module' PACKAGE_TARNAME='eggdrop-compress-module' -PACKAGE_VERSION='1.6.17' -PACKAGE_STRING='Eggdrop Compress Module 1.6.17' +PACKAGE_VERSION='1.6.18' +PACKAGE_STRING='Eggdrop Compress Module 1.6.18' PACKAGE_BUGREPORT='bugs@eggheads.org' ac_unique_file="compress.c" @@ -783,7 +783,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Eggdrop Compress Module 1.6.17 to adapt to many kinds of systems. +\`configure' configures Eggdrop Compress Module 1.6.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -840,7 +840,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Eggdrop Compress Module 1.6.17:";; + short | recursive ) echo "Configuration of Eggdrop Compress Module 1.6.18:";; esac cat <<\_ACEOF @@ -952,14 +952,14 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -Eggdrop Compress Module configure 1.6.17 +Eggdrop Compress Module configure 1.6.18 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team _ACEOF exit 0 fi @@ -968,7 +968,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Eggdrop Compress Module $as_me 1.6.17, which was +It was created by Eggdrop Compress Module $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -3107,9 +3107,10 @@ # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -3387,7 +3388,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by Eggdrop Compress Module $as_me 1.6.17, which was +This file was extended by Eggdrop Compress Module $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3442,7 +3443,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -Eggdrop Compress Module config.status 1.6.17 +Eggdrop Compress Module config.status 1.6.18 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff -urN eggdrop1.6.17/src/mod/compress.mod/configure.ac eggdrop1.6.18/src/mod/compress.mod/configure.ac --- eggdrop1.6.17/src/mod/compress.mod/configure.ac 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/compress.mod/configure.ac 2006-03-27 21:35:50.000000000 -0500 @@ -1,18 +1,18 @@ dnl configure.ac: this file is processed by autoconf to produce ./configure. dnl -dnl $Id: configure.ac,v 1.2 2004/07/25 11:17:34 wcc Exp $ +dnl $Id: configure.ac,v 1.5 2006-03-28 02:35:50 wcc Exp $ AC_PREREQ(2.59) sinclude(../eggmod.m4) -AC_INIT([Eggdrop Compress Module],[1.6.17],[bugs@eggheads.org]) +AC_INIT([Eggdrop Compress Module],[1.6.18],[bugs@eggheads.org]) AC_CONFIG_SRCDIR(compress.c) AC_CONFIG_AUX_DIR(../../../misc) -AC_COPYRIGHT([Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team]) -AC_REVISION($Revision: 1.2 $) +AC_COPYRIGHT([Copyright (C) 1999 - 2006 Eggheads Development Team]) +AC_REVISION($Revision: 1.5 $) # Check for gzopen() in -lz. AC_CHECK_LIB(z, gzopen, [ZLIB="-lz"], []) diff -urN eggdrop1.6.17/src/mod/compress.mod/modinfo eggdrop1.6.18/src/mod/compress.mod/modinfo --- eggdrop1.6.17/src/mod/compress.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 +++ eggdrop1.6.18/src/mod/compress.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:49 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:49 wcc Exp $ DESC:The compress module provides support for file compression. This DESC:allows the bot to transfer compressed user files and therefore DESC:saves a significant amount of bandwidth, especially on very active diff -urN eggdrop1.6.17/src/mod/compress.mod/tclcompress.c eggdrop1.6.18/src/mod/compress.mod/tclcompress.c --- eggdrop1.6.17/src/mod/compress.mod/tclcompress.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/mod/compress.mod/tclcompress.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: tclcompress.c,v 1.10 2004/01/09 05:56:37 wcc Exp $ + * $Id: tclcompress.c,v 1.13 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -99,7 +99,7 @@ int result; BADARGS(2, 2, " compressed-file"); - + result = is_compressedfile(argv[1]); if (result == COMPF_UNCOMPRESSED) Tcl_AppendResult(irp, "0", NULL); /* Uncompressed. */ diff -urN eggdrop1.6.17/src/mod/console.mod/Makefile eggdrop1.6.18/src/mod/console.mod/Makefile --- eggdrop1.6.17/src/mod/console.mod/Makefile 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/console.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/console.mod/ -# $Id: Makefile,v 1.17 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile,v 1.19 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../console.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/console.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/console.c -MT ../console.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,12 @@ #safety hash ../console.o: .././console.mod/console.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../console.mod/console.h + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././console.mod/console.h diff -urN eggdrop1.6.17/src/mod/console.mod/console.c eggdrop1.6.18/src/mod/console.mod/console.c --- eggdrop1.6.17/src/mod/console.mod/console.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/mod/console.mod/console.c 2006-03-27 21:35:50.000000000 -0500 @@ -3,10 +3,10 @@ * saved console settings based on console.tcl * by cmwagner/billyjoe/D. Senso * - * $Id: console.c,v 1.31 2004/06/14 01:14:06 wcc Exp $ + * $Id: console.c,v 1.33 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/console.mod/console.h eggdrop1.6.18/src/mod/console.mod/console.h --- eggdrop1.6.17/src/mod/console.mod/console.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/console.mod/console.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,10 +1,10 @@ /* * console.h -- part of console.mod * - * $Id: console.h,v 1.7 2004/01/09 05:56:38 wcc Exp $ + * $Id: console.h,v 1.9 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/console.mod/language/console.danish.lang eggdrop1.6.18/src/mod/console.mod/language/console.danish.lang --- eggdrop1.6.17/src/mod/console.mod/language/console.danish.lang 2003-03-19 19:10:26.000000000 -0500 +++ eggdrop1.6.18/src/mod/console.mod/language/console.danish.lang 2003-03-19 19:10:26.000000000 -0500 @@ -1,7 +1,7 @@ # console.danish.lang # language messages for the console module # -# $Id: console.danish.lang,v 1.4 2003/03/20 00:10:26 wcc Exp $ +# $Id: console.danish.lang,v 1.4 2003-03-20 00:10:26 wcc Exp $ 0xb040,Gemte konsolindstillinger: 0xb041,Dine konsolindstillinger er gemt: diff -urN eggdrop1.6.17/src/mod/console.mod/language/console.english.lang eggdrop1.6.18/src/mod/console.mod/language/console.english.lang --- eggdrop1.6.17/src/mod/console.mod/language/console.english.lang 2001-04-13 15:25:05.000000000 -0400 +++ eggdrop1.6.18/src/mod/console.mod/language/console.english.lang 2001-04-13 15:25:05.000000000 -0400 @@ -1,7 +1,7 @@ # console.english.lang # language messages for the console module # -# $Id: console.english.lang,v 1.2 2001/04/13 19:25:05 guppy Exp $ +# $Id: console.english.lang,v 1.2 2001-04-13 19:25:05 guppy Exp $ 0xb040,Saved Console Settings: 0xb041,Saved your Console Settings: diff -urN eggdrop1.6.17/src/mod/console.mod/language/console.finnish.lang eggdrop1.6.18/src/mod/console.mod/language/console.finnish.lang --- eggdrop1.6.17/src/mod/console.mod/language/console.finnish.lang 2004-07-05 00:37:33.000000000 -0400 +++ eggdrop1.6.18/src/mod/console.mod/language/console.finnish.lang 2004-07-05 00:37:33.000000000 -0400 @@ -1,7 +1,7 @@ # console.finnish.lang # kieli viestit konsoli moduuliin # -# $Id: console.finnish.lang,v 1.1 2004/07/05 04:37:33 wcc Exp $ +# $Id: console.finnish.lang,v 1.1 2004-07-05 04:37:33 wcc Exp $ 0xb040,Tallennettu Konsoli Asetukset: 0xb041,Tallennettu Sinun Konsoli Asetuksesi: diff -urN eggdrop1.6.17/src/mod/console.mod/language/console.french.lang eggdrop1.6.18/src/mod/console.mod/language/console.french.lang --- eggdrop1.6.17/src/mod/console.mod/language/console.french.lang 2002-01-02 03:06:15.000000000 -0500 +++ eggdrop1.6.18/src/mod/console.mod/language/console.french.lang 2002-01-02 03:06:15.000000000 -0500 @@ -1,7 +1,7 @@ # console.french.lang # language messages for the console module # -# $Id: console.french.lang,v 1.2 2002/01/02 08:06:15 tothwolf Exp $ +# $Id: console.french.lang,v 1.2 2002-01-02 08:06:15 tothwolf Exp $ 0xb040,Paramètres de console sauvegardés : 0xb041,Vos paramètres de console ont été sauvegardés : diff -urN eggdrop1.6.17/src/mod/console.mod/language/console.german.lang eggdrop1.6.18/src/mod/console.mod/language/console.german.lang --- eggdrop1.6.17/src/mod/console.mod/language/console.german.lang 2001-04-13 15:25:05.000000000 -0400 +++ eggdrop1.6.18/src/mod/console.mod/language/console.german.lang 2001-04-13 15:25:05.000000000 -0400 @@ -1,7 +1,7 @@ # console.german.lang # language messages for the console module # -# $Id: console.german.lang,v 1.1 2001/04/13 19:25:05 guppy Exp $ +# $Id: console.german.lang,v 1.1 2001-04-13 19:25:05 guppy Exp $ 0xb040,Habe Consolen-Einstellungen gespeichert: 0xb041,Habe Deine Consolen-Einstellungen gespeichert: diff -urN eggdrop1.6.17/src/mod/console.mod/modinfo eggdrop1.6.18/src/mod/console.mod/modinfo --- eggdrop1.6.17/src/mod/console.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 +++ eggdrop1.6.18/src/mod/console.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:49 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:49 wcc Exp $ DESC:This module provides storage of console settings when you exit the bot DESC:(or .store). DESC: diff -urN eggdrop1.6.17/src/mod/ctcp.mod/Makefile eggdrop1.6.18/src/mod/ctcp.mod/Makefile --- eggdrop1.6.17/src/mod/ctcp.mod/Makefile 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/ctcp.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/ctcp.mod/ -# $Id: Makefile,v 1.14 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile,v 1.16 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../ctcp.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/ctcp.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/ctcp.c -MT ../ctcp.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -32,14 +32,14 @@ distclean: clean #safety hash -../ctcp.o: .././ctcp.mod/ctcp.c ../ctcp.mod/ctcp.h \ - ../../../src/mod/module.h ../../../src/main.h ../../../config.h \ - ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ - ../../../src/proto.h ../../../lush.h ../../../src/misc_file.h \ - ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ - ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../../../src/mod/server.mod/server.h +../ctcp.o: .././ctcp.mod/ctcp.c .././ctcp.mod/ctcp.h \ + ../../../src/mod/module.h ../../../src/main.h ../../../config.h \ + ../../../lush.h ../../../src/lang.h ../../../src/eggdrop.h \ + ../../../src/flags.h ../../../src/cmdt.h ../../../src/tclegg.h \ + ../../../src/tclhash.h ../../../src/chan.h ../../../src/users.h \ + ../../../src/compat/compat.h ../../../src/compat/inet_aton.h \ + ../../../src/main.h ../../../src/compat/snprintf.h \ + ../../../src/compat/memset.h ../../../src/compat/memcpy.h \ + ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \ + ../../../src/mod/modvals.h ../../../src/tandem.h \ + ../../../src/mod/server.mod/server.h diff -urN eggdrop1.6.17/src/mod/ctcp.mod/ctcp.c eggdrop1.6.18/src/mod/ctcp.mod/ctcp.c --- eggdrop1.6.17/src/mod/ctcp.mod/ctcp.c 2004-06-13 21:14:07.000000000 -0400 +++ eggdrop1.6.18/src/mod/ctcp.mod/ctcp.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * ctcp.c -- part of ctcp.mod * all the ctcp handling (except DCC, it's special ;) * - * $Id: ctcp.c,v 1.23 2004/06/14 01:14:07 wcc Exp $ + * $Id: ctcp.c,v 1.25 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/ctcp.mod/ctcp.h eggdrop1.6.18/src/mod/ctcp.mod/ctcp.h --- eggdrop1.6.17/src/mod/ctcp.mod/ctcp.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/ctcp.mod/ctcp.h 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * ctcp.h -- part of ctcp.mod * all the defines for ctcp.c * - * $Id: ctcp.h,v 1.8 2004/01/09 05:56:38 wcc Exp $ + * $Id: ctcp.h,v 1.10 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/ctcp.mod/modinfo eggdrop1.6.18/src/mod/ctcp.mod/modinfo --- eggdrop1.6.17/src/mod/ctcp.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 +++ eggdrop1.6.18/src/mod/ctcp.mod/modinfo 2003-12-10 14:04:49.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:49 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:49 wcc Exp $ DESC:This provides the normal ctcp replies that you'd expect. DESC: DESC:Enabling this module is recommended for bots active on IRC. diff -urN eggdrop1.6.17/src/mod/dns.mod/Makefile.in eggdrop1.6.18/src/mod/dns.mod/Makefile.in --- eggdrop1.6.17/src/mod/dns.mod/Makefile.in 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/dns.mod/Makefile.in 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/dns.mod/ -# $Id: Makefile.in,v 1.11 2004/07/25 11:17:34 wcc Exp $ +# $Id: Makefile.in,v 1.13 2005-12-09 09:29:11 wcc Exp $ RESLIB = @RESLIB@ RESINCLUDE = @RESINCLUDE@ @@ -27,7 +27,7 @@ $(STRIP) ../../../dns.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/dns.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/dns.c -MT ../dns.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -37,13 +37,12 @@ #safety hash ../dns.o: .././dns.mod/dns.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../dns.mod/dns.h ../dns.mod/coredns.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././dns.mod/dns.h .././dns.mod/coredns.c diff -urN eggdrop1.6.17/src/mod/dns.mod/configure eggdrop1.6.18/src/mod/dns.mod/configure --- eggdrop1.6.17/src/mod/dns.mod/configure 2004-07-25 07:18:29.000000000 -0400 +++ eggdrop1.6.18/src/mod/dns.mod/configure 2006-04-05 11:11:16.000000000 -0400 @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Revision: 1.2 . +# From configure.ac Revision: 1.5 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for Eggdrop DNS Module 1.6.17. +# Generated by GNU Autoconf 2.59 for Eggdrop DNS Module 1.6.18. # # Report bugs to . # @@ -9,7 +9,7 @@ # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +# Copyright (C) 1999 - 2006 Eggheads Development Team ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## @@ -272,8 +272,8 @@ # Identity of this package. PACKAGE_NAME='Eggdrop DNS Module' PACKAGE_TARNAME='eggdrop-dns-module' -PACKAGE_VERSION='1.6.17' -PACKAGE_STRING='Eggdrop DNS Module 1.6.17' +PACKAGE_VERSION='1.6.18' +PACKAGE_STRING='Eggdrop DNS Module 1.6.18' PACKAGE_BUGREPORT='bugs@eggheads.org' ac_unique_file="coredns.c" @@ -742,7 +742,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Eggdrop DNS Module 1.6.17 to adapt to many kinds of systems. +\`configure' configures Eggdrop DNS Module 1.6.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -803,7 +803,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Eggdrop DNS Module 1.6.17:";; + short | recursive ) echo "Configuration of Eggdrop DNS Module 1.6.18:";; esac cat <<\_ACEOF @@ -914,14 +914,14 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -Eggdrop DNS Module configure 1.6.17 +Eggdrop DNS Module configure 1.6.18 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team +Copyright (C) 1999 - 2006 Eggheads Development Team _ACEOF exit 0 fi @@ -930,7 +930,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Eggdrop DNS Module $as_me 1.6.17, which was +It was created by Eggdrop DNS Module $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -3431,9 +3431,10 @@ # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -3711,7 +3712,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by Eggdrop DNS Module $as_me 1.6.17, which was +This file was extended by Eggdrop DNS Module $as_me 1.6.18, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3766,7 +3767,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -Eggdrop DNS Module config.status 1.6.17 +Eggdrop DNS Module config.status 1.6.18 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff -urN eggdrop1.6.17/src/mod/dns.mod/configure.ac eggdrop1.6.18/src/mod/dns.mod/configure.ac --- eggdrop1.6.17/src/mod/dns.mod/configure.ac 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/dns.mod/configure.ac 2006-03-27 21:35:51.000000000 -0500 @@ -1,18 +1,18 @@ dnl configure.ac: this file is processed by autoconf to produce ./configure. dnl -dnl $Id: configure.ac,v 1.2 2004/07/25 11:17:35 wcc Exp $ +dnl $Id: configure.ac,v 1.5 2006-03-28 02:35:51 wcc Exp $ AC_PREREQ(2.59) sinclude(../eggmod.m4) -AC_INIT([Eggdrop DNS Module],[1.6.17],[bugs@eggheads.org]) +AC_INIT([Eggdrop DNS Module],[1.6.18],[bugs@eggheads.org]) AC_CONFIG_SRCDIR(coredns.c) AC_CONFIG_AUX_DIR(../../../misc) -AC_COPYRIGHT([Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team]) -AC_REVISION($Revision: 1.2 $) +AC_COPYRIGHT([Copyright (C) 1999 - 2006 Eggheads Development Team]) +AC_REVISION($Revision: 1.5 $) dns_reslib_avail="true" diff -urN eggdrop1.6.17/src/mod/dns.mod/coredns.c eggdrop1.6.18/src/mod/dns.mod/coredns.c --- eggdrop1.6.17/src/mod/dns.mod/coredns.c 2004-06-11 01:53:03.000000000 -0400 +++ eggdrop1.6.18/src/mod/dns.mod/coredns.c 2006-03-27 21:35:51.000000000 -0500 @@ -5,10 +5,10 @@ * * Modified/written by Fabian Knittel * - * $Id: coredns.c,v 1.28 2004/06/11 05:53:03 wcc Exp $ + * $Id: coredns.c,v 1.30 2006-03-28 02:35:51 wcc Exp $ */ /* - * Portions Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Portions Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/dns.mod/dns.c eggdrop1.6.18/src/mod/dns.mod/dns.c --- eggdrop1.6.17/src/mod/dns.mod/dns.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/dns.mod/dns.c 2006-03-27 21:35:51.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: dns.c,v 1.35 2004/01/09 05:56:38 wcc Exp $ + * $Id: dns.c,v 1.37 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/dns.mod/dns.h eggdrop1.6.18/src/mod/dns.mod/dns.h --- eggdrop1.6.17/src/mod/dns.mod/dns.h 2004-06-13 21:14:07.000000000 -0400 +++ eggdrop1.6.18/src/mod/dns.mod/dns.h 2006-03-27 21:35:51.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: dns.h,v 1.14 2004/06/14 01:14:07 wcc Exp $ + * $Id: dns.h,v 1.16 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/dns.mod/modinfo eggdrop1.6.18/src/mod/dns.mod/modinfo --- eggdrop1.6.17/src/mod/dns.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/dns.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:50 wcc Exp $ DESC:The DNS module provides support for asynchronous DNS requests. This DESC:guards the bot from blocking several seconds on IP-addresses or DESC:hostnames which don't properly resolve. This is especially useful diff -urN eggdrop1.6.17/src/mod/eggmod.m4 eggdrop1.6.18/src/mod/eggmod.m4 --- eggdrop1.6.17/src/mod/eggmod.m4 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/eggmod.m4 2004-07-25 07:17:34.000000000 -0400 @@ -1,6 +1,6 @@ dnl eggmod.m4 dnl -dnl $Id: eggmod.m4,v 1.8 2004/07/25 11:17:34 wcc Exp $ +dnl $Id: eggmod.m4,v 1.8 2004-07-25 11:17:34 wcc Exp $ dnl EGG_REMOVE_MOD(MODULE-NAME) dnl diff -urN eggdrop1.6.17/src/mod/filesys.mod/Makefile eggdrop1.6.18/src/mod/filesys.mod/Makefile --- eggdrop1.6.17/src/mod/filesys.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/filesys.mod/ -# $Id: Makefile,v 1.18 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.20 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../filesys.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/filesys.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/filesys.c -MT ../filesys.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -32,18 +32,20 @@ distclean: clean #safety hash -../filesys.o: .././filesys.mod/filesys.c ../../../config.h \ - ../../../src/mod/module.h ../../../src/main.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../filesys.mod/filedb3.h ../filesys.mod/filesys.h \ - ../../../src/mod/transfer.mod/transfer.h ../filesys.mod/files.h \ - ../filesys.mod/dbcompat.h ../filesys.mod/filelist.h ../filesys.mod/files.c \ - ../../../src/stat.h ../filesys.mod/filedb3.c ../filesys.mod/tclfiles.c \ - ../filesys.mod/dbcompat.c ../filesys.mod/filelist.c +../filesys.o: .././filesys.mod/filesys.c ../../../src/mod/module.h \ + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././filesys.mod/filedb3.h \ + .././filesys.mod/filesys.h ../../../src/lang.h \ + ../../../src/mod/transfer.mod/transfer.h ../../../src/tandem.h \ + .././filesys.mod/files.h .././filesys.mod/dbcompat.h \ + .././filesys.mod/filelist.h .././filesys.mod/files.c \ + ../../../src/stat.h .././filesys.mod/filedb3.c \ + .././filesys.mod/tclfiles.c .././filesys.mod/dbcompat.c \ + .././filesys.mod/filelist.c diff -urN eggdrop1.6.17/src/mod/filesys.mod/dbcompat.c eggdrop1.6.18/src/mod/filesys.mod/dbcompat.c --- eggdrop1.6.17/src/mod/filesys.mod/dbcompat.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/dbcompat.c 2006-03-27 21:35:51.000000000 -0500 @@ -4,11 +4,11 @@ * * Written for filedb3 by Fabian Knittel * - * $Id: dbcompat.c,v 1.17 2004/01/09 05:56:38 wcc Exp $ + * $Id: dbcompat.c,v 1.19 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/dbcompat.h eggdrop1.6.18/src/mod/filesys.mod/dbcompat.h --- eggdrop1.6.17/src/mod/filesys.mod/dbcompat.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/dbcompat.h 2006-03-27 21:35:51.000000000 -0500 @@ -5,10 +5,10 @@ * * Written for filedb3 by Fabian Knittel * - * $Id: dbcompat.h,v 1.9 2004/01/09 05:56:38 wcc Exp $ + * $Id: dbcompat.h,v 1.11 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/filedb3.c eggdrop1.6.18/src/mod/filesys.mod/filedb3.c --- eggdrop1.6.17/src/mod/filesys.mod/filedb3.c 2004-06-10 16:36:54.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/filedb3.c 2006-03-27 21:35:51.000000000 -0500 @@ -4,11 +4,11 @@ * * Rewritten by Fabian Knittel * - * $Id: filedb3.c,v 1.30 2004/06/10 20:36:54 wcc Exp $ + * $Id: filedb3.c,v 1.32 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/filedb3.h eggdrop1.6.18/src/mod/filesys.mod/filedb3.h --- eggdrop1.6.17/src/mod/filesys.mod/filedb3.h 2004-06-15 03:20:55.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/filedb3.h 2006-03-27 21:35:51.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: filedb3.h,v 1.18 2004/06/15 07:20:55 wcc Exp $ + * $Id: filedb3.h,v 1.20 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/filelist.c eggdrop1.6.18/src/mod/filesys.mod/filelist.c --- eggdrop1.6.17/src/mod/filesys.mod/filelist.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/filelist.c 2006-03-27 21:35:51.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: filelist.c,v 1.14 2004/01/09 05:56:38 wcc Exp $ + * $Id: filelist.c,v 1.16 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/filelist.h eggdrop1.6.18/src/mod/filesys.mod/filelist.h --- eggdrop1.6.17/src/mod/filesys.mod/filelist.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/filelist.h 2006-03-27 21:35:51.000000000 -0500 @@ -4,10 +4,10 @@ * * Written by Fabian Knittel * - * $Id: filelist.h,v 1.9 2004/01/09 05:56:38 wcc Exp $ + * $Id: filelist.h,v 1.11 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/files.c eggdrop1.6.18/src/mod/filesys.mod/files.c --- eggdrop1.6.17/src/mod/filesys.mod/files.c 2004-06-13 21:14:07.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/files.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * files.c - part of filesys.mod * handles all file system commands * - * $Id: files.c,v 1.49 2004/06/14 01:14:07 wcc Exp $ + * $Id: files.c,v 1.51 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/files.h eggdrop1.6.18/src/mod/filesys.mod/files.h --- eggdrop1.6.17/src/mod/filesys.mod/files.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/files.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * files.h -- part of filesys.mod * - * $Id: files.h,v 1.10 2004/01/09 05:56:38 wcc Exp $ + * $Id: files.h,v 1.12 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/filesys.c eggdrop1.6.18/src/mod/filesys.mod/filesys.c --- eggdrop1.6.17/src/mod/filesys.mod/filesys.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/filesys.c 2006-05-28 21:56:08.000000000 -0400 @@ -2,11 +2,11 @@ * filesys.c -- part of filesys.mod * main file of the filesys eggdrop module * - * $Id: filesys.c,v 1.66 2004/07/02 21:02:02 wcc Exp $ + * $Id: filesys.c,v 1.71 2006-05-29 01:56:08 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -163,8 +163,11 @@ dprintf(idx, "What? You need 'help'\n"); return 0; } - if (x == BIND_EXEC_BRK) + + /* We return 1 to leave the filesys */ + if (x == BIND_QUIT) /* CMD_LEAVE, 'quit' */ return 1; + if (x == BIND_EXEC_LOG) putlog(LOG_FILES, "*", "#%s# files: %s %s", dcc[idx].nick, cmd, args); return 0; @@ -506,16 +509,22 @@ BADARGS(4, 4, " hand idx param"); + CHECKVALIDITY(builtin_fil); idx = findanyidx(atoi(argv[2])); if (idx < 0 && dcc[idx].type != &DCC_FILES) { Tcl_AppendResult(irp, "invalid idx", NULL); return TCL_ERROR; } + + /* FIXME: This is an ugly hack. It is not documented as a + * 'feature' because it will eventually go away. + */ if (F == CMD_LEAVE) { Tcl_AppendResult(irp, "break", NULL); return TCL_OK; } - (F) (idx, argv[3]); + + F(idx, argv[3]); Tcl_ResetResult(irp); return TCL_OK; } @@ -623,7 +632,20 @@ char *text) { char *param, *ip, *prt, *buf = NULL, *msg; - int atr = u ? u->flags : 0, i; + int atr = u ? u->flags : 0, i, j = 0; + + if (text[j] == '"') { + text[j] = ' '; + + for (j = 1; text[j] != '"' && text[j] != '\0'; j++) { + if (text[j] == ' ') + { + text[j] = '_'; + } + } + + text[j] = ' '; + } buf = nmalloc(strlen(text) + 1); msg = buf; diff -urN eggdrop1.6.17/src/mod/filesys.mod/filesys.h eggdrop1.6.18/src/mod/filesys.mod/filesys.h --- eggdrop1.6.17/src/mod/filesys.mod/filesys.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/filesys.h 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * filesysc.h -- part of filesys.mod * header file for the filesys2 eggdrop module * - * $Id: filesys.h,v 1.13 2004/01/09 05:56:38 wcc Exp $ + * $Id: filesys.h,v 1.15 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/filesys.mod/language/filesys.danish.lang eggdrop1.6.18/src/mod/filesys.mod/language/filesys.danish.lang --- eggdrop1.6.17/src/mod/filesys.mod/language/filesys.danish.lang 2003-03-19 19:04:48.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/language/filesys.danish.lang 2003-03-19 19:04:48.000000000 -0500 @@ -1,7 +1,7 @@ # filesys.danish.lang # language messages for filesys module # -# $Id: filesys.danish.lang,v 1.3 2003/03/20 00:04:48 wcc Exp $ +# $Id: filesys.danish.lang,v 1.3 2003-03-20 00:04:48 wcc Exp $ 0x300,Konverterer filsystem billede i %s ... 0x301,filedb-update: bibliotek kan ikke åbnes! diff -urN eggdrop1.6.17/src/mod/filesys.mod/language/filesys.english.lang eggdrop1.6.18/src/mod/filesys.mod/language/filesys.english.lang --- eggdrop1.6.17/src/mod/filesys.mod/language/filesys.english.lang 2000-04-19 05:48:57.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/language/filesys.english.lang 2000-04-19 05:48:57.000000000 -0400 @@ -1,7 +1,7 @@ # filesys.english.lang # language messages for filesys module # -# $Id: filesys.english.lang,v 1.3 2000/04/19 09:48:57 tothwolf Exp $ +# $Id: filesys.english.lang,v 1.3 2000-04-19 09:48:57 tothwolf Exp $ 0x300,Converting filesystem image in %s ... 0x301,filedb-update: can't open directory! diff -urN eggdrop1.6.17/src/mod/filesys.mod/language/filesys.finnish.lang eggdrop1.6.18/src/mod/filesys.mod/language/filesys.finnish.lang --- eggdrop1.6.17/src/mod/filesys.mod/language/filesys.finnish.lang 2004-07-05 00:37:33.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/language/filesys.finnish.lang 2004-07-05 00:37:33.000000000 -0400 @@ -1,7 +1,7 @@ # filesys.finnish.lang # kieli tiedostot tiedostojärjestelmä moduuliin # -# $Id: filesys.finnish.lang,v 1.1 2004/07/05 04:37:33 wcc Exp $ +# $Id: filesys.finnish.lang,v 1.1 2004-07-05 04:37:33 wcc Exp $ 0x300,Muutetaan tiedostojärjestelmä imagea %s ... 0x301,filedb-update: Ei pysty avata kansiota! diff -urN eggdrop1.6.17/src/mod/filesys.mod/language/filesys.french.lang eggdrop1.6.18/src/mod/filesys.mod/language/filesys.french.lang --- eggdrop1.6.17/src/mod/filesys.mod/language/filesys.french.lang 2003-01-29 00:48:42.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/language/filesys.french.lang 2003-01-29 00:48:42.000000000 -0500 @@ -5,7 +5,7 @@ # à benoit_jerome@penguinpowered.com # si vous voulez y contribuer. # -# $Id: filesys.french.lang,v 1.3 2003/01/29 05:48:42 wcc Exp $ +# $Id: filesys.french.lang,v 1.3 2003-01-29 05:48:42 wcc Exp $ 0x300,Conversion de l'image du système de fichier dans %s ... 0x301,filedb-update: ne peut ouvrir le répertoire! diff -urN eggdrop1.6.17/src/mod/filesys.mod/language/filesys.german.lang eggdrop1.6.18/src/mod/filesys.mod/language/filesys.german.lang --- eggdrop1.6.17/src/mod/filesys.mod/language/filesys.german.lang 2001-04-13 15:25:05.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/language/filesys.german.lang 2001-04-13 15:25:05.000000000 -0400 @@ -3,7 +3,7 @@ # # german translation by rtc # -# $Id: filesys.german.lang,v 1.3 2001/04/13 19:25:05 guppy Exp $ +# $Id: filesys.german.lang,v 1.3 2001-04-13 19:25:05 guppy Exp $ 0x300,Konvertiere Dateisystem-Abbild in %s ... 0x301,filedb-update: kann Verzeichnis nicht oeffnen! diff -urN eggdrop1.6.17/src/mod/filesys.mod/modinfo eggdrop1.6.18/src/mod/filesys.mod/modinfo --- eggdrop1.6.17/src/mod/filesys.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/filesys.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:50 wcc Exp $ DESC:The filesys module provides an area within the bot where you can store DESC:files. DESC: diff -urN eggdrop1.6.17/src/mod/filesys.mod/tclfiles.c eggdrop1.6.18/src/mod/filesys.mod/tclfiles.c --- eggdrop1.6.17/src/mod/filesys.mod/tclfiles.c 2004-06-04 13:25:17.000000000 -0400 +++ eggdrop1.6.18/src/mod/filesys.mod/tclfiles.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * tclfiles.c -- part of filesys.mod * Tcl stubs for file system commands moved here to support modules * - * $Id: tclfiles.c,v 1.24 2004/06/04 17:25:17 wcc Exp $ + * $Id: tclfiles.c,v 1.26 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/irc.mod/Makefile eggdrop1.6.18/src/mod/irc.mod/Makefile --- eggdrop1.6.17/src/mod/irc.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/irc.mod/ -# $Id: Makefile,v 1.14 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.16 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../irc.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/irc.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/irc.c -MT ../irc.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,15 +33,16 @@ #safety hash ../irc.o: .././irc.mod/irc.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../irc.mod/irc.h ../../../src/mod/server.mod/server.h \ - ../../../src/mod/channels.mod/channels.h ../irc.mod/chan.c ../irc.mod/mode.c \ - ../irc.mod/cmdsirc.c ../irc.mod/msgcmds.c ../irc.mod/tclirc.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././irc.mod/irc.h \ + ../../../src/mod/server.mod/server.h \ + ../../../src/mod/channels.mod/channels.h .././irc.mod/chan.c \ + .././irc.mod/mode.c .././irc.mod/cmdsirc.c .././irc.mod/msgcmds.c \ + .././irc.mod/tclirc.c diff -urN eggdrop1.6.17/src/mod/irc.mod/chan.c eggdrop1.6.18/src/mod/irc.mod/chan.c --- eggdrop1.6.17/src/mod/irc.mod/chan.c 2004-06-27 13:26:51.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/chan.c 2006-03-27 21:35:51.000000000 -0500 @@ -6,11 +6,11 @@ * user kickban, kick, op, deop * idle kicking * - * $Id: chan.c,v 1.117 2004/06/27 17:26:51 wcc Exp $ + * $Id: chan.c,v 1.122 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -168,7 +168,17 @@ if (!chan || (which < 0) || (which >= FLOOD_CHAN_MAX)) return 0; + + /* Okay, make sure i'm not flood-checking myself */ + if (match_my_nick(floodnick)) + return 0; + + /* My user@host (?) */ + if (!egg_strcasecmp(floodhost, botuserhost)) + return 0; + m = ismember(chan, floodnick); + /* Do not punish non-existant channel members and IRC services like * ChanServ */ @@ -221,12 +231,7 @@ } if ((thr == 0) || (lapse == 0)) return 0; /* no flood protection */ - /* Okay, make sure i'm not flood-checking myself */ - if (match_my_nick(floodnick)) - return 0; - if (!egg_strcasecmp(floodhost, botuserhost)) - return 0; - /* My user@host (?) */ + if ((which == FLOOD_KICK) || (which == FLOOD_DEOP)) p = floodnick; else { @@ -963,8 +968,8 @@ !strcmp("*", chan->channel.key))) /* Undernet use to show a blank channel key if one was set when * you first joined a channel; however, this has been replaced by - * an asterisk and this has been agreed upon by other major IRC - * networks so we'll check for an asterisk here as well + * an asterisk and this has been agreed upon by other major IRC + * networks so we'll check for an asterisk here as well * (guppy 22Dec2001) */ chan->status |= CHAN_ASKEDMODES; } @@ -2141,7 +2146,7 @@ /* If you remove this, the bot will crash when the user record in * question is removed/modified during the tcl binds below, and the * users was on more than one monitored channel */ - set_handle_laston(chan->dname, u, now); + set_handle_laston(chan->dname, u, now); if (split) { m->split = now; check_tcl_splt(nick, from, u, chan->dname); @@ -2186,26 +2191,29 @@ */ static int gotmsg(char *from, char *msg) { - char *to, *realto, buf[UHOSTLEN], *nick, buf2[512], *uhost = buf; - char *p, *p1, *code, *ctcp; - int ctcp_count = 0; + char *to, *realto, buf[UHOSTLEN], *nick, buf2[512], *uhost = buf, *p, *p1, + *code, *ctcp; + int ctcp_count = 0, ignoring; struct chanset_t *chan; - int ignoring; struct userrec *u; memberlist *m; struct flag_record fr = { FR_GLOBAL | FR_CHAN, 0, 0, 0, 0, 0 }; - if (!strchr("&#!+@$", msg[0])) + /* Only handle if message is to a channel, or to @#channel. */ + /* FIXME: Properly handle ovNotices (@+#channel), vNotices (+#channel), etc. */ + if (!strchr(CHANMETA "@", msg[0])) return 0; - ignoring = match_ignore(from); + to = newsplit(&msg); realto = (to[0] == '@') ? to + 1 : to; chan = findchan(realto); if (!chan) - return 0; /* Private msg to an unknown channel?? */ + return 0; /* Unknown channel; don't process. */ + fixcolon(msg); strcpy(uhost, from); nick = splitnick(&uhost); + ignoring = match_ignore(from); /* Only check if flood-ctcp is active */ if (flud_ctcp_thr && detect_avalanche(msg)) { u = get_user_by_host(from); @@ -2220,8 +2228,8 @@ u_match_mask(chan->exempts, from)))) { if (ban_fun) { check_exemptlist(chan, from); - u_addban(chan, quickban(chan, uhost), botnetnick, - IRC_FUNKICK, now + (60 * chan->ban_time), 0); + u_addban(chan, quickban(chan, uhost), botnetnick, IRC_FUNKICK, + now + (60 * chan->ban_time), 0); } if (kick_fun) { /* This can induce kickflood - arthur2 */ @@ -2255,8 +2263,7 @@ ctcp = buf2; strcpy(ctcp, p1); strcpy(p1 - 1, p + 1); - detect_chan_flood(nick, uhost, from, chan, - strncmp(ctcp, "ACTION ", 7) ? + detect_chan_flood(nick, uhost, from, chan, strncmp(ctcp, "ACTION ", 7) ? FLOOD_CTCP : FLOOD_PRIVMSG, NULL); chan = findchan(realto); @@ -2272,7 +2279,6 @@ u = get_user_by_host(from); if (!ignoring || trigger_on_ignore) { if (!check_tcl_ctcp(nick, uhost, u, to, code, ctcp)) { - chan = findchan(realto); if (!chan) return 0; @@ -2294,7 +2300,8 @@ } } } - /* Send out possible ctcp responses */ + + /* Send out possible ctcp responses. */ if (ctcp_reply[0]) { if (ctcp_mode != 2) { dprintf(DP_HELP, "NOTICE %s :%s\n", nick, ctcp_reply); @@ -2309,7 +2316,10 @@ last_ctcp = now; } } + if (msg[0]) { + int result = 0; + /* Check even if we're ignoring the host. (modified by Eule 17.7.99) */ detect_chan_flood(nick, uhost, from, chan, FLOOD_PRIVMSG, NULL); @@ -2317,23 +2327,22 @@ if (!chan) return 0; - if (!ignoring || trigger_on_ignore) { - if (check_tcl_pub(nick, uhost, chan->dname, msg)) - return 0; - check_tcl_pubm(nick, uhost, chan->dname, msg); + update_idle(chan->dname, nick); - chan = findchan(realto); - if (!chan) - return 0; + if (!ignoring || trigger_on_ignore) { + result = check_tcl_pubm(nick, uhost, chan->dname, msg); + if (!result || !exclusive_binds) + if (check_tcl_pub(nick, uhost, chan->dname, msg)) + return 0; } - if (!ignoring) { + + if (!ignoring && result != 2) { if (to[0] == '@') putlog(LOG_PUBLIC, chan->dname, "@<%s> %s", nick, msg); else putlog(LOG_PUBLIC, chan->dname, "<%s> %s", nick, msg); } - update_idle(chan->dname, nick); } return 0; } @@ -2427,6 +2436,7 @@ } } if (msg[0]) { + /* Check even if we're ignoring the host. (modified by Eule 17.7.99) */ detect_chan_flood(nick, uhost, from, chan, FLOOD_NOTICE, NULL); @@ -2434,17 +2444,14 @@ if (!chan) return 0; - if (!ignoring || trigger_on_ignore) { - check_tcl_notc(nick, uhost, u, to, msg); + update_idle(chan->dname, nick); - chan = findchan(realto); - if (!chan) + if (!ignoring || trigger_on_ignore) + if (check_tcl_notc(nick, uhost, u, to, msg) == 2) return 0; - } if (!ignoring) putlog(LOG_PUBLIC, chan->dname, "-%s:%s- %s", nick, to, msg); - update_idle(chan->dname, nick); } return 0; } diff -urN eggdrop1.6.17/src/mod/irc.mod/cmdsirc.c eggdrop1.6.18/src/mod/irc.mod/cmdsirc.c --- eggdrop1.6.17/src/mod/irc.mod/cmdsirc.c 2004-06-03 10:10:18.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/cmdsirc.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * chancmds.c -- part of irc.mod * handles commands directly relating to channel interaction * - * $Id: cmdsirc.c,v 1.57 2004/06/03 14:10:18 wcc Exp $ + * $Id: cmdsirc.c,v 1.60 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -562,7 +562,6 @@ dprintf(idx, "%s is not on %s.\n", nick, chan->dname); return; } - egg_snprintf(s, sizeof s, "%s!%s", m->nick, m->userhost); add_mode(chan, '+', 'v', nick); dprintf(idx, "Gave voice to %s on %s\n", nick, chan->dname); } @@ -617,7 +616,6 @@ dprintf(idx, "%s is not on %s.\n", nick, chan->dname); return; } - egg_snprintf(s, sizeof s, "%s!%s", m->nick, m->userhost); add_mode(chan, '-', 'v', nick); dprintf(idx, "Devoiced %s on %s\n", nick, chan->dname); } diff -urN eggdrop1.6.17/src/mod/irc.mod/irc.c eggdrop1.6.18/src/mod/irc.mod/irc.c --- eggdrop1.6.17/src/mod/irc.mod/irc.c 2004-06-27 13:26:51.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/irc.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * irc.c -- part of irc.mod * support for channels within the bot * - * $Id: irc.c,v 1.100 2004/06/27 17:26:51 wcc Exp $ + * $Id: irc.c,v 1.104 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -436,6 +436,7 @@ else dprintf(DP_MODE, "WHO %s\n", chan->name); /* clear_channel nuked the data...so */ + dprintf(DP_MODE, "TOPIC %s\r\n", chan->name); } } @@ -832,9 +833,10 @@ return 1; } -static void check_tcl_pubm(char *nick, char *from, char *chname, char *msg) +static int check_tcl_pubm(char *nick, char *from, char *chname, char *msg) { struct flag_record fr = { FR_GLOBAL | FR_CHAN, 0, 0, 0, 0, 0 }; + int x; char buf[1024], host[161]; struct userrec *u; @@ -847,8 +849,20 @@ Tcl_SetVar(interp, "_pubm3", u ? u->handle : "*", 0); Tcl_SetVar(interp, "_pubm4", chname, 0); Tcl_SetVar(interp, "_pubm5", msg, 0); - check_tcl_bind(H_pubm, buf, &fr, " $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5", - MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE); + x = check_tcl_bind(H_pubm, buf, &fr, " $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5", + MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE | BIND_STACKRET); + + /* + * 0 - no match + * 1 - match, log + * 2 - match, don't log + */ + if (x == BIND_NOMATCH) + return 0; + if (x == BIND_EXEC_LOG) + return 2; + + return 1; } static void check_tcl_need(char *chname, char *type) diff -urN eggdrop1.6.17/src/mod/irc.mod/irc.h eggdrop1.6.18/src/mod/irc.mod/irc.h --- eggdrop1.6.17/src/mod/irc.mod/irc.h 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/irc.mod/irc.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * irc.h -- part of irc.mod * - * $Id: irc.h,v 1.25 2004/01/09 05:56:38 wcc Exp $ + * $Id: irc.h,v 1.28 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -46,7 +46,7 @@ static void check_tcl_part(char *, char *, struct userrec *, char *, char *); static void check_tcl_signtopcnick(char *, char *, struct userrec *u, char *, char *, p_tcl_bind_list); -static void check_tcl_pubm(char *, char *, char *, char *); +static int check_tcl_pubm(char *, char *, char *, char *); static int check_tcl_pub(char *, char *, char *, char *); static int me_op(struct chanset_t *); static int me_halfop(struct chanset_t *); diff -urN eggdrop1.6.17/src/mod/irc.mod/mode.c eggdrop1.6.18/src/mod/irc.mod/mode.c --- eggdrop1.6.17/src/mod/irc.mod/mode.c 2004-06-27 13:26:51.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/mode.c 2006-03-27 21:35:51.000000000 -0500 @@ -4,11 +4,11 @@ * channel mode changes and the bot's reaction to them * setting and getting the current wanted channel modes * - * $Id: mode.c,v 1.77 2004/06/27 17:26:51 wcc Exp $ + * $Id: mode.c,v 1.80 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1122,7 +1122,6 @@ if (op == '\0') { break; } - check_tcl_mode(nick, from, u, chan->dname, ms2, op); if (ms2[0] == '+') { set_key(chan, op); if (channel_active(chan)) @@ -1137,6 +1136,7 @@ } set_key(chan, NULL); } + check_tcl_mode(nick, from, u, chan->dname, ms2, op); break; case 'o': op = newsplit(&msg); @@ -1199,29 +1199,29 @@ case 'b': op = newsplit(&msg); fixcolon(op); - check_tcl_mode(nick, from, u, chan->dname, ms2, op); if (ms2[0] == '+') got_ban(chan, nick, from, op); else got_unban(chan, nick, from, op, u); + check_tcl_mode(nick, from, u, chan->dname, ms2, op); break; case 'e': op = newsplit(&msg); fixcolon(op); - check_tcl_mode(nick, from, u, chan->dname, ms2, op); if (ms2[0] == '+') got_exempt(chan, nick, from, op); else got_unexempt(chan, nick, from, op, u); + check_tcl_mode(nick, from, u, chan->dname, ms2, op); break; case 'I': op = newsplit(&msg); fixcolon(op); - check_tcl_mode(nick, from, u, chan->dname, ms2, op); if (ms2[0] == '+') got_invite(chan, nick, from, op); else got_uninvite(chan, nick, from, op, u); + check_tcl_mode(nick, from, u, chan->dname, ms2, op); break; } if (todo) { diff -urN eggdrop1.6.17/src/mod/irc.mod/modinfo eggdrop1.6.18/src/mod/irc.mod/modinfo --- eggdrop1.6.17/src/mod/irc.mod/modinfo 2004-05-26 21:30:12.000000000 -0400 +++ eggdrop1.6.18/src/mod/irc.mod/modinfo 2004-05-26 21:30:12.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2004/05/27 01:30:12 wcc Exp $ +# $Id: modinfo,v 1.3 2004-05-27 01:30:12 wcc Exp $ DESC:This module controls the bots interaction on IRC. It allows the bot DESC:to join channels, etc. DESC: diff -urN eggdrop1.6.17/src/mod/irc.mod/msgcmds.c eggdrop1.6.18/src/mod/irc.mod/msgcmds.c --- eggdrop1.6.17/src/mod/irc.mod/msgcmds.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/irc.mod/msgcmds.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * msgcmds.c -- part of irc.mod * all commands entered via /MSG * - * $Id: msgcmds.c,v 1.49 2004/01/09 05:56:38 wcc Exp $ + * $Id: msgcmds.c,v 1.51 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/irc.mod/tclirc.c eggdrop1.6.18/src/mod/irc.mod/tclirc.c --- eggdrop1.6.17/src/mod/irc.mod/tclirc.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/irc.mod/tclirc.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * tclirc.c -- part of irc.mod * - * $Id: tclirc.c,v 1.45 2004/01/09 05:56:38 wcc Exp $ + * $Id: tclirc.c,v 1.49 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -51,7 +51,7 @@ f = (minus.global || minus.udef_global || minus.chan || minus.udef_chan || minus.bot); /* Return empty set if asked for flags but flags don't exist */ - if (!plus.global &&!plus.udef_global && !plus.chan && !plus.udef_chan && + if (!plus.global && !plus.udef_global && !plus.chan && !plus.udef_chan && !plus.bot && !f) return TCL_OK; minus.match = plus.match ^ (FR_AND | FR_OR); @@ -130,7 +130,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[1], NULL); @@ -204,7 +204,7 @@ memberlist *mx; BADARGS(2, 3, " nick ?channel?"); - + if (argc > 2) { chan = findchan_by_dname(argv[2]); thechan = chan; @@ -288,7 +288,7 @@ memberlist *mx; BADARGS(3, 3, " nick channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -307,7 +307,7 @@ memberlist *mx; BADARGS(3, 3, " nick channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -387,7 +387,7 @@ struct chanset_t *chan; BADARGS(3, 3, " ban channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -405,7 +405,7 @@ struct chanset_t *chan; BADARGS(3, 3, " exempt channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -423,7 +423,7 @@ struct chanset_t *chan; BADARGS(3, 3, " invite channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -470,7 +470,7 @@ memberlist *m; BADARGS(2, 3, " nickname ?channel?"); - + if (argc > 2) { chan = findchan_by_dname(argv[2]); thechan = chan; @@ -498,7 +498,7 @@ char new[121]; BADARGS(2, 2, " nick!user@host"); - + maskban(argv[1], new); Tcl_AppendResult(irp, new, NULL); return TCL_OK; @@ -551,7 +551,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -565,7 +565,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -579,7 +579,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[2], NULL); @@ -593,7 +593,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel: ", argv[1], NULL); @@ -610,7 +610,7 @@ memberlist *m; BADARGS(3, 3, " nick channel"); - + chan = findchan_by_dname(argv[2]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel: ", argv[2], NULL); @@ -632,7 +632,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel-name"); - + chan = findchan(argv[1]); if (chan) { Tcl_AppendResult(irp, chan->dname, NULL); @@ -648,7 +648,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel-dname"); - + chan = findchan_by_dname(argv[1]); if (chan) { Tcl_AppendResult(irp, chan->name, NULL); @@ -680,7 +680,7 @@ char plus, mode; BADARGS(3, 4, " channel mode ?arg?"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel: ", argv[1], NULL); @@ -705,7 +705,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel ", argv[1], NULL); @@ -720,7 +720,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel ", argv[1], NULL); @@ -735,7 +735,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel ", argv[1], NULL); @@ -750,7 +750,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel ", argv[1], NULL); @@ -765,7 +765,7 @@ struct chanset_t *chan; BADARGS(2, 2, " channel"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "invalid channel ", argv[1], NULL); @@ -851,7 +851,7 @@ memberlist *m; BADARGS(3, 4, " channel nick?s? ?comment?"); - + chan = findchan_by_dname(argv[1]); if (chan == NULL) { Tcl_AppendResult(irp, "illegal channel: ", argv[1], NULL); diff -urN eggdrop1.6.17/src/mod/module.h eggdrop1.6.18/src/mod/module.h --- eggdrop1.6.17/src/mod/module.h 2004-01-09 07:07:23.000000000 -0500 +++ eggdrop1.6.18/src/mod/module.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * module.h * - * $Id: module.h,v 1.81 2004/01/09 12:07:23 wcc Exp $ + * $Id: module.h,v 1.83 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/modvals.h eggdrop1.6.18/src/mod/modvals.h --- eggdrop1.6.17/src/mod/modvals.h 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/modvals.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * modvals.h * - * $Id: modvals.h,v 1.27 2004/07/25 11:17:34 wcc Exp $ + * $Id: modvals.h,v 1.29 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/notes.mod/Makefile eggdrop1.6.18/src/mod/notes.mod/Makefile --- eggdrop1.6.17/src/mod/notes.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/notes.mod -# $Id: Makefile,v 1.15 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../notes.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/notes.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/notes.c -MT ../notes.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,13 @@ #safety hash ../notes.o: .././notes.mod/notes.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../notes.mod/notes.h ../notes.mod/cmdsnote.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/tandem.h .././notes.mod/notes.h \ + .././notes.mod/cmdsnote.c diff -urN eggdrop1.6.17/src/mod/notes.mod/cmdsnote.c eggdrop1.6.18/src/mod/notes.mod/cmdsnote.c --- eggdrop1.6.17/src/mod/notes.mod/cmdsnote.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/notes.mod/cmdsnote.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * cmdsnote.c -- part of notes.mod * handles all notes interaction over the party line * - * $Id: cmdsnote.c,v 1.18 2004/01/09 05:56:38 wcc Exp $ + * $Id: cmdsnote.c,v 1.20 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/notes.mod/language/notes.danish.lang eggdrop1.6.18/src/mod/notes.mod/language/notes.danish.lang --- eggdrop1.6.17/src/mod/notes.mod/language/notes.danish.lang 2004-04-09 14:00:31.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/language/notes.danish.lang 2004-04-09 14:00:31.000000000 -0400 @@ -1,7 +1,7 @@ # notes.danish.lang # language messages for the notes module # -# $Id: notes.danish.lang,v 1.5 2004/04/09 18:00:31 wcc Exp $ +# $Id: notes.danish.lang,v 1.5 2004-04-09 18:00:31 wcc Exp $ 0xc000, Videresend notitser til: %.70s\n 0xc001,Skiftede %d notits%s fra %s til %s. diff -urN eggdrop1.6.17/src/mod/notes.mod/language/notes.english.lang eggdrop1.6.18/src/mod/notes.mod/language/notes.english.lang --- eggdrop1.6.17/src/mod/notes.mod/language/notes.english.lang 2004-04-09 14:00:31.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/language/notes.english.lang 2004-04-09 14:00:31.000000000 -0400 @@ -1,7 +1,7 @@ # notes.english.lang # language messages for the notes module # -# $Id: notes.english.lang,v 1.6 2004/04/09 18:00:31 wcc Exp $ +# $Id: notes.english.lang,v 1.6 2004-04-09 18:00:31 wcc Exp $ 0xc000, Forward notes to: %.70s\n 0xc001,Switched %d note%s from %s to %s. diff -urN eggdrop1.6.17/src/mod/notes.mod/language/notes.finnish.lang eggdrop1.6.18/src/mod/notes.mod/language/notes.finnish.lang --- eggdrop1.6.17/src/mod/notes.mod/language/notes.finnish.lang 2004-07-05 00:37:33.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/language/notes.finnish.lang 2004-07-05 00:37:33.000000000 -0400 @@ -1,7 +1,7 @@ # notes.finnish.lang # kieli tiedostot viesti moduuliin # -# $Id: notes.finnish.lang,v 1.1 2004/07/05 04:37:33 wcc Exp $ +# $Id: notes.finnish.lang,v 1.1 2004-07-05 04:37:33 wcc Exp $ 0xc000, Siirrettu viestit: %.70s\n 0xc001,Vaihdettu %d note%s %s %s. diff -urN eggdrop1.6.17/src/mod/notes.mod/language/notes.french.lang eggdrop1.6.18/src/mod/notes.mod/language/notes.french.lang --- eggdrop1.6.17/src/mod/notes.mod/language/notes.french.lang 2004-04-09 14:00:31.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/language/notes.french.lang 2004-04-09 14:00:31.000000000 -0400 @@ -1,7 +1,7 @@ # notes.french.lang # language messages for the notes module # -# $Id: notes.french.lang,v 1.4 2004/04/09 18:00:31 wcc Exp $ +# $Id: notes.french.lang,v 1.4 2004-04-09 18:00:31 wcc Exp $ 0xc000, Fait suivre les notes à : %.70s\n 0xc001,%d note%s transférées de %s à %s. diff -urN eggdrop1.6.17/src/mod/notes.mod/language/notes.german.lang eggdrop1.6.18/src/mod/notes.mod/language/notes.german.lang --- eggdrop1.6.17/src/mod/notes.mod/language/notes.german.lang 2004-04-09 14:00:31.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/language/notes.german.lang 2004-04-09 14:00:31.000000000 -0400 @@ -1,7 +1,7 @@ # notes.german.lang # language messages for the notes module # -# $Id: notes.german.lang,v 1.5 2004/04/09 18:00:31 wcc Exp $ +# $Id: notes.german.lang,v 1.5 2004-04-09 18:00:31 wcc Exp $ 0xc000, Befoerdere Nachrichten weiter an: %.70s\n 0xc001,%d note%s von %s an %s uebermittelt. diff -urN eggdrop1.6.17/src/mod/notes.mod/modinfo eggdrop1.6.18/src/mod/notes.mod/modinfo --- eggdrop1.6.17/src/mod/notes.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/notes.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:50 wcc Exp $ DESC:This provides support for storing of notes for users from each other. DESC:Notes between currently online users is supported in the core, this is DESC:only for storing the notes for later retrieval, direct user->user diff -urN eggdrop1.6.17/src/mod/notes.mod/notes.c eggdrop1.6.18/src/mod/notes.mod/notes.c --- eggdrop1.6.17/src/mod/notes.mod/notes.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/mod/notes.mod/notes.c 2006-03-27 21:35:51.000000000 -0500 @@ -5,11 +5,11 @@ * note cmds * note ignores * - * $Id: notes.c,v 1.52 2004/07/02 21:02:02 wcc Exp $ + * $Id: notes.c,v 1.55 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -404,8 +404,7 @@ read = 0; erased = 0; notes_parse(nl, (argv[2][0] == 0) ? "-" : argv[2]); - while (!feof(f)) { - fgets(s, 600, f); + while (!feof(f) && fgets(s, 600, f)) { if (s[strlen(s) - 1] == '\n') s[strlen(s) - 1] = 0; if (!feof(f)) { @@ -492,8 +491,7 @@ return; } notes_parse(rd, srd); - while (!feof(f)) { - fgets(s, 600, f); + while (!feof(f) && fgets(s, 600, f)) { i = strlen(s); if (i > 0 && s[i - 1] == '\n') s[i - 1] = 0; @@ -691,8 +689,7 @@ count = 0; read = 0; notes_parse(nl, (argv[2][0] == 0) ? "-" : argv[2]); - while (!feof(f)) { - fgets(s, 600, f); + while (!feof(f) && fgets(s, 600, f)) { if (s[strlen(s) - 1] == '\n') s[strlen(s) - 1] = 0; if (!feof(f)) { diff -urN eggdrop1.6.17/src/mod/notes.mod/notes.h eggdrop1.6.18/src/mod/notes.mod/notes.h --- eggdrop1.6.17/src/mod/notes.mod/notes.h 2004-02-01 01:13:03.000000000 -0500 +++ eggdrop1.6.18/src/mod/notes.mod/notes.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * notes.h -- part of notes.mod * - * $Id: notes.h,v 1.13 2004/02/01 06:13:03 wcc Exp $ + * $Id: notes.h,v 1.15 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/seen.mod/Makefile eggdrop1.6.18/src/mod/seen.mod/Makefile --- eggdrop1.6.17/src/mod/seen.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/seen.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/seen.mod/ -# $Id: Makefile,v 1.14 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.16 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../seen.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/seen.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/seen.c -MT ../seen.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,13 @@ #safety hash ../seen.o: .././seen.mod/seen.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../../../src/mod/channels.mod/channels.h + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/users.h ../../../src/chan.h \ + ../../../src/mod/channels.mod/channels.h diff -urN eggdrop1.6.17/src/mod/seen.mod/modinfo eggdrop1.6.18/src/mod/seen.mod/modinfo --- eggdrop1.6.17/src/mod/seen.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/seen.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:50 wcc Exp $ DESC:This module provides seen commands via msg, on channel or via dcc, DESC:similar to the various scripts. DESC: diff -urN eggdrop1.6.17/src/mod/seen.mod/seen.c eggdrop1.6.18/src/mod/seen.mod/seen.c --- eggdrop1.6.17/src/mod/seen.mod/seen.c 2004-06-15 03:20:55.000000000 -0400 +++ eggdrop1.6.18/src/mod/seen.mod/seen.c 2006-03-27 21:35:51.000000000 -0500 @@ -10,10 +10,10 @@ * 1.2 1997-08-20 Minor fixes. [BB] * 1.2a 1997-08-24 Minor fixes. [BB] * - * $Id: seen.c,v 1.35 2004/06/15 07:20:55 wcc Exp $ + * $Id: seen.c,v 1.37 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/server.mod/Makefile eggdrop1.6.18/src/mod/server.mod/Makefile --- eggdrop1.6.17/src/mod/server.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/server.mod/ -# $Id: Makefile,v 1.15 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../server.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/server.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/server.c -MT ../server.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,14 +33,14 @@ #safety hash ../server.o: .././server.mod/server.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../server.mod/server.h ../server.mod/servmsg.c \ - ../server.mod/cmdsserv.c ../server.mod/tclserv.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h .././server.mod/server.h \ + .././server.mod/servmsg.c .././server.mod/cmdsserv.c \ + .././server.mod/tclserv.c diff -urN eggdrop1.6.17/src/mod/server.mod/cmdsserv.c eggdrop1.6.18/src/mod/server.mod/cmdsserv.c --- eggdrop1.6.17/src/mod/server.mod/cmdsserv.c 2004-01-09 00:56:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/server.mod/cmdsserv.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * cmdsserv.c -- part of server.mod * handles commands from a user via dcc that cause server interaction * - * $Id: cmdsserv.c,v 1.20 2004/01/09 05:56:38 wcc Exp $ + * $Id: cmdsserv.c,v 1.22 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/server.mod/help/server.help eggdrop1.6.18/src/mod/server.mod/help/server.help --- eggdrop1.6.17/src/mod/server.mod/help/server.help 2004-05-27 01:23:40.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/help/server.help 2005-02-04 09:15:27.000000000 -0500 @@ -55,7 +55,7 @@ %bcheck-mode-r ctcp-mode use-penalties%b %bdouble-server double-mode double-help%b %buse-fastdeq nick-len optimize-kicks%b - %bstack-limit%b + %bstack-limit exclusive-binds%b (Use %b'.help set '%b for more info) %{help=all}%{+o|o} ### %bserver module%b commands diff -urN eggdrop1.6.17/src/mod/server.mod/help/set/server.help eggdrop1.6.18/src/mod/server.mod/help/set/server.help --- eggdrop1.6.17/src/mod/server.mod/help/set/server.help 2003-08-17 23:27:06.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/help/set/server.help 2005-02-04 09:15:27.000000000 -0500 @@ -94,6 +94,12 @@ ### %bset trigger-on-ignore%b 0/1 Enabling this will cause ignored users to trigger bindings anyway, normally and ignored user is just that, someone who is ignored. +%{help=set exclusive-binds}%{+n} +### %bset exclusive-binds%b 0/1 + This setting configures PUBM and MSGM binds to be exclusive of PUB + and MSG binds. This means if a MSGM bind with the mask "*help*" exists + and is triggered, any MSG bindings with "help" in their mask will not + be triggered. Don't enable this unless you know what you are doing! %{help=set answer-ctcp}%{+n} ### %bset answer-ctcp%b 0/1 This sets the maximum number of stacked CTCP's to answer from any diff -urN eggdrop1.6.17/src/mod/server.mod/modinfo eggdrop1.6.18/src/mod/server.mod/modinfo --- eggdrop1.6.17/src/mod/server.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/server.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.3 2003-12-10 19:04:50 wcc Exp $ DESC:This module provides the core server support. If you want your bot to DESC:connect to servers, this is the module. Hub-only bots will probably not DESC:need it. It is essential for the irc and ctcp modules. diff -urN eggdrop1.6.17/src/mod/server.mod/server.c eggdrop1.6.18/src/mod/server.mod/server.c --- eggdrop1.6.17/src/mod/server.mod/server.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/server.c 2006-03-27 21:35:51.000000000 -0500 @@ -2,11 +2,11 @@ * server.c -- part of server.mod * basic irc server support * - * $Id: server.c,v 1.118 2004/07/02 21:02:02 wcc Exp $ + * $Id: server.c,v 1.124 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -72,6 +72,8 @@ static int default_port; /* default IRC port */ static char oldnick[NICKLEN]; /* previous nickname *before* rehash */ static int trigger_on_ignore; /* trigger bindings if user is ignored ? */ +static int exclusive_binds; /* configures PUBM and MSGM binds to be + * exclusive of PUB and MSG binds. */ static int answer_ctcp; /* answer how many stacked ctcp's ? */ static int lowercase_ctcp; /* answer lowercase CTCP's (non-standard) */ static int check_mode_r; /* check for IRCnet +r modes */ @@ -459,7 +461,7 @@ nextcmd = newsplit(&nextmsg); nextto = newsplit(&nextmsg); len = strlen(nextto); - if (strcmp(to, nextto) &&!strcmp(cmd, nextcmd) && !strcmp(msg, nextmsg) && + if (strcmp(to, nextto) && !strcmp(cmd, nextcmd) && !strcmp(msg, nextmsg) && ((strlen(cmd) + strlen(victims) + strlen(nextto) + strlen(msg) + 2) < 510) && (!stack_limit || cmd_count < stack_limit - 1)) { cmd_count++; @@ -882,7 +884,7 @@ q->len = len; q->msg = nmalloc(len + 1); - memcpy(q->msg, buf, len); + egg_memcpy(q->msg, buf, len); q->msg[len] = 0; h->tot++; h->warned = 0; @@ -1362,6 +1364,7 @@ {"optimize-kicks", &optimize_kicks, 0}, {"isjuped", &nick_juped, 0}, {"stack-limit", &stack_limit, 0}, + {"exclusive-binds", &exclusive_binds, 0}, {NULL, NULL, 0} }; @@ -1482,7 +1485,7 @@ return 1; i = new_dcc(&DCC_DNSWAIT, sizeof(struct dns_info)); if (i < 0) { - putlog(LOG_MISC, "*", "DCC connection: CHAT (%s!%s)", dcc[i].nick, ip); + putlog(LOG_MISC, "*", "DCC connection: CHAT (%s!%s)", nick, ip); return 1; } dcc[i].addr = my_atoul(ip); @@ -1492,7 +1495,6 @@ strcpy(dcc[i].host, from); dcc[i].timeval = now; dcc[i].user = u; - dcc[i].addr = my_atoul(ip); dcc[i].u.dns->ip = dcc[i].addr; dcc[i].u.dns->dns_type = RES_HOSTBYIP; dcc[i].u.dns->dns_success = dcc_chat_hostresolved; @@ -1825,10 +1827,11 @@ (Function) & H_ctcp, /* p_tcl_bind_list */ (Function) & H_ctcr, /* p_tcl_bind_list */ (Function) ctcp_reply, - /* 36 - 38 */ + /* 36 - 39 */ (Function) get_altbotnick, /* char * */ (Function) & nick_len, /* int */ - (Function) check_tcl_notc + (Function) check_tcl_notc, + (Function) & exclusive_binds /* int */ }; char *server_start(Function *global_funcs) @@ -1870,6 +1873,7 @@ default_port = 6667; oldnick[0] = 0; trigger_on_ignore = 0; + exclusive_binds = 0; answer_ctcp = 1; lowercase_ctcp = 0; check_mode_r = 0; diff -urN eggdrop1.6.17/src/mod/server.mod/server.h eggdrop1.6.18/src/mod/server.mod/server.h --- eggdrop1.6.17/src/mod/server.mod/server.h 2004-01-10 03:41:38.000000000 -0500 +++ eggdrop1.6.18/src/mod/server.mod/server.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * server.h -- part of server.mod * - * $Id: server.h,v 1.21 2004/01/10 08:41:38 wcc Exp $ + * $Id: server.h,v 1.24 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -49,31 +49,31 @@ #define check_tcl_ctcpr ((int(*)(char*,char*,struct userrec*,char*,char*,char*,p_tcl_bind_list))server_funcs[17]) #define detect_avalanche ((int(*)(char *))server_funcs[18]) #define nuke_server ((void(*)(char *))server_funcs[19]) -/* 20 - 22 */ +/* 20 - 23 */ #define newserver ((char *)(server_funcs[20])) #define newserverport (*(int *)(server_funcs[21])) #define newserverpass ((char *)(server_funcs[22])) -/* 23 - 26 */ #define cycle_time (*(int *)(server_funcs[23])) +/* 24 - 27 */ #define default_port (*(int *)(server_funcs[24])) #define server_online (*(int *)(server_funcs[25])) #define min_servs (*(int *)(server_funcs[26])) -/* 27 - 30 */ #define H_raw (*(p_tcl_bind_list *)(server_funcs[27])) +/* 28 - 31 */ #define H_wall (*(p_tcl_bind_list *)(server_funcs[28])) #define H_msg (*(p_tcl_bind_list *)(server_funcs[29])) #define H_msgm (*(p_tcl_bind_list *)(server_funcs[30])) -/* 31 - 34 */ #define H_notc (*(p_tcl_bind_list *)(server_funcs[31])) +/* 32 - 35 */ #define H_flud (*(p_tcl_bind_list *)(server_funcs[32])) #define H_ctcp (*(p_tcl_bind_list *)(server_funcs[33])) #define H_ctcr (*(p_tcl_bind_list *)(server_funcs[34])) -/* 35 - 38 */ #define ctcp_reply ((char *)(server_funcs[35])) +/* 36 - 39 */ #define get_altbotnick ((char *(*)(void))(server_funcs[36])) #define nick_len (*(int *)(server_funcs[37])) #define check_tcl_notc ((int (*)(char *,char *,struct userrec *,char *,char *))server_funcs[38]) - +#define exclusive_binds (*(int *)(server_funcs[39])) #else /* MAKING_SERVER */ /* Macros for commonly used commands. */ diff -urN eggdrop1.6.17/src/mod/server.mod/servmsg.c eggdrop1.6.18/src/mod/server.mod/servmsg.c --- eggdrop1.6.17/src/mod/server.mod/servmsg.c 2004-07-25 16:39:01.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/servmsg.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * servmsg.c -- part of server.mod * - * $Id: servmsg.c,v 1.83 2004/07/25 20:39:01 wcc Exp $ + * $Id: servmsg.c,v 1.91 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -112,25 +112,11 @@ return ((x == BIND_MATCHED) || (x == BIND_EXECUTED) || (x == BIND_EXEC_LOG)); } -static void check_tcl_notc(char *nick, char *uhost, struct userrec *u, - char *dest, char *arg) -{ - struct flag_record fr = { FR_GLOBAL | FR_CHAN | FR_ANYWH, 0, 0, 0, 0, 0 }; - - get_user_flagrec(u, &fr, NULL); - Tcl_SetVar(interp, "_notc1", nick, 0); - Tcl_SetVar(interp, "_notc2", uhost, 0); - Tcl_SetVar(interp, "_notc3", u ? u->handle : "*", 0); - Tcl_SetVar(interp, "_notc4", arg, 0); - Tcl_SetVar(interp, "_notc5", dest, 0); - check_tcl_bind(H_notc, arg, &fr, " $_notc1 $_notc2 $_notc3 $_notc4 $_notc5", - MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE); -} - -static void check_tcl_msgm(char *cmd, char *nick, char *uhost, +static int check_tcl_msgm(char *cmd, char *nick, char *uhost, struct userrec *u, char *arg) { struct flag_record fr = { FR_GLOBAL | FR_CHAN | FR_ANYWH, 0, 0, 0, 0, 0 }; + int x; char args[1024]; if (arg[0]) @@ -142,12 +128,50 @@ Tcl_SetVar(interp, "_msgm2", uhost, 0); Tcl_SetVar(interp, "_msgm3", u ? u->handle : "*", 0); Tcl_SetVar(interp, "_msgm4", args, 0); - check_tcl_bind(H_msgm, args, &fr, " $_msgm1 $_msgm2 $_msgm3 $_msgm4", - MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE); + x = check_tcl_bind(H_msgm, args, &fr, " $_msgm1 $_msgm2 $_msgm3 $_msgm4", + MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE | BIND_STACKRET); + + /* + * 0 - no match + * 1 - match, log + * 2 - match, don't log + */ + if (x == BIND_NOMATCH) + return 0; + if (x == BIND_EXEC_LOG) + return 2; + + return 1; +} + +static int check_tcl_notc(char *nick, char *uhost, struct userrec *u, + char *dest, char *arg) +{ + struct flag_record fr = { FR_GLOBAL | FR_CHAN | FR_ANYWH, 0, 0, 0, 0, 0 }; + int x; + + get_user_flagrec(u, &fr, NULL); + Tcl_SetVar(interp, "_notc1", nick, 0); + Tcl_SetVar(interp, "_notc2", uhost, 0); + Tcl_SetVar(interp, "_notc3", u ? u->handle : "*", 0); + Tcl_SetVar(interp, "_notc4", arg, 0); + Tcl_SetVar(interp, "_notc5", dest, 0); + x = check_tcl_bind(H_notc, arg, &fr, " $_notc1 $_notc2 $_notc3 $_notc4 $_notc5", + MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE | BIND_STACKRET); + + /* + * 0 - no match + * 1 - match, log + * 2 - match, don't log + */ + if (x == BIND_NOMATCH) + return 0; + if (x == BIND_EXEC_LOG) + return 2; + + return 1; } -/* Return 1 if processed. - */ static int check_tcl_raw(char *from, char *code, char *msg) { int x; @@ -157,6 +181,8 @@ Tcl_SetVar(interp, "_raw3", msg, 0); x = check_tcl_bind(H_raw, code, 0, " $_raw1 $_raw2 $_raw3", MATCH_EXACT | BIND_STACKABLE | BIND_WANTRET); + + /* Return 1 if processed */ return (x == BIND_EXEC_LOG); } @@ -188,12 +214,19 @@ Tcl_SetVar(interp, "_wall1", from, 0); Tcl_SetVar(interp, "_wall2", msg, 0); x = check_tcl_bind(H_wall, msg, 0, " $_wall1 $_wall2", - MATCH_MASK | BIND_STACKABLE); - if (x == BIND_EXEC_LOG) { - putlog(LOG_WALL, "*", "!%s! %s", from, msg); - return 1; - } else + MATCH_MASK | BIND_STACKABLE | BIND_STACKRET); + + /* + * 0 - no match + * 1 - match, log + * 2 - match, don't log + */ + if (x == BIND_NOMATCH) return 0; + if (x == BIND_EXEC_LOG) + return 2; + + return 1; } static int check_tcl_flud(char *nick, char *uhost, struct userrec *u, @@ -327,6 +360,14 @@ struct userrec *u; int thr = 0, lapse = 0, atr; + /* Okay, make sure i'm not flood-checking myself */ + if (match_my_nick(floodnick)) + return 0; + + /* My user@host (?) */ + if (!egg_strcasecmp(floodhost, botuserhost)) + return 0; + u = get_user_by_host(from); atr = u ? u->flags : 0; if (atr & (USER_BOT | USER_FRIEND)) @@ -348,11 +389,7 @@ } if ((thr == 0) || (lapse == 0)) return 0; /* No flood protection */ - /* Okay, make sure i'm not flood-checking myself */ - if (match_my_nick(floodnick)) - return 0; - if (!egg_strcasecmp(floodhost, botuserhost)) - return 0; /* My user@host (?) */ + p = strchr(floodhost, '@'); if (p) { p++; @@ -410,8 +447,8 @@ */ static int gotmsg(char *from, char *msg) { - char *to, buf[UHOSTLEN], *nick, ctcpbuf[512], *uhost = buf, *ctcp; - char *p, *p1, *code; + char *to, buf[UHOSTLEN], *nick, ctcpbuf[512], *uhost = buf, *ctcp, + *p, *p1, *code; struct userrec *u; int ctcp_count = 0; int ignoring; @@ -460,9 +497,10 @@ ctcp_count++; if (ctcp[0] != ' ') { code = newsplit(&ctcp); + + /* CTCP from oper, don't interpret */ if ((to[0] == '$') || strchr(to, '.')) { if (!ignoring) - /* Don't interpret */ putlog(LOG_PUBLIC, to, "CTCP %s: %s from %s (%s) to %s", code, ctcp, nick, uhost, to); } else { @@ -517,28 +555,33 @@ } } if (msg[0]) { + int result = 0; + + /* Msg from oper, don't interpret */ if ((to[0] == '$') || (strchr(to, '.') != NULL)) { - /* Msg from oper */ if (!ignoring) { detect_flood(nick, uhost, from, FLOOD_PRIVMSG); - /* Do not interpret as command */ putlog(LOG_MSGS | LOG_SERV, "*", "[%s!%s to %s] %s", nick, uhost, to, msg); } - } else { - char *code; - struct userrec *u; + return 0; + } - detect_flood(nick, uhost, from, FLOOD_PRIVMSG); - u = get_user_by_host(from); - code = newsplit(&msg); - rmspace(msg); - if (!ignoring || trigger_on_ignore) - check_tcl_msgm(code, nick, uhost, u, msg); - if (!ignoring) - if (!check_tcl_msg(code, nick, uhost, u, msg)) - putlog(LOG_MSGS, "*", "[%s] %s %s", from, code, msg); + detect_flood(nick, uhost, from, FLOOD_PRIVMSG); + u = get_user_by_host(from); + code = newsplit(&msg); + rmspace(msg); + + if (!ignoring || trigger_on_ignore) { + result = check_tcl_msgm(code, nick, uhost, u, msg); + + if (!result || !exclusive_binds) + if (check_tcl_msg(code, nick, uhost, u, msg)) + return 0; } + + if (!ignoring && result != 2) + putlog(LOG_MSGS, "*", "[%s] %s %s", from, code, msg); } return 0; } @@ -583,6 +626,7 @@ if (ctcp[0] != ' ') { char *code = newsplit(&ctcp); + /* CTCP reply from oper, don't interpret */ if ((to[0] == '$') || strchr(to, '.')) { if (!ignoring) putlog(LOG_PUBLIC, "*", @@ -603,25 +647,36 @@ } } if (msg[0]) { - if (((to[0] == '$') || strchr(to, '.')) && !ignoring) { - detect_flood(nick, uhost, from, FLOOD_NOTICE); - putlog(LOG_MSGS | LOG_SERV, "*", "-%s (%s) to %s- %s", - nick, uhost, to, msg); - } else { - /* Server notice? */ - if ((nick[0] == 0) || (uhost[0] == 0)) { - /* Hidden `250' connection count message from server */ - if (strncmp(msg, "Highest connection count:", 25)) - putlog(LOG_SERV, "*", "-NOTICE- %s", msg); - } else { + + /* Notice from oper, don't interpret */ + if ((to[0] == '$') || (strchr(to, '.') != NULL)) { + if (!ignoring) { detect_flood(nick, uhost, from, FLOOD_NOTICE); - u = get_user_by_host(from); - if (!ignoring || trigger_on_ignore) - check_tcl_notc(nick, uhost, u, botname, msg); - if (!ignoring) - putlog(LOG_MSGS, "*", "-%s (%s)- %s", nick, uhost, msg); + putlog(LOG_MSGS | LOG_SERV, "*", "-%s (%s) to %s- %s", + nick, uhost, to, msg); } + return 0; + } + + /* Server notice? */ + if ((nick[0] == 0) || (uhost[0] == 0)) { + + /* Hidden `250' connection count message from server */ + if (strncmp(msg, "Highest connection count:", 25)) + putlog(LOG_SERV, "*", "-NOTICE- %s", msg); + + return 0; } + + detect_flood(nick, uhost, from, FLOOD_NOTICE); + u = get_user_by_host(from); + + if (!ignoring || trigger_on_ignore) + if (check_tcl_notc(nick, uhost, u, botname, msg) == 2) + return 0; + + if (!ignoring) + putlog(LOG_MSGS, "*", "-%s (%s)- %s", nick, uhost, msg); } return 0; } @@ -659,15 +714,10 @@ static int gotwall(char *from, char *msg) { char *nick; - int r; fixcolon(msg); - r = check_tcl_wall(from, msg); - if (r == 0) { - /* Following is not needed at all, but we'll keep it for compatibility sake, - * so not to confuse possible scripts that are parsing log files. - */ + if (check_tcl_wall(from, msg) != 2) { if (strchr(from, '!')) { nick = splitnick(&from); putlog(LOG_WALL, "*", "!%s(%s)! %s", nick, from, msg); @@ -695,7 +745,7 @@ * check that it's not just a truncation of the full nick. */ if (strncmp(botname, origbotname, strlen(botname))) { - /* See if my nickname is in use and if if my nick is right. */ + /* See if my nickname is in use and if if my nick is right. */ alt = get_altbotnick(); if (alt[0] && egg_strcasecmp(botname, alt)) dprintf(DP_SERVER, "ISON :%s %s %s\n", botname, origbotname, alt); @@ -1249,7 +1299,12 @@ if (pass[0]) dprintf(DP_MODE, "PASS %s\n", pass); dprintf(DP_MODE, "NICK %s\n", botname); + + rmspace(botrealname); + if (botrealname[0] == 0) + strcpy(botrealname, "/msg LamestBot hello"); dprintf(DP_MODE, "USER %s . . :%s\n", botuser, botrealname); - /* Wait for async result now */ + + /* Wait for async result now. */ } } diff -urN eggdrop1.6.17/src/mod/server.mod/tclserv.c eggdrop1.6.18/src/mod/server.mod/tclserv.c --- eggdrop1.6.17/src/mod/server.mod/tclserv.c 2004-04-30 03:51:08.000000000 -0400 +++ eggdrop1.6.18/src/mod/server.mod/tclserv.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * tclserv.c -- part of server.mod * - * $Id: tclserv.c,v 1.17 2004/04/30 07:51:08 tothwolf Exp $ + * $Id: tclserv.c,v 1.19 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/share.mod/Makefile eggdrop1.6.18/src/mod/share.mod/Makefile --- eggdrop1.6.17/src/mod/share.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/share.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/share.mod/ -# $Id: Makefile,v 1.15 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../share.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/share.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/share.c -MT ../share.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,15 +33,15 @@ #safety hash ../share.o: .././share.mod/share.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../../../src/mod/transfer.mod/transfer.h \ - ../../../src/mod/channels.mod/channels.h ../share.mod/share.h \ - ../share.mod/uf_features.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/chan.h ../../../src/users.h \ + ../../../src/mod/transfer.mod/transfer.h \ + ../../../src/mod/channels.mod/channels.h .././share.mod/share.h \ + .././share.mod/uf_features.c diff -urN eggdrop1.6.17/src/mod/share.mod/modinfo eggdrop1.6.18/src/mod/share.mod/modinfo --- eggdrop1.6.17/src/mod/share.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 +++ eggdrop1.6.18/src/mod/share.mod/modinfo 2003-12-10 14:04:50.000000000 -0500 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.2 2003/12/10 19:04:50 wcc Exp $ +# $Id: modinfo,v 1.2 2003-12-10 19:04:50 wcc Exp $ DESC:This provides the userfile sharing support. You also have to enable the DESC:channels & transfer modules to use it. DESC: diff -urN eggdrop1.6.17/src/mod/share.mod/share.c eggdrop1.6.18/src/mod/share.mod/share.c --- eggdrop1.6.17/src/mod/share.mod/share.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/mod/share.mod/share.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * share.c -- part of share.mod * - * $Id: share.c,v 1.84 2004/07/02 21:02:02 wcc Exp $ + * $Id: share.c,v 1.87 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -615,8 +615,10 @@ makepass(pass); userlist = adduser(userlist, hand, "none", pass, USER_BOT); u = get_user_by_handle(userlist, hand); - } else if (!u) + } else if (!u) { + noshare = 0; return; + } if (uet->got_share) { if (!(e = find_user_entry(uet, u))) { e = user_malloc(sizeof(struct user_entry)); diff -urN eggdrop1.6.17/src/mod/share.mod/share.h eggdrop1.6.18/src/mod/share.mod/share.h --- eggdrop1.6.17/src/mod/share.mod/share.h 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/share.mod/share.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,10 +1,10 @@ /* * share.h -- part of share.mod * - * $Id: share.h,v 1.8 2004/01/09 05:56:39 wcc Exp $ + * $Id: share.h,v 1.10 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/share.mod/uf_features.c eggdrop1.6.18/src/mod/share.mod/uf_features.c --- eggdrop1.6.17/src/mod/share.mod/uf_features.c 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/share.mod/uf_features.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,10 +1,10 @@ /* * uf_features.c -- part of share.mod * - * $Id: uf_features.c,v 1.14 2004/01/09 05:56:39 wcc Exp $ + * $Id: uf_features.c,v 1.16 2006-03-28 02:35:51 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2000 - 2006 Eggheads Development Team * Written by Fabian Knittel * * This program is free software; you can redistribute it and/or diff -urN eggdrop1.6.17/src/mod/transfer.mod/Makefile eggdrop1.6.18/src/mod/transfer.mod/Makefile --- eggdrop1.6.17/src/mod/transfer.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/transfer.mod/ -# $Id: Makefile,v 1.15 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.17 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../transfer.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/transfer.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/transfer.c -MT ../transfer.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,15 +33,14 @@ #safety hash ../transfer.o: .././transfer.mod/transfer.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../transfer.mod/transfer.h \ - ../transfer.mod/tcltransfer.c ../transfer.mod/transferqueue.c \ - ../transfer.mod/transferfstat.c + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/tandem.h ../../../src/users.h \ + .././transfer.mod/transfer.h .././transfer.mod/transferfstat.c \ + .././transfer.mod/transferqueue.c .././transfer.mod/tcltransfer.c diff -urN eggdrop1.6.17/src/mod/transfer.mod/language/transfer.danish.lang eggdrop1.6.18/src/mod/transfer.mod/language/transfer.danish.lang --- eggdrop1.6.17/src/mod/transfer.mod/language/transfer.danish.lang 2004-05-20 17:44:10.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/language/transfer.danish.lang 2004-05-20 17:44:10.000000000 -0400 @@ -1,7 +1,7 @@ # transfer.danish.lang # language messages for transfer module # -# $Id: transfer.danish.lang,v 1.7 2004/05/20 21:44:10 wcc Exp $ +# $Id: transfer.danish.lang,v 1.7 2004-05-20 21:44:10 wcc Exp $ 0xf00,Afviste dcc get %s: kopi til %s FEJLEDE! 0xf01,NOTICE %s :Filsystem fejl; fjerner filer fra køen.\n diff -urN eggdrop1.6.17/src/mod/transfer.mod/language/transfer.english.lang eggdrop1.6.18/src/mod/transfer.mod/language/transfer.english.lang --- eggdrop1.6.17/src/mod/transfer.mod/language/transfer.english.lang 2004-05-20 17:44:10.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/language/transfer.english.lang 2004-05-20 17:44:10.000000000 -0400 @@ -1,7 +1,7 @@ # transfer.english.lang # langauge messages for transfer module # -# $Id: transfer.english.lang,v 1.9 2004/05/20 21:44:10 wcc Exp $ +# $Id: transfer.english.lang,v 1.9 2004-05-20 21:44:10 wcc Exp $ 0xf00,Refused dcc get %s: copy to %s FAILED! 0xf01,NOTICE %s :File system is broken; aborting queued files.\n diff -urN eggdrop1.6.17/src/mod/transfer.mod/language/transfer.finnish.lang eggdrop1.6.18/src/mod/transfer.mod/language/transfer.finnish.lang --- eggdrop1.6.17/src/mod/transfer.mod/language/transfer.finnish.lang 2004-07-05 00:37:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/language/transfer.finnish.lang 2004-07-05 00:37:34.000000000 -0400 @@ -1,7 +1,7 @@ # transfer.finnish.lang # kieli viestit siirto moduuliin # -# $Id: transfer.finnish.lang,v 1.1 2004/07/05 04:37:34 wcc Exp $ +# $Id: transfer.finnish.lang,v 1.1 2004-07-05 04:37:34 wcc Exp $ 0xf00,Evätään dcc saanti %s: kopiointi %s PERUTTU! 0xf01,NOTICE %s :Tiedostojärjestelmä on rikkoontunut; perutaan queue tiedostot.\n diff -urN eggdrop1.6.17/src/mod/transfer.mod/language/transfer.french.lang eggdrop1.6.18/src/mod/transfer.mod/language/transfer.french.lang --- eggdrop1.6.17/src/mod/transfer.mod/language/transfer.french.lang 2004-05-20 17:44:10.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/language/transfer.french.lang 2004-05-20 17:44:10.000000000 -0400 @@ -1,7 +1,7 @@ # transfer.french.lang # language messages for transfer module # -# $Id: transfer.french.lang,v 1.5 2004/05/20 21:44:10 wcc Exp $ +# $Id: transfer.french.lang,v 1.5 2004-05-20 21:44:10 wcc Exp $ 0xf00,Refus de réception dcc %s : copie de %s IMPOSSIBLE ! 0xf01,NOTICE %s :Le système de fichier est H.S.; annulation des fichiers en attente.\n diff -urN eggdrop1.6.17/src/mod/transfer.mod/language/transfer.german.lang eggdrop1.6.18/src/mod/transfer.mod/language/transfer.german.lang --- eggdrop1.6.17/src/mod/transfer.mod/language/transfer.german.lang 2004-05-20 17:44:10.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/language/transfer.german.lang 2004-05-20 17:44:10.000000000 -0400 @@ -1,7 +1,7 @@ # transfer.german.lang # language messages for transfer module # -# $Id: transfer.german.lang,v 1.4 2004/05/20 21:44:10 wcc Exp $ +# $Id: transfer.german.lang,v 1.4 2004-05-20 21:44:10 wcc Exp $ 0xf00,DCC get zurueckgewiesen %s: kopieren nach %s schlug fehl! 0xf01,NOTICE %s :Das Dateisystem ist defekt; entferne die Dateien aus der Warteschlange.\n diff -urN eggdrop1.6.17/src/mod/transfer.mod/modinfo eggdrop1.6.18/src/mod/transfer.mod/modinfo --- eggdrop1.6.17/src/mod/transfer.mod/modinfo 2004-05-27 01:23:40.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/modinfo 2004-05-27 01:23:40.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2004/05/27 05:23:40 wcc Exp $ +# $Id: modinfo,v 1.3 2004-05-27 05:23:40 wcc Exp $ DESC:The transfer module provides DCC SEND/GET support and bot userfile DESC:transfer support (not sharing). DESC: diff -urN eggdrop1.6.17/src/mod/transfer.mod/tcltransfer.c eggdrop1.6.18/src/mod/transfer.mod/tcltransfer.c --- eggdrop1.6.17/src/mod/transfer.mod/tcltransfer.c 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/transfer.mod/tcltransfer.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,9 +1,9 @@ /* * tcltransfer.c -- part of transfer.mod * - * $Id: tcltransfer.c,v 1.4 2004/01/09 05:56:39 wcc Exp $ + * $Id: tcltransfer.c,v 1.7 2006-03-28 02:35:51 wcc Exp $ * - * Copyright (C) 2003, 2004 Eggheads Development Team + * Copyright (C) 2003 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -101,7 +101,7 @@ char s[15]; BADARGS(2, 2, " idx"); - + sock = atoi(argv[1]); for (i = 0; i < dcc_total; i++) { if (dcc[i].sock == sock) { diff -urN eggdrop1.6.17/src/mod/transfer.mod/transfer.c eggdrop1.6.18/src/mod/transfer.mod/transfer.c --- eggdrop1.6.17/src/mod/transfer.mod/transfer.c 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/transfer.mod/transfer.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,10 +1,10 @@ /* * transfer.c -- part of transfer.mod * - * $Id: transfer.c,v 1.69 2004/01/09 05:56:39 wcc Exp $ + * $Id: transfer.c,v 1.72 2006-03-28 02:35:51 wcc Exp $ * * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -168,7 +168,7 @@ Function F = (Function) cd; BADARGS(4, 4, " hand nick path"); - + CHECKVALIDITY(builtin_sentrcvd); F(argv[1], argv[2], argv[3]); return TCL_OK; @@ -179,7 +179,7 @@ Function F = (Function) cd; BADARGS(6, 6, " hand nick path acked length"); - + CHECKVALIDITY(builtin_toutlost); F(argv[1], argv[2], argv[3], argv[4], argv[5]); return TCL_OK; @@ -967,7 +967,7 @@ * `filename' from `dir'. * * Use raw_dcc_resend() and raw_dcc_send() instead of this function. - * + * */ static int raw_dcc_resend_send(char *filename, char *nick, char *from, char *dir, int resend) diff -urN eggdrop1.6.17/src/mod/transfer.mod/transfer.h eggdrop1.6.18/src/mod/transfer.mod/transfer.h --- eggdrop1.6.17/src/mod/transfer.mod/transfer.h 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/transfer.mod/transfer.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * transfer.h -- part of transfer.mod * - * $Id: transfer.h,v 1.22 2004/01/09 05:56:39 wcc Exp $ + * $Id: transfer.h,v 1.24 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/transfer.mod/transferfstat.c eggdrop1.6.18/src/mod/transfer.mod/transferfstat.c --- eggdrop1.6.17/src/mod/transfer.mod/transferfstat.c 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/transfer.mod/transferfstat.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,9 +1,9 @@ /* * transferfstat.c -- part of transfer.mod * - * $Id: transferfstat.c,v 1.6 2004/01/09 05:56:39 wcc Exp $ + * $Id: transferfstat.c,v 1.8 2006-03-28 02:35:51 wcc Exp $ * - * Copyright (C) 2003, 2004 Eggheads Development Team + * Copyright (C) 2003 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/transfer.mod/transferqueue.c eggdrop1.6.18/src/mod/transfer.mod/transferqueue.c --- eggdrop1.6.17/src/mod/transfer.mod/transferqueue.c 2004-06-11 01:53:03.000000000 -0400 +++ eggdrop1.6.18/src/mod/transfer.mod/transferqueue.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,9 +1,9 @@ /* * transferqueue.c -- part of transfer.mod * - * $Id: transferqueue.c,v 1.5 2004/06/11 05:53:03 wcc Exp $ + * $Id: transferqueue.c,v 1.7 2006-03-28 02:35:51 wcc Exp $ * - * Copyright (C) 2003, 2004 Eggheads Development Team + * Copyright (C) 2003 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/uptime.mod/Makefile eggdrop1.6.18/src/mod/uptime.mod/Makefile --- eggdrop1.6.17/src/mod/uptime.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/uptime.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/uptime.mod/ -# $Id: Makefile,v 1.5 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.7 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -23,7 +23,7 @@ $(STRIP) ../../../uptime.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/uptime.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/uptime.c -MT ../uptime.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -31,14 +31,14 @@ distclean: clean #safety hash -../uptime.o: .././uptime.mod/uptime.c ../uptime.mod/uptime.h \ - ../../../src/mod/module.h ../../../src/main.h ../../../config.h \ - ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ - ../../../src/proto.h ../../../lush.h ../../../src/misc_file.h \ - ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ - ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../../../src/mod/server.mod/server.h +../uptime.o: .././uptime.mod/uptime.c .././uptime.mod/uptime.h \ + .././uptime.mod/../module.h ../../../src/main.h ../../../config.h \ + ../../../lush.h ../../../src/lang.h ../../../src/eggdrop.h \ + ../../../src/flags.h ../../../src/cmdt.h ../../../src/tclegg.h \ + ../../../src/tclhash.h ../../../src/chan.h ../../../src/users.h \ + ../../../src/compat/compat.h ../../../src/compat/inet_aton.h \ + ../../../src/main.h ../../../src/compat/snprintf.h \ + ../../../src/compat/memset.h ../../../src/compat/memcpy.h \ + ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \ + .././uptime.mod/../modvals.h ../../../src/tandem.h \ + .././uptime.mod/../server.mod/server.h diff -urN eggdrop1.6.17/src/mod/uptime.mod/modinfo eggdrop1.6.18/src/mod/uptime.mod/modinfo --- eggdrop1.6.17/src/mod/uptime.mod/modinfo 2004-05-27 01:23:40.000000000 -0400 +++ eggdrop1.6.18/src/mod/uptime.mod/modinfo 2004-05-27 01:23:40.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.4 2004/05/27 05:23:40 wcc Exp $ +# $Id: modinfo,v 1.4 2004-05-27 05:23:40 wcc Exp $ DESC:This module reports uptime statistics to http://uptime.eggheads.org. Go DESC:look and see what your uptime is! It takes about 9 hours to show up, so DESC:if your bot isn't listed, try again later. diff -urN eggdrop1.6.17/src/mod/uptime.mod/uptime.c eggdrop1.6.18/src/mod/uptime.mod/uptime.c --- eggdrop1.6.17/src/mod/uptime.mod/uptime.c 2004-06-13 21:14:07.000000000 -0400 +++ eggdrop1.6.18/src/mod/uptime.mod/uptime.c 2006-03-27 21:35:51.000000000 -0500 @@ -1,5 +1,5 @@ /* - * $Id: uptime.c,v 1.32 2004/06/14 01:14:07 wcc Exp $ + * $Id: uptime.c,v 1.35 2006-03-28 02:35:51 wcc Exp $ * * This module reports uptime information about your bot to http://uptime.eggheads.org. The * purpose for this is to see how your bot rates against many others (including EnergyMechs @@ -13,7 +13,7 @@ */ /* * Copyright (C) 2001 proton - * Copyright (C) 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2001 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -72,7 +72,7 @@ static int uptimesock; static int uptimecount; static unsigned long uptimeip; -static char uptime_version[50] = ""; +static char uptime_version[48] = ""; static int uptime_expmem() { @@ -114,7 +114,7 @@ int init_uptime(void) { struct sockaddr_in sai; - char temp[50] = ""; + char x[64], *z = x; upPack.regnr = 0; /* unused */ upPack.pid = 0; /* must set this later */ @@ -124,9 +124,9 @@ uptimecount = 0; uptimeip = -1; - strncpyz(temp, ver, sizeof temp); - splitc(uptime_version, temp, ' '); - strncpyz(uptime_version, temp, sizeof uptime_version); + strncpyz(x, ver, sizeof x); + newsplit(&z); + strncpyz(uptime_version, z, sizeof uptime_version); if ((uptimesock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { putlog(LOG_DEBUG, "*", "init_uptime socket returned < 0 %d", uptimesock); diff -urN eggdrop1.6.17/src/mod/uptime.mod/uptime.h eggdrop1.6.18/src/mod/uptime.mod/uptime.h --- eggdrop1.6.17/src/mod/uptime.mod/uptime.h 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/uptime.mod/uptime.h 2006-03-27 21:35:51.000000000 -0500 @@ -1,11 +1,11 @@ /* * uptime.h - part of the uptime module * - * $Id: uptime.h,v 1.11 2004/01/09 05:56:39 wcc Exp $ + * $Id: uptime.h,v 1.13 2006-03-28 02:35:51 wcc Exp $ */ /* * Copyright (C) 2001 proton - * Copyright (C) 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 2001 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/wire.mod/Makefile eggdrop1.6.18/src/mod/wire.mod/Makefile --- eggdrop1.6.17/src/mod/wire.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/wire.mod/Makefile 2005-12-09 04:29:11.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/wire.mod/ -# $Id: Makefile,v 1.16 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.18 2005-12-09 09:29:11 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../wire.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/wire.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/wire.c -MT ../wire.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -33,13 +33,13 @@ #safety hash ../wire.o: .././wire.mod/wire.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../config.h ../../../src/lang.h \ - ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \ - ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \ - ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ - ../../../src/users.h ../../../src/compat/compat.h \ - ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ - ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ - ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h ../wire.mod/wire.h + ../../../src/main.h ../../../config.h ../../../lush.h \ + ../../../src/lang.h ../../../src/eggdrop.h ../../../src/flags.h \ + ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \ + ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h ../../../src/users.h ../../../src/chan.h \ + .././wire.mod/wire.h diff -urN eggdrop1.6.17/src/mod/wire.mod/language/wire.danish.lang eggdrop1.6.18/src/mod/wire.mod/language/wire.danish.lang --- eggdrop1.6.17/src/mod/wire.mod/language/wire.danish.lang 2003-03-19 19:04:48.000000000 -0500 +++ eggdrop1.6.18/src/mod/wire.mod/language/wire.danish.lang 2003-03-19 19:04:48.000000000 -0500 @@ -1,7 +1,7 @@ # wire.danish.lang # language messages for wire module # -# $Id: wire.danish.lang,v 1.3 2003/03/20 00:04:48 wcc Exp $ +# $Id: wire.danish.lang,v 1.3 2003-03-20 00:04:48 wcc Exp $ 0xa000,Du er ikke på en krypteret linie. 0xa001,For øjeblikket på krypteret linie diff -urN eggdrop1.6.17/src/mod/wire.mod/language/wire.english.lang eggdrop1.6.18/src/mod/wire.mod/language/wire.english.lang --- eggdrop1.6.17/src/mod/wire.mod/language/wire.english.lang 2000-11-05 23:06:45.000000000 -0500 +++ eggdrop1.6.18/src/mod/wire.mod/language/wire.english.lang 2000-11-05 23:06:45.000000000 -0500 @@ -1,7 +1,7 @@ # wire.english.lang # language messages for wire module # -# $Id: wire.english.lang,v 1.4 2000/11/06 04:06:45 guppy Exp $ +# $Id: wire.english.lang,v 1.4 2000-11-06 04:06:45 guppy Exp $ 0xa000,You are not on a wire. 0xa001,Currently on wire diff -urN eggdrop1.6.17/src/mod/wire.mod/language/wire.finnish.lang eggdrop1.6.18/src/mod/wire.mod/language/wire.finnish.lang --- eggdrop1.6.17/src/mod/wire.mod/language/wire.finnish.lang 2004-07-05 00:37:34.000000000 -0400 +++ eggdrop1.6.18/src/mod/wire.mod/language/wire.finnish.lang 2004-07-05 00:37:34.000000000 -0400 @@ -1,7 +1,7 @@ # wire.finnish.lang # kieli tiedostot wire moduuliin # -# $Id: wire.finnish.lang,v 1.1 2004/07/05 04:37:34 wcc Exp $ +# $Id: wire.finnish.lang,v 1.1 2004-07-05 04:37:34 wcc Exp $ 0xa000,You are not on a wire. 0xa001,Nykyään wirella diff -urN eggdrop1.6.17/src/mod/wire.mod/language/wire.french.lang eggdrop1.6.18/src/mod/wire.mod/language/wire.french.lang --- eggdrop1.6.17/src/mod/wire.mod/language/wire.french.lang 2000-11-05 23:06:45.000000000 -0500 +++ eggdrop1.6.18/src/mod/wire.mod/language/wire.french.lang 2000-11-05 23:06:45.000000000 -0500 @@ -3,7 +3,7 @@ # # Traduction par Fraggle, voir core.french.lang pour plus d'informations # -# $Id: wire.french.lang,v 1.3 2000/11/06 04:06:45 guppy Exp $ +# $Id: wire.french.lang,v 1.3 2000-11-06 04:06:45 guppy Exp $ 0xa000,Vous n'êtes pas sur un wire. 0xa001,Actuellement sur wire diff -urN eggdrop1.6.17/src/mod/wire.mod/language/wire.german.lang eggdrop1.6.18/src/mod/wire.mod/language/wire.german.lang --- eggdrop1.6.17/src/mod/wire.mod/language/wire.german.lang 2000-11-05 23:06:45.000000000 -0500 +++ eggdrop1.6.18/src/mod/wire.mod/language/wire.german.lang 2000-11-05 23:06:45.000000000 -0500 @@ -3,7 +3,7 @@ # # german translation by rtc # -# $Id: wire.german.lang,v 1.4 2000/11/06 04:06:45 guppy Exp $ +# $Id: wire.german.lang,v 1.4 2000-11-06 04:06:45 guppy Exp $ 0xa000,Du bist nicht auf einem heissen Draht. 0xa001,Gerade auf dem heissen Draht diff -urN eggdrop1.6.17/src/mod/wire.mod/modinfo eggdrop1.6.18/src/mod/wire.mod/modinfo --- eggdrop1.6.17/src/mod/wire.mod/modinfo 2004-07-24 23:56:59.000000000 -0400 +++ eggdrop1.6.18/src/mod/wire.mod/modinfo 2004-07-24 23:56:59.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2004/07/25 03:56:59 wcc Exp $ +# $Id: modinfo,v 1.3 2004-07-25 03:56:59 wcc Exp $ DESC:This module provides all the standard .wire partyline commands. It's an DESC:encrypted partyline communication tool, compatible with `wire.tcl'. DESC: diff -urN eggdrop1.6.17/src/mod/wire.mod/wire.c eggdrop1.6.18/src/mod/wire.mod/wire.c --- eggdrop1.6.17/src/mod/wire.mod/wire.c 2004-06-15 03:20:55.000000000 -0400 +++ eggdrop1.6.18/src/mod/wire.mod/wire.c 2006-03-27 21:35:52.000000000 -0500 @@ -15,10 +15,10 @@ * 1.4 1997-11-25 1.2.2.0 Added language addition Kirk * 1.5 1998-07-12 1.3.0.0 Fixed ;me and updated BB * - * $Id: wire.c,v 1.35 2004/06/15 07:20:55 wcc Exp $ + * $Id: wire.c,v 1.37 2006-03-28 02:35:52 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/wire.mod/wire.h eggdrop1.6.18/src/mod/wire.mod/wire.h --- eggdrop1.6.17/src/mod/wire.mod/wire.h 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/src/mod/wire.mod/wire.h 2006-03-27 21:35:52.000000000 -0500 @@ -1,10 +1,10 @@ /* * wire.h -- part of wire.mod * - * $Id: wire.h,v 1.10 2004/01/09 05:56:39 wcc Exp $ + * $Id: wire.h,v 1.12 2006-03-28 02:35:52 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/mod/woobie.mod/Makefile eggdrop1.6.18/src/mod/woobie.mod/Makefile --- eggdrop1.6.17/src/mod/woobie.mod/Makefile 2004-07-25 07:17:35.000000000 -0400 +++ eggdrop1.6.18/src/mod/woobie.mod/Makefile 2005-12-09 04:29:12.000000000 -0500 @@ -1,5 +1,5 @@ # Makefile for src/mod/woobie.mod/ -# $Id: Makefile,v 1.12 2004/07/25 11:17:35 wcc Exp $ +# $Id: Makefile,v 1.14 2005-12-09 09:29:12 wcc Exp $ srcdir = . @@ -24,7 +24,7 @@ $(STRIP) ../../../woobie.$(MOD_EXT) depend: - $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/woobie.c > .depend + $(CC) $(CFLAGS) -MM $(srcdir)/woobie.c -MT ../woobie.o > .depend clean: @rm -f .depend *.o *.$(MOD_EXT) *~ @@ -32,13 +32,13 @@ distclean: clean #safety hash -../woobie.o: .././woobie.mod/woobie.c ../../../src/mod/module.h \ - ../../../src/main.h ../../../src/lang.h ../../../src/eggdrop.h \ - ../../../src/flags.h ../../../src/proto.h ../../../lush.h \ - ../../../src/misc_file.h ../../../src/cmdt.h ../../../src/tclegg.h \ - ../../../src/tclhash.h ../../../src/chan.h ../../../src/users.h \ - ../../../src/compat/compat.h ../../../src/compat/inet_aton.h \ - ../../../src/compat/snprintf.h \ - ../../../src/compat/memset.h ../../../src/compat/memcpy.h \ - ../../../src/compat/strcasecmp.h ../../../src/mod/modvals.h \ - ../../../src/tandem.h +../woobie.o: ./woobie.c ../../../src/mod/module.h ../../../src/main.h \ + ../../../config.h ../../../lush.h ../../../src/lang.h \ + ../../../src/eggdrop.h ../../../src/flags.h ../../../src/cmdt.h \ + ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \ + ../../../src/users.h ../../../src/compat/compat.h \ + ../../../src/compat/inet_aton.h ../../../src/main.h \ + ../../../src/compat/snprintf.h ../../../src/compat/memset.h \ + ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \ + ../../../src/compat/strftime.h ../../../src/mod/modvals.h \ + ../../../src/tandem.h diff -urN eggdrop1.6.17/src/mod/woobie.mod/modinfo eggdrop1.6.18/src/mod/woobie.mod/modinfo --- eggdrop1.6.17/src/mod/woobie.mod/modinfo 2004-05-26 21:30:12.000000000 -0400 +++ eggdrop1.6.18/src/mod/woobie.mod/modinfo 2004-05-26 21:30:12.000000000 -0400 @@ -1,4 +1,4 @@ -# $Id: modinfo,v 1.3 2004/05/27 01:30:12 wcc Exp $ +# $Id: modinfo,v 1.3 2004-05-27 01:30:12 wcc Exp $ DESC:This module is for demonstrative purposes only. DESC: DESC:Only programmers interested in module programming might want to enable diff -urN eggdrop1.6.17/src/mod/woobie.mod/woobie.c eggdrop1.6.18/src/mod/woobie.mod/woobie.c --- eggdrop1.6.17/src/mod/woobie.mod/woobie.c 2004-06-13 21:14:08.000000000 -0400 +++ eggdrop1.6.18/src/mod/woobie.mod/woobie.c 2006-03-27 21:35:52.000000000 -0500 @@ -5,10 +5,10 @@ * Originally written by ButchBub 15 July 1997 * Comments by Fabian Knittel 29 December 1999 * - * $Id: woobie.c,v 1.23 2004/06/14 01:14:08 wcc Exp $ + * $Id: woobie.c,v 1.25 2006-03-28 02:35:52 wcc Exp $ */ /* - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/modules.c eggdrop1.6.18/src/modules.c --- eggdrop1.6.17/src/modules.c 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/modules.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * * by Darrin Smith (beldin@light.iinet.net.au) * - * $Id: modules.c,v 1.95 2004/07/25 11:17:34 wcc Exp $ + * $Id: modules.c,v 1.97 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/modules.h eggdrop1.6.18/src/modules.h --- eggdrop1.6.17/src/modules.h 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/modules.h 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * * by Darrin Smith (beldin@light.iinet.net.au) * - * $Id: modules.h,v 1.15 2004/07/25 11:17:34 wcc Exp $ + * $Id: modules.h,v 1.17 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/net.c eggdrop1.6.18/src/net.c --- eggdrop1.6.17/src/net.c 2004-07-05 17:42:39.000000000 -0400 +++ eggdrop1.6.18/src/net.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,29 @@ * net.c -- handles: * all raw network i/o * - * $Id: net.c,v 1.71 2004/07/05 21:42:39 wcc Exp $ + * $Id: net.c,v 1.78 2006-03-28 02:35:50 wcc Exp $ */ /* * This is hereby released into the public domain. * Robey Pointer, robey@netcom.com + * + * Changes after Feb 23, 1999 Copyright Eggheads Development Team + * + * Copyright (C) 1999 - 2006 Eggheads Development Team + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by 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. */ #include @@ -49,7 +67,7 @@ sock_list *socklist = NULL; /* Enough to be safe. */ int MAXSOCKS = 0; -jmp_buf alarmret; /* Env buffer for alarm() returns. */ +sigjmp_buf alarmret; /* Env buffer for alarm() returns. */ /* Types of proxies */ #define PROXY_SOCKS 1 @@ -130,7 +148,7 @@ strcpy(s, "Address already in use"); break; case EADDRNOTAVAIL: - strcpy(s, "Address invalid on remote machine"); + strcpy(s, "Cannot assign requested address"); break; case EAFNOSUPPORT: strcpy(s, "Address family not supported"); @@ -145,7 +163,7 @@ strcpy(s, "Connection refused"); break; case EFAULT: - strcpy(s, "Namespace segment violation"); + strcpy(s, "Bad address"); break; case EINPROGRESS: strcpy(s, "Operation in progress"); @@ -154,7 +172,7 @@ strcpy(s, "Timeout"); break; case EINVAL: - strcpy(s, "Invalid namespace"); + strcpy(s, "Invalid argument"); break; case EISCONN: strcpy(s, "Socket already connected"); @@ -163,7 +181,7 @@ strcpy(s, "Network unreachable"); break; case ENOTSOCK: - strcpy(s, "File descriptor, not a socket"); + strcpy(s, "Socket operation on non-socket"); break; case ETIMEDOUT: strcpy(s, "Connection timed out"); @@ -172,7 +190,7 @@ strcpy(s, "Socket is not connected"); break; case EHOSTUNREACH: - strcpy(s, "Host is unreachable"); + strcpy(s, "No route to host"); break; case EPIPE: strcpy(s, "Broken pipe"); @@ -323,7 +341,7 @@ egg_memcpy(x, &ip, 4); } else { /* no, must be host.domain */ - if (!setjmp(alarmret)) { + if (!sigsetjmp(alarmret, 1)) { alarm(resolve_timeout); hp = gethostbyname(host); alarm(0); @@ -385,8 +403,10 @@ name.sin_family = AF_INET; name.sin_addr.s_addr = (myip[0] ? getmyip() : INADDR_ANY); - if (bind(sock, (struct sockaddr *) &name, sizeof(name)) < 0) + if (bind(sock, (struct sockaddr *) &name, sizeof(name)) < 0) { + killsock(sock); return -1; + } egg_bzero((char *) &name, sizeof(struct sockaddr_in)); name.sin_family = AF_INET; @@ -397,7 +417,7 @@ else { /* No, must be host.domain */ debug0("WARNING: open_telnet_raw() is about to block in gethostbyname()!"); - if (!setjmp(alarmret)) { + if (!sigsetjmp(alarmret, 1)) { alarm(resolve_timeout); hp = gethostbyname(host); alarm(0); @@ -489,35 +509,6 @@ return open_address_listen(myip[0] ? getmyip() : INADDR_ANY, port); } -/* Given a network-style IP address, returns the hostname. The hostname - * will be in the "##.##.##.##" format if there was an error. - * - * NOTE: This function is depreciated. Try using the async dns approach - * instead. - */ -char *hostnamefromip(unsigned long ip) -{ - struct hostent *hp; - unsigned long addr = ip; - unsigned char *p; - static char s[UHOSTLEN]; - - if (!setjmp(alarmret)) { - alarm(resolve_timeout); - hp = gethostbyaddr((char *) &addr, sizeof(addr), AF_INET); - alarm(0); - } else { - hp = NULL; - } - if (hp == NULL) { - p = (unsigned char *) &addr; - sprintf(s, "%u.%u.%u.%u", p[0], p[1], p[2], p[3]); - return s; - } - strncpyz(s, hp->h_name, sizeof s); - return s; -} - /* Returns the given network byte order IP address in the * dotted format - "##.##.##.##" */ @@ -547,10 +538,7 @@ return -1; if (ip != NULL) { *ip = from.sin_addr.s_addr; - /* This is now done asynchronously. We now only provide the IP address. - * - * strncpy(caller, hostnamefromip(*ip), 120); - */ + /* DNS is now done asynchronously. We now only provide the IP address. */ strncpyz(caller, iptostr(*ip), 121); *ip = ntohl(*ip); } diff -urN eggdrop1.6.17/src/patch.h eggdrop1.6.18/src/patch.h --- eggdrop1.6.17/src/patch.h 2004-08-22 18:34:02.000000000 -0400 +++ eggdrop1.6.18/src/patch.h 2006-07-09 19:13:55.015625000 -0400 @@ -10,11 +10,11 @@ * statement, leave the rest of the file alone, this allows better * overlapping patches. * - * $Id: patch.h,v 1.1129 2004/08/12 06:49:58 wcc Exp $ + * $Id: patch.h,v 1.1182 2006-05-29 01:56:08 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/proto.h eggdrop1.6.18/src/proto.h --- eggdrop1.6.17/src/proto.h 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/proto.h 2006-07-09 18:00:18.000000000 -0400 @@ -7,11 +7,11 @@ * because they use structures in those * (saves including those .h files EVERY time) - Beldin * - * $Id: proto.h,v 1.63 2004/06/14 01:14:06 wcc Exp $ + * $Id: proto.h,v 1.70 2006-07-09 22:00:18 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -34,9 +34,7 @@ #include "lush.h" #include "misc_file.h" -#ifdef HAVE_DPRINTF -# define dprintf dprintf_eggdrop -#endif +#define dprintf dprintf_eggdrop struct chanset_t; /* keeps the compiler warnings down :) */ struct userrec; @@ -130,6 +128,9 @@ void dupwait_notify(char *); /* dccutil.c */ +int findidx(int); +int findanyidx(int); +char *add_cr(char *); void dprintf EGG_VARARGS(int, arg1); void chatout EGG_VARARGS(char *, arg1); extern void (*shareout) (); @@ -145,13 +146,14 @@ void set_away(int, char *); void *_get_data_ptr(int, char *, int); void dcc_remove_lost(void); +void do_boot(int, char *, char *); +int detect_dcc_flood(time_t *, struct chat_info *, int); #define get_data_ptr(x) _get_data_ptr(x,__FILE__,__LINE__) void flush_lines(int, struct chat_info *); struct dcc_t *find_idx(int); int new_dcc(struct dcc_table *, int); void del_dcc(int); -char *add_cr(char *); void changeover_dcc(int, struct dcc_table *, int); /* dns.c */ @@ -164,11 +166,6 @@ void dcc_dnshostbyip(IP); void dcc_dnsipbyhost(char *); -/* gotdcc.c */ -void gotdcc(char *, char *, struct userrec *, char *); -void do_boot(int, char *, char *); -int detect_dcc_flood(time_t *, struct chat_info *, int); - /* language.c */ char *get_language(int); int cmd_loadlanguage(struct userrec *, int, char *); @@ -206,7 +203,6 @@ void putlog EGG_VARARGS(int, arg1); void flushlogs(); void check_logsize(); -char *stristr(char *, char *); void splitc(char *, char *, char); void splitcn(char *, char *, char, size_t); void remove_crlf(char **); @@ -252,7 +248,6 @@ void setsock(int, int); int allocsock(int, int); int getsock(int); -char *hostnamefromip(unsigned long); void killsock(int); int answer(int, char *, unsigned long *, unsigned short *, int); inline int open_listen(int *); @@ -276,8 +271,6 @@ void unprotect_tcl(); void do_tcl(char *, char *); int readtclprog(char *fname); -int findidx(int); -int findanyidx(int); /* userent.c */ void list_type_kill(struct list_type *); diff -urN eggdrop1.6.17/src/rfc1459.c eggdrop1.6.18/src/rfc1459.c --- eggdrop1.6.17/src/rfc1459.c 2004-04-06 02:56:38.000000000 -0400 +++ eggdrop1.6.18/src/rfc1459.c 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * rfc1459.c * - * $Id: rfc1459.c,v 1.10 2004/04/06 06:56:38 wcc Exp $ + * $Id: rfc1459.c,v 1.12 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1990 Jarkko Oikarinen - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This code was more or less cloned from the ircd-hybrid 5.3 source. * The original code was written by Otto Harkoonen and even though it diff -urN eggdrop1.6.17/src/stat.h eggdrop1.6.18/src/stat.h --- eggdrop1.6.17/src/stat.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/stat.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,10 +2,10 @@ * stat.h * file attributes * - * $Id: stat.h,v 1.7 2004/01/09 05:56:37 wcc Exp $ + * $Id: stat.h,v 1.9 2006-03-28 02:35:50 wcc Exp $ */ /* - * Copyright (C) 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/tandem.h eggdrop1.6.18/src/tandem.h --- eggdrop1.6.17/src/tandem.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/tandem.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * tandem.h * - * $Id: tandem.h,v 1.13 2004/01/09 05:56:37 wcc Exp $ + * $Id: tandem.h,v 1.15 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/tcl.c eggdrop1.6.18/src/tcl.c --- eggdrop1.6.17/src/tcl.c 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/tcl.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * Tcl initialization * getting and setting Tcl/eggdrop variables * - * $Id: tcl.c,v 1.81 2004/07/25 11:17:34 wcc Exp $ + * $Id: tcl.c,v 1.86 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -51,7 +51,7 @@ egg_version[], natip[], configfile[], logfile_suffix[], textdir[], pid_file[]; -extern int backgrd, flood_telnet_thr, flood_telnet_time, shtime, share_greet, +extern int flood_telnet_thr, flood_telnet_time, shtime, share_greet, require_p, keep_all_logs, allow_new_telnets, stealth_telnets, use_telnet_banner, default_flags, conmask, switch_logfiles_at, connect_timeout, firewallport, notify_users_at, flood_thr, tands, @@ -100,16 +100,6 @@ return strtot + utftot + clientdata_stuff; } -int findidx(int z) -{ - int j; - - for (j = 0; j < dcc_total; j++) - if ((dcc[j].sock == z) && (dcc[j].type->flags & DCT_VALIDIDX)) - return j; - return -1; -} - static void botnet_change(char *new) { if (egg_strcasecmp(botnetnick, new)) { @@ -140,6 +130,10 @@ int *right; /* right side */ } coupletinfo; +/* FIXME: tcl_eggcouplet() should be redesigned so we can use + * TCL_TRACE_WRITES | TCL_TRACE_READS as the bit mask instead + * of 2 calls as is done in add_tcl_coups(). + */ /* Read/write integer couplets (int1:int2) */ static char *tcl_eggcouplet(ClientData cdata, Tcl_Interp *irp, EGG_CONST char *name1, @@ -329,7 +323,6 @@ */ #ifdef USE_TCL_BYTE_ARRAYS - static int utf_converter(ClientData cdata, Tcl_Interp *myinterp, int objc, Tcl_Obj *CONST objv[]) { @@ -369,7 +362,9 @@ nfree(cdata); clientdata_stuff -= sizeof(void *) * 2; } +#endif /* USE_TCL_BYTE_ARRAYS */ +#ifdef USE_TCL_BYTE_ARRAYS void add_tcl_commands(tcl_cmds *table) { void **cdata; @@ -385,6 +380,18 @@ } } +#else /* USE_TCL_BYTE_ARRAYS */ + +void add_tcl_commands(tcl_cmds *table) +{ + int i; + + for (i = 0; table[i].name; i++) + Tcl_CreateCommand(interp, table[i].name, table[i].func, NULL, NULL); +} +#endif /* USE_TCL_BYTE_ARRAYS */ + +#ifdef USE_TCL_BYTE_ARRAYS void add_cd_tcl_cmds(cd_tcl_cmd *table) { void **cdata; @@ -402,14 +409,6 @@ #else /* USE_TCL_BYTE_ARRAYS */ -void add_tcl_commands(tcl_cmds *table) -{ - int i; - - for (i = 0; table[i].name; i++) - Tcl_CreateCommand(interp, table[i].name, table[i].func, NULL, NULL); -} - void add_cd_tcl_cmds(cd_tcl_cmd *table) { while (table->name) { @@ -418,7 +417,6 @@ table++; } } - #endif /* USE_TCL_BYTE_ARRAYS */ void rem_tcl_commands(tcl_cmds *table) @@ -437,16 +435,16 @@ } } +#ifdef USE_TCL_OBJ void add_tcl_objcommands(tcl_cmds *table) { -#ifdef USE_TCL_OBJ int i; for (i = 0; table[i].name; i++) Tcl_CreateObjCommand(interp, table[i].name, table[i].func, (ClientData) 0, NULL); -#endif /* USE_TCL_OBJ */ } +#endif static tcl_strings def_tcl_strings[] = { {"botnet-nick", botnetnick, HANDLEN, 0}, @@ -687,7 +685,9 @@ add_tcl_commands(tcluser_cmds); add_tcl_commands(tcldcc_cmds); add_tcl_commands(tclmisc_cmds); +#ifdef USE_TCL_OBJ add_tcl_objcommands(tclmisc_objcmds); +#endif add_tcl_commands(tcldns_cmds); } @@ -695,7 +695,6 @@ { int code; char *result; - #ifdef USE_TCL_ENCODING Tcl_DString dstr; #endif diff -urN eggdrop1.6.17/src/tcldcc.c eggdrop1.6.18/src/tcldcc.c --- eggdrop1.6.17/src/tcldcc.c 2004-08-12 02:49:58.000000000 -0400 +++ eggdrop1.6.18/src/tcldcc.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * tcldcc.c -- handles: * Tcl stubs for the dcc commands * - * $Id: tcldcc.c,v 1.55 2004/08/12 06:49:58 wcc Exp $ + * $Id: tcldcc.c,v 1.57 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/tclegg.h eggdrop1.6.18/src/tclegg.h --- eggdrop1.6.17/src/tclegg.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/tclegg.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * tclegg.h * stuff used by tcl.c and tclhash.c * - * $Id: tclegg.h,v 1.24 2004/01/09 05:56:37 wcc Exp $ + * $Id: tclegg.h,v 1.30 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -26,38 +26,76 @@ #ifndef _EGG_TCLEGG_H #define _EGG_TCLEGG_H -#include "lush.h" /* Include this here, since it's needed in this file */ +#include "lush.h" #ifndef MAKING_MODS -# include "proto.h" /* This file needs this */ +# include "proto.h" #endif -/* Match types for check_tcl_bind + +/* + * Wow, this is old...CMD_LEAVE goes back to before version 0.9. + * This is for partyline and filesys 'quit'. */ -#define MATCH_PARTIAL 0 -#define MATCH_EXACT 1 -#define MATCH_MASK 2 -#define MATCH_CASE 3 +#define CMD_LEAVE (Function)(-1) + -/* Bitwise 'or' these: +/* Match types for check_tcl_bind(). */ +#define MATCH_PARTIAL 0 +#define MATCH_EXACT 1 +#define MATCH_MASK 2 +#define MATCH_CASE 3 + +/* + * Bitwise 'or' these: */ + +/* Check flags; make sure the user has the flags required. */ #define BIND_USE_ATTR 0x04 + +/* Bind is stackable; more than one bind can have the same name. */ #define BIND_STACKABLE 0x08 + +/* Additional flag checking; check for +d, +k, etc. + * Currently used for dcc, fil, msg, and pub bind types. + * Note that this just causes the flag checking to use flagrec_ok() + * instead of flagrec_eq(). + */ +/* FIXME: Should this really be used for the dcc and fil types since + * they are only available to the partyline/filesys (+p/+x)? + * Eggdrop's revenge code does not add default flags when + * adding a user record for +d or +k flags. + */ +/* FIXME: This type actually seems to be obsolete. This was originally + * used to check built-in types in Eggdrop version 1.0. + */ #define BIND_HAS_BUILTINS 0x10 + +/* Want return; we want to know if the proc returns 1. + * Side effect: immediate return; don't do any further + * processing of stacked binds. + */ #define BIND_WANTRET 0x20 + +/* Alternate args; replace args with the return result from the Tcl proc. */ #define BIND_ALTER_ARGS 0x40 -/* Return values +/* Stacked return; we want to know if any proc returns 1, + * and also want to process all stacked binds. */ +#define BIND_STACKRET 0x80 + + +/* Return values. */ #define BIND_NOMATCH 0 #define BIND_AMBIGUOUS 1 #define BIND_MATCHED 2 /* But the proc couldn't be found */ #define BIND_EXECUTED 3 #define BIND_EXEC_LOG 4 /* Proc returned 1 -> wants to be logged */ -#define BIND_EXEC_BRK 5 /* Proc returned BREAK (quit) */ +#define BIND_QUIT 5 /* CMD_LEAVE 'quit' from partyline or filesys */ /* Extra commands are stored in Tcl hash tables (one hash table for each type - * of command: msg, dcc, etc) + * of command: msg, dcc, etc). */ typedef struct timer_str { struct timer_str *next; @@ -67,14 +105,13 @@ } tcl_timer_t; -/* Used for stub functions: - */ - +/* Used for Tcl stub functions */ #define STDVAR (cd, irp, argc, argv) \ ClientData cd; \ Tcl_Interp *irp; \ int argc; \ char *argv[]; + #define BADARGS(nl, nh, example) do { \ if ((argc < (nl)) || (argc > (nh))) { \ Tcl_AppendResult(irp, "wrong # args: should be \"", \ @@ -83,6 +120,14 @@ } \ } while (0) +#define CHECKVALIDITY(a) do { \ + if (!check_validity(argv[0], (a))) { \ + Tcl_AppendResult(irp, "bad builtin command call!", \ + NULL); \ + return TCL_ERROR; \ + } \ +} while (0) + unsigned long add_timer(tcl_timer_t **, int, char *, unsigned long); int remove_timer(tcl_timer_t **, unsigned long); void list_timers(Tcl_Interp *, tcl_timer_t *); diff -urN eggdrop1.6.17/src/tclhash.c eggdrop1.6.18/src/tclhash.c --- eggdrop1.6.17/src/tclhash.c 2004-06-13 21:14:06.000000000 -0400 +++ eggdrop1.6.18/src/tclhash.c 2006-03-27 21:35:50.000000000 -0500 @@ -7,11 +7,11 @@ * (non-Tcl) procedure lookups for msg/dcc/file commands * (Tcl) binding internal procedures to msg/dcc/file commands * - * $Id: tclhash.c,v 1.49 2004/06/14 01:14:06 wcc Exp $ + * $Id: tclhash.c,v 1.59 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -595,16 +595,6 @@ return TCL_OK; } -int findanyidx(register int z) -{ - register int j; - - for (j = 0; j < dcc_total; j++) - if (dcc[j].sock == z) - return j; - return -1; -} - static int builtin_charidx STDVAR { Function F = (Function) cd; @@ -643,183 +633,248 @@ BADARGS(4, 4, " hand idx param"); + CHECKVALIDITY(builtin_dcc); idx = findidx(atoi(argv[2])); if (idx < 0) { Tcl_AppendResult(irp, "invalid idx", NULL); return TCL_ERROR; } - if (F == NULL) { + + /* FIXME: This is an ugly hack. It is not documented as a + * 'feature' because it will eventually go away. + */ + if (F == CMD_LEAVE) { Tcl_AppendResult(irp, "break", NULL); return TCL_OK; } + /* Check if it's a password change, if so, don't show the password. We * don't need pretty formats here, as it's only for debugging purposes. */ debug4("tcl: builtin dcc call: %s %s %s %s", argv[0], argv[1], argv[2], (!strcmp(argv[0] + 5, "newpass") || !strcmp(argv[0] + 5, "chpass")) ? "[something]" : argv[3]); - (F) (dcc[idx].user, idx, argv[3]); + F(dcc[idx].user, idx, argv[3]); Tcl_ResetResult(irp); Tcl_AppendResult(irp, "0", NULL); return TCL_OK; } -/* trigger (execute) a proc */ -static int trigger_bind(const char *proc, const char *param) + +/* Trigger (execute) a Tcl proc + * + * Note: This is INLINE code for check_tcl_bind(). + */ +static inline int trigger_bind(const char *proc, const char *param, + char *mask) { int x; +#ifdef DEBUG_CONTEXT + const char *msg = "Tcl proc: %s, param: %s"; + char *buf; /* We now try to debug the Tcl_VarEval() call below by remembering both * the called proc name and it's parameters. This should render us a bit * less helpless when we see context dumps. */ - { - const char *msg = "Tcl proc: %s, param: %s"; - char *buf; - - Context; - buf = nmalloc(strlen(msg) + (proc ? strlen(proc) : 6) - + (param ? strlen(param) : 6) + 1); - sprintf(buf, msg, proc ? proc : "", param ? param : ""); - ContextNote(buf); - nfree(buf); - } + Context; + buf = nmalloc(strlen(msg) + (proc ? strlen(proc) : 6) + + (param ? strlen(param) : 6) + 1); + sprintf(buf, msg, proc ? proc : "", param ? param : ""); + ContextNote(buf); + nfree(buf); +#endif /* DEBUG_CONTEXT */ + + /* Set the lastbind variable before evaluating the proc so that the name + * of the command that triggered the bind will be available to the proc. + * This feature is used by scripts such as userinfo.tcl + */ + Tcl_SetVar(interp, "lastbind", (char *) mask, TCL_GLOBAL_ONLY); + x = Tcl_VarEval(interp, proc, param, NULL); Context; + if (x == TCL_ERROR) { + /* FIXME: we really should be able to log longer errors */ if (strlen(interp->result) > 400) interp->result[400] = 0; + putlog(LOG_MISC, "*", "Tcl error [%s]: %s", proc, interp->result); + return BIND_EXECUTED; - } else { - if (!strcmp(interp->result, "break")) - return BIND_EXEC_BRK; - return (atoi(interp->result) > 0) ? BIND_EXEC_LOG : BIND_EXECUTED; } + + /* FIXME: This is an ugly hack. It is not documented as a + * 'feature' because it will eventually go away. + */ + if (!strcmp(interp->result, "break")) + return BIND_QUIT; + + return (atoi(interp->result) > 0) ? BIND_EXEC_LOG : BIND_EXECUTED; +} + + +/* Find out whether this bind matches the mask or provides the + * requested attributes, depending on the specified requirements. + * + * Note: This is INLINE code for check_tcl_bind(). + */ +static inline int check_bind_match(const char *match, char *mask, + int match_type) +{ + switch (match_type & 0x03) { + case MATCH_PARTIAL: + return (!egg_strncasecmp(match, mask, strlen(match))); + break; + case MATCH_EXACT: + return (!egg_strcasecmp(match, mask)); + break; + case MATCH_CASE: + return (!strcmp(match, mask)); + break; + case MATCH_MASK: + return (wild_match_per(mask, match)); + break; + default: + /* Do nothing */ + break; + } + return 0; } + +/* Check if the provided flags suffice for this command/trigger. + * + * Note: This is INLINE code for check_tcl_bind(). + */ +static inline int check_bind_flags(struct flag_record *flags, + struct flag_record *atr, int match_type) +{ + if (match_type & BIND_USE_ATTR) { + if (match_type & BIND_HAS_BUILTINS) + return (flagrec_ok(flags, atr)); + else + return (flagrec_eq(flags, atr)); + } else + return 1; + return 0; +} + + +/* Check for and process Tcl binds */ int check_tcl_bind(tcl_bind_list_t *tl, const char *match, struct flag_record *atr, const char *param, int match_type) { + int x, result = 0, cnt = 0, finish = 0; + char *proc = NULL, *mask = NULL; tcl_bind_mask_t *tm, *tm_last = NULL, *tm_p = NULL; - int cnt = 0; - char *proc = NULL, *fullmatch = NULL; tcl_cmd_t *tc, *htc = NULL; - int finish = 0, atrok, x, ok; for (tm = tl->first; tm && !finish; tm_last = tm, tm = tm->next) { + if (tm->flags & TBM_DELETED) - continue; - /* Find out whether this bind matches the mask or provides - * the the requested atcributes, depending on the specified - * requirements. */ - switch (match_type & 0x03) { - case MATCH_PARTIAL: - ok = !egg_strncasecmp(match, tm->mask, strlen(match)); - break; - case MATCH_EXACT: - ok = !egg_strcasecmp(match, tm->mask); - break; - case MATCH_CASE: - ok = !strcmp(match, tm->mask); - break; - case MATCH_MASK: - ok = wild_match_per(tm->mask, match); - break; - default: - ok = 0; - } - if (!ok) + continue; /* This bind mask was deleted */ + + if (!check_bind_match(match, tm->mask, match_type)) continue; /* This bind does not match. */ - if (match_type & BIND_STACKABLE) { - /* Could be multiple commands/triggers. */ - for (tc = tm->first; tc; tc = tc->next) { - if (match_type & BIND_USE_ATTR) { - /* Check whether the provided flags suffice for - * this command/trigger. */ - if (match_type & BIND_HAS_BUILTINS) - atrok = flagrec_ok(&tc->flags, atr); - else - atrok = flagrec_eq(&tc->flags, atr); - } else - atrok = 1; + for (tc = tm->first; tc; tc = tc->next) { + + /* Search for valid entry. */ + if (!(tc->attributes & TC_DELETED)) { - if (atrok) { + /* Check if the provided flags suffice for this command. */ + if (check_bind_flags(&tc->flags, atr, match_type)) { cnt++; - tc->hits++; tm_p = tm_last; - Tcl_SetVar(interp, "lastbind", (char *) tm->mask, TCL_GLOBAL_ONLY); - x = trigger_bind(tc->func_name, param); + + /* Not stackable */ + if (!(match_type & BIND_STACKABLE)) { + + /* Remember information about this bind. */ + proc = tc->func_name; + mask = tm->mask; + htc = tc; + + /* Either this is a non-partial match, which means we + * only want to execute _one_ bind ... + */ + if ((match_type & 0x03) != MATCH_PARTIAL || + /* ... or this happens to be an exact match. */ + !egg_strcasecmp(match, tm->mask)) { + cnt = 1; + finish = 1; + } + + /* We found a match so break out of the inner loop. */ + break; + } + + /* + * Stackable; could be multiple commands/triggers. + * Note: This code assumes BIND_ALTER_ARGS, BIND_WANTRET, and + * BIND_STACKRET will only be used for stackable binds. + */ + + /* We will only return if BIND_ALTER_ARGS or BIND_WANTRET was + * specified because we want to trigger all binds in a stack. + */ + + tc->hits++; + x = trigger_bind(tc->func_name, param, tm->mask); + if (match_type & BIND_ALTER_ARGS) { if (interp->result == NULL || !interp->result[0]) return x; + } else if ((match_type & BIND_STACKRET) && x == BIND_EXEC_LOG) { + /* If we have multiple commands/triggers, and if any of the + * commands return 1, we store the result so we can return it + * after processing all stacked binds. + */ + if (!result) + result = x; + continue; } else if ((match_type & BIND_WANTRET) && x == BIND_EXEC_LOG) + /* Return immediately if any commands return 1 */ return x; } } - - /* If it's stackable search for more binds. */ - if (!(match_type & BIND_STACKABLE)) - finish = 1; - } else { - /* Search for valid entry. */ - for (tc = tm->first; tc; tc = tc->next) - if (!(tc->attributes & TC_DELETED)) - break; - if (tc) { - /* Check if the provided flags suffice for this command/trigger. */ - if (match_type & BIND_USE_ATTR) { - if (match_type & BIND_HAS_BUILTINS) - atrok = flagrec_ok(&tc->flags, atr); - else - atrok = flagrec_eq(&tc->flags, atr); - } else - atrok = 1; - - if (atrok) { - cnt++; - /* Remember information about this bind and its only - * command/trigger. */ - proc = tc->func_name; - fullmatch = tm->mask; - htc = tc; - tm_p = tm_last; - - /* Either this is a non-partial match, which means we - * only want to execute _one_ bind ... */ - if ((match_type & 3) != MATCH_PARTIAL || - /* ... or this is happens to be an exact match. */ - !egg_strcasecmp(match, tm->mask)) - cnt = finish = 1; - } - } } } if (!cnt) return BIND_NOMATCH; + + /* Do this before updating the preferred entries information, + * since we don't want to change the order of stacked binds + */ + if (result) /* BIND_STACKRET */ + return result; + if ((match_type & 0x03) == MATCH_MASK || (match_type & 0x03) == MATCH_CASE) return BIND_EXECUTED; - /* Now that we have found at least one bind, we can update the - * preferred entries information. */ + /* Hit counter */ if (htc) htc->hits++; + + /* Now that we have found at least one bind, we can update the + * preferred entries information. + */ if (tm_p) { - /* Move mask to front of bind's mask list. */ - tm = tm_p->next; - tm_p->next = tm->next; /* Unlink mask from list. */ + tm = tm_p->next; /* Move mask to front of bind's mask list. */ + tm_p->next = tm->next; /* Unlink mask from list. */ tm->next = tl->first; /* Readd mask to front of list. */ tl->first = tm; } if (cnt > 1) return BIND_AMBIGUOUS; - Tcl_SetVar(interp, "lastbind", (char *) fullmatch, TCL_GLOBAL_ONLY); - return trigger_bind(proc, param); + + return trigger_bind(proc, param, mask); } + /* Check for tcl-bound dcc command, return 1 if found * dcc: proc-name */ @@ -844,8 +899,11 @@ dprintf(idx, MISC_NOSUCHCMD); return 0; } - if (x == BIND_EXEC_BRK) - return 1; /* quit */ + + /* We return 1 to leave the partyline */ + if (x == BIND_QUIT) /* CMD_LEAVE, 'quit' */ + return 1; + if (x == BIND_EXEC_LOG) putlog(LOG_CMDS, "*", "#%s# %s %s", dcc[idx].nick, cmd, args); return 0; @@ -945,8 +1003,11 @@ Tcl_SetVar(interp, "_note1", (char *) from, 0); Tcl_SetVar(interp, "_note2", (char *) to, 0); Tcl_SetVar(interp, "_note3", (char *) text, 0); - x = check_tcl_bind(H_note, to, 0, " $_note1 $_note2 $_note3", MATCH_EXACT); - return (x == BIND_MATCHED || x == BIND_EXECUTED || x == BIND_EXEC_LOG); + + x = check_tcl_bind(H_note, to, 0, " $_note1 $_note2 $_note3", + MATCH_MASK | BIND_STACKABLE | BIND_WANTRET); + + return (x == BIND_EXEC_LOG); } void check_tcl_listen(const char *cmd, int idx) diff -urN eggdrop1.6.17/src/tclhash.h eggdrop1.6.18/src/tclhash.h --- eggdrop1.6.17/src/tclhash.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/tclhash.h 2006-03-27 21:35:50.000000000 -0500 @@ -1,11 +1,11 @@ /* * tclhash.h * - * $Id: tclhash.h,v 1.14 2004/01/09 05:56:37 wcc Exp $ + * $Id: tclhash.h,v 1.17 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,6 +33,7 @@ struct flag_record flags; char *func_name; /* Proc name. */ + /* FIXME: 'hits' could overflow if a bind is triggered enough. */ int hits; /* Number of times this proc was triggered. */ u_8bit_t attributes; /* Flags for this entry. TC_* */ } tcl_cmd_t; @@ -45,7 +46,7 @@ tcl_cmd_t *first; /* List of commands registered for this bind. */ char *mask; - u_8bit_t flags; /* Flags for this entry. TBM_* */ + u_8bit_t flags; /* Flags for this entry. TBM_* */ } tcl_bind_mask_t; @@ -56,9 +57,8 @@ typedef struct tcl_bind_list_b { struct tcl_bind_list_b *next; - tcl_bind_mask_t *first; /* Pointer to registered binds - * for this list. */ - char name[5]; /* Name of the bind. */ + tcl_bind_mask_t *first; /* Pointer to registered binds for this list. */ + char name[5]; /* Name of the bind. */ u_8bit_t flags; /* Flags for this element. HT_* */ Function func; /* Function used as the Tcl calling interface * for procs actually representing C functions. */ @@ -116,15 +116,6 @@ extern p_tcl_bind_list H_load, H_unld, H_dcc, H_bot, H_link; extern p_tcl_bind_list H_away, H_nkch, H_filt, H_disc, H_event; -#endif - - -#define CHECKVALIDITY(a) do { \ - if (!check_validity(argv[0], (a))) { \ - Tcl_AppendResult(irp, "bad builtin command call!", \ - NULL); \ - return TCL_ERROR; \ - } \ -} while (0) +#endif /* MAKING_MODS */ #endif /* _EGG_TCLHASH_H */ diff -urN eggdrop1.6.17/src/tclmisc.c eggdrop1.6.18/src/tclmisc.c --- eggdrop1.6.17/src/tclmisc.c 2004-08-02 14:50:47.000000000 -0400 +++ eggdrop1.6.18/src/tclmisc.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * tclmisc.c -- handles: * Tcl stubs for everything else * - * $Id: tclmisc.c,v 1.54 2004/08/02 18:50:47 wcc Exp $ + * $Id: tclmisc.c,v 1.57 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -48,7 +48,7 @@ extern p_tcl_bind_list bind_table_list; extern tcl_timer_t *timer, *utimer; extern struct dcc_t *dcc; -extern char origbotname[], botnetnick[], quit_msg[]; +extern char botnetnick[], quit_msg[]; extern struct userrec *userlist; extern time_t now; extern module_entry *module_list; diff -urN eggdrop1.6.17/src/tcluser.c eggdrop1.6.18/src/tcluser.c --- eggdrop1.6.17/src/tcluser.c 2004-04-06 02:56:38.000000000 -0400 +++ eggdrop1.6.18/src/tcluser.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * tcluser.c -- handles: * Tcl stubs for the user-record-oriented commands * - * $Id: tcluser.c,v 1.38 2004/04/06 06:56:38 wcc Exp $ + * $Id: tcluser.c,v 1.41 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,7 +33,7 @@ extern struct userrec *userlist; extern int default_flags, dcc_total, ignore_time; extern struct dcc_t *dcc; -extern char origbotname[], botnetnick[]; +extern char botnetnick[]; extern time_t now; diff -urN eggdrop1.6.17/src/userent.c eggdrop1.6.18/src/userent.c --- eggdrop1.6.17/src/userent.c 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/userent.c 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * userent.c -- handles: * user-entry handling, new stylem more versatile. * - * $Id: userent.c,v 1.31 2004/01/09 05:56:37 wcc Exp $ + * $Id: userent.c,v 1.33 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/userrec.c eggdrop1.6.18/src/userrec.c --- eggdrop1.6.17/src/userrec.c 2004-07-02 17:02:02.000000000 -0400 +++ eggdrop1.6.18/src/userrec.c 2006-03-27 21:35:50.000000000 -0500 @@ -4,11 +4,11 @@ * a bunch of functions to find and change user records * change and check user (and channel-specific) flags * - * $Id: userrec.c,v 1.52 2004/07/02 21:02:02 wcc Exp $ + * $Id: userrec.c,v 1.54 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/src/users.c eggdrop1.6.18/src/users.c --- eggdrop1.6.17/src/users.c 2004-07-25 07:17:34.000000000 -0400 +++ eggdrop1.6.18/src/users.c 2006-03-27 21:35:50.000000000 -0500 @@ -10,11 +10,11 @@ * * dprintf'ized, 9nov1995 * - * $Id: users.c,v 1.46 2004/07/25 11:17:34 wcc Exp $ + * $Id: users.c,v 1.49 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -577,10 +577,10 @@ user.match = pls.match = FR_GLOBAL | FR_BOT | FR_CHAN; break_down_flags(mtch, &pls, &mns); mns.match = pls.match ^ (FR_AND | FR_OR); - if (!mns.global &&!mns.udef_global && !mns.chan && !mns.udef_chan && + if (!mns.global && !mns.udef_global && !mns.chan && !mns.udef_chan && !mns.bot) { nomns = 1; - if (!pls.global &&!pls.udef_global && !pls.chan && !pls.udef_chan && + if (!pls.global && !pls.udef_global && !pls.chan && !pls.udef_chan && !pls.bot) { /* happy now BB you weenie :P */ dprintf(idx, "Unknown flag specified for matching!!\n"); diff -urN eggdrop1.6.17/src/users.h eggdrop1.6.18/src/users.h --- eggdrop1.6.17/src/users.h 2004-01-09 00:56:37.000000000 -0500 +++ eggdrop1.6.18/src/users.h 2006-03-27 21:35:50.000000000 -0500 @@ -2,11 +2,11 @@ * users.h * structures and definitions used by users.c and userrec.c * - * $Id: users.h,v 1.14 2004/01/09 05:56:37 wcc Exp $ + * $Id: users.h,v 1.16 2006-03-28 02:35:50 wcc Exp $ */ /* * Copyright (C) 1997 Robey Pointer - * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + * Copyright (C) 1999 - 2006 Eggheads Development Team * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -urN eggdrop1.6.17/text/CONTENTS eggdrop1.6.18/text/CONTENTS --- eggdrop1.6.17/text/CONTENTS 2004-07-24 23:57:00.000000000 -0400 +++ eggdrop1.6.18/text/CONTENTS 2006-03-27 21:35:52.000000000 -0500 @@ -1,4 +1,4 @@ -$Id: CONTENTS,v 1.8 2004/07/25 03:57:00 wcc Exp $ +$Id: CONTENTS,v 1.10 2006-03-28 02:35:52 wcc Exp $ Directory Contents - text/ Last revised: December 02, 2003 @@ -17,4 +17,4 @@ _____________________________________________________________________ - Copyright (C) 2003, 2004 Eggheads Development Team + Copyright (C) 2003 - 2006 Eggheads Development Team diff -urN eggdrop1.6.17/text/banner eggdrop1.6.18/text/banner --- eggdrop1.6.17/text/banner 2004-01-09 00:56:39.000000000 -0500 +++ eggdrop1.6.18/text/banner 2006-03-27 21:35:52.000000000 -0500 @@ -5,4 +5,4 @@ |___/ |___/ |_| Copyright (C) 1997 Robey Pointer - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team + Copyright (C) 1999 - 2006 Eggheads Development Team