eggdrop1.6.21/0000775000076600007660000000000011651664674012555 5ustar simplesimpleeggdrop1.6.21/CONTENTS0000664000076600007660000000336211525764164013734 0ustar simplesimple$Id: CONTENTS,v 1.24 2011/02/13 14:19:32 simple Exp $ Directory Contents - / Last revised: April 16, 2003 _____________________________________________________________________ Directory Contents - / doc/ Lots of IMPORTANT DOCUMENTATION that you MUST READ is in this directory. help/ All of the bot's help files are stored here. language/ All of the bot's language files are stored here. logs/ This is a good place for eggdrop to store log files. misc/ These are misc. source/script files. scripts/ Tcl scripts included with Eggdrop are contained in this directory. src/ This is the Eggdrop source. text/ This contains the motd and banner files. aclocal.m4 config.h.in configure configure.ac These are scripts for automatic configure of the bot. AUTHORS Contains a list of Eggdrop developers and major contributors. ChangeLog Contains CVS commit logs from each change made to Eggdrop in CVS. COPYING Eggdrop legal information is contained in this file. disabled_modules Any module listed in this file will not be compiled by default. eggdrop.conf This is a sample configuration file for your bot. FEATURES This tells you what Eggdrop can do -- a kind of advertisement. INSTALL Information on installing your Eggdrop. Makefile.in This helps with the automated compiling of the bot. NEWS This lists significant differences with previous versions. README You should read this file before even trying to compile Eggdrop. THANKS Contains a full list of Eggdrop contributors. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/text/0000775000076600007660000000000011651664652013535 5ustar simplesimpleeggdrop1.6.21/text/CONTENTS0000664000076600007660000000112511525764166014715 0ustar simplesimple$Id: CONTENTS,v 1.14 2011/02/13 14:19:34 simple Exp $ Directory Contents - text/ Last revised: December 02, 2003 _____________________________________________________________________ Directory Contents - text/ banner The contents of this file are displayed before logging in whenever a user telnets to the bot. motd The text of this file is displayed anytime a user successfully logs in and joins the party line. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/text/banner0000664000076600007660000000042211525764166014724 0ustar simplesimple ___ _ | __| __ _ __ _ __| | _ _ ___ _ __ | _| / _` |/ _` |/ _` || '_|/ _ \| '_ \ |___|\__, |\__, |\__,_||_| \___/| .__/ |___/ |___/ |_| Copyright (C) 1997 Robey Pointer Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/text/motd.finnish0000664000076600007660000000161310072155416016046 0ustar simplesimpleYhdistetty %B, pyörii %Vlla ____ __ / __/___ _ ___ _ ___/ /____ ___ ___ / _/ / _ `// _ `// _ // __// _ \ / _ \ /___/ \_, / \_, / \_,_//_/ \___// .__/ /___/ /___/ /_/ Hei %b%N!%b Minun nimeni on %b%B%b ja minä toimin %b%V%b, %b%U%blla. Paikallisaika on nyt %b%T%b %{+n} Olet tämän botin omistaja. Vain +n käyttäjät voivat nähdä tämän! Lisää tietoa, saat komennolla %b.help set motd%b. Editoi %bmotd%b tiedosto botillesi 'text' kansiosta. %{-} Käytä komentoa %b.help%b saadaksesi perus apua. Käytä komentoa %b.help %b saadaksesi apua eikoisempiin komentoihin. Käytä komentoa %b.help all%b saadaksesi täydellisen listan komennoista. Käytä komentoa %b.help *jokinsana*%b listataksesi kaikki komennot aiheesta "jokinsana". Pidä hauskaa. Komennot alkavat merkillä piste '.' (kuten '.quit' or '.help') Kaikki muut menevät pois party linjalta. eggdrop1.6.21/text/motd0000664000076600007660000000144007435105617014416 0ustar simplesimpleConnected to %B, running %V ____ __ / __/___ _ ___ _ ___/ /____ ___ ___ / _/ / _ `// _ `// _ // __// _ \ / _ \ /___/ \_, / \_, / \_,_//_/ \___// .__/ /___/ /___/ /_/ Hey %b%N!%b My name is %b%B%b and I am running %b%V%b, on %b%U%b. Local time is now %b%T%b %{+n} You are an owner of this bot. Only +n users can see this! For more info, see %b.help set motd%b. Please edit the %bmotd%b file in your bot's 'text' directory. %{-} Use %b.help%b for basic help. Use %b.help %b for help on a specific command. Use %b.help all%b to get a full command list. Use %b.help *somestring*%b to list any help texts containing "somestring". Have fun. Commands start with '.' (like '.quit' or '.help') Everything else goes out to the party line. eggdrop1.6.21/COPYING0000664000076600007660000004327310411705331013574 0ustar simplesimple 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 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this 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 themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent 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 void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. 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 may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. 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 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 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 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 free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy 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 Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. eggdrop1.6.21/Makefile0000664000076600007660000000025711651664674014221 0ustar simplesimpleall: @echo "" @echo "Before you can compile your bot you have to configure it." @echo "Please start the configure script now:" @echo "" @echo " % ./configure" @echo "" eggdrop1.6.21/Makefile.in0000664000076600007660000003150611347224507014614 0ustar simplesimple# # This is the Makefile for EGGDROP (the IRC bot) # You should never need to edit this. # # $Id: Makefile.in,v 1.43 2010/03/14 18:21:59 pseudo Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ @SET_MAKE@ prefix = @prefix@ DEST = @DEST@ EGGEXEC = @EGGEXEC@ EGGVERSION = @EGGVERSION@ # Extra compiler flags # # Things you can put here: # # -Wall if you're using gcc and it supports it # (configure usually detects this anyway now) # # -DDEBUG generic debugging code # -DDEBUG_ASSERT to enable assert debugging # -DDEBUG_MEM to be able to debug memory allocation (.debug) # -DDEBUG_DNS to enable dns.mod extra debugging information # # Debug defines can be set with configure now. # See ./configure --help for more information. CFLGS = @CFLGS@ DEBCFLGS = @DEBCFLGS@ # ./configure SHOULD set these; however you may need to tweak them to get # modules to compile. If you do, PLEASE let the development team know so # we can incorporate any required changes into the next release. You can # contact us via eggdev@eggheads.org # Defaults CC = @CC@ LD = @CC@ STRIP = @STRIP@ RANLIB = @RANLIB@ # make 'modegg' MOD_CC = @MOD_CC@ MOD_LD = @MOD_LD@ MOD_STRIP = @MOD_STRIP@ # make 'modules' SHLIB_CC = @SHLIB_CC@ SHLIB_LD = @SHLIB_LD@ SHLIB_STRIP = @SHLIB_STRIP@ MOD_EXT = @MOD_EXT@ # Programs make install uses LN_S = @LN_S@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ # Stuff for Tcl TCLLIB = @TCLLIB@ TCLLIBFN = @TCLLIBFN@ XREQS = @TCL_REQS@ # Extra libraries # XLIBS will be linked with everything # MODULE_XLIBS will only be linked with the module objects XLIBS = @TCL_LIBS@ @LIBS@ MODULE_XLIBS = @MODULE_XLIBS@ # You shouldn't need to edit anything below this line. modconf = $(top_srcdir)/misc/modconfig --top_srcdir=$(top_srcdir) egg_test_run = EGG_LANGDIR=$(top_srcdir)/language ./$(EGGEXEC) -v post_config = echo "" && \ echo "You can now compile the bot, using \"make\"." && \ echo "" post_iconfig = $(modconf) update-depends && \ $(modconf) Makefile && \ (cd src/mod && $(MAKE_CONFIG) config) && \ $(modconf) Makefile egg_install_msg = echo "" && \ echo "Now run \"make install\" to install your bot." && \ echo "" MAKE_MODEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD)' \ 'STRIP=$(MOD_STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS)' \ 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \ 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(standard build)' 'MODOBJS=' MAKE_MODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \ 'STRIP=$(SHLIB_STRIP)' 'CFLGS=$(CFLGS)' 'XLIBS=$(XLIBS)' \ 'MOD_EXT=$(MOD_EXT)' 'MODULE_XLIBS=$(MODULE_XLIBS)' MAKE_STATIC = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \ 'STRIP=$(STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS) -DSTATIC' \ 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \ 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static version)' \ 'MODOBJS=mod/*.o' MAKE_DEBEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD)' \ 'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=$(DEBCFLGS) $(CFLGS)' \ 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \ 'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(debug version)' 'MODOBJS=' MAKE_DEBMODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \ 'XLIBS=$(XLIBS)' 'STRIP=touch' 'CFLGS=$(DEBCFLGS) $(CFLGS)' \ 'MOD_EXT=$(MOD_EXT)' 'MODULE_XLIBS=$(MODULE_XLIBS)' MAKE_SDEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \ 'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=$(DEBCFLGS) $(CFLGS) -DSTATIC' \ 'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' 'XLIBS=$(XLIBS)' \ 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static debug version)' 'MODOBJS=mod/*.o' MAKE_DEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' MAKE_CONFIG = $(MAKE) 'MAKE=$(MAKE)' MAKE_INSTALL = $(MAKE) 'MAKE=$(MAKE)' 'DEST=$(DEST)' all: @DEFAULT_MAKE@ eggclean: @rm -f $(EGGEXEC) *.$(MOD_EXT) *.stamp core DEBUG *~ @cd doc && $(MAKE) clean @cd scripts && $(MAKE) clean @cd src && $(MAKE) clean @cd src/md5 && $(MAKE) clean @cd src/compat && $(MAKE) clean clean: eggclean @cd src/mod && $(MAKE) clean distclean: eggclean clean-modconfig @cd src/mod && $(MAKE) distclean @rm -f Makefile doc/Makefile scripts/Makefile src/Makefile src/md5/Makefile src/compat/Makefile src/mod/Makefile @rm -f config.cache config.log config.status config.h lush.h @rm -rf autom4te.cache distrib: misc/releaseprep depend: @cat /dev/null > lush.h @cd src && $(MAKE_DEPEND) depend @cd src/md5 && $(MAKE_DEPEND) depend @cd src/mod && $(MAKE_DEPEND) depend @cd src/compat && $(MAKE_DEPEND) depend config: @$(modconf) modules-still-exist @$(modconf) detect-modules @$(modconf) update-depends @$(modconf) Makefile @cd src/mod && $(MAKE_CONFIG) config @$(modconf) Makefile @$(post_config) new-iconfig: @$(modconf) modules-still-exist @$(modconf) update-depends @$(modconf) -n configure @$(post_iconfig) @$(post_config) iconfig: @$(modconf) modules-still-exist @$(modconf) detect-modules @$(modconf) update-depends @$(modconf) configure @$(post_iconfig) @$(post_config) clean-modconfig: @rm -f .modules .known_modules conftest: @if test ! -f .modules; then \ echo ""; \ echo "You have NOT configured modules yet. This has to be done before you"; \ echo "can start compiling."; \ echo ""; \ echo " Run \"make config\" or \"make iconfig\" now."; \ echo ""; \ exit 1; \ fi reconfig: clean-modconfig config eggdrop: modegg modules modegg: modtest @rm -f src/mod/mod.xlibs @cd src && $(MAKE_MODEGG) $(EGGEXEC) modules: modtest @cd src/mod && $(MAKE_MODULES) modules @echo "" @echo "Test run of ./eggdrop -v:" @$(egg_test_run) @echo "" @echo "Eggdrop successfully compiled:" @ls -l $(EGGEXEC) @echo "" @echo "Modules successfully compiled:" @ls -l *.$(MOD_EXT) @$(egg_install_msg) static: eggtest @echo "" @echo "Making module objects for static linking..." @echo "" @rm -f src/mod/mod.xlibs @cd src/mod && $(MAKE_STATIC) static @echo "" @echo "Making core eggdrop for static linking..." @echo "" @cd src && $(MAKE_STATIC) $(EGGEXEC) @echo "" @echo "Test run of ./eggdrop -v:" @$(egg_test_run) @echo "" @echo "Eggdrop successfully compiled:" @ls -l $(EGGEXEC) @echo "" @$(egg_install_msg) debug: debegg debmodules debegg: modtest @cd src && $(MAKE_DEBEGG) $(EGGEXEC) debmodules: modtest @cd src/mod && $(MAKE_DEBMODULES) modules @echo "" @echo "Test run of ./eggdrop -v:" @$(egg_test_run) @echo "" @echo "Eggdrop successfully compiled:" @ls -l $(EGGEXEC) @echo "" @echo "Modules successfully compiled:" @ls -l *.$(MOD_EXT) @$(egg_install_msg) sdebug: eggtest @echo "" @echo "Making module objects for static linking." @echo "" @rm -f src/mod/mod.xlibs @cd src/mod && $(MAKE_SDEBUG) static @echo "" @echo "Making eggdrop core for static linking." @echo "" @cd src && $(MAKE_SDEBUG) $(EGGEXEC) @echo "" @echo "Test run of ./eggdrop -v:" @$(egg_test_run) @echo "" @echo "Eggdrop successfully compiled:" @ls -l $(EGGEXEC) @echo "" @$(egg_install_msg) eggtest: conftest @if test -f EGGMOD.stamp; then \ echo "You're trying to do a STATIC build of eggdrop when you've";\ echo "already run 'make' for a module build.";\ echo "You must first type \"make clean\" before you can build";\ echo "a static version.";\ exit 1;\ fi @echo "stamp" >EGGDROP.stamp modtest: conftest @if [ -f EGGDROP.stamp ]; then \ echo "You're trying to do a MODULE build of eggdrop when you've";\ echo "already run 'make' for a static build.";\ echo "You must first type \"make clean\" before you can build";\ echo "a module version.";\ exit 1;\ fi @echo "stamp" >EGGMOD.stamp install: ainstall dinstall: eggdrop ainstall sinstall: static ainstall ainstall: install-start install-bin install-modules install-data \ install-help install-language install-filesys install-doc \ install-scripts install-end install-start: @if test ! -f $(EGGEXEC); then \ echo ""; \ echo "You haven't compiled Eggdrop yet."; \ echo "To compile Eggdrop, use:"; \ echo ""; \ echo " make [target]"; \ echo ""; \ echo "Valid targets: 'eggdrop', 'static', 'debug', 'sdebug'."; \ echo "Default target: '@DEFAULT_MAKE@'."; \ echo ""; \ exit 1; \ fi @if test "x$(DEST)" = "x"; then \ echo "You must specify a destination directory."; \ echo "Example:"; \ echo ""; \ echo " make install DEST=\"/home/wcc/mybot\""; \ echo ""; \ exit 1; \ fi @echo "" @$(egg_test_run) @echo "" @echo "Installing in directory: '$(DEST)'." @echo "" @if test ! -d $(DEST); then \ echo "Creating directory '$(DEST)'."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST) >/dev/null; \ fi install-bin: @if test -f $(DEST)/o$(EGGEXEC); then \ rm -f $(DEST)/o$(EGGEXEC); \ fi @if test -h $(DEST)/$(EGGEXEC); then \ echo "Removing symlink to archival eggdrop binary."; \ rm -f $(DEST)/$(EGGEXEC); \ fi @if test -f $(DEST)/$(EGGEXEC); then \ echo "Renaming old '$(EGGEXEC)' executable to 'o$(EGGEXEC)'."; \ mv -f $(DEST)/$(EGGEXEC) $(DEST)/o$(EGGEXEC); \ fi @echo "Copying new '$(EGGEXEC)' executable and creating symlink." @$(INSTALL_PROGRAM) $(EGGEXEC) $(DEST)/$(EGGEXEC)-$(EGGVERSION) @(cd $(DEST) && $(LN_S) $(EGGEXEC)-$(EGGVERSION) $(EGGEXEC)) install-modules: @if test -h $(DEST)/modules; then \ echo "Removing symlink to archival modules subdirectory."; \ rm -f $(DEST)/modules; \ fi @if test -d $(DEST)/modules; then \ echo "Moving old modules into 'modules.old' subdirectory."; \ rm -rf $(DEST)/modules.old; \ mv -f $(DEST)/modules $(DEST)/modules.old; \ fi @if test ! "x`echo *.$(MOD_EXT)`" = "x*.$(MOD_EXT)"; then \ if test ! -d $(DEST)/modules-$(EGGVERSION); then \ echo "Creating 'modules-$(EGGVERSION)' subdirectory and symlink."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/modules-$(EGGVERSION) >/dev/null; \ fi; \ (cd $(DEST) && $(LN_S) modules-$(EGGVERSION) modules); \ echo "Copying new modules."; \ for i in *.$(MOD_EXT); do \ $(INSTALL_PROGRAM) $$i $(DEST)/modules-$(EGGVERSION)/; \ done; \ fi install-data: @if test ! -f $(DEST)/eggdrop.conf; then \ $(INSTALL_DATA) $(srcdir)/eggdrop.conf $(DEST)/; \ fi @if test ! -d $(DEST)/logs; then \ echo "Creating 'logs' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/logs >/dev/null; \ $(INSTALL_DATA) $(srcdir)/logs/CONTENTS $(DEST)/logs/; \ fi; @if test ! -d $(DEST)/text; then \ echo "Creating 'text' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/text >/dev/null; \ fi; @if test ! -f $(DEST)/text/motd; then \ $(INSTALL_DATA) $(srcdir)/text/motd $(DEST)/text/; \ fi @if test ! -f $(DEST)/text/banner; then \ $(INSTALL_DATA) $(srcdir)/text/banner $(DEST)/text/; \ fi install-help: @echo "Copying help files." @if test ! "x`echo $(srcdir)/help/*.help`" = "x$(srcdir)/help/*.help"; then \ if test ! -d $(DEST)/help; then \ echo "Creating 'help' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/help >/dev/null; \ fi; \ for i in $(srcdir)/help/*.help; do \ $(INSTALL_DATA) $$i $(DEST)/help/; \ done; \ fi @if test ! "x`echo $(srcdir)/help/msg/*.help`" = "x$(srcdir)/help/msg/*.help"; then \ if test ! -d $(DEST)/help/msg; then \ echo "Creating 'help/msg' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/help/msg >/dev/null; \ fi; \ for i in $(srcdir)/help/msg/*.help; do \ $(INSTALL_DATA) $$i $(DEST)/help/msg/; \ done; \ fi @if test ! "x`echo $(srcdir)/help/set/*.help`" = "x$(srcdir)/help/set/*.help"; then \ if test ! -d $(DEST)/help/set; then \ echo "Creating 'help/set' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/help/set >/dev/null; \ fi; \ for i in $(srcdir)/help/set/*.help; do \ $(INSTALL_DATA) $$i $(DEST)/help/set/; \ done; \ fi @cd src/mod/ && $(MAKE_INSTALL) install-help install-language: @echo "Copying language files." @if test ! "x`echo $(srcdir)/language/*.lang`" = "x$(srcdir)/language/*.lang"; then \ if test ! -d $(DEST)/language; then \ echo "Creating 'language' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/language >/dev/null; \ fi; \ for i in $(srcdir)/language/*.lang; do \ $(INSTALL_DATA) $$i $(DEST)/language/; \ done; \ fi @cd src/mod && $(MAKE_INSTALL) install-language install-filesys: @if test ! -d $(DEST)/filesys; then \ echo "Creating skeletal filesystem subdirectories."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/filesys >/dev/null; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/filesys/incoming >/dev/null; \ fi install-doc: @$(INSTALL_DATA) $(srcdir)/README $(DEST) @cd doc/ && $(MAKE_INSTALL) install install-scripts: @cd scripts/ && $(MAKE_INSTALL) install install-end: @echo @echo "Installation completed." @echo "" @echo "You MUST ensure that you edit/verify your configuration file." @echo "An example configuration file, eggdrop.conf, is distributed with Eggdrop." @echo "" @echo "Remember to change directory to $(DEST) before you proceed." @echo "" #safety hash eggdrop1.6.21/INSTALL0000664000076600007660000001320611525764164013603 0ustar simplesimple$Id: INSTALL,v 1.31 2011/02/13 14:19:32 simple Exp $ Compilation and Installation of Eggdrop Last revised: July 24, 2004 _____________________________________________________________________ Compilation and Installation of Eggdrop This is the quick install guide; if you have had little or no experience with UNIX or Eggdrop, READ THE README FILE NOW! This file is only for experienced users. For more information on compiling Eggdrop, see the Compile Guide in doc/COMPILE-GUIDE (and of course, the README FILE). Contents: 1. What is Eggdrop? 2. Quick startup 3. Modules 4. Frequently asked questions (1) WHAT IS EGGDROP? Please, read the README file before attempting to set up this bot. This file is a quick setup guide, not a miracle worker. If you enter this file without basic Eggdrop knowledge, you will NOT leave with a working bot! Before asking ANY questions, READ THE README FILE OR YOU WILL BE BURNED TO A HORRIBLE DEATH! IF YOU DO NOT READ THAT FILE I WILL PERSONALLY WALK TO YOUR TERMINAL AND BEAT IT WITH A SMELLY SNEAKER! By the way, read the README file. (2) QUICK STARTUP Eggdrop uses the GNU autoconfigure scripts to make things easier. 1. Type './configure' from the Eggdrop directory. The configure script will determine how your system is set up and figure out how to correctly compile Eggdrop. It will also try to find Tcl, which is required to compile. 2. Type either 'make config' or 'make iconfig' to determine which modules will be compiled. 'make config' compiles the default modules (everything but woobie.mod). If you want to choose which modules to compile, use 'make iconfig'. 3. Type 'make' from the Eggdrop directory, or to force a statically linked module bot, type 'make static'. Otherwise, the Makefile will compile whatever type of bot the configure script determined your system will support. Dynamic is always the better way to go if possible. There are also the 'debug' and 'sdebug' (static-debug) options, which will give more detailed output on a (highly unlikely :) crash. This will help the development team track down the crash and fix the bug. Debug and sdebug will take a little longer to compile and will enlarge the binary a bit, but it's worth it if you want to support Eggdrop development. 4. Eggdrop must be installed in a directory somewhere. This is accomplished by entering the UNIX command: make install This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop). If you want to install to a different directory, use: make install DEST= For example: make install DEST=/home/user/otherdir Note that you must use full path for every file to be correctly installed. [The following is performed from the directory installed above.] 5. Edit your config file completely. 6. Start the bot with the "-m" option to create a user file, i.e. './eggdrop -m LamestBot.conf'. 7. When starting the bot in the future, drop the "-m". If you have edited your config file correctly, you can type: chmod u+x For example: chmod u+x LamestBot.conf From then on, you will be able to use your config file as a shell script. You can just type "./LamestBot.conf" from your shell prompt to start up your bot. For this to work, the top line of your script MUST contain the correct path to the Eggdrop executable. 8. It's advisable to run your bot via crontab, so that it will automatically restart if the machine goes down or (heaven forbid) the bot should crash. Look at 'scripts/botchk' and 'scripts/autobotchk' for a great start with crontabbing the bot. 9. Smile, and if you haven't already read the README file in its entirety, go take a long walk off a short pier. (3) MODULES Modules are small pieces of code that can either be compiled into the binary or can be compiled separately into a file. This allows for a much smaller binary. If there are any modules that you have made or downloaded, you can add them to the bot by placing them in the /src/mod directory with a mod extension. They will be automatically compiled during make for you. They must have a valid Makefile and, of course, be compatible with the rest of the Eggdrop source. If you wish to add a module at a later time, follow the same steps in paragraph 2. After you have moved the appropriate files, you will only need to type 'make modules' to compile only the modules portion of the bot. (3) FREQUENTLY ASKED QUESTIONS (Q) What do I do if...? (A) READ THE README FILE! (Q) The readme does not answer...! (A) READ THE README FILE AGAIN! (Q) I still don't know how to... (A) MEMORIZE THE README FILE! (Q) But... (A) Well, go to www.egghelp.org or www.eggheads.org and see if you can find there what you're looking for. There are also lots of IRC help channels and various mailing lists, as seen in the README FILE. This is the end. If you read to this point, hopefully you have also read the README file. If not, then READ IT!&@#%@! Have fun with Eggdrop! _____________________________________________________________________ Copyright (C) 1997 Robey Pointer Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/0000775000076600007660000000000011651664674013322 5ustar simplesimpleeggdrop1.6.21/doc/CONTENTS0000664000076600007660000000371011525764164014476 0ustar simplesimple$Id: CONTENTS,v 1.28 2011/02/13 14:19:32 simple Exp $ Directory Contents - doc/ Last revised: August 04, 2004 _____________________________________________________________________ Directory Contents - doc/ html/ An HTML version of Eggdrop's documentation is provided in this directory. man1/ This contains Unix man page files. settings/ This directory contains documentation for all config file and module settings. ABOUT Information about Eggdrop and a brief history can be found in this file. BOTNET This is a guide to flags and bot user file sharing. BUG-REPORT Fill out this form and e-mail it to bugs@eggheads.org if you find a bug in Eggdrop. Changes These files document the changes made to each version of Eggdrop. COMPILE-GUIDE If you have trouble compiling your Eggdrop, take a look in this file. FIRST-SCRIPT This document will help get you started with Tcl scripting for Eggdrop. KNOWN-PROBLEMS See this file for a list of things that are broken but aren't getting fixed anytime soon MODULES Information on writing Eggdrop modules can be found in this document. PARTYLINE This file contains information about Eggdrop's partyline. PATCH-HOWTO This is a how-to on applying and creating Eggdrop patches. tcl-commands.doc Documentation on Eggdrop Tcl commands available to scripters can be found here. TEXT-SUBSTITUTIONS This contains documentation on %-variables that can be used in help, MOTD, and BANNER files. TRICKS Some advanced tips on making Eggdrop do what you want it to do can be found here. It also contains tweaking tips for your config file. Versions Contains a list of Eggdrop versions, release dates, and other important notes in reverse chronological order. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/doc/MODULES0000664000076600007660000003741011525764164014355 0ustar simplesimple$Id: MODULES,v 1.37 2011/02/13 14:19:32 simple Exp $ Eggdrop Module Information Last revised: March 04, 2003 _____________________________________________________________________ Eggdrop Module Information The purpose of this document is to show you how to download, install, create, and submit modules. Contents: 1. What are modules? 2. Why use modules? 3. How to install a module 4. Modules included with Eggdrop 5. Programming modules 6. What to do with a finished module 1. What are modules? Modules are portions of code which are loaded separately to the bot itself and provide extra services. For example, the filesys module provides the entire file system. 2. Why use modules? Modules allow C coders to add their own enhancements to the bot while keeping them optional and without increasing the size of the Eggdrop core. 3. How to install a module Please note that these are only basic instructions for compiling and installing a module. Please read any and all directions included with the module you wish to install. 1. Download and un-tar the Eggdrop source code. 2. Place the new module in its own directory (in the format of (modulename).mod) in src/mod. 3. Run ./configure (from eggdrop1.6.x/). 4. Type 'make config' or 'make iconfig'. 5. Type 'make'. 6. Copy the compiled module file (modulename.so) into your bot's modules folder. 7. Add 'loadmodule modulename' to your eggdrop.conf file (do not add the .so suffix). 8. Rehash or restart your bot. To view your currently loaded modules, type '.module'. 4. Modules included with Eggdrop assoc This module provides assoc support, i.e. naming channels on the botnet. blowfish Eggdrop can encrypt your userfile, so users can have secure passwords. Please note that when you change your encryption method later (i.e. using other modules like a md5 module), you can't use your current userfile anymore. Eggdrop will not start without an encryption module. channels This module provides channel related support for the bot. Without it, you won't be able to make the bot join a channel or save channel specific userfile information. compress This module provides provides support for file compression. This allows the bot to transfer compressed user files and, therefore, save a significant amount of bandwidth. console This module provides storage of console settings when you exit the bot or type .store on the partyline. ctcp This module provides the normal ctcp replies that you'd expect. Without it loaded, CTCP CHAT will not work. dns This module provides asynchronous dns support. This will avoid long periods where the bot just hangs there, waiting for a hostname to resolve, which will often let it timeout on all other connections. filesys This module provides an area within the bot where users can store and manage files. With this module, the bot is usable as a file server. irc This module provides basic IRC support for your bot. You have to load this if you want your bot to come on IRC. notes This module provides support for storing of notes for users from each other. Note sending between currently online users is supported in the core, this is only for storing the notes for later retrieval. seen This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are looking for a better and more advanced seen module, try the gseen module by G'Quann. You can find it at http://www.kreativrauschen.com/gseen.mod/. server This module provides the core server support. You have to load this if you want your bot to come on IRC. Not loading this is equivalent to the old NO_IRC define. share This module provides userfile sharing support between two directly linked bots. transfer The transfer module provides DCC SEND/GET support and userfile transfer support for userfile sharing. uptime This module reports uptime statistics to the uptime contest web site at http://uptime.eggheads.org. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. See doc/settings/mod.uptime for more information, including details on what information is sent to the uptime server. wire This module provides all the standard .wire partyline commands. It is an encrypted partyline communication tool, compatible with wire.tcl. woobie This is for demonstrative purposes only. If you are looking for starting point in writing modules, woobie is the right thing. 5. Programming modules WARNING: This section is very likely to be out of date. Note: This is for a simple module of 1 source file. If you're doing a multiple source file module, you shouldn't need to read this anyway. 1. Create a src/mod/MODULE.mod directory in your Eggdrop directory (where MODULE is the module name) and cd to it. 2. Copy the file `Makefile' from src/mod/woobie.mod and replace all occurrences of `woobie' with your module name. This should ensure that your module gets compiled. 3. Next, you want to create a file called MODULE.c (MODULE is the module name again). 4. You MUST include the following in your source code: a. #define MODULE_NAME "module-name" This should be defined to the same name you will be using when you load your module. b. #define MAKING_MODULENAME MODULENAME is the name of your module (MODULE_NAME), but in all caps. c. #include "../module.h" This provides access to Eggdrop's global function table. Examine src/mod/module.h closely to find a list of functions available. d. #include any other standard c header files you might need. Note that stdio.h, string.h, stdlib.h, and sys/types.h are already included. e. Function *global; This variable provides access to all the Eggdrop functions; without it, you can't call any Eggdrop functions (the module won't even load). 5. Every module must also have the following functions: In most modules, all functions/variables (except global and MODULE_start) should be static. This will drastically reduce the size of modules on decent systems. Throughout step 5, MODULE refers to the module name. Note that "MODULE_NAME" should literally be "MODULE_NAME". a. char *MODULE_start(Function *func_table) This function is called when the module is first loaded. There are several things that need to be done in this function: global = func_table; This allows you to make calls to the global function table. module_register(MODULE_NAME, MODULE_table, MAJOR, MINOR); This records details about the module for other modules and Eggdrop itself to access. MAJOR and MINOR are ints, where MAJOR is the module's major version number and MINOR is a minor version number. MODULE_table is a function table (see below). module_depend(MODULE_NAME, "another-module", MAJOR, MINOR); This lets Eggdrop know that your module NEEDS "another-module" of major version 'MAJOR' and at least minor version 'MINOR' to run, and hence should try to load it if it's not already loaded. This will return 1 on success, or 0 if it can't be done (at which stage you should return an error). Any other initialization stuff you desire should also be included in this function. See below for various things you can do. You also will need to return a value. Returning NULL implies the module loaded successfully. Returning a non-NULL STRING is an error message. The module (and any other dependant modules) will stop loading and an error will be returned. b. static Function *MODULE_table = { MODULE_start, MODULE_close, MODULE_expmem, MODULE_report, any_other_functions, you_want_to_export }; This is a table of functions which any other module can access. The first 4 functions are FIXED. You MUST have them; they provide important module information. c. static char *MODULE_close () This is called when the module is unloaded. Apart from tidying any relevant data (I suggest you be thorough, we don't want any trailing garbage from modules), you MUST do the following: module_undepend(MODULE_NAME); This lets Eggdrop know your module no longer depends on any other modules. Return a value. NULL implies success; any non-NULL STRING implies that the module cannot be unloaded for some reason, and hence the bot should not unload it (see the blowfish module for an example). d. static int MODULE_expmem () This should tally all memory you allocate/deallocate within the module (using nmalloc, nfree, etc) in bytes. It's used by memory debugging to track memory faults, and it is used by .status to total up memory usage. e. static void MODULE_report (int idx) This should provide a relatively short report of the module's status (for the module and status commands). These functions are available to modules. MANY more available functions can be found in src/mod/module.h. void *nmalloc(int j); This allocates j bytes of memory. void nfree(void *a); This frees an nmalloc'd block of memory. Context; Actually a macro -- records the current position in execution (for debugging). Using Context is no longer recommended, because it uses too many resources and a core file provides much more information. void dprintf(int idx, char *format, ...) This acts like a normal printf() function, but it outputs to log/socket/idx. idx is a normal dcc idx, or if < 0 is a sock number. Other destinations: DP_LOG - send to log file DP_STDOUT - send to stdout DP_MODE - send via mode queue to the server DP_SERVER - send via normal queue to the server DP_HELP - send via help queue to server const module_entry *module_find(char *module_name, int major, int minor); Searches for a loaded module (matching major, >= minor), and returns info about it. Members of module_entry: char *name; - module name int major; - real major version int minor; - real minor version Function *funcs; - function table (see above) void module_rename(char *old_module_name, char *new_module_name) This renames a module frim old_module_name to new_module_name. void add_hook(int hook_num, Function *funcs) void del_hook(int hook_num, Function *funcs) These are used for adding or removing hooks to/from Eggdrop code that are triggered on various events. Valid hooks are: HOOK_SECONDLY - called every second HOOK_MINUTELY - called every minute HOOK_5MINUTELY - called every 5 minutes HOOK_HOURLY - called every hour (hourly-updates minutes past) HOOK_DAILY - called when the logfiles are switched HOOK_READ_USERFILE - called when the userfile is read HOOK_USERFILE - called when the userfile is written HOOK_PRE_REHASH - called just before a rehash HOOK_REHASH - called just after a rehash HOOK_IDLE - called whenever the dcc connections have been idle for a whole second HOOK_BACKUP - called when a user/channel file backup is done HOOK_LOADED - called when Eggdrop is first loaded HOOK_DIE - called when Eggdrop is about to die char *module_unload (char *module_name); char *module_load (char *module_name); Tries to load or unload the specified module; returns 0 on success, or an error message. void add_tcl_commands(tcl_cmds *tab); void rem_tcl_commands(tcl_cmds *tab); Provides a quick way to create and remove a table of Tcl commands. The table is in the form of: {char *func_name, Function *function_to_call} Use { NULL, NULL } to indicate the end of the list. void add_tcl_ints(tcl_ints *); void rem_tcl_ints(tcl_ints *); Provides a quick way to create and remove a table of links from C int variables to Tcl variables (add_tcl_ints checks to see if the Tcl variable exists and copies it over the C one). The format of table is: {char *variable_name, int *variable, int readonly} Use {NULL, NULL, 0} to indicate the end of the list. void add_tcl_strings(tcl_strings *); void rem_tcl_strings(tcl_strings *); Provides a quick way to create and remove a table of links from C string variables to Tcl variables (add_tcl_ints checks to see if the Tcl variable exists and copies it over the C one). The format of table is: {char *variable_name, char *string, int length, int flags} Use {NULL, NULL, 0, 0} to indicate the end of the list. Use 0 for length if you want a const string. Use STR_DIR for flags if you want a '/' constantly appended; use STR_PROTECT if you want the variable set in the config file, but not during normal usage. void add_builtins(p_tcl_hash_list table, cmd_t *cc); void rem_builtins(p_tcl_hash_list table, cmd_t *cc); This adds binds to one of Eggdrop's bind tables. The format of the table is: {char *command, char *flags, Function *function, char *displayname} Use {NULL, NULL, NULL, NULL} to indicate the end of the list. This works EXACTLY like the Tcl 'bind' command. displayname is what Tcl sees this function's proc name as (in .binds all). function is called with exactly the same args as a Tcl binding is with type conversion taken into account (e.g. idx's are ints). Return values are much the same as Tcl bindings. Use int 0/1 for those which require 0/1, or char * for those which require a string (auch as filt). Return nothing if no return value is required. void putlog (int logmode, char *channel, char *format, ...) Adds text to a logfile (determined by logmode and channel). This text will also output to any users' consoles if they have the specified console mode enabled. 6. What to do with a module? If you have written a module and feel that you wish to share it with the rest of the Eggdrop community, upload it to the incoming directory on incoming.eggheads.org (/incoming/modules/1.6). Place a nice descriptive text (modulename.desc) with it, and it'll make its way to the modules directory on ftp.eggheads.org. Don't forget to mention in your text file which version Eggdrop the module is written for. _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/Changes0.60000664000076600007660000002066111114252061015017 0ustar simplesimple$Id: Changes0.6,v 1.4 2008/11/29 14:39:45 tothwolf Exp $ Eggdrop Changes (starting with 0.6c) _____________________________________________________________________ 0.6r (April 4, 1994): # Released by: Robey [Robey Pointer ] - When switching servers, it used to think it was on the channel again even if it wasn't -- fixed - Used to crash when receiving really long one-word msgs -- fixed 0.6q (April 2, 1994): # Released by: Robey [Robey Pointer ] - 'pass' with 2 parameters changes your password now - 'info' with no parameters shows your current info - Host masking is better now - Master-command '.info' to retrieve someone's info - New msg command 'who' to show all users info 0.6p (April 1, 1994): # Released by: Robey [Robey Pointer ] - 'help' works a little better but is still sparse - 'pass', 'info', 'ident' cleaned up and show standard-looking console entries now - 'op' and 'invite' converted to standard console entries - Can't set your password too long now - New command '.match' to look up users by matching a nickname wildcard, or by attributes (precede with '+': ie, '+m' to find masters) 0.6o (March 31, 1994): # Released by: Robey [Robey Pointer ] - 'hello' actually programmed in :) - People recognized by the bot (who have a password set) can get a new hostmask recognized via msg: 'ident ' - People who get lost in netsplits aren't logged with log-joins=off now (oops) - New file misc.c created to better modularize the code - 'pass ' from someone the bot knows who doesn't have a password set, will set a password for them - 'info ' will set your join info, assuming the bot is using infofile 0.6n (March 30, 1994): # Released by: Robey [Robey Pointer ] - (happy birthday brandon!) - 'yes'/'no'/'true'/'false'/'y'/'n'/'t'/'f' can be used in SET - learn-users (new set variable) allows new members to the channel to send a 'hello' to the bot and get in the user list (if not already there) - Very pointless old helpbot code removed -- no plans for any helpbot support in the future 0.6m (March 28, 1994): # Released by: Robey [Robey Pointer ] - 'host unreachable' trapped now 0.6l (March 22, 1994): # Released by: Robey [Robey Pointer ] - New configfile variable 'infofile' for user info lines - New configfile set 'greet' to turn on/off auto-greet using the infofile (will check the infofile for a handle that matches the one found for the user joining, and if found, will dump that line to the channel) 0.6k (March 17, 1994): # Released by: Robey [Robey Pointer ] - Remembers what dcc directory you were last in (stored in user file) - Fixed extra-space bug in updating file list - Will show handle in '.channel' if it can find one for that user - Can change description now, but still can't add one - Time/date stamps notes in the notefile - desc works now 0.6j (March 16, 1994): # Released by: Robey [Robey Pointer ] - '.note' works for non-masters now (it was supposed to all along) - A '.note' while that user is online is treated like a private message -- that was always true -- but now it looks more like one - Ban list in '.channel' tries to conserve space now, and should show bans placed by servers (instead of claiming "unknown") - Acknowledges successful file receive and adds it to the incoming directory list now 0.6i (March 14, 1994): # Released by: Robey [Robey Pointer ] - Won't babble about how it's reversing illegal mode changes if it's not even op'd - mkdir/rmdir work now - 60 seconds flood instead of 1 for flood detect (and it works now) 0.6h (March 11, 1994): # Released by: Robey [Robey Pointer ] - Fixed dcc chat connection to IP numbers -- it works now (hostname lookup not required) - Config parameter 'dccdir' changed to 'dcc-path' (this is the start location of any file transfer user) - New config parameter 'dcc-incoming' which is the path to store uploaded files -- if you leave it undefined, nobody can upload - Made it so the master-only file system commands actually require you to be a master (oops) - New file system commands: 'import', 'hide', 'rm', 'mkdir', 'rmdir' for masters (file system is starting to become a bit more respectable) - Eggdrop will warn you if it doesn't understand (and therefore is going to ignore) a line in its config file - Extra frivolous command '.me' added (public actions) 0.6g (March 10, 1994): # Released by: Robey [Robey Pointer ] - Removed old clumsy and stupid ignore code - People on the ignore list only have msgs, notices, and ctcp's ignored now, not vital information like kicks, joins, etc (duh) - Flooding via msg or notice is activated by 5 from the same host in 1 second, and results in that host being added to the ingore list - Flooding a channel with msgs, notices, or nick changes is activated by 10 from the same host in 1 second, and results in a kick from the channel - Flooding via ctcp (to the bot or channel) is activated by 5 from the same host in 1 second, and results in that host being added to the ignore list, AND the user being kicked from the channel, if they are on it 0.6f (March 9, 1994): # Released by: Robey [Robey Pointer ] - New command line option -c when used with -n, which will dump a '.channel' and '.status' output to the terminal every 10 seconds - New command line option -t when used with -n, which makes the terminal appear as another member of the party line - Mode changes made by someone who gained ops via server (and isn't in the op-list) are reversed and a kick is sent out for them -- an auto-deop is sent out for each invalid server op but sometimes users can make quick mode changes before the deop propogates -- this controls the damage 0.6e (March 7, 1994): # Released by: Robey [Robey Pointer ] - Got rid of warning messages from net.c - Only shows nickname of person who placed the ban in '.channel' - Shortened date/time listing in '.channel' of when a user joined the channel -- now it's "15:45" or "14Mar" or "dunno" - No longer crashes horribly when it can't get the telnet port it wants (used to go into an infinite loop!) - The 'log' command now can be used as 'log ' which will show you log entries from mins ago until mins ago - Fixed ignore bug (ignore works now on users who also have an entry in the user list) - If it can't get the telnet port it wants, it will keep trying the next port till it's tried 20 -- THEN it will give up; ie configfile port 2000 could get assigned port 2000 through 2020 - Five msgs/etc from the same host in one second are now considered a flood and get that host put on the ignore list - Closes dcc sockets on dying now (oops!) 0.6d (March 3, 1994): # Released by: Robey [Robey Pointer ] - IP number connections were using negative values (eek!) - fixed - No more "mode change on nonexistant" when kickbanning - 'op' and 'deop' won't let you op/deop people not on the channel, or op a deop-listed person, or deop and op-listed person - Now supports server entries like 'hub.cs.jmu.edu:6665' to allow other ports besides 6667 - Can msg bot 'invite [pass]' to get invited to a +i channel - Separated a new file 'users.c' from 'chanprog.c' to keep modularity - New notes function... store notes for masters or op-listers when they're offline: configfile 'notefile ' -- command '.note ' - New command 'log [#]' will show the log file for the past # minutes (or default of 60 = 1 hour) 0.6c (March 2, 1994): # Released by: Robey [Robey Pointer ] - Tried to fix hostname lookup for dcc chat - will attempt to connect via IP number now - New +console,-console to turn on/off console for non-masters - Fixed (?) bus error when -ignore or -ban on the last ignore/ban - Using -master or +master on someone on the party line will now have an immediate effect (no more leaving & rejoining) eggdrop1.6.21/doc/Makefile.in0000664000076600007660000000375711200433370015354 0ustar simplesimple# Makefile for doc/ # $Id: Makefile.in,v 1.25 2009/05/07 01:18:48 tothwolf Exp $ SHELL = @SHELL@ top_srcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ @SET_MAKE@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ DOCS = ABOUT BANS BOTNET BUG-REPORT COMPILE-GUIDE CONTENTS \ Changes1.6 FIRST-SCRIPT KNOWN-PROBLEMS MODULES PARTYLINE PATCH-HOWTO \ TEXT-SUBSTITUTIONS TRICKS USERS Versions WEIRD-MESSAGES tcl-commands.doc MAN1 = man1/eggdrop.1 WEB_DOCS = $(srcdir)/html/*.html SETTING_DOCS = core.settings CONTENTS SETTING_MOD_DOCS = $(srcdir)/settings/mod.* doofus: @echo "" @echo "Let's try this from the right directory..." @echo "" @cd .. && $(MAKE) all: $(DOCS) $(MAN1) clean: @rm -f *~ install: @if test ! -d $(DEST)/doc; then \ echo "Creating 'doc' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/doc >/dev/null; \ fi @if test ! -d $(DEST)/doc/man1; then \ echo "Creating 'doc/man1' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/doc/man1 >/dev/null; \ fi @if test ! -d $(DEST)/doc/html; then \ echo "Creating 'doc/html' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/doc/html >/dev/null; \ fi @if test ! -d $(DEST)/doc/settings; then \ echo "Creating 'doc/settings' subdirectory."; \ $(top_srcdir)/misc/mkinstalldirs $(DEST)/doc/settings >/dev/null; \ fi @echo "Copying docs." @for i in $(DOCS); do \ $(INSTALL_DATA) $(srcdir)/$$i $(DEST)/doc/; \ done @for i in $(MAN1); do \ $(INSTALL_DATA) $(srcdir)/$$i $(DEST)/doc/man1/; \ done @for i in $(SETTING_DOCS); do \ $(INSTALL_DATA) $(srcdir)/settings/$$i $(DEST)/doc/settings/; \ done @if test "x`echo $(SETTING_MOD_DOCS)`" != "x$(SETTING_MOD_DOCS)"; then \ for i in `echo $(SETTING_MOD_DOCS)`; do \ $(INSTALL_DATA) $$i $(DEST)/doc/settings/; \ done; \ fi @if test "x`echo $(WEB_DOCS)`" != "x$(WEB_DOCS)"; then \ for i in `echo $(WEB_DOCS)`; do \ $(INSTALL_DATA) $$i $(DEST)/doc/html/; \ done; \ fi eggdrop1.6.21/doc/ABOUT0000664000076600007660000000646611642147323014116 0ustar simplesimple$Id: ABOUT,v 1.21 2011/10/02 20:51:31 pseudo Exp $ About Eggdrop Last revised: October 02, 2011 _____________________________________________________________________ About Eggdrop Eggdrop was created around December 1993 to help stop the incessant wars on #gayteen. It spawned from another bot that was in the process of being written at the time called "Unrest". The purpose of Unrest was to answer help requests from other bots. The first public release of Eggdrop was version 0.6, and since then, it has grown into what you have before you. Eggdrop is the World's most popular Internet Relay Chat (IRC) bot; it is freely distributable under the GNU General Public License (GPL). Eggdrop is a feature rich program designed to be easily used and expanded upon by both novice and advanced IRC users on a variety of hardware and software platforms. An IRC bot is a program that sits on an IRC channel and performs automated tasks while looking just like a normal user on the channel. Some of these functions include protecting the channel from abuse, allowing privileged users to gain op or voice status, logging channel events, providing information, hosting games, etc. One of the features that makes Eggdrop stand out from other bots is module and Tcl scripting support. With scripts and modules, you can make the bot perform almost any task you want. They can do anything from preventing floods to greeting users and banning advertisers from channels. You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods efficiently, and even link channels across multiple IRC networks. It also allows the Eggdrops share user lists, ban lists, exempt/invite lists, and ignore lists with other bots if userfile sharing is enabled. This allows users to have the same access on every bot on your botnet. It also allows the bots to distribute tasks such as opping and banning users. See doc/BOTNET for information on setting up a botnet. Eggdrop is always being improved and adjusted because there are bugs to be fixed and features to be added (if the users demand them, and they make actually sense). In fact, it existed for several years as v0.7 - v0.9 before finally going 1.0. This version of Eggdrop is part of the 1.6 tree. A valiant effort has been made to chase down and destroy bugs. To use Eggdrop, you need: * Some sort of Unix account * A pretty good knowledge of IRC and Unix, including how to compile programs, how to read, and what DCC chat is, at absolute minimum. * About 5-7 MB of disk space for installation and up to 15 MB during compilation. The Eggdrop tarball is about 5.8 MB unpacked. * Tcl -- Eggdrop cannot compile without Tcl installed on your shell. Before starting, ask yourself if you really need a bot. Most IRC servers allow only a handful of bots, and some forbid them outright. The reason? Too many people run bots as "toys" or as a means of destruction. If you want to use Eggdrop for destructive purposes, go ahead and erase this directory now. It's almost impossible to do what you want with this bot. _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/BUG-REPORT0000664000076600007660000000717510100627612014660 0ustar simplesimple===================================================================== Eggheads Eggdrop 1.6 Bug Report Form ===================================================================== By reporting bugs, you help to improve the quality of Eggdrop which naturally results in a more stable bot. The more information you provide, the easier and more likely it is for the dev team to fix the bug. Please add everything that you think is important, in addition to the information requested in this form. Thanks. NOTE: First check http://www.eggheads.org/bugzilla/ to see if the bug you want to report is already fixed. Also, please upgrade to the latest eggdrop version to see if the bug is fixed before reporting. Instructions: [1] Please complete as many fields as possible. [2] Email the completed report to: bugs@eggheads.org DO NOT SEND HTML E-MAIL TO THE LISTS. ===================================================================== 1) INFORMATION ABOUT YOUR EGGDROP 1.1) Eggdrop version: 1.6.__ 1.2) Make type: ( ) dynamic ( ) static ( ) debug ( ) sdebug 1.3) List of any options passed to ./configure: 1.4) List of patches and/or modules you use: ===================================================================== 2) INFORMATION ABOUT TCL 2.1) Tcl library version: ( ) 7.0 ( ) 7.1 ( ) 7.2 ( ) 7.3 ( ) 7.4 ( ) 7.5 ( ) 7.6 ( ) 8.0 ( ) 8.1 ( ) 8.2 ( ) 8.3 ( ) 8.4 ( ) 8.5 ( ) Other - Which? ____ 2.2) Tcl library patchlevel: ___ eg; p1, p2, etc for Tcl versions up to 8.0p2 or the 3rd part of the version number for 8.0.3 and newer 2.3) Tcl scripts used: [ ] alltools [ ] sentinel [ ] getops [ ] others - Please mention all others: ===================================================================== 3) INFORMATION ABOUT THE OS 3.1) OS type: ( ) BeOS ( ) BSD/OS ( ) Cygwin ( ) Darwin/Mac OS X ( ) Dell SVR4 ( ) FreeBSD ( ) HP-UX ( ) IRIX ( ) Linux ( ) Lynx ( ) NetBSD ( ) NeXT ( ) OpenBSD ( ) OSF/Tru64 ( ) QNX ( ) SINIX ( ) Solaris/SunOS ( ) Ultrix ( ) Other - Which? _____________ 3.2) OS Version/Release: _____________ ===================================================================== 4) BUG DETAILS 4.1) The logged last context (example: Last context: userent.c/973 []): 4.2) If the bot wrote to the file DEBUG, copy the text -contents- of that file here (NOTE: It should be about 20 lines of info, but it could be a few lines more): 4.3) Your comments and a description of the bug: 4.4) Can you cause the bug condition to repeat? If so, please outline step by step what causes the error: 4.5) Do you have ideas on what is wrong that causes this error? Please list them: 4.6) Do you have ideas on how to correct it? Please list them: 4.7) Other comments? 4.8) If the bot dumped a 'core' file when it crashed, it would be *very* useful if you could paste gdb's output during the following steps: First call gdb $ gdb eggdrop -c core and then enter 'bt' on gdb's command line: (gdb) bt Keep your core file for at least one week, so that the dev team can ask for further information if needed. However, don't send us the core file unless we ask for it. NOTE: If this is a bug you can reproduce, please compile with make debug and follow the above step. It can greatly help find and fix the bug. ===================================================================== End of bug report form - Thank you for helping us improve Eggdrop. eggdrop1.6.21/doc/Changes1.30000664000076600007660000017477411200432071015031 0ustar simplesimple$Id: Changes1.3,v 1.5 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 1.3.0) _____________________________________________________________________ 1.3.28 (August 10, 1999): - Telnet banner added to config file Found by: Dude / Patch by: Fabian - 64 bit *nix fix for dcc chat problems Found by: jkw / Patch by: jkw - usermode_r fix Patch by: drummer - DCC Log fix Patch by: drummer - telnet-banner was broken; added use-telnet-banner flag Patch by: Fabian - More proxy changes in net.c Patch by: drummer - Minor fix to +inactive and tcl_botonchan Found by: slennox / Patch by: drummer - Tcl unset fixes Patch by: drummer - A fix to the +s-p mode flood patch Patch by: drummer - Default for Linux is now to make debugmem when you type make, this will help debug better. Patch by: Segfault - Changed debug msg to an url instead of an email addy. Patch by: dw - Global channel set stuff. Patch by: drummer - Expired function didn't test for use_exempts/invites. Found by: Dude / Patch by: arthur2 - Fixed channels.c file printf when flood settings were 0. Patch by: drummer - Removed ischaninviteonly() and moved use-invites/exempts to the core. Patch by: drummer - -clearbans stops the bot from expiring bans/exempts/invites set by bots who are still in the channel and have chanop to prevent repeating -b/+b on channels with bots that are not sharing their banlist (same with +e/-e and +I/-i). to disable this set force-expire 1 Patch by: Rufus - core dump when expiring bans/exempts/invites which are set by someone who is not in the bots userlist. Found by: arthur2 / Patch by: Rufus - Rewrote doc/BOTNET and doc/patch.howto Patch by: Wiktor - arg instead of args in tcl-commands.doc Patch by: Rufus - "last message repeated" flood fixed Patch by: Kimmo Varis - Removed the static Tcl check for now Found by: various / Patch by: guppy - More exempt/invite fixes/changes Patch by: Jason Ede - Using chattr to change chanflags w/o a '|' made the bot wipe botflags from the chan. Patch by: dw - Duplicate ban fix Patch by: mho - Some proxy fixes, short->default int in mem.c Patch by: drummer - fclose() on file that was not able to be opened (chanfile) Found by: Mixter / Patch by: Mixter - crash-on-start from long PATCH() macro's Patch by: poptix - configure now looks in /lib for Tcl (heh!) Patch by: poptix - configure now detects and uses Tcl 8.2, fixed typo in configure, 'to/too'. Patch by: poptix - Minor share changes dealing with chan exempts/invites Patch by: guppy - Added the new chanset options to the help Patch by: dw - Fixes removing of bans/exempts/invites in a non sharing environment Patch by: guppy - Moved puthelp/serv/quick to the server module Patch by: guppy - Removed useless var in tell_verbose_(status/uptime) Patch by: guppy - Share channel bans/exempts/invites correctly upon linking. Found by: John` / Patch by: guppy - Share exempts/invites when sharebots first link Found by: Jason Ede / Patch by: guppy - Fixes problem with -cycle/-autovoice channel settings. Found by: daimonic / Patch by: arthur2 - -userbans doesn't have to unban server bans (on rejoin). Found by: Jason Ede / Patch by: arthur2, Rufus, Jason Ede - help_subst wasn't using botname for irc help. Found by: John` / Patch by: guppy - Default Makefile that runs ./configure then make, changed 'make dist' so that the default is as above instead of './configure ; make install' Patch by: poptix - Enforce flood protect against ignored hosts Patch by: Eule - Patch to fix kicking bug in joinflood Patch by: Eule - Adds use-exempts/use-invites. +I modes set when a user wants to join a +i channel (by messaging the bot). +e modes set when a matching ban is set, and expires after the ban has been removed. Found by: \-\itman / Patch by: Jason Ede - Lots of changes to userinfo1.0.tcl (too many to name). Patch by: Dude - './eggdrop -m' instead of 'eggdrop -m' in language files. Patch by: arthur2 - chan->ircnet_status &= ~CHAN_ASKED_EXEMPTS/INVITED and not chan->status &= ~CHAN_ASKED_EXEMPTS/INVITED (chan.c) Found by: Jason Ede / Patch by: arthur2 - '.botinfo' buffer overflows (remote/local), cosmetic fixes. Patch by: poptix - '.botinfo' dupes Found by: slennox / Patch by: poptix - '.help chaninfo' showed you could use no-idle-kick as argument to idle-kick, infact it's dont-idle-kick. Patch by: dw - Small config file changes Found by: \-\itman / Patch by: dw - Changed strcasecmp to rfccasecmp in nick handling code, small cpu optimization Patch by: poptix - More nick regain stuff Found by: various / Patch by: guppy - Typo in '.-chan' command (channels.mod/cmdschan.c). Patch by: Flame - Added default chanset's for .+chan Patch by: dw - Host sharing with bots, other misc botnet commands. Patch by: guppy - '.say' fixes/improvements Patch by: drummer - Unresolved hosts got rejected by dcc-sanitycheck Patch by: poptix - 0x660 language file fix. Found by: Dude / Patch by: poptix - Minor language file fixes Patch by: Dude - Fix for the Tcl static check Patch by: Mixter - New channel settings for the +e/+I support. Patch by: Jason Ede - Removed unused 'recycle' stuff. Patch by: slennox - % and & added to BADNICKCHARS. Patch by: arthur2 - Adds +e/+I mode support in userfile and partyline. Patch by: Jason Ede - A bug in the note system Patch by: drummer - configure checks if Tcl is statically linked or not Patch by: Mixter - If we .-chan and the chan is inactive don't send PART Patch by: guppy - Fixed tcl_duration Patch by: drummer, Fabian - Call HOOK_PRE_REHASH before we clear the userlist Patch by: drummer - Bug in proxy_connect() Patch by: drummer - More changes to channel_inactive Patch by: drummer - Don't use +bitch if we have no userlist Found by: toot / Patch by: drummer - Reworked how default flags work Patch by: drummer - You can now set nonperm sticky bans Patch by: drummer - tcl_setuser() bugs Patch by: drummer - action.fix.tcl now handles {} properly Patch by: drummer - cmd/msg_status reported origbotname not botnetnick when saying "I am , running eggdrop blah" Found by: simple / Patch by: guppy - Typo by poptix in configure.in Found by: John` / Patch by: arthur2 - Removed newbotname, we don't assume our nick anymore Patch by: guppy - Minor updates to README Patch by: guppy - Missing 'cvs login' in the README Found by: Dude / Patch by: guppy - Updates README: basic cvs usage, mailing list, how to obtain Eggdrop, upgrading Eggdrop, getting help. Found by: Lobo^Loco, John` / Patch by: John` - Cosmetic changes to eggdrop.conf.dist, lots of little fixes :P Found by: Hath, John` / Patch by: John` - Updates for tcl-commands.doc, gives a fix for the changed MODE bind (the fix is by guppy) Found by: Lobo^Loco, John` / Patch by: John` - Updated copyright info to include eggheads Patch by: guppy - The config tried to use $owner before it was set Patch by: John` - Added a +protectfriends channel setting, to re-op +f users. Patch by: arthur2 - Improved nickregain code (again?) Patch by: guppy - Fixed nasty little bug in refresh_ban_kick() that made the bot only ban a global ban on the first channel the banned nick joined if he/she joined more then one channel in 60 seconds. Hi pba! Patch by: Tothwolf, ^PRS4^ - Fixes the killdcc bug described on eggdev@ Patch by: drummer - Added a telnet banner much like motd (customizable) Patch by: Fabian - autobotchk fixes (for SCO and SunOS) Patch by: Ernst - userinfo1.0 with Tcl 8.0 fix Patch by: Ernst - If started with -m and userfile exists, warn and continue instead of exiting. Minor cosmetic lang fixes Patch by: Al3X - Added setting to allow +f users to override telnet flood protection Patch by: dw - Added queue utilities, queuesize, clearqueue, etc Patch by: G`Quann - Don't deop a user on netjoin if they are +a. Patch by: drummer - '.+ban', '.-ban', and '.info' fixes. Patch by: drummer - Fixes for ban/exempt/invite bogus bounce/kick stuff. Patch by: Tothwolf - Fixed multiple 'password required' msgs during linking. Patch by: drummer - irc.c fixes. Patch by: drummer - Fixed cmds.c, .loadmod can be used only by permowner now Patch by: SKY, Michael - flush_mode fix for I/e modes. Patch by: Eule - CHAN_BOGUSBAN and CHAN_BOGUSUSERNAME were inverted. Patch by: arthur2 - Fixed problems with lang patch. Found by: Michael / Patch by: Cybah - Update to man pages - still had Robey's mail address. Patch by: Michael - Modified dcc.c for better language support. Patch by: Michael - Share fixes. Patch by: arthur2 - '.help chaninfo' missing how to deactivate flood* settings. Patch by: John` - Updates tcl-commands.doc to behavior of [chattr handle channel]. Found by: Nidhogg / Patch by: John` - Fix to '.-bot' and '.-user' not working properly Patch by: guppy - Doesn't reverse bans anymore when they only *remotely* match any of our hostmasks. Found by: slt / Patch by: arthur2 - '/msg bot notes read all' didn't work. Found by: L0RE / Patch by: drummer - Don't strip ASCII between 126 and 224 from strings before sending them to the Tcl interpreter. Found by: AmnesiAc / Patch by: drummer - die, jump and reset msg cmds didn't check for an empty passwd. Found by: SuperS / Patch by: drummer - '.-chan' no longer tells sharebots to remove all bans for that channel. Patch by: drummer - '.-chrec' now works on non-existant channels. Patch by: drummer - Dont display info line when on channel -1 (chat off). Patch by: drummer - '.chinfo handle' now does as expected Found by: Dude / Patch by: Cybah - chan/global masters could remove chan/global owners' chanrec. Patch by: drummer - More minor source cleanups. Patch by: Tothwolf - Added date/time procs to compat.tcl Patch by: Tothwolf - Minor source cleanups. Patch by: Tothwolf - cmd_mns_user, only cares about the first parm now. Found by: Dicctr0s / Patch by: guppy - dcc_telnet_id, changed what it says for nicknames that are not a valid format. Patch by: guppy - Turn stealth telnet off by default, and ident-timeout default is now 5 instead of 30 (poptix agreed) Patch by: guppy - notify-newusers now defaults to $owner in eggdrop.conf.dist Patch by: John` - Minor changes to eggdrop.conf.dist (logfiles) Patch by: John` - Updated README (frequent problems with Tcl after admins upgrade, ./configure looking for Tcl in the wrong places etc) Found by: dw / Patch by: dw, John` - Minor changes to Makefile.in to make it easier. Found by: John` / Patch by: dw - init-server +w not needed as 99% of the users don't use it, just causes unnecessary traffic. Found by: Stu / Patch by: John` - Added some missing quiet_reject in server.mod. Patch by: arthur2 - NOTICEs had to be sent through DP_HELP. Patch by: arthur2 - Added glob/chan +g as in give auto-voice. this is working as +a but for voice instead. Patch by: dw - Fixes for .chattr/.botattr/mkdir commands using CHANMETA. Those commands now handle +channels properly. Patch by: Cybah - Fix for -/+inactive channel option. Patch by: drummer - Fixed bug in /msg key Found by: Hath / Patch by: drummer - /me (CTCP ACTION) floods are now treated as privmsg floods. Patch by: drummer - Added more/better support for different channel types (#&+!) Found by: Wull / Patch by: arthur2 - nickjoinflood stuff. Patch by: poptix - Minor cleanup of action.fix.tcl and compat.tcl Patch by: Tothwolf - Put space between number and name in output of [duration] Patch by: Tothwolf - dumpfile and dccdumpfile now work for files outside text/ Patch by: Tothwolf - Various updates to alltools.tcl Patch by: Tothwolf - src cleanups. Patch by: Tothwolf - chan->next being NULL on chan_autoop() in adduser crashes, this was a logic error(coder error), i wonder if this is causing problems elsewhere =) Found by: slennox / Patch by: poptix - Fixed a typo in share.mod/share.c (no mode dcc connections). Patch by: Mixter - 3 missing & (& instead of &&) in notes.mod/notes.c Patch by: arthur2 - Missing '\n' in two dprintf's Patch by: drummer - Fixed .adduser with static hostmask problem. Patch by: drummer - New Tcl bind: evnt (hurray!!) Patch by: guppy - '.-host's on shared bots now work .. *shrug* Patch by: guppy - Ignore unknown options in the chanfile. Patch by: drummer - Notefiles should be mode 600. Patch by: drummer - Added different ways to use .kickban with !nick and @nick. (see .help kickban for more info) Patch by: drummer - Use the chankey on JOIN if known. Patch by: drummer - chanset (+autovoice/+autoop/+bitch/+enforcebans) will now update channel on-the-fly, you wont need to do a .reset #chan. Patch by: drummer - Fixed bug in fixfrom() (server.mod). Patch by: drummer - Fixed half removed notify-onjoin. Patch by: drummer - Added +inactive channel option. When set, the bot will leave the channel.. when unset, the bot will join the channel. Patch by: drummer - More cleanups... Patch by: Tothwolf - Fixes for FreeBSD's way of installing Tcl Patch by: Tothwolf - Fixed bad behavior between + and & channels. Patch by: arthur2 - Added tcl_isbotnick Patch by: guppy - dcc/msg_info didn't send NULL to remove chan info, also tcl_setchaninfo now supports using "none" to remove info, and rewrote it to prevent it crashing on non-existant channels. Patch by: guppy - '=== Fred: X channels, X users.' should use the botnetnick not origbotname when starting up. Patch by: guppy - msg_ident follows the old style .. ie: if you are identd, and try it to identd, it wont fail. Patch by: guppy - src cleaning and indenting. A 2 space per level indent, with a Kernighan & Ritchie coding style. - This is a fairly close match to Robey's original style and seems to work best with the deeply nested code common in Eggdrop. It appears many different developers have used their own style when working on Eggdrop so this will should help make future code refactoring and maintenance much easier. Patch by: Tothwolf - Adds #define BADNICKCHARS and #define EGG_NOWRITE get_language(0x703). Patch by: Al3X 1.3.27 (May 10, 1999): - DALnet doesn't follow the RFC, now need to remove RFC_COMPLIENT for the bot to correctly run on these networks (see configure). Patch by: poptix - Removed obsolete SIGUSR1/SIGUSR2 signal handling since Tcl 8.1's threads uses these signals. Patch by: Tothwolf - 2 possible, 1 confirmed crash in notes handling. Patch by: poptix - Added Tcl command encpass and put it in tcl-commands.doc Patch by: drummer - Fixed some strcmp's that should have been strcasecmp (botnet.c) Patch by: drummer - Fixed the stdarg.h/vararg.h problems with Tcl 8.1. Patch by: Tothwolf, Cybah - Updated .help adduser with the new static hostmask stuff from drummer. Patch by: Cybah - More RFC fixes, small Makefile.in change, typo in notes.c Patch by: Tothwolf - doc/nets.list file removed. more than 2/3 of those botnets didn't exist anymore. Patch by: arthur2 - '.su' .quit rejoined message was redundant. Found by: Hath / Patch by: arthur2 - Fix for bot sending back an error on some bogus dcc's even though quiet_reject was turned on. Patch by: Mixter - '.adduser !' will add nick using a static hostmask. - bugfixes to .deluser. Patch by: drummer - More spelling mistakes in cmds1.help. Patch by: Hath - Spelling mistakes in notes.help. Patch by: Hath - private-user now works much more effectively Patch by: slennox - Fixed overflow problems in masktype() and maskname() Patch by: Tothwolf - Small cleanup of allow_dk_cmds in flagrec_ok() Patch by: Tothwolf - Use dcc-portrange to check telnet src port also. no longer allows telnets from invalid ips (*.255,*.0) Patch by: dw - ctcp-mode 2 now uses flood-ctcp setting. there was a confusion between flood_thr and flud_thr in the src. Patch by: arthur2 - Adds wire module to eggdrop.conf.dist file. Patch by: Hath - Fixed 'read/write integer couplets' in tcl.c no more corrupted set var x:y read from the conf file now should global-flood-..setting for .+chan work, enjoy. Patch by: dw, vertex - Removed the obsolete dir Patch by: Cybah - 'make install' also installs src/mod/*.mod/*.lang language files. Patch by: arthur2 - Renames help/chaninfo in help/chaninfo.help. Patch by: arthur2 - channels.mod wasn't properly accounting for the memory it used. Found by: deadgrrrl / Patch by: arthur2 - Adds support for IRIX64 shells. Patch by: SuperS - '.+chan' now sets the new channel's flood-settings equal to the global-flood-settings in the bots config. set flood-settings to 0:0 to *deactivate* them (it no longer uses flood-ctcp and flood-msg as default). Patch by: arthur2 - Removed extern declaration of unused vars in /src/*.c Patch by: arthur2 - Minor lang fixes in all 3 lang files. Patch by: guppy - Sanity check in flood check settings. Patch by: Tothwolf - Small snprintf prob in misc.c Found by: various / Patch by: poptix - You should use my_memcpy, and not memcpy. Patch by: Q - Don't dereference functions. Patch by: Q - flush_mode() wrote in post[-1] if it was an empty string. Patch by: Q - Minor doc changes Found by: Hath / Patch by: guppy - Patch to avoid +s-p +p-s floods, and .status will now show "xx members" or "inactive" or "pending" Patch by: drummer - New Tcl variable: connect-server, the bot will call this just before it connects to a server. Patch by: drummer - Lagmeter support for IRCnet Patch by: drummer - Can now shutoff the annoying notes notify on join Patch by: drummer - getchanhost/nick2hand/hand2nick no longer require that you specify a channel to look on Patch by: drummer - Weren't fully RFC compliant, caused some crashes in certain circumstances, 107KB patch to fix everything, included some optimizations also. Found by: Tothwolf / Patch by: poptix - Perm owners can su to owners without a password Found by: poptix / Patch by: guppy - cmd_chnick can't be used to change perm owners anymore Found by: Michael / Patch by: guppy - tcl_pushmode should allow -l without an arg Found by: Mixter / Patch by: guppy - Added a few channels.mod functions to the function list Patch by: guppy - Made the bot regain its altnick Found by: dw / Patch by: guppy - Bot now watches NICK and QUIT messages .. to see if it should grab its original name. Patch by: guppy - stealth-telnets shouldn't be read-only, fixed. Patch by: Cybah - must-be-owner is now read only ... Patch by: guppy - Minor fixes to Makefile.in and src/Makefile Patch by: Tothwolf - blowfish "" fix, and added putdccraw Tcl command. Patch by: drummer - Cosmetic changes to net.c Patch by: Al3X - alltool's number_to_number had a small bug Found by: Daemus / Patch by: guppy - Typos in some of the doc files Patch by: guppy - english.lang, number 0x906 was screwy .. Found by: Bass / Patch by: guppy - Added stealth-telnets option to config, so the banner doesn't get displayed when people telnet the bot. Patch by: Cybah - Added +wasoptest channel setting, makes as if all +o users have +w flag on that particular channel. Patch by: arthur2 - Fixed buffer-overflow bugs on botinfo, status, etc... when bot was on a lot of channels. Patch by: Creative1 - Fixed EOF that didn't store console changes when a user left 'incorrectly' Found by: Plex / Patch by: Creative1 1.3.26 (March 30, 1999): - Added set quick-logs, if enabled flush logs every minute instead of every 5 and check log size to if enabled (read eggdrop.conf.dist) Patch by: dw - chanmode +l with no specified limit was buggy (stupid +l mode flood). Found by: TheUnknown / Patch by: arthur2 - max-logsize wasn't working 0 didn't disable it and it tried to write to the logfile after closing it and before moving it.. minimum max-logsize removed. Patch by: dw - testip in alltools.tcl didn't return 0 in every case when checking an invalid ip. Found by: MC_8 / Patch by: dw 1.3.25 (Mar 29, 1999): - Added max-logsize, allows you to set a maximum logfile size. Found by: Lobo^Loco / Patch by: poptix - Successful dcc/telnet logins are logged. Patch by: slennox - Added channel set example for +seen to eggdrop.conf.dist. Found by: \-\itman / Patch by: slennox - Adds core.german.language to /language. Use '.language core.german' to load it. Patch by: Michael, C_Olli - Added traces for net-type, so some variables don't get munged. Patch by: Daemus - Fix for msg_status bug where the bot is in many channels. Found by: Dude / Patch by: Cybah - Rewrote gotinvite, it now only accepts 1 invite per 30 secs to a channel, instead of per nick Patch by: guppy - Added something to the motd Patch by: Michael - Two typos fixed in irc.mod KICK comments ":I ". IGNORE_NAME and BAN_NAME should be used where needed. Patch by: Daemus - Fix for msg_hello, nick length has to be HANDLEN and not 9. Patch by: Daemus - '.help chaninfo' missed 'cycle' Found by: John`, ??? / Patch by: dw - Added a call to Tcl_PkgProvide() in src/tcl.c to register eggdrop in the package(n) list. Patch by: Tothwolf - Fixes crash if someone is stupid enough to killdcc their controlling idx/socket when we're trying to tell them it's closed (ie txt is ""). Updated tcl-commands.doc. Found by: drummer / Patch by: Cybah - Small fixes to a couple of sig-handlers that were displaying incorrect context info. Patch by: Cybah - Really for the dev-team... added contextnote() to aid bug-tracking. eg contextnote((string) ? string : "null"). Patch by: Cybah - Logs now say 'last message repeated n times' to help with the large log-file problem. Patch by: Cybah - Small share helpfile update. Patch by: Michael - deop for join flood was buggy. Found by: mho / Patch by: arthur2 - Better nick-flood protection. Tries to kick the actual nick, and not the old one, as nick chasing is not efficient after a few seconds. Patch by: Eule - '+bot *!login@hostmask #channel comment' crashed the bot. Found by: dw, Johnny / Patch by: dw, arthur2 - Fixed an old bug in tcl.c. Found by: Q / Patch by: guppy - Adds ctcp-mode 2: bot doesn't answer more than C CTCPs in S seconds. C/S are defined by set global-flood-ctcp C:S. Patch by: Eule, arthur2, dw - Fixes firewall bug. Default port of Sock4/5 firewalls is 1080 not 178. Patch by: drummer - +-cycle didn't work well. Bot parts the channel if it has op but hasn't got the chanlist. Patch by: drummer - Fixes a blowfish bug (.tcl encrypt/decrypt "" "exploit"). Patch by: drummer - Fixes the famous dcc bug, which permitted +x users to crash a filesys bot. Found by: drummer, slennox, Daemus / Patch by: drummer - Added tcl_duration and updated tcl-commands.doc. Patch by: guppy - /msg help lead to garbage in some cases. Found by: Dude / Patch by: dw - Add-ons to the chaninfo help file for +shared and need-*. Patch by: Michael - lemmingbot kick reason wasn't explicit enough. Found by: slennox / Patch by: arthur2 - need-* settings can only be set by perm owners if must-be-owner is set in the config. Found by: Michael, vod, toot / Patch by: guppy, Daemus - Fix for RFC1459 related problems. Improper use of strcasecmp/strncasecmp. Found by: Dagmar / Patch by: Dagmar, arthur2 - Fixed a .su bug, problem with NULL ptr. Found by: Dude / Patch by: guppy - Trailing spaces failed to match with .-unstick/.-ban. Found by: Lobo^Loco / Patch by: Crotale - Added msg_save. Patch by: guppy - Beldin forgot to add $server-online and [botlist] to tcl-commands.doc I think, added them now. Patch by: guppy - Added tcl_islinked (no more lsearch'ng [bots]). Patch by: guppy - msg_rehash saves the userfile now. Found by: toot / Patch by: guppy - userinfo1.0.tcl had some probs with {}[]. Found by: John` / Patch by: guppy - tcl_die exits properly now, (ie: saves userfile). Patch by: guppy - Added dcc-portrange 1024:65535. Patch by: guppy, dw - README should use ftp.scriptics.com not sunlabs.com Patch by: guppy - Added .backup since there is a [backup] cmd. Found by: KuNgFo0 / Patch by: guppy - Added .uptime to core.help (forgot in my patch). Patch by: guppy - dcc.c was using 'buf' instead of 'dcc[idx].host' in some places, so you didn't get the incoming host. Patch by: guppy - dcc.c now ignores source ports lowers than 1024. Found by: toot / Patch by: guppy - Bot didn't compile on BSD/OS with old 2.7 gcc. Found by: John` / Patch by: arthur2 - If strict-host off, quickban will replace first login letter by a * (except if it's a 1 letter login). (strict-host on doesn't put this *). Found by: toot / Patch by: arthur2 - Added [botisvoice ]. Found by: KuNgFo0 / Patch by: guppy - Fixes an annoying .su bug from 1.3.15. Found by: guppy / Patch by: Segfault, guppy - net-type 2 now has a kick-method of 1. Found by: mho / Patch by: guppy - must_be_owner now works into server module. It applies now to .dump command. Patch by: arthur2, dw - Silence bug must be fixed. Found by: Dude / Patch by: arthur2 - Bot kicks exempted banned users when coming back from a split. Found by: herz / Patch by: arthur2 - Fixes the net-type problems. Found by: toot / Patch by: arthur2 - Fixed a typo 'begining' -> 'beginning'. Patch by: Bass - Fixed +w flag addition Patch by: CHaiNeSS - Adds the Tcl var ctcp-mode to the ctcp module. Set it to "paranoid" to make the bot answers only to CTCP PING & CTCP CHAT requested by +o flag users. All others CTCP will be ignored. Patch by: arthur2, Crotale - Only asks for +e/+I modes when net-type is set to 1. Found by: Dude / Patch by: Daemus - Fixes the .deluser bug. isowner wasn't defined in global_table array (modules.c). Found by: toot / Patch by: Daemus - Bot crashed receiving a +k server mode with no specified key. Found by: John` / Patch by: CHaiNeSS - Bot crashed receiving a +l server mode with no specified limit. Found by: John` / Patch by: CHaiNeSS 1.3.24 (March 5, 1999): # 1.3.24i -- First eggheads.org release - Adds a ban-fun flag. Patch by: arthur2 - Adds a ban-bogus flag. Patch by: vod - Fixes a problem in #define CLIENTINFO, in CTCP module. Patch by: Tothwolf - Most EFnet servers only allow 4 kicks per command. This may change to 1 for most servers when they upgrade to hybrid 6.0. net_type = 0 now sets kick-method to 1. Found by: Shayne / Patch by: arthur2 - Adds a Tcl variable: net-type. 0 = EFnet, 1 = IRCnet, 2 = Undernet, 3 = DALnet, 4 = other networks. Found by: Daemus / Patch by: arthur2, Daemus - Adds core.french.language to /language. Use '.language core.french' to load it. Patch by: TiTi, arthur2 - Reorganization of the eggdrop.conf.dist SERVER and IRC module sections. Patch by: arthur2 - In cmds1.help, %{+B} should be %{+t}, since +B is no longer the flag for botnet masters. Patch by: Dude - Added two new Tcl commands, "stick" and "unstick" Found by: slennox / Patch by: guppy - .fwd user user doesn't work anymore, must supply a botname. Found by: deadgrrrl / Patch by: guppy - action.fix.tcl didn't like quotes in the text. Found by: paralyse / Patch by: guppy - If set ban-time 0, bot never removes bans. Patch by: arthur2 - Updates some of the doc files (CONTENTS and so on). Patch by: arthur2 - Adds resetexempts and resetinvites Tcl functions. Patch by: arthur2 - Fixed the jupe nickname bug crashing the bot :) Patch by: guppy - Bug in bogus key checking, would only kick the bot. Patch by: guppy - dcc chat/send's must use a port between 1024 and 65535. Patch by: guppy - Fixes a bug that caused the bot to loose track of its own nickname. Patch by: guppy - +stopnethack won't massdeop regular ops after long splits (unless they have +w user flag - see below). Patch by: arthur2 - Adds support for +/- e and I modes. Patch by: Daemus - Bot won't try to add more than max-bans bans, max-exempts +e modes, max-invites +I modes on a channel. Patch by: arthur2 - Bot won't try to add more than max-modes +b/+e/+I modes on a channel (global limit for a channel). Patch by: arthur2 - Adds a bounce-modes flag to bounce +/- i p s m t n a q l k server modes. Is also stricter with +b +e +I server mode bounces. Patch by: arthur2 - Adds a bounce-exempts flag to bounce +e server modes. Patch by: arthur2 - Adds a bounce-invites flag to bounce +I server modes. Patch by: arthur2 - Adds a kick-fun flag to avoid "that was fun, let's do it again!" kickflood. Patch by: arthur2 - Adds an isexempted function. Patch by: Crotale - kick_all won't kick +e users anymore. Patch by: Crotale - got_ban won't deban +e users anymore. Patch by: Crotale - Bot was really confused if it joins channel while trying to regain its nick. Patch by: Niggurath - |o should be able to voice, as they are allowed to op Patch by: TheUnknown - There was a missing |m check in protectops procedure Patch by: TheUnknown - Adds a new user flag: +w (wasop-needed flag) If a user is +w, then +stopnethack procedure will do a wasop test (for "untrusted" spoofable hostmasks). If a user isn't +w, then +stopnethack procedure won't do this wasop test, but an isop test (for "safe" static hosts). Found by: Lobo^Loco / Patch by: arthur2 - Fixes /msg voice [channel]. Patch by: guppy - Adds .uptime. Patch by: guppy - Adds [isbansticky [channel]]. Patch by: guppy - Makes /msg status/memory/reset require a password. Patch by: guppy - Allows /msg die [message] to have a kill message. Patch by: guppy - Doesn't allow +n people to remove permanent owners via .-user/.deluser. Patch by: guppy - Adds botonchan . Patch by: guppy - Adds putquick . Patch by: guppy - Makes I'm on too many channels show the channel it can't join. Patch by: guppy - Fixes the +i/l/b/k console warnings for a channel, shows the channel name. Patch by: guppy - Fixes '.die' from sending QUIT : to the partyline if the bot didn't have a server. Patch by: guppy - '.+ban' will now show if you try to add bans to non-existant channels. Patch by: guppy - '.+ban' will now show if you don't have access to add the ban on the chan. Patch by: guppy - chanset/chaninfo were missing '\n' (someone on the list found these). Found by: ??? / Patch by: guppy - botinfo now returns your bots uptime. Patch by: guppy - '.whom *' can be used if your chat is off (suggested by dw@undernet). Patch by: guppy - '.simul' cannot be used to simul other permanent owners now. Patch by: guppy - Adds a new config option, must-be-owner, if set, only permanent owners will be able to use .tcl/.set. Patch by: guppy - Adds a 'set must-be-owner 0' option to eggdrop.conf.dist. Patch by: guppy - Fixes a typo in share.mod/share.c (line 592). Found by: Bass / Patch by: guppy - maskhost() now replaces '~' '+' and '-' (in username) by '?'. quickban() doesn't replace the first letter of the username by a '*' anymore. This was a problem when quickbanning nick!s@host for instance, resulting in +b *!*@host. Now it results in +b *!?@host. Patch by: Crotale - Fixes a bug in proxy_connect(), in net.c. Bot crashed when establishing a connection through a proxy with a numeric IP address. Patch by: Beige - Botnet away-msg now goes to the correct channel Patch by: Niggurath - Modifies Eggdrop to support +shared on dynamic channels. Patch by: Tothwolf - Prevents SEGFAULT when Eggdrop attempts to commit a long filename to the bots .filedb. Aborts the file move from temp to incoming and filename commit. NOTE, the file remains in temp where it can be retrieved. Patch by: Whicked - Adds the following Tcl commands: chanexempts, chaninvites, ischanexempt and ischaninvite. Found by: Daemus / Patch by: arthur2 - Fixes old typos in eggdrop.conf.dist. allow-desync and not allow_desync, check-mode-r and not handle-mode_r. Patch by: arthur2 - Adds some missing entries in help. But there is a lot more to do. Patch by: arthur2 - Adds exempt-time and invite-time to the config file. Patch by: arthur2 1.3.23 (January 2, 1999): - Sanity checking now optionally performed on DCC connections to prevent spoofing foolishness. Found by: Nobody / Patch by: Dagmar - BSDI 4.0 configure broken Patch by: Beldin - .unload wire didn't clean up the dcc bindings Found by: EraseMe / Patch by: Beldin - More HP-UX fixes Patch by: Kirk - Lang'd a string in .info Patch by: smok - msg info would add info for non-existant channels. Found by: TheUnknown / Patch by: smok - Simple Quoting of silly channel names in channel files implemented. Patch by: vod, capster - eggdrop.conf additions Patch by: arthur2 - Add a call to Tcl_DoOneEvent() in src/main.c needed for socket(n) and some other Tcl commands. Patch by: Tothwolf - chan.c was missing a '\n' in a dprintf. Patch by: Tothwolf - Added a 5th element returned from Tcl dcclist function giving additional (e.g. script) information. Found by: Tothwolf / Patch by: ButchBub - chan.c was missing another '\n' concerning +k support Patch by: guppy - If the bot gets the nickname already in use message, and it's already on-line - don't bother changing nicks Patch by: guppy - notes2.tcl fixes: idx mistakes for multiple connected users. Found by: Chriphil / Patch by: MHT - Added userlist (bubble) sorting when saving, ordered userlist by bots +h/+a/+l/others, then users +n/+m/+o/others alphabetically. now '.match *' is more readable ! Patch by: MHT - Someone puked write_userfile with unfinished "quick" code. It's commented out now. Found by: Tothwolf / Patch by: ButchBub - Implemented a config file option (sort-users) to determine whether the user wants their userlist to be bubble sorted when they save it Patch by: Tothwolf, Kirk - Removed the quick parameter to the write_userfile function and made the fekker just sort the list every save, that is if the user has specified they want to do this in the config file. A simple bubble sort shouldn't consume that much CPU time Patch by: Tothwolf, Kirk 1.3.22 (October 24, 1998): - Grab new version number from src/main.c Found by: Butthead / Patch by: Beldin - .echo settings were being set off on return from relay Found by: Butthead / Patch by: Beldin - chon calls for notes was still slightly broken Found by: Butthead / Patch by: Beldin - tcl_jump's QUIT message was dangerous Patch by: Mixter - '.deluser' was using u after it was deleted. Found by: poptix / Patch by: Beldin - flood-chan & flood-ctcp for a channel use global on 0:0 and are turned off on 0:1 Found by: various / Patch by: Beldin - HP-UX fixes Patch by: Kirk - Fixed problem where bot crashed when taking revenge Found by: toot / Patch by: Kirk - Made alarm timeouts for hostname/addy lookup actually work rather than hang the bot. New Tcl var resolve-timeout allows setting this. Patch by: Butthead - More lang files Patch by: Skorpion - Quickbans really need a * in case of ~'s etc Found by: Daklop / Patch by: Beldin - It was possible to create arbritary directories anywhere on the shell with the filesys Found by: |SKY| / Patch by: Beldin - Getting files linked to the current bot cause SEGV case Found by: |SKY| / Patch by: Beldin - botinfo response now includes bot uptime Found by: Q / Patch by: Beldin 1.3.21 (September 30, 1998): - Hmm, console needs check_tcl_chjn, it ain't exported. Found by: toot / Patch by: Beldin - Ban time limit added to +ban Found by: arthur2 / Patch by: Q, Solal - Crash on channel join with no-chanrec-info on Found by: ScottDrake / Patch by: Beldin - Better +m/+f checking & +dontkickops flag Patch by: arthur2 - kick-bogus flag Patch by: arthur2 - The notes SEGV was due to the away sock # change Found by: Dagmar / Patch by: Beldin - +stopnethack works decently now, any *valid* pre-split op is allowed *ALL* other ops are de-opped. Patch by: ButchBub, Beldin - Update idle-time on a mode change Patch by: ButchBub, Beldin - chon bindings that used killdcc were sending an unwanted part message Patch by: ButchBub, Beldin - get / SEGV'n in file sys (legcay of the cmd_chdir fixes) Found by: Brian T. / Patch by: Beldin - '.unload filesys' + '.files' caused SEGV Found by: Michael / Patch by: Beldin - TRACE is being used for detect added use-ison variable to use ISON if requried Found by: poptix / Patch by: Beldin - It was possible for global +o's to set global bans (should be +m only) Found by: Mr_Jode / Patch by: Beldin - valididx wasn't returning sane results Found by: Tothwolf / Patch by: Beldin - Don't overwrite scripts dir Patch by: Tothwolf - Calling the nick binding later in gotnick makes life easier Found by: Tothwolf / Patch by: Beldin - .resetbans SEGV on invalid console channel Patch by: vod - take_revenge needed to update a channel members user entry otherwise many extra bad users could be created. Found by: TheUnknown / Patch by: Beldin 1.3.20 (September 21, 1998): - '.-host' was possible on other users by anyone (yet another case of some idiot reporting the bug 6 hours after the release of a new version, when it's been in for several version, VERY intelligent) Found by: data / Patch by: Beldin - Compiler warning in dcc.c Patch by: Dagmar - Console module was failing to notify locally with chjn bind Found by: Benny / Patch by: Beldin - Added no-chanrec-info for those lamers who can't get the no chanrec/no info display concept Patch by: Beldin - Away binding was giving wrong idx Found by: Benny / Patch by: Beldin 1.3.19 (August 28, 1998): - Whoops, typo in cmd_chdir Patch by: Q - Me & my bloody maskhost typos Patch by: Beldin - Tweaking of sharebot host/chattr/-user handling Found by: Q / Patch by: Beldin - .deluser was deleting nick, not handle Patch by: vod - .status was missing online time Found by: QuakeMstr / Patch by: vod - Tcl8.1 fixes Patch by: vod - Seen module unload was causing SEGV on irc module reload Found by: [secret] / Patch by: Raistlin - server.c wasn't adding all the RAW binds Patch by: SuperS - private-global flags Patch by: Adam Spiers - bye messages on botnet now reported Patch by: Beldin 1.3.18 (July 19, 1998): - Added set private-globals to share module Patch by: Adze - Fix for silly programmers who forget details in mode handling Patch by: smok - +ban could be used to crash the bot in certain circumstances Found by: Toon / Patch by: Kirk - The +ignore command could lock the bot into a nasty loop Patch by: Kirk - '.console' could be used to get chan+m only flags if user had +m on another chan. Found by: Flattie / Patch by: Beldin - adduser /msg addhost command, and unbound /msg indent by default Patch by: ButchBub, Beldin - Buffer overflow in cmd_setstick Found by: Hunger / Patch by: Beldin - Whoops, when you fix something (-ignore), you should really fix it. Patch by: Beldin - Buffer overflows in botnet version handling, +ignore, .note, .+ban, .-ban(similar to .-ignore bug), HOSTNAME, .jump, & mkdir (to some degree) Found by: PaulBoehm / Patch by: Beldin - ctcp_reply had an obscure SEGV case Found by: fasticus / Patch by: Beldin - allow-desync variable added. Patch by: smok - Better looking for Tcl libraries added to configure Patch by: smok 1.3.17 (July 7, 1998): - Potential error with tld's in new maskhost Patch by: smok - private_owner was not being handled in finish_share Found by: smok / Patch by: Beldin - notes2.tcl fixes Patch by: MHT - Refinement of maskhost to deal with that nasty 4 component hosts Found by: Daklop / Patch by: Beldin - Extremely small fixes to userinfo1.0.tcl Patch by: Kirk - args for mode bind tabe seperate mode change from victim Found by: ButchBub / Patch by: Beldin - gamespak wants me_op exported from irc.mod Found by: ButchBub / Patch by: Beldin - '.channel' differentiates global vs channel flags Patch by: ButchBub - Ban cleanup code was unbanning & rebanning existing bans Patch by: Beldin 1.3.16 (June 15, 1998): - +m's can .deluser +n's (actually the fix is much shorter, add an else I forgot - Beldin :) Found by: various / Patch by: Segfault - Adds a KEY msg command to get the key for +k channels and a variable that let's it auto invite if the same channel is +i Patch by: GoodGuy - Added ability for using '*' as the channel in INVITE msg command to invite person to all +i channels that they have access to and the bot is on Patch by: GoodGuy - Respect CFLAGS in configure Patch by: smok - Clear a few ptrs in net.c (much better patch ;) Patch by: smok - Finally got around to fixing -ignore Found by: MANY / Patch by: Beldin - filesys.help typo Patch by: wylie - Only ban 1st ban on banlist of a joiner Found by: plan9 / Patch by: Beldin - Rewrote maskhost to make it a little saner Found by: smok / Patch by: Beldin 1.3.15 (May 30, 1998): - Global flags were being nuked for bots/unshared users under private-global = 1 Found by: TheUnknown / Patch by: Beldin - newuser flag adding was reversed Patch by: Daklop - Notes module showing change of notes on case change. Found by: Daklop / Patch by: Beldin - Slight error in flush_mode Patch by: Beldin - newuser wasn't being share-relayed correclty Found by: Daklop / Patch by: Beldin - Bots should not accept links for bots > HANDLEN, it's bogus Patch by: Beldin - getuser botfl returning no flags at all times Found by: [Eazy|E] / Patch by: Beldin - Some cosmetic fixes Patch by: poptix - Added telnet-flood to config file Patch by: NC - Add channel arg to .invite Patch by: NC - Shared no-perm/no-sticky bans were missing an arg Patch by: NC - botname is better than origbotname for whoto /msg to (Beldin: I moved botname back to the core, notes & filesys shouldn't NEED server) Patch by: NC - Added requested default kickban message Patch by: NC - .channel command wasn't showing actual channel Patch by: NC - Improved tcl-commands 'notes', added 'erasenotes' and 'listnotes'. provided script notes2.tcl as example. Patch by: MHT 1.3.14 (May 3, 1998): - net.c warning Patch by: Beldin - private_global wasn't handling userfile downloads right, or +bot Patch by: Beldin - Fix to sharing global info Patch by: NC - Cosmetic-bug in smart-notes: display "You have no message" twice. Found by: islandic / Patch by: MHT - Enforce channel modes the *efficient* way upon setting Patch by: Beldin - Bots were sending incorrect 'thisbot' messages to 1.3.x's Found by: mrbond / Patch by: Beldin - Ban fixes Patch by: Ernst - Flushing of overlapping enforced bans (to keep some EFnet servers happy) Found by: Daklop / Patch by: Beldin - if cx_ptr got overwritten by a buffer overflow & the bot crashed -> egaged CPU munch mode & partition fill mode Patch by: Beldin 1.3.13 (April 15, 1998): - '.botattr' SEGV Found by: Ernst / Patch by: Beldin - /msg hello binds should be in a different place in config Patch by: easton - '.help whois' clarity fixes Patch by: easton - easton likes 4 characet indents in status Patch by: easton - Made assocs use zapf's the whole way (no broadcast), so isolate will work for them too Patch by: Beldin - Allow 2 bots in same directory to received userfile shares Patch by: NC - Added a new bot flag 'g' for sharing of all channels Patch by: NC - botattr should get logged well Patch by: NC - chattr with no changes won't ** poof ** as if the user was given all its flags from nothing Patch by: NC - It is now possible to share with alternate hubs Patch by: NC - One could get botnet traffic and share traffic even though debug_output was set to 0 Patch by: NC - Botnet trace returns at result at each passing bot, indicating lag by link. Patch by: Beldin - .deluser was letting non +n's delete +n's (extra !) Found by: various / Patch by: Beldin - GO should not be sent to self Patch by: vod - Incoming shared chanrec were not being handled correctly Found by: NC / Patch by: Beldin - Incoming chattr's where not being checked for owner changes Found by: NC / Patch by: Beldin - Telnet ignore facility Patch by: NC - Made couplet-variable support generic to support telnet ignore Patch by: Beldin - Added a +seen channel setting Patch by: Daklop - Probably solution to ident timeouts causing SEGV's Found by: Daklop / Patch by: Beldin - Implemented smart read and erase notes Patch by: MHT 1.3.12 (March 20, 1998): - Socks firewall fixes Patch by: Mloe - Display of invalid nick char was wrong Found by: Absinthe / Patch by: easton - Bots was checking nickname for bogus username Found by: Giga / Patch by: Beldin - Botflag +i added, isolates the party line across a botlink (i.e. bota<->botb will not transfer partyline info between them, all else (share/botlink/unlink/notes) still pass) Patch by: Daklop, Beldin - Relayed chinfo's were losing the channel Found by: Tori / Patch by: Beldin - Lets make botattr only work on un-direct-linked bots, fixing several nasty cases Found by: Daklop / Patch by: Beldin - '.chinfo' fixes Patch by: easton - Bot was still accepting assocs for chans > GLOBAL_CHANS Found by: wylie / Patch by: Beldin - Away note respone missing nick Found by: wylie / Patch by: Beldin - More "SENTKICK" checks before kicking, to avoid sending the same kick more than once (making the bot flood off) Patch by: Ernst - Support for mass-kicks for irc networks that allows it (see "kick-method" in eggdrop.conf.dist file) Patch by: Ernst - On "Avalanche" floods, don't kick masters/friends Patch by: Ernst - Use text from language-file on "that was fun..." kick Patch by: Ernst - Calling of need-op right after being deopped Patch by: Ernst - Fixed make trying to install in "OME/eggdrop" Patch by: Ernst - SHELL variable added in Makefile.in Patch by: Ernst - Included "weedfix" patch fixes some bugs in weed script Patch by: Ernst 1.3.11 (February 25, 1998): - newsplit() doesn't need to set what's 0 to 0 (this is what was really causeing the no-args botnet crash, only join actually didn't handle no args correctly) Found by: easton / Patch by: Beldin - '.+chrec' was check existing chanrec vs setter not setee Patch by: Beldin - laston times were not accurately documented Found by: Ernst / Patch by: Beldin - Shouldn't be able to su to users without partyline access (unless an owner ;) Found by: wheely / Patch by: Beldin - Remote boots were totally disabled on a setting of 1 Patch by: Absinthe - chof binding called whilst relaying had an invalid idx Found by: wheely / Patch by: Beldin - getparty in bot_part should check vs -1 not 0 Patch by: vod - setuser * HOSTS wasn't sharing Found by: Ernst / Patch by: Beldin - tcl_setchan was broadcast parts from channels > GLOBALCHANS Found by: wheely / Patch by: Beldin - Console flags for a user were'nt being unset on certain .su's Found by: vod / Patch by: Beldin - Shared channel-changes immediately after a shared newuser were being ignored Patch by: Beldin 1.3.10 (February 11, 1998): - Userfile writing error neaten Patch by: easton - chanlist wasn't returning non-userlisted people on -ve mtchs Found by: Ernst / Patch by: Beldin - %{cols=} settings which didn't fill a line were lost, (Beldin: "I modded this slightly so you can still have tags after %{end}") Patch by: Kirk - +/-host for +t's with chan +m wasn't allowing them to change non-bots Found by: WauloK / Patch by: Beldin - time binding args were not formatting properly Found by: Ernst / Patch by: Beldin - Added check to remove redundant channel entries from userfiles, (where are they actually coming from???) Found by: Xtoper / Patch by: Beldin - .module was still being logged as modulestat Patch by: easton - Default install dir is better as $HOME/eggdrop than /usr/local Found by: numerous / Patch by: Beldin - Some makes have both EBADSLT & ENOTCONN Patch by: B. Jamison - Couple of fixes to voicing code Patch by: Dagmar - Receiving an unlink for a non-linked bot would crash the bot Found by: fasticus / Patch by: Beldin - Added checks for Tcl 8.1 in the configure file, removed 7.4 (does anyone use it anymore) Found by: Blacky / Patch by: Beldin - Fixed the silly mistakes in manually applying the patch Patch by: ??? (unknown HP-UX guy) 1.3.9 (January 25, 1998): - xtra_tcl_set typo Patch by: deadgrrrl - Lets fix chanfile = "" properly Found by: Q / Patch by: Beldin - '.chaddr' allowed too-long addresses Patch by: Beldin - Buffer overflow in start_sending_users with long entires Patch by: Beldin - setuser laston global time setting Found by: Thomas / Patch by: Beldin - console.mod stored local channels still got broadcast join Found by: Daklop / Patch by: Beldin - Config file name made avaliable to scripts Patch by: aaronwl - Setting sticky bans using * as the first character of the comment has been tarted up a bit Found by: KingKurly / Patch by: Kirk - Mapping of listening ports has been changed, to stop the problem with Eggdrop grabbing more ports when rehashing when it couldn't get the specified listening port Patch by: Kirk - Learn to delete from link lists kirk :P Patch by: Beldin - Revenge wasn't setting the channel deop flag correctly on users who weren't in the userlist (do it properly) Patch by: Kirk, Beldin - Added .modules command for report module listings Patch by: Beldin - Made the chon binding require a return value (0 = cont, 1 = stop handling) Found by: tdmarti / Patch by: Beldin - Also made chon handlers verify they are using DCC_CHAT's Found by: tdmarti / Patch by: Beldin - Part messages were still being passed on for unkown users Found by: tdmarti / Patch by: Beldin - HP-UX module support (does it even work?) Patch by: ??? (unknown HP-UX guy) 1.3.8 (December 31, 1997): - Kicks were not being logged all the time Patch by: Beldin - '.-host' on yourself still got checked for permissions Patch by: Beldin - SEGV on +ban from a sharebot Found by: Daklop / Patch by: Beldin - A bit more info on revenge taking helps sometimes Found by: Daklop / Patch by: Beldin - extern CR when switching notes Found by: Q / Patch by: Kirk - Sillyness in filedb.c Found by: Toblerone / Patch by: Kirk - Beldin console still not saving correctly (masktype changed) Found by: Melvan / Patch by: Daklop - Seen module getxtra was looking up null user Found by: ??? / Patch by: Beldin - xtra lines now have a 500 byte limit per key/data combo Found by: ??? / Patch by: Beldin - /msg go infinite loop Patch by: Rufus 1.3.7 (Dec 1997): - pub & pubm messages were being passed n!u@h not u@h Found by: Toblerone / Patch by: Kirk - +/-cycle added Found by: Ernst / Patch by: Kirk - lastons were back-the-front Found by: Daklop / Patch by: Beldin - buildstatic failure to execute bug Patch by: Ernst - Glad I didn't release 1.3.6 public (no sharing at all :/) Found by: Daklop / Patch by: Beldin - Channels should default to +cycle, and +/-cycle should only effect cycling Found by: TheGhost / Patch by: Beldin - .su fix Patch by: Kirk 1.3.6 (Dec 1997): [patch released for testing only] - tcl_addbot was still using old bot address storage method Found by: tdmarti / Patch by: Beldin - botaddr_tcl_set wasn't handling empty bot address info well Found by: tdmarti / Patch by: Beldin - Sped up language idx lookup a little Patch by: Beldin - Failed '.su' wasn't changing back the .nick of dcc_ Found by: tdmarti / Patch by: Beldin - Checks if bot is opped before sending some kicks/bans Patch by: aXs - General cleanup of tclusers.c while I was in there Patch by: Beldin - '.match +' will tell you that now :P Found by: ButchBub / Patch by: Beldin - filedb's were not being updated correctly when files were dcc sent, this was do to module version # mismatches, several other cases of this found & fixed Found by: deadgrrrl / Patch by: Beldin - New getops-2.0 Patch by: DarkDruid - tcl_setchan wasn't broadcasting a part for localbot chans Found by: wheely / Patch by: Beldin - dcc & pub binds were triggering always with udef flags Found by: easton / Patch by: Beldin - /msg whois AKA was giving wrong user Found by: Q / Patch by: Beldin - setuser botaddr & botfl could be used on users Found by: tdmarti? / Patch by: Beldin - Fixed halfway broken support for + channels on DALnet this breaks several commands which will be fixed, and the bot also needs to know that the channel may be modeless Found by: Warmage / Patch by: Raistlin - Irc module report chopped off some channels. Found by: Daklop / Patch by: Beldin - Sharing of channel info make sharebots go bewm Found by: Daklop / Patch by: Beldin - laston should be copied from current data during a userfile download Patch by: Daklop, Beldin - Support for private-global, private-user sharebot variable Patch by: Daklop, Beldin - Unshared userents were still being set/processed in the userfile Found by: Daklop / Patch by: Beldin 1.3.5 (Dec 1, 1997): - Remote boots were working Found by: mrbond / Patch by: Beldin - GLOBAL_CHANS was defined wrong in tandem.h Found by: Melvan / Patch by: Beldin - Default .fwd binding was wrong Found by: C. Massam / Patch by: Beldin - Finally the dissapearing channel bans are fixed Patch by: dk - Kicked ops were not being revenged Found by: ButchBub / Patch by: Beldin - Lets get make install right Found by: ButchBub / Patch by: Beldin - '.ignores' are check before even ident lookup occurs Patch by: ButchBub - getuser LASTON #channel was sick (wrong arg) Found by: GSCEGO / Patch by: Beldin - .bottree bizzarely broken Patch by: Beldin - An enforced mode of -l was being interpreted as -p Patch by: Kirk - Automation of adding a language file for modules Patch by: Kirk - wire.mod loads it's own .lang file Patch by: Kirk - filesys.mod has it's own .lang file (moved out of core) Patch by: Kirk - Added install entries for installing .lang files Patch by: Kirk - /msg whois response was incorrectly showing o/b/m Found by: Prime / Patch by: Beldin - All channels were being set static on startup Patch by: Beldin - 'private-owner's could have their other flags changed. Found by: Daklop / Patch by: Beldin - post-identd ignores check was broken Patch by: ButchBub - '.simul' was reporting incorrect user Patch by: ButchBub - Lets just merge in -DEBUG, it'll help debugging errors Found by: ButchBub / Patch by: Beldin - nkch binding was being called as link binding Found by: BoGuS / Patch by: Beldin - Remote motds now show relevant highlighting Patch by: Beldin - You gotta worry about someone who stops 1/2 through modifying a function (enforced chanmodes) Found by: Scuzzi / Patch by: Beldin 1.3.4 (November 24, 1997): - make install messup Patch by: Darkfox - Revenge added extra *! Patch by: aXs - Messed up the protect modes Found by: wheely / Patch by: Beldin - Stuff to fix the borg [NeXT] Patch by: dk - Better cp handling Patch by: dk - '.match' was skipping rather than limiting Found by: Q / Patch by: Beldin - '.+host' on a user not on both bots SEGV'd the bot without the user. Found by: Daklop / Patch by: Beldin - Unshared users getting duplicate chanrecs Found by: Daklop / Patch by: Beldin - getuser laston fr0ke with new channel arg Found by: ?DOH? ??? / Patch by: Beldin - Netsplits were not being detected Patch by: Beldin - '.help' was getting confused with extra spaces Found by: LSC / Patch by: Beldin 1.3.3 (November 17, 1997): - cmd_chattr wasn't calling check_dcc_*attr *scmack* Patch by: Beldin - Buffer overflow in tell_who, cmd_banner Patch by: Beldin - Doc updates..makefile tweaks.. Found by: various / Patch by: various - Problems with setting enforced keys/limits Found by: Daklop / Patch by: Beldin - Ignores expiring + use-silence == BEWM Found by: jman / Patch by: Beldin - I forgot to write hosts_tcl_get/set Found by: wheely / Patch by: Beldin - oldbotnet pass on off away messages was chat not chan Found by: wheely / Patch by: Beldin - Where did tcl_jump go? Found by: TheGhost / Patch by: Beldin - '-DBORGCUBE' added Patch by: dk - get/setuser LASTON now manipulates channel settings too Found by: ??? / Patch by: Beldin - listen script broken Found by: Daniel / Patch by: Beldin - console.mod messup... Found by: MULTITUDE / Patch by: Beldin - Unshared channel flags were being copied over Found by: Daklop / Patch by: Beldin - notify-users added to notes module, turns on/off hourly notes waiting Found by: various / Patch by: Beldin 1.3.2 (November 12, 1997): - compat.so removed from eggdrop.conf Patch by: Kirk - FreeBSD uses SA_RESETHAND Found by: ButchBub / Patch by: Beldin - Various help file tweakes wrt userinfo1.0.tcl Patch by: Beldin - .stick with long host buffer overflowed Patch by: Beldin - tcl_getuser/setuser were not silently ignore user * Found by: TheGhost / Patch by: Beldin - Whoops, didn't need +x to get into file area Found by: Kirk / Patch by: Beldin - Added klined.tcl Patch by: Kirk - Quite a few typos Patch by: Kirk - Some channel flags were not being updated on userfile download Found by: Daklop / Patch by: Beldin - share-greet = 0 bot's wont send chan info lines on uf send Patch by: Beldin - share-greet = 0 bot's will use old info lines on uf recv. Patch by: Beldin - Global udef flags not shared Found by: Daklop / Patch by: Beldin - '.chattr' no longer sets a chanrec for unless | is used Found by: MANYIDJITS / Patch by: Beldin - English fix Found by: David / Patch by: Beldin - Higher default server-cycle-wait will make for less irate IRCOps :) Found by: plan9 / Patch by: Beldin 1.3.1 (November 10, 1997): # 1.3.0+bel1 - The omigod how did I don't believe i forgot that patch - Some machines don't have SA_ONESHOT, DOH :/ Found by: David / Patch by: Beldin - eggdrop.conf.dist still mentioned putegg Patch by: Beldin - userinfo1.0.tcl + Tcl 8.0 didn't load correctly Patch by: Beldin - Filesys get with nick > HANDLEN got truncated Patch by: Beldin - Fixed weed c option to handle extra info Patch by: Ec|ipse 1.3.0 (November 9, 1997): Let's do it - Added some more stuff msg status Patch by: TheGhost - Cosmetic changes to dcc status Patch by: TheGhost - The Kewl new default motd Patch by: KingKurly, TheGhost - Fixed tcl-commands.doc Found by: |mmortal / Patch by: TheGhost - Made configure fail if the system doesn't support ANSI headers. Patch by: TheGhost - Something small in the config file, can't remember what Patch by: KingKurly - Bunch of minute junk in docs, i decided to polish them up for the eventual release of 1.3.0 Patch by: KingKurly - Spelling errors in english.lang and blowfish Patch by: KingKurly - Fixes for the move of text/ Patch by: Beldin - Added .voice .devoice Patch by: TheGhost - Help files to reflect the above change Patch by: TheGhost - console.so memory leak, console_pack wasn't freeing old mem Patch by: Beldin - Shouldn't erase core hooks during .restart Patch by: Beldin - tcl_rehash from within a proc was being bizzare, moved rehash handling out to the main loop Patch by: Beldin - Bands of the form 6!*@* cause *major* headstress with share Found by: BoGuS / Patch by: Beldin - Bowed to pressure like the llama I am, chattr nick +o #channel now works the old way Patch by: Beldin - Anybody could use console +th, +/- in .console was fr0ke Found by: BoGuS / Patch by: Beldin - tcl_newchanban was doing wrong comment, 'none' wasn't a valid newban option Found by: |mmortal / Patch by: Beldin - Updated userinfo1.0 and moved email into it Patch by: Beldin - Move dcc chat handling where it should be Patch by: Beldin - SIGSEGV's & SIGBUS's now dump core in -DEBUG mode Patch by: Beldin - '.-host' on a user with no hosts SEGV'd Patch by: Beldin eggdrop1.6.21/doc/FIRST-SCRIPT0000664000076600007660000000752411525764164015141 0ustar simplesimple$Id: FIRST-SCRIPT,v 1.10 2011/02/13 14:19:32 simple Exp $ Your First Eggdrop Script Last revised: December 07, 2003 _____________________________________________________________________ Your First Eggdrop Script So you want to write an Eggdrop script, but you don't really know where to begin. This file will give you a very basic idea about what Eggdrop scripting is like. There are far too many topics to be covered all at once, but this may help you get started with your own scripts. This guide assumes you know a bit about Eggdrops and IRC. You should have already installed Eggdrop. The bot should not be on any important or busy channels (development bots can be annoying if your script has bugs). If you plan on doing a lot of development, enable the .tcl and .set commands, and make sure nobody else has access to your bot. The .tcl and .set commands are helpful in debugging and testing your code. First, read through the script. You may be unfamiliar with some of the commands, especially if you haven't at least browsed through tcl-commands.doc. You may find it helpful to open up tcl-commands.doc in another window so that you can immediately look up commands you don't know. Then, open up another window and copy the script into its own file. If you have the .tcl command enabled, you can type '.tcl source scripts/file.tcl' to load it. Otherwise, add it to your config file like normal and '.rehash' or '.restart' your bot. From your own IRC client, join the bot's channel and type some lines that start with "hello". Example: hello I love you won't you tell me your name After your thrill abates, try playing around with your copy of the script. Get it to change the text it says, make it send notices instead of messages. Try changing the names of some variables (uhost -> userhost maybe). # # Here's the start of the script. # The '#' in Tcl means this line is a comment and doesn't get executed. # # # Most scripts start off with a configuration section. # # Change this to the channel you want this script to work on. set our_chan "#baa" # After configuration, scripts generally do a bit of initialization work. # This could include checking the validity of the config variables, setting # timers, loading helper scripts, establishing database connections, or # most frequently, creating our Eggdrop binds. # # A bind lets you attach your script to events that Eggdrop encounters. Events # include IRC events (someone joining a channel, talking, etc), botnet events, # and internal events (like receiving signals via the kill command). # # This bind will make Eggdrop call "my_talk_handler" whenever someone # says hello on one of our channels. bind pub - hello my_talk_handler # Here is where we define "my_talk_handler" proc my_talk_handler {nick uhost hand chan text} { # # nick - the person's nickname # uhost - the person's user@host # hand - the person's bothandle (if he is a valid user) # chan - the channel this event happened on # text - the text the person said (not counting the trigger word) # # You can name these variables any way you want, but these names # are pretty much standard. # # The 'global' command imports global variables into our local scope. # Any variable set outside of a procedure (like in the config section) # is a global variable. global our_chan # We only want to respond on the $our_chan channel. # The string tolower command converts a string to lowercase. if {[string tolower $chan] != $our_chan} { return 0 } # The putserv commands lets us send text to the server. putserv "privmsg $chan :$text too!" # All done! Log this command by returning 1. return 1 } # Here's the end of the script. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/doc/TRICKS0000664000076600007660000000402311525764164014236 0ustar simplesimple$Id: TRICKS,v 1.10 2011/02/13 14:19:32 simple Exp $ Eggdrop Tricks Last revised: December 08, 2003 _____________________________________________________________________ Eggdrop Tricks Here are some little tricks that you may or may not know about, which aren't documented in other areas. - You can rename a built-in command by binding over it. To rename '.status' to '.report', you'd do: unbind dcc - status *dcc:status bind dcc m report *dcc:status The first line removes the built-in binding on '.status', and the second line binds '.report' to the built-in status function. - If you don't want your logfiles to be deleted after two days and don't want the bot to create a new logfile each new day, then set 'keep-all-logs' to 0 and 'switch-logfiles-at' to 2500 in your bot's config file to make it keeping one logfile all the time. This is not recommended on high traffic channels. - You can modify Eggdrop's output in the partyline, kick messages, and other texts by editing core.english.lang in the language directory. - You can export parts of your config file to separate files. For example, if you have several config files which differ from themselves only by the nickname and the used servers, you can export them to an own file and link it with the 'source' Tcl command, similar to a script. The advantage of this is that you have to edit/upload only the small file instead of the big one. This technique is also useful if you want to maintain the same channel settings, etc across your botnet. - You can use variables in your config file, since it's really just a normal Tcl file. For example, you can set 'userfile' and 'chanfile' to "yourbot.user" and "yourbot.chan" using the following method: set myvar "yourbot" set userfile "$myvar.user" set chanfile "$myvar.chan" _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/USERS0000664000076600007660000000726011525764164014146 0ustar simplesimple$Id: USERS,v 1.13 2011/02/13 14:19:32 simple Exp $ Users and Flags Last revised: March 07, 2002 _____________________________________________________________________ Users and Flags People on IRC are recognized by the bot according to their nick!user@host. That is, if I am on IRC as: *** Robey is robey@hubcap.clemson.edu (i hate milk) Eggdrop will identify me according to "Robey!robey@hubcap.clemson.edu" and not only by my nickname. Eggdrop does not have access levels like some bots. There are no meaningless numbers or titles. Instead, each user has "flags" that entitle them to certain privileges. Think of a flag as a badge. Any user can have any number of flags -- you can have no flags, or you can have all of them. Some flags are good, some are bad. Each flag is identified by a letter. A channel flag applies only to a specific channel, and a global flag applies to all channels. The standard global flags are: n (owner) user has absolute control. Only give this flag to people you trust completely. m (master) user has access to almost every feature of the bot. t (botnet-master) user has access to all features dealing with the botnet. a (auto-op) user is opped automatically upon joining a channel. o (op) user has op access to all of the bot's channels. y (auto-halfop) user is halfopped automatically upon joining a channel. l (halfop) user has halfop access to all of the bot's channels. g (auto-voice) user is voiced automatically upon joining a channel. v (voice) user gets +v automatically on +autovoice channels. f (friend) user is not punished for flooding, etc. p (party) user has access to the partyline. q (quiet) user does not get voice on +autovoice channels. r (dehalfop) user cannot gain halfops on any of the bot's channels. d (deop) user cannot gain ops on any of the bot's channels. k (auto-kick) user is kicked and banned automatically. x (xfer) user has access to the file transfer area of the bot (if it exists) and can send and receive files to/from the bot. j (janitor) user can perform maintenance in the file area of the bot (if it exists) -- like a "master" of the file area. Janitors have complete access to the filesystem. c (common) this marks a user who is connecting from a public site from which any number of people can use IRC. The user will now be recognized by NICKNAME. b (bot) user is a bot. w (wasop-test) user needs wasop test for +stopnethack procedure. z (washalfop-test) user needs washalfop test for +stopnethack procedure. e (nethack-exempt) user is exempted from stopnethack protection. u (unshared) user record is not sent to other bots. h (highlight) use bold text in help/text files. All global flags other then u, h, b, c, x, j, and p are also channel-specific flags. Flags are set with the chattr command. The syntax for this command is: chattr [attributes] [channel] There are also 26 global user-defined flags and 26 channel user-defined flags. These are used by scripts, and their uses very depending on the script that uses them. _____________________________________________________________________ Copyright (C) 2002 - 2011 Eggheads Development Team eggdrop1.6.21/doc/Changes1.20000664000076600007660000013275311200432071015017 0ustar simplesimple$Id: Changes1.2,v 1.5 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 1.2.0) _____________________________________________________________________ BUG REPORTS: === ======= (i.e. things that are broke, but aren't getting fixed anytime soon) ---ALL--- Tcl 8.0 versions WILL crash, including 8.0b2. - 8.0release look ok (maybe..DOH! maybe NOT! 1 instance !!) Solve to non-working alarm(10) in Linux (calls to gethostbyaddr/name() have blocked for long periods when bind/named doesn't resolve quickly, and the alarm does not interrupt it). High-bit characters are being filtered from channel names. This is a fault of the Tcl interpreter, and not Eggdrop. The Tcl interpreter filters the characters when it reads a file for interpreting. 1.3.0delta: - '.chat local-channel' wasn't working right Found by: ^You^ / Patch by: Beldin - Minor fixes to my own stupidity Found by: dtM / Patch by: Beldin - Static portions should work in Makefile now, also BSDI's gmake is called all the time now Found by: TheGhost / Patch by: Beldin - Channel attr's were not being relayed (complex) Patch by: Beldin - Made variable substitution in the 'text' files, which were moved into english.lang, possible Patch by: Kirk - Fixed niggly formatting errors when doing .whois commands, etc.. Patch by: Kirk - You could .link to an already '.link'n bot, causing quite a few problems Found by: ButchBub / Patch by: Beldin - Remove userfile upgrading support, weed does that now Patch by: Beldin - DALnet in their infinite lameness make a new +r, handle Patch by: Beldin - '.simul' was simuling the simuler not the simulee :) Found by: |mmortal / Patch by: Beldin - Nick changes on the botnet were sick Found by: BoGuS / Patch by: Beldin 1.3.0gamma: - %U gives OS/version in motd Patch by: TheGhost, Beldin - tcl_killdcc is consistent at least now Found by: KingKurly / Patch by: Beldin - SEGV's on server signon (fixfrom wasn't fixed), removed 3 excess fixfrom calls too Found by: dk / Patch by: Beldin - Added the system name to the .status display Patch by: TheGhost - Added a Botnet document for instructions on the new flags and how to link bots for sharing Patch by: TheGhost - Removed all the text files from /text and placed them in english.lang for easy language changes. (this was harder that it looks :) ) Patch by: TheGhost - Finished up the rest of the uname functions added a new Tcl variable called unames to complete all the possible ways to use the system name and version Patch by: TheGhost - Worked on moving some of the files from the text directory into english.lang (I will eliminate this beast one day.) Patch by: TheGhost - HANDLEN #define added Patch by: Kirk - Found just a few cases where HANDLEN need to be added Patch by: Beldin - Bots will only accept links with same-HANDLEN bots Patch by: Beldin - Optionally uses buffer-safer vsnprintf over vsprintf if available, cleaned up some extra contexts & language entries Patch by: Beldin - Partyline from & away stored dynamically Patch by: Beldin 1.3.0beta: - '.tcl set botnick' WOULD change the value Found by: |mmortal / Patch by: Beldin - Language'ized wire.mod. Patch by: ButchBub - I forget. Patch by: ButchBub - Moved JOINs to the MODE queue Patch by: Beldin - Set topic were not being stored correctly on join Patch by: Beldin - Compat's setxtra was SEGV'n Found by: dk / Patch by: Beldin - channels.mod chon binding was hosing all other console channel settings Found by: |mmortal / Patch by: Beldin - user-get, user-set slightly hosed, map to getuser/setuser Found by: ButchBub / Patch by: Beldin - Renamed module could be reloaded. Found by: |mmortal / Patch by: Beldin - tcl_loadlanguage was logging incorrectly Found by: ButchBub / Patch by: Beldin - Ident lookups were causing SEGV's at bizarre times Patch by: Beldin - server.mod wasn't cleaning server list on unload Patch by: Beldin - mod_malloc was assuming the file entry was 21 chars not 20 Patch by: Beldin - '.page off' wasn't flushing held lines very neatly at all Patch by: Beldin - Files get with no nick failed Found by: Kirk / Patch by: Beldin - Beldin fr0ke .sort *slap* Found by: Kirk / Patch by: Beldin - '.chinfo' wasn't clearing info lines correctly Patch by: Beldin - '.status' didn't need the Mode(s) line anymore Found by: TheGhost / Patch by: Beldin - Bot user@host wasn't displaying correctly in .status Found by: TheGhost / Patch by: Beldin - Owners could be boot by non-owners Found by: BoGuS / Patch by: Beldin - Missing break; in strip_mirc_codes Found by: ButchBub / Patch by: Beldin - Optimized periodic_timers, dcc_activity, eof_dcc & call_hook just a little, removing [at least] a few function calls Found by: ButchBub, Beldin / Patch by: Beldin - Who replies were not handling strict-host properly Patch by: Beldin 1.3.0pre+bel1: - Tweaked seen.so to work they way I like it, Sorry ButchBub :) Patch by: Beldin - newbotname wasn't being initialized in server.so Found by: dtM / Patch by: Beldin - -bc wasn't being passed correctly on the botnet Found by: ButchBub / Patch by: Beldin - Double dependency modules need to cleanup after themselves Found by: ButchBub / Patch by: Beldin - xtra_unpack was slooooooooooooooooooooow Found by: ButchBub / Patch by: Beldin - Fix of xtra_unpack can cleanup all other xtra handling to include sharing (minor incompatibility with previous versions) Patch by: Beldin - Minutely channel checks still occurred when server was offline Patch by: Beldin - tcl_banlist had messed up list elements Found by: |mmortal / Patch by: Beldin 1.3.0pre+TG2: - Fixed my configure error (Phear autoconf) Patch by: TheGhost - Moved clientinfo defines into ctcp.h Patch by: TheGhost - Added a define for have uname to configure Patch by: TheGhost 1.3.0pre+TG: - Moved the last bit of defines for ctcp into ctcp.c from lang.h. Patch by: TheGhost - Fixed some spelling errors :P Patch by: TheGhost - Crashing when trying to build a channel list Found by: KingKurly / Patch by: dk - Gets the banlist when it joins a channel instead of ignoring it Patch by: dk - More document fixes Patch by: KingKurly 1.3.0pre+BBub1: (does not affect Eggdrop patchlevel) - First hashing of install rule in Makefile. Patch by: ButchBub - Inclusion of Ode_To_Beldin. Patch by: ButchBub - Rework of wire.mod for the current, and changing of internal tables from idx to sock. Patch by: ButchBub - gamespak.mod reworked for current (dist'd separately). Patch by: ButchBub - putegg relegated to obsolete/ -- kept, JIC... Patch by: ButchBub 1.3.0pre: <- getting closer - Netsplits were not detected as such Found by: Daklop / Patch by: Beldin - '.-ban' for global +m's wasn't handling channels right Patch by: Beldin - Redid help for ctcp, filesys Patch by: Beldin - Add module_rename function call allows a module to be compiled&loaded under one name, and run under another, e.g. blowfish renames itself to a more suitable 'encryption' Patch by: Beldin - strip_mirc_codes wasn't adding the \0 on the end Patch by: Beldin Help blind flag toggles 2 settings now (one for %help= one for - %{+flags}) Patch by: Beldin - Ident wasn't always kill sockets upon startup Patch by: Beldin - Nick change notices didn't include source bot Patch by: Beldin - Ctcp avalanches were SEGV'n Found by: KingKurly / Patch by: Beldin - Sanity check no longer needs to check against BOT_MASK Patch by: Beldin - Dolt, it helps to check your nick minutely Found by: ButchBub / Patch by: Beldin - Booted .page'rs were being booted using bots IRC nick Found by: poptix / Patch by: Beldin 1.2.2+bel5: - '.info none' wasn't totally erasing the info line Patch by: Beldin - '.topic #gumbyville' now works Patch by: Beldin - tcl_killdcc wasn't kill anything Found by: ButchBub / Patch by: Beldin - Major help file lookup overhaul, added %b/%v/%_/%f for bold/inverse/underline/flash with ircII or ansi codings depending on the STAT_TELNET setting. add/rem_help_reference (Tcl equivs to) to add/remove 'help files' from a repository multiple help information within 1 file using %{help=topic} with a .rehelp to re-read the help data changed modules: assoc, blowfish, channels, compat, console Patch by: Beldin - Added tcl_modules returns bucket loads of info about modules & their dependencies Patch by: Beldin - Select error sockets are much more aggressively killed now, hopefully fixing 1 of the nasty CPU spikes Patch by: Beldin - It really helps to load languages *after* memory debugging starts Patch by: Beldin - Removed a couple more cases of LOST_DCC Patch by: Beldin 1.2.2+bel4: - gotkick bug *slap* Patch by: Beldin - *finally* found the laston time bug (/quit did it) Found by: Daklop / Patch by: Beldin - INVITE wasn't working Found by: ButchBub / Patch by: Beldin - MODE #channel wasn't working Found by: ButchBub / Patch by: Beldin 1.2.2+bel3: - channels.c channel_malloc typo Patch by: dtM - More relay fixes Patch by: Beldin - take_revenge on a kicking user was passed wrong nick!user@host Found by: Melvan / Patch by: Beldin - check-stoned's value should matter now Patch by: Beldin - '.filestats clear' now reports it's doing it. Patch by: Beldin - New nick change message chanout wasn't working Found by: Melvan / Patch by: Beldin - tcl_storenote was getting it's idx's mixed up Found by: |mmortal / Patch by: Beldin - module_depend now returns the module function table for ereet fast setting of values Found by: ButchBub / Patch by: Beldin - doembeddedmode was calling get_op with wrong args Patch by: Q - /msg op has permissions btf Found by: Melvan / Patch by: Beldin - '.kick' wasn't giving the given reason Found by: Melvan / Patch by: Beldin - strict-host didn't work Found by: Daklop / Patch by: Beldin - Minutely calls to recheck_channel just didn't work Found by: Daklop / Patch by: Beldin - ircd2.9 uses : in it's umode msg Found by: Q / Patch by: Beldin - Flag changes were not being shared through a hub Found by: TheGhost / Patch by: Beldin - newchanban & newban has broken comments Found by: |mmortal / Patch by: Beldin - Bots were pinging out sometimes (-ve clock adjustment) Found by: ButchBub / Patch by: Beldin - Info line wasn't showing up on local bot if enable in console.so Found by: Melvan / Patch by: Beldin - ircu's shorter who replies used on channel-join Patch by: Beldin 1.2.2+bel2: - Compat's shareout !n needed a '\n' Patch by: Beldin - Slumos 4 [SunOS 4] needs an #include in transfer.c Patch by: Beldin - Bots were getting confused about aggressive/passive status of connected sharebots Patch by: Beldin - Wrong displayed message on eggdrop -m Found by: zarni / Patch by: Beldin - Wrongly added hosts on NEW from telnet (: != . doofus) Found by: zarni / Patch by: Beldin - Pseudo-memory leak in channels.c Patch by: Beldin - Passive bots were loosing entries for channels marked +shared but not shared with their active partner Patch by: Beldin - Improved memory debugging under -DEBUG_MEM Patch by: Beldin - Found one of the steenking userrec.c mem leaks Patch by: Beldin - Found the other steenking userrec.c mem leak Patch by: Beldin 1.2.2+bel1: - Error in list item 1 of tcl_botlist Found by: zarni / Patch by: Beldin - console.so wasn't sending a botnet join Patch by: Beldin - Added checks in botmsg.c so i won't bother even building messages unless linked Patch by: Beldin 1.2.2: - bzero clash in src/mod/module.h Found by: dk / Patch by: Beldin - Since some bindings are called multi-levelled, we need different variable names for each binding Found by: zarni / Patch by: Beldin - tcl_botlist added, returns all locally stored info on bots (this ones for the llamas ;) Patch by: Beldin - Cleanups of the new tables Patch by: Beldin - Some setxtra's in weren't working (basically since-string entries) Found by: Melvan / Patch by: Beldin - Ctcp replies weren't happening Found by: zarni / Patch by: Beldin - Nuke pre 7.3 Tcl support Patch by: ButchBub - Segv in .tcl servers Patch by: Beldin - Implemented local.tcl in the code Patch by: Beldin - Converted console.tcl to console.so Patch by: Beldin - Fixed recursive call loop to recheck_channel Patch by: Beldin - Fixed seen SEGV on 'seen bf' with no xtra info Patch by: Beldin - '.+chan' was setting channels static Found by: ButchBub / Patch by: Beldin 1.2.0+bel26: - The +d/+k debate continues? in or out,it's upto you (allow-dk-cmds) Patch by: Beldin - Finished switching modules back to a table lookup system and it's faster, neater, smaller, why did I every rely on the llama OS's ;) Patch by: Beldin - chattr was erasing 'b' flag on sharing Patch by: Beldin - '.console' was setting mode to (none) if no +/- arg specified Patch by: Beldin - Various header file problems with the new tables Found by: zarni / Patch by: Beldin - '.fwd'n code was fr0ke Found by: zarni / Patch by: Beldin - Unset +l/-l mode protect wasn't handled right. Found by: Melvan / Patch by: Beldin 1.2.0+bel25: - New telnet users weren't having their dcc[].user record updated Found by: Melvan / Patch by: Beldin - /msg's weren't being logged correctly Found by: Melvan / Patch by: Beldin - Add *!user@host for bots rather than *!user@*.domain Found by: Q / Patch by: Beldin - Option 3rd arg to +bot for hostmask Found by: dk / Patch by: Beldin - tcl_userlist takes a channel argument now Found by: |mmortal / Patch by: Beldin - tcl_chanbans returns who & age values now Patch by: Beldin - Started switching back to table lookup for symbols since this appears to be more usable & portable Patch by: Beldin - '.chnick handle newhandle' was messy Found by: Q / Patch by: Beldin 1.2.0+BBub5: - tcl_chanlist wasn't working. Patch by: ButchBub - Pitched all the vanity do-nothing commands from woobie.so. This novelty has worn off. woobie.so is a skeletal/example module for programming. Patch by: ButchBub - Fix in servmsg.c for reversed args to strcpy. Patch by: Beldin - Moved eggdrop.conf to eggdrop.conf.dist. It is unusable as distributed, and prompts to "overwrite?" are silly. Patch by: ButchBub - Slight fix and change for message when creating chanfile. Patch by: ButchBub - Continued language system conversion. Patch by: ButchBub - Missing declarative for KICK binding in tclhash.h. Found by: ButchBub / Patch by: Beldin - Fixed message when changing password vi /MSG. Found by: zarni / Patch by: ButchBub - Fixed MSGb1f message when linking. Patch by: ButchBub - botchk is in scripts where it belongs. Copying it to the base install directory is pointless, since it is unusable as distributed. Patch by: ButchBub - Missing in dcc.c. Patch by: Beldin 1.2.0+bel24: - '.unlink' of a forking bot caused SEGV Patch by: Beldin - pass & xtra sent before newuser info to sharebots Patch by: Beldin - Implemented note forwarding in notes.so Found by: zarni / Patch by: Beldin - A blank setting of fstat caused mucho spewo Patch by: Beldin - +n's should be able to change just about anything Found by: ButchBub / Patch by: Beldin - Chan +m's couldn't kick/kickban +o's (now they can) Found by: ButchBub / Patch by: Beldin - '.link otherbot' said no such bot online Found by: ButchBub / Patch by: Beldin - Squelched the bot change messages on share startup Found by: ButchBub / Patch by: Beldin - You can no longer set a bot +as (you're asking for trouble if you do anyway ;) Patch by: Beldin - Bot now logs WHAT error occurred when writing userfile Patch by: Beldin - '.info' SEGV, check the char ptr doofus Patch by: Beldin - '.stick ' wasn't reporting correctly Patch by: Beldin - Cascaded sharing implemented... +s = share aggressively with this bot +p = share passively with this bot the bot will only accept 1 +p link at a time, any number of +s's Patch by: Beldin - Siphoned off server.so & channels.so Patch by: Beldin - +d/+k couldn't use dcc commands, even if they had +p Patch by: Beldin - Nuke msgcmds.so, chancmds.so, FINALLY added server.so channels.so & irc.so Patch by: Beldin 1.2.0+bel23: - '.restart' is fragged again :/ Found by: ButchBub / Patch by: Beldin - Server queue not being flush in .restart Patch by: Beldin - Module directory can now be set (mod-dir) Happy now KK :P Found by: KingKurly / Patch by: Beldin - Put 'set telnet [listen...]' in the config file Patch by: CFusion - 1st msg hello wasn't setting all the flags right Found by: dtM / Patch by: Beldin - Some parts need to be silent still Found by: ButchBub / Patch by: Beldin - '.+user' could still have invalid handles Found by: Q / Patch by: Beldin - console.tcl was causing multiple join/part msgs cause dcc_chatter was assuming too much Patch by: Beldin - You can leave notes to the bot with /msg notes Found by: BoGuS / Patch by: Beldin - '.+host ""' should give help response Found by: ButchBub / Patch by: Beldin 1.2.0+kk4: - Modules now compile to modules/ Patch by: KingKurly - Updated putegg and make install/make installquick for new modules path Patch by: KingKurly - Fixed spelling errors in this file (why? ;) Patch by: KingKurly - Added an INSTALL file for dumb llamas who can't read the entire README Patch by: KingKurly 1.2.0+bel22: - '.vbottree' show patchlevel now Patch by: ButchBub - '.su' didn't update .user record Found by: ButchBub / Patch by: Beldin - '.die' was trying to re-connect server immediately Found by: ButchBub / Patch by: Beldin - '.jump' eof'n straight after connect Found by: ButchBub / Patch by: Beldin - Removed the user of Tcl hashtables from tclhash.c hence (a) sorting the binding list (b) allow some bindings to be quited before check *every* binding (c) less reliance on silly Tcl ;) Patch by: Beldin - '.strip' wasn't reporting correctly Patch by: Beldin - bind chpt now matches vs channel rather than nick Patch by: Beldin - Was check wrong user when it got a ban, therefore kicking *any* user when banned Found by: ButchBub / Patch by: Beldin 1.2.0+kk3: - I actually read the entire stinking source fixing every spelling in comments! Geez I was bored! Patch by: KingKurly 1.2.0+bel21: - Whoops bind blah "m" command was letting *anyone* execute it Found by: ButchBub / Patch by: Beldin - servidx is unreliable since idx's move :/ Found by: ButchBub / Patch by: Beldin - Added server-online r/o variable for how long the current server has been up Patch by: Beldin - +ban over sharenet wasn't logging Found by: ButchBub / Patch by: Beldin - gotjoin wasn't rebuilding the nick!user@host before testing bans Found by: ButchBub / Patch by: Beldin - Nicer def_display Patch by: ButchBub 1.2.0+bel20: - NEW telnet users get a telnet!user@*.domain mask now Patch by: Beldin - Added a few extra bot/quiet-reject checks to msgcmds Patch by: Beldin - /msg help was handling quiet-rejects round the wrong way Patch by: Scuzzi, Beldin - Not all Tcl's have TCL_PATCH_LEVEL, use TCL_VERSION Found by: zarni / Patch by: Beldin - dcc[].user entries need to be cleared during .rehash/.reload & partially cleared on finish_share Patch by: Beldin - Channel masters could still see other channels in .status Found by: Daklop / Patch by: Beldin - '.whois' now only shows channels a user has at least +o access too Found by: ??? / Patch by: Beldin - Segv in cmd_mv_cp Patch by: ButchBub - Typo in .filestats Patch by: ButchBub - '.nick' was logging to old nick Patch by: ButchBub - Error in tcl-commands.doc about time binding Found by: LSC / Patch by: Beldin - time binding uses 2 digits even for single digit #'s now Patch by: Beldin - Without ctcp.so a known dcc chatter should get something meaningful Found by: Gaven Cohen / Patch by: Beldin - cp && .tcl cp were a bit sick Found by: ButchBub / Patch by: Beldin - '.modulestat ' was fr0k3 Found by: ButchBub / Patch by: Beldin - queue_sockets only reallocs a buffer when something is sent, not every call, also detects EOF on socket Patch by: Beldin - Minutely rejoins of channels online occurs *after* the server has set msg 001 (server_online updated then too) Patch by: Beldin - Created the SERVER_SOCKET dcc type, server is now just like all the rest Patch by: Beldin - msgcmds now a module Patch by: Beldin - Removed modmalloc/modcontext, use nmalloc/context now Patch by: Beldin - chancmds.so contains all the channel *interaction* flags (not the management ones) Patch by: Beldin 1.2.0+bel19: - '.su'rs didn't have their .user entry updated Patch by: Beldin - Tinkering with bot links trying to avoid occasional boogers Patch by: Beldin - get_user_by_handle now checks the dcclist aswell Patch by: Beldin - More tinkering with deq_msg in an attempt to balance output to server Patch by: Beldin - Remote who wasn't showing chaters Patch by: Beldin - Resync wasn't sending channel data Patch by: Beldin - Resync wasn't sending botnet update info Patch by: Beldin - Display Tcl library version in .status & DEBUG Found by: ButchBub / Patch by: Beldin - Display compile/link/strip flags in DEBUG Found by: ButchBub / Patch by: Beldin - Display Tcl include file version in DEBUG Found by: ButchBub / Patch by: Beldin - +g strip flag (for ^g's) Found by: EraseMe / Patch by: Beldin 1.2.0+bel18: - '.rehash' / '.reload' was broadcast -ban/ignore Found by: ButchBub / Patch by: Beldin - '.relay's from telnet showed passwords up Found by: Prez / Patch by: Beldin - '.who' showed wrong sock # for users to owners Found by: zarni / Patch by: Beldin - /msg who fix *again * Patch by: ButchBub - Unlinks were passing chat msgs incorrectly Found by: ButchBub / Patch by: Beldin - autolink_cycle was fr0k3 Found by: Prez / Patch by: Beldin - Remote 'linked to ' message was sick Patch by: Beldin - private_owner needed work Found by: zarni / Patch by: Beldin - Whoops potential buffer overflow in dcc_ident Patch by: Beldin - Remote filesharing fixed Patch by: Beldin - '.+ignore' sharing was corrupting Found by: ButchBub / Patch by: Beldin - /dcc send with no filesys was being interpreted as failed dcc chat Found by: ButchBub / Patch by: Beldin 1.2.0+bel17: - matchattr was br0ke Found by: Prez / Patch by: Beldin - Bogus unban caused mass kicks of bots in some cases Found by: KingKurly / Patch by: Beldin - Added sanity_check on load, help old userfiles migrate Found by: dtM / Patch by: Beldin - chanout's were missing their ***'s Found by: dtM / Patch by: Beldin - Added quiet_reject checks to msg_ident Patch by: Beldin - msg_ident wasn't responding correctly to unknown ident by unknown user Found by: dtM / Patch by: Beldin - msg_ident doesn't allow ident vs a botnick Patch by: Beldin 1.2.0+bel16: - '.-user' with invalid console user segv'd Found by: |mmortal / Patch by: Beldin - /msg info segv'd Patch by: ButchBub - unlink in 1.2.1 portion of a botnet might cause fake msg's in other sections Found by: ButchBub / Patch by: Beldin - '.flush' context'd (wally) Found by: ButchBub / Patch by: Beldin - /dcc chat for non require_p + !+o was sick Found by: ButchBub / Patch by: Beldin - '.relay' was going ballistic if it couldn't find the port Found by: ButchBub / Patch by: Beldin 1.2.0+kk2: - Added a r33t make install/make installquick - try it! Patch by: KingKurly - LOTS of general cosmetic/spelling/grammar stuff Patch by: KingKurly - Totally re-did eggdrop.conf Patch by: KingKurly 1.2.0+bel15: - dcc chat's where nick != handle caused segv's Found by: ButchBub / Patch by: Beldin - dcc chatters show up in who as files users Found by: KingKurly / Patch by: Beldin - static linked share tries to start transfer module Patch by: Beldin - private-owner wasn't working right Patch by: Beldin - '.reset' should only work on active channels Patch by: Beldin - '.+ban' wasn't adding the ban from the correct variable Patch by: Beldin 1.2.0+bel14: - Cleaned up /dcc chat & sends a little Patch by: Beldin - No remote .unlink of sharebots, share-unlink values Found by: DarkDruid / Patch by: Beldin - Remote bots could link already linked bot Found by: poptix / Patch by: poptix 1.2.0+bel13: - Remove telnet! from ident'd users no botnet Patch by: Beldin - Fix my breaks to raist's ident Patch by: Beldin - *very* quick repetitive userfile transfers overwrote each other Patch by: Beldin - max-dcc is 20 by default, less is real problems Patch by: Beldin - Many minor fixes to new filesys flags. Patch by: Beldin - Files ls neater for dirs now Patch by: Beldin - dcc chat wasn't work Found by: Melvan / Patch by: Beldin - '.unlink' during a '.link' was SEGV'n Found by: OldGroo / Patch by: Beldin - '.-host' broke for first host Found by: OldGroo / Patch by: Beldin - tcl_getchanhost was returning nick as well Patch by: ButchBub - tcl_matchattr wasn't handling no -ve flags Found by: ButchBub / Patch by: Beldin - '.-ban' wasn't deleting the 1st ban Found by: OldGroo / Patch by: Beldin - '.bans' display was broken (channel bans weren't registering) Found by: Beldin / Patch by: Beldin - '.reset' was erasing bans without re-requesting them Found by: Beldin / Patch by: Beldin - '.su' from +n to non +n wasn't always setting up correctly Found by: EraseMe / Patch by: Beldin - msg_who forgot the unknowns! Found by: ButchBub / Patch by: Beldin 1.2.0+bel12: - /msg who could buffer overflow on big channels Patch by: Beldin - /msg who segv's Found by: ButchBub / Patch by: Beldin - *slap* tcl_userlist crash *slap* Found by: ButchBub / Patch by: Beldin - filedb overhauled, bye bye 230 redundant lines Patch by: Beldin - Channel specific access added to file area [this one uses .filedb] Found by: Kirk / Patch by: Beldin - ctcp.so added, most ctcp stuff is in it Found by: Raistlin / Patch by: Beldin 1.2.0+bel11: - User feedback for msg/act/say added Patch by: Beldin - Added msg_voice for /msg voice support Patch by: Beldin - Users without chanrecs were having their info shown all the time Patch by: Beldin - Made the channel file use a little less space Patch by: Beldin - flood-join, flood-chan, flood-kick, flood-deop, flood-ctcp are now channel-specific settings, globals are flood-msg & flood-nick Patch by: Beldin - check_tcl_msg[m] was being passed the wrong uhost Patch by: Beldin - ^H in dcc_chat was hanging again Patch by: Beldin - simple_sprintf %c needed to use int not char [with thanks to Mr. gdb-via-irc OldGroo] Found by: OldGroo / Patch by: Beldin - Index doesn't return the same on SunOS, use strchr Patch by: Beldin - Some systems can't handle non-constants in structure defs (occurs in struct flag_record defs) Patch by: Beldin 1.2.0+kkdoc: - Re-added the addpatch and delpatch from earlier patch, not included in later versions for some reason Patch by: KingKurly - Fixed up a whole heck of a lot of docs, including zillions of spelling errors, etc etc Patch by: KingKurly 1.2.0+bel10: - '.-user' wasn't reporting unknown user correctly Patch by: Beldin - '.+bot' segv in add_bot_hostmask *slap* Patch by: Beldin - Sending userfile wasn't storing channel records Patch by: Beldin - Fixed seen.so crashed Patch by: Beldin - '.op' was newsplit'n in the wrong place Patch by: Beldin - neat->old botnet away msgs were getting garbled Patch by: Beldin 1.2.0+BBub4: - Fixed /MSG OP for +o-f's Patch by: Beldin - Fixed '.op' Patch by: ButchBub - Fixed +o-f deopping himself and being -o'd in the userfile on +bitch Patch by: Beldin - Fixed '.kickban' Patch by: ButchBub 1.2.0+bel9: - Fixed return from relay sending bad botnet channel join Patch by: Beldin - Some documentation overhaul (much more needed) Patch by: Beldin - Added neat_botnet nick-change message, make change nicks over the 1.2.1 portion of the botnet smaller Patch by: Beldin - Removed chanout, all calls can use chanout_but Patch by: Beldin - Fixed a bug in check_chanlist (->next twice) [Beldin] <--- Thief! [ButchBub] (can I put it down to absent mindedness pwease? [Beldin]) Patch by: ButchBub - '.+host' wasn't letting owners add their own hostmask Patch by: Beldin - detect_flood was assuming chan was valid Patch by: Beldin - assoc modules wasn't chanout'n right Patch by: Beldin - Fixed compile time error if no RTLD_NOW defined Patch by: Beldin - Zero length info line were being displayed Patch by: Beldin - Moved reject_bot into autolink_cycle since that's where it was used Patch by: Beldin 1.2.0+bel8: - Fixed '.nick' / '.chnick' bugs Patch by: Beldin - '.motd' wasn't broadcasting to old bots correctly Patch by: Beldin 1.2.0+ident: - Telnet identd verification. Yes, this thwarts botscans. Patch by: Raistlin - Fixes & tidying up (and adding of my own bugs!! :) Patch by: Beldin 1.2.0+BBlang3: - Fixed crash on non-ident'd MSG OP requests Patch by: ButchBub - Fixed spewed info line length on channel Patch by: ButchBub - Moved setlaston below showinfo - time(NULL) - laston was always 0. (broke in bel6) Patch by: ButchBub - Fixed a silly bug in action.fix.tcl Patch by: ButchBub - Insignificant change to ques3.tcl, and really not worth mention Patch by: ButchBub - Yet another insignificant change. This time in wire.mod Patch by: ButchBub - Fixed woobie.mod for missing DCC command parameters Patch by: ButchBub - Minor fixes to seen Patch by: ButchBub - wire.mod fully operational Patch by: ButchBub 1.2.0+bel7+pop1: - '.loadmodule' that didn't find a _start function wasn't unloading the module Patch by: Beldin - '.-ignore ' was SEGV'n Patch by: Beldin - +autovoice +v(oice)/+q(uiet) are now all valid settings Patch by: Beldin - Yet more language conversion stuff Patch by: ButchBub - Added HOOK_SECONDLY for adding the equivalent of Tcl 'utimer' Patch by: ButchBub, Beldin - botinfo/bottree are bot +t commands, llamas may gain unwanted info from them Patch by: Beldin - +d/+k could use -|- bound commands Patch by: Beldin - Added flags.c with better flags/binding/match support Patch by: Beldin - raw_dcc_send was reversing the IP on send Patch by: Beldin - Minor '.console' hole which allowed +m flag access to non +m channels Patch by: Beldin - Add local bot to '.botinfo' replies Patch by: poptix - Enhancements to '.invite' Patch by: poptix - '.chansave' / '.chanload' were trying to work even without a channel file Patch by: poptix - '.flush' shouldn't be in help anymore, cosmetic fix to addpatch Patch by: poptix 1.2.0+bel6: - Update dependencies, fix nlinked pass-on to old botnet bots, fix duplicate botnet act's Patch by: Beldin - Botnet handshake now comes after version (incompatibility, get old ver bot to link to new ver bot first time) Patch by: Beldin - Merged mprintf/hprintf fully into dprintf, use dprintf(DP_SERVER) for mprintf, dprintf(DP_HELP) for hprintf Patch by: Beldin - Added mode-buf-length & debug-output Tcl vars Patch by: Beldin - Neatened up the config file layout a little Patch by: Beldin - notes.so allow optional note storage support now Patch by: Beldin - '.relay' wasn't triggering all the chon/chfn etc bindings quite right also scripts now trigger chon/chof Patch by: Beldin - New binding types: away - botnet away msg, nkch - user changing their handle Patch by: Beldin 1.2.0+BBlang2: - Yet more language conversion stuff Patch by: ButchBub - Fixed '.su' Patch by: ButchBub - Fixed '.relay' Patch by: ButchBub - Fixed NICKLEN (We needed to add 1) Patch by: ButchBub - Changed NEAT_BOTNET to 1020107 from 1020100 to handle pre-bel5 bots Patch by: ButchBub 1.2.0+bel5: - Dunno... ask Beldin Patch by: ButchBub - Honest, I did lotsa work! Patch by: Beldin 1.2.0+bel4: - assoc.so now uses zapf & Tcl calls rather than 5 hooks (Robey was right about that ;) Patch by: Beldin - out_dcc_general, out_dcc_chat, out_dcc_script weren't using the cr-added string to send Patch by: Beldin - Fix to add_server Patch by: ButchBub - Fix to clearq Patch by: Beldin - Tcl "ischanban" not "ischan" DOOFUS Patch by: Beldin 1.2.0+bel3+BBlang+kk: - Fixed general spelling errors in src/ Patch by: KingKurly - Fixed some language in src/ for our younger users Patch by: KingKurly - Re-did eggdrop.conf, fixing spelling, grammar, logic errors, and adding comments to attempt to make it easier to understand Patch by: KingKurly - Added a '.back' command, self explanatory. You can still use the old way to set yourself back if you want, this just makes sense :) Patch by: KingKurly - Fixed '.console', only +n could use it to change flags Patch by: Beldin - Fixed a bug where if you didn't load the share module, the bots would constantly send each other messages, which caused some problems Patch by: Beldin - Removed the requirement of at least 1 irc channel Patch by: Beldin - Buffer overflow in net.c Patch by: Beldin - Fixes to '.sort' Patch by: Kirk - Some command permissions were screwy in the filesys Patch by: Kirk - New passwords via telnet should be 15 bytes Patch by: Kirk - Only botmaster or better can change +b console log Patch by: Beldin - serverlist is now a structure rather than a packed string Patch by: Beldin - '.unlink *' & unlinking of a bot weren't calling check_tcl_chpt/check_tcl_disc as is logical Patch by: Beldin - Botnet 'joins' for channel changes weren't calling check_tcl_chpt Patch by: Beldin - All irc related got's should now check vs the correct botnick Patch by: Beldin - Removed tprintf totally (now use dprintf/mprintf) Patch by: Beldin - Missing '\n' in cmd_simul help Patch by: Beldin - server-cycle-wait added to slowdown server connects Patch by: Beldin - Found a memory leak that's been around for years with userfile sharing Patch by: Beldin - MAJOR overhaul of ban/ignore handling - structures rather than packed strings Patch by: Beldin - Fixed my own ./putegg stupidity Patch by: Beldin - Userlists are now much easier to extend Patch by: Beldin - Started overhauling botnet + tokens & 64bit ints between bots >= 1.2.1 + no broadcast of redundant bot garbage e.g.: *** (Bot) Linked to fred when nlinked is being sent + support for 15 char nicks *note* this doesn't mean they will work yet Patch by: Beldin 1.2.0+bel2+BBlang: - Tcl "language" command for startup script language loading. Patch by: ButchBub - dcc '.ldump' command for debugging messages. Patch by: ButchBub - Implemented language.so and new function get_language() for accessing the message language system. Patch by: ButchBub - More changes converting text output messages to #defines for language support. Patch by: ButchBub - Pondered correcting Beldin's grammar regarding a particular soft-drink, but didn't get THAT anal. (Them Ozzies are so lazy, they can't even bother pushing the shift-key when they should *Sn0rT* TWO occurrences, BTW :) Patch by: ButchBub - Changed rembot back, since order DID matter Patch by: Beldin - Fixed a few Tcl function name typos Patch by: Beldin 1.2.0+bel1: - Fixed lame '.vbottree' error Patch by: Beldin - Optimized unvia & delparty at the expense of order Patch by: Beldin - Fixed a whole pile of OSF warnings Patch by: Beldin - Fixed EraseMe's whines: '.filestats' is now a '.files' command, '.chaninfo' restricts +m ness Patch by: Beldin - '.filestats' wasn't reporting nick Patch by: Beldin - English & slang still in config file Patch by: Beldin - mkdir $1/modules missing from putegg Patch by: Beldin - Excess print in write_debug Patch by: Beldin - share wasn't sending error right if there wasn't enough dcc slots to SEND a userfile - missing #include Patch by: Beldin - geticon clash in wire.c Patch by: Beldin - #ifdef EBUG messup in tclhash.c Patch by: Beldin - Typoed name of validuser Tcl command Patch by: Beldin - '.binds all' now works as you might expect Patch by: Beldin - '.wire off' was SEGV'n in some cases (plus a few missing '\n's) Patch by: Beldin - bitch wasn't being bitchy enough on join :) Patch by: Beldin - Various bug fixes to bothost sharing and lastbind Patch by: Beldin 1.2.0alpha: # Unofficial "1.2.0" release on August 7, 2007 of tarball'd CVS code - Legendary seen.so Patch by: ButchBub - +/-chanrec should propagate on the sharebot's now Patch by: Beldin - '.adduser' & /msg hello now add relevant chanrec's Patch by: Beldin - Removed '.+bothost', '.-bothost', and '.botattr' since they aren't needed now Patch by: Beldin - Channel +m's can only see channel's they have access to in .status Patch by: Beldin - Now a static linking option, link in all modules at link time [this ones for you somni :P] Patch by: Beldin - '.bottree' upgrade (also try '.vbottree') Patch by: Beldin - laston times on a bot are prefixed by @ Patch by: Beldin - AT LAST laston times should update on quit Patch by: Beldin - use-console-r, max-dcc & enable-simul now Tcl vars Patch by: Beldin - '.set', '.tcl', and '.simul' are now just un-bound commands in the config file Patch by: Beldin - '.act', '.say', '.kick', and '.kickban' can now take a channel argument Patch by: Beldin - Any user can now '.-host' themselves Patch by: Beldin - remote-boots, bounce-bans, use-silence, private-owner & allow-resync are now Tcl vars Patch by: Beldin - share.so added - which includes channel specific +s Patch by: Beldin - Help files updated to new binding format Patch by: Beldin - You can ONLY make a module bot now Patch by: Beldin - '.sort' command for filesys Patch by: Kirk - tcl-commands updates for various commands Patch by: ??? - dcc chat connections weren't logging Patch by: Beldin - Whoops, fixed up the ctcp's I messed up Patch by: Beldin - console +r is +n only now Patch by: Beldin - Modules now live in modules/ Patch by: Beldin - Fixed sticky bans sharing finally Patch by: Beldin - '.su' was broadcasting parts/joins for local channels & wasn't showing returns upon channel return Patch by: Beldin - Static channels settings are now save (using channel set) in the channel file (yes removal from config should work) Patch by: Beldin - Removed NO_FILE_SYSTEM, if you want to run the bot without it, use modules Patch by: Beldin - '.chanset' and '.chaninfo' will use your console channel if no channel is provided Patch by: Beldin - Raw binding now use exact matching of codes Patch by: Beldin - lastonchan now is a 'char *' & is updated for the botnet & file areas too Patch by: Beldin - lowercase-ctcp, answer-ctcp, trigger-on-ignore, debug-tcl, raw-binds die-on-sighup & die-on-sigterm are now Tcl settings (answer-ctcp is maximum ctcp's to answer) Patch by: Beldin - Completely rehashed the way modules are done, relying more on the OS to resolve functions, this should be nearly transparent to actual modules Patch by: Beldin - Removed support for ancient compilers Patch by: Beldin - '.adduser' would let you add the dumb characters in a handle Patch by: Beldin - Fixed dcc chat for +x only users Patch by: Beldin - Swapped the args in msg_* to make it fit the hashtable pattern Patch by: Beldin - Server queues now prioritized, mode queue has precedence Patch by: Beldin - DCC_ types are handled a function-call table now rather than (stupid) huge case statements..allows more versatility with connects Patch by: Beldin - +u is now checked at the RECEIVING end of sharing Patch by: Beldin - Binding change (is it time to jump to 1.2?) -> the flags section of bindings is now in the form: [globalflags][operator[chanflags]] global flags matches vs global flags only, operator is one of '&' or '|' '&' implies EXACT match i.e. if you use o&n it will match only global +o AND channel +n, whereas '|' is OR, i.e. any will trigger it eg: Bo|o will trigger by a botnet master OR a global op OR a channel op. THIS WILL BREAK ANY SCRIPT that uses O/M/N in bindings (woohoo ;) (OR is the default take note) also applies to help/text outputs (someone go through and change these all please) Patch by: Beldin - Made global variable to specify whether the server connection should be closed when an ERROR from the server is received. Found by: EraseMe / Patch by: ButchBub - Merged hash.c into tclhash.c Patch by: Beldin - '.save' now displays a confirmation Patch by: Robey - Modules can now create their own hash tables Patch by: Beldin - Added load/unld bindings to allow scripts to configure when a module is loaded Patch by: Beldin - Added MODULE hooks in blowfish for 'encrypt_string' and 'decrypt_string'. Patch by: ButchBub - New module 'woobie' to serve as a skeletal/sample module. Patch by: ButchBub - New module 'wire.so' which replaces 'wire.tcl'. Patch by: ButchBub - Minor fixes for NO_IRC. Patch by: ButchBub - More work on converting messages to 'english.h' definitions for language support. Currently, only user messages are being converted (not Tcl or party-line messages). Patch by: Raistlin, ButchBub - Moved CLIENTINFO definitions to 'english.h' for language support. Patch by: ButchBub - QUIET_REJECTION definition has been changed from a compile-time option to a run-time variable 'quiet-reject.' Patch by: ButchBub - If MODULES are being compiled, the NO_FILE_SYSTEM definition is now undefined. (e.g. just don't 'loadmodule filesystem') Patch by: ButchBub - 'CHECK_STONED' definition has been changed from a compile-time option to a run-time variable 'check-stoned.' Patch by: ButchBub - Installed a working wire.tcl for 1.1+ bots. (Yes, it was still broke here) Patch by: ButchBub - FEATURES.1.1.x added, and README updated with MODULE information. Patch by: ButchBub - 'userinfo1.0.tcl' script added to add commands and 'whois' output fields for additional user information. Patch by: ButchBub - New global variable 'numversion' containing the numeric source version from 'version.' Patch by: ButchBub - New global variable 'lastbind' for identifying what bound command triggered a Tcl routine. Patch by: ButchBub - If a permanent owner was -mn'ed, the +n would be retained, but that owner would not be able to effect .chattr's because he would not have a +m himself. Hence, he could not even +m himself to fix it. Patch by: ButchBub - '.who' now reports DCC socket numbers to OWNERs. Patch by: ButchBub - DCC socket numbers ONCE AGAIN removed from inter-bot note displays. Patch by: ButchBub - Bug in filesys module when no files-path caused a crash. (added a new call to the filesys module: FILESYS_ISVALID). Patch by: ButchBub - Makefiles modified and cleaned to not relink when unnecessary. (eggdrop and *.so's are no longer mv'd, but are -o'd to the base source directory for dependency) Patch by: ButchBub - Added 'strict-servernames' variable to not update the server list when servers identify themselves differently. Patch by: ButchBub - More fun help file grammar changes... Still not done yet. Patch by: ButchBub - New Tcl variable: dcc-flood-thr - dcc flood threshold Patch by: ButchBub, Beldin - Removed #define OWNER - always an owner now Patch by: ButchBub, Beldin - tcl_chpass needed 16 byte password buffers Patch by: paranorml - Small change to tcl-commands.doc Patch by: Beldin - Change to configure for helping deal with fr0k3 Linux libdl.so setup Patch by: Beldin eggdrop1.6.21/doc/TEXT-SUBSTITUTIONS0000664000076600007660000000352411606067304016115 0ustar simplesimple$Id: TEXT-SUBSTITUTIONS,v 1.14 2011/07/09 15:07:48 thommey Exp $ Textfile Substitutions Last revised: March 08, 2002 _____________________________________________________________________ Textfile Substitutions These %-variables can be inserted into help files, the banner, the MOTD, and other text files. There are four variables that can be used to format text: %b display bold %v display inverse %_ display underline %f display flashing via telnet; bold underline via IRC These variables will be interpreted by Eggdrop and replaced by their respective values: %B bot's nickname (i.e. "LamestBot") %V current Eggdrop version (i.e. "eggdrop v1.6.21") %E long form of %V (i.e. "Eggdrop v1.6.21 (C) 1997 Robey Pointer (C) 2011 Eggheads Development Team") %C channels the bot is on (i.e. "#lamest, #botnetcentral") %A whatever is set in the config file by 'set admin' %n whatever is set in the config file by 'set network' %T the current time (i.e. "15:00") %N the current user's nickname (i.e. "Robey") %U the current operating system the bot is running on %% a percent sign ("%") You can also encode messages which can only be read by people with certain flags: %{+m} Only masters would see this. %{-} %{+A} Only people with the user flag A see this. %{-} %{+b} This is only displayed to users doing a remote '.motd' from another bot. %{-} %{+|m} Only channel masters would see this. %{-} Other variables: %{cols=N} start splitting output into N columns %{cols=N/W} same as above, but use a screen width of W %{end} end columnated or restricted (i.e. %{+m}) block %{center} center the following text (70 columns) _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/Changes1.10000664000076600007660000025726611200432071015025 0ustar simplesimple$Id: Changes1.1,v 1.5 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 1.0) _____________________________________________________________________ 1.1.6+w1 (October 3, 1999) # Patch by: Wild - hrm, enforce_stick was broken, seems i regressed a patch to an older version of the routine, only affected stick bans when restarting a channel and enforced global stick bans on channels marked -global. - No need to check for +v status on deop, eggdrop does a who for each deop, not necessary since it flags +v status to a user anyway. - No longer use a userfile if it is 0 length, will attempt to use the backup also. - Added the "Last message repeated x times" to the logging. - chmod 600 logfiles,notefile,pid file. - Bounds checking on hostmasks for ignores/bans/users (9!10@63), you can easily crash an entire shared botnet. - whois was broke with legal full length hostmasks. - Fixed broken join +k channels 1.1.6 (June 17, 1999) # Patch by: Wild - Fix broken ban/ignore mask handling, no longer allows things like ":" in ban masks - If a DNS lookup fails (usually a two minute hang) let's not increment ports 3+ times (timer spin of ten minutes) - When bot A's address is the same as bot B's, use 'localhost', handy when behind a firewall, while still allowing relay/linking - Added +/-global to channel options, -global allows global bans not to affect that channel. - Added +/-cycle, don't bother trying to cycle the channel when opless - Added config option server-update, don't bother updating the serverlist - Added a wait time when too many nicks numeric is encountered. - Changed nick tracing to use ISON, will wait if above is active (5 min) - Fixed up using bots in terminal mode, checks/adds HQ user if necessary, with +n flag, and a pass (random), no hosts. - Fixed fr0ked -MEM_DEBUG, blowfish/assoc/fileq were sending /mod/somedir/myfile.c, completely fucked up debug (non-module) - Fixed fr0ked .un/stick #, it was copying the host back over the number, crashed soon as you sent anything more to the bot. (If 1 is one byte, how do you expect the real host to fit into that one byte?) - stick sharing was broken. - Add channel option +/-stickban for improved stickban handling 1.1.5 (June 29, 1997): # Released by: Beldin [Darrin Smith ] - putegg will now handle "Text file busy" conditions when trying to copy eggdrop Patch by: ButchBub - putegg now has options of saving old binary as oeggdrop and options to copy botchk and eggdrop.conf Patch by: TheGhost, ButchBub - putegg now backs up modules as well as eggdrop Patch by: Beldin - /msg whois now return slightly more useful info Patch by: Beldin - configure & Makefile improvements -- Forces you to "make clean" when remaking from non-module to module version, etc. Patch by: ButchBub - chattr was sending twice to sharebots Patch by: Beldin - Bot's IRC nick can now be NICKLEN long Patch by: Beldin - .restart now kinda works right Patch by: Beldin - loadmodule/unloadmodule/modules now return non-fatal errors when used on non-module executables (You can leave the loadmodule lines in the config file) Patch by: ButchBub - Start of help file grammar cleanup Patch by: ButchBub - People are gunna hate me for it, but I ran the code through indent :P Patch by: Beldin - Fixed large-file turbo-dcc send crashes Patch by: Beldin - Removed %N sock number in remote help. Patch by: Beldin Modules only: - Tweaking filesys module hooks Patch by: Beldin - .files/.help is fixed Patch by: Beldin - minutely/hourly/daily/userfile hooks added Patch by: Beldin - Filesys is now transfer + filesys Patch by: Beldin - Finally got the Makefiles working nicely so new modules need only add a new directory Patch by: Beldin TO-DO: LEAVE THIS HERE WHERE WE CAN SEE IT :) - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - DCC sends are causing memory leaks on some systems. This affects shared userfile transfers - Some Tcl scripts handling idxes that worked before are spitting out invalid idx errors - Tcl 8.0 doesn't like eggdrop in some situations - Solve to non-working alarm(10) in linux SUGGESTIONS: - Make +u channel specific so it shares info from all but that channel. - Channel specific file ownerships (ie, only people on a certain channel can get certain files) - Move more things into NO_IRC such as bans and hostmasks - Move NO_IRC to irc.so - Make a chan/global +s for sharing, instead of the +shared option? 1.1.4 (June 22, 1997): # Released by: Beldin [Darrin Smith ] - WOOP modules seems to work on Linux, FreeBSD, SunOS, BSD3.0, now we just gotta debug each module... Patch by: Beldin - Some minor fixes to nick changing Patch by: Beldin - Fixed dcc_chat wasn't cleaning up control chars propery Patch by: Beldin - Fixed .dccsimul usage Patch by: Beldin - Fixed .chattr Patch by: Beldin - .adduser only ops non @'s on chan Patch by: Beldin - Passwords can now be up to 15 characters long Patch by: Beldin TO-DO: LEAVE THIS HERE WHERE WE CAN SEE IT :) - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Fix .restart to reset tcl_interp right, recycle modules, do chon's again (Beldin is working on this one...:) BUG REPORTS: - DCC sends are causing memory leaks on some systems. This affects shared userfile transfers - Some Tcl scripts handling idxes that worked before are spitting out invalid idx errors - Tcl 8.0 doesn't like eggdrop in some situations - Solve to non-working alarm(10) in linux SUGGESTIONS: - Make +u channel specific so it shares info from all but that channel. - Channel specific file ownerships (ie, only people on a certain channel can get certain files) - Move more things into NO_IRC such as bans and hostmasks - Make a chan/global +s for sharing, instead of the +shared option? 1.1.3+pl3: - +nat patch added Patch by: Bill Brandt - stickybans will now be sent over the botnet Patch by: Beldin - You should be able to -DEBUG_MEM again no problems Patch by: Beldin - .bots/.set should truncate right now Patch by: Beldin - .status all shows dynamic channels Patch by: Beldin - .chattr user +o (global) now rechecks channels Patch by: Beldin - getops-1.8.tcl Patch by: dtM - More alltools Patch by: David Sesno 1.1.3+pl2: - Minor fixes Patch by: Beldin - Encryption module - bot requires AN encryption module Patch by: Beldin - Additions to action.fix.tcl, console.tcl + addition of alltools.tcl Patch by: David Sesno - Fixed my dprintf messups, it's now you're generic output friend Patch by: Beldin - dccputchan works for local chans now Patch by: David Sesno - .channel should now display the channel topic Patch by: EraseMe - Whoops, the filedb size was wrong Patch by: Beldin 1.1.3+pl1: - Made dozens of fixes to the help files, doc's, eggdrop.conf Patch by: EraseMe - Upgraded weed to 1.1 format Patch by: dtM, Ec|ipse 1.1.3: - Loadable code modules, see MODULES for info this is a lot of changes, beware! :) this includes: +module/-module/modules dcc commands loadmodule/unloadmodule Tcl commands a whole pile of support functions (see modules.c/.h) creating 2 example modules assoc & filesys *THIS WILL ONLY WORK CURRENTLY ON SYSTEMS WITH dlopen* so don't try it if you don't have dlopen ;) Patch by: Beldin - Tcl binds wasn't return all the bindings on error Patch by: Beldin - Doc updates to various function Patch by: Beldin - msg info shouldn't need a password if the user doesn't have one Patch by: Beldin - Fixes to dtM's fixes Patch by: Beldin - Makefiles now use Makefile.dep and have a general cleanup Patch by: Beldin - Checks in dcc_telnet_new/cmd_chnick/cmd_nick to prevent nicks starting with characters that will screw up the userfile Found by: Robey / Patch by: Beldin - su now fixes your nick correctly Patch by: Robey - filestat wasn't logging Found by: Robey / Patch by: Beldin - dprintf does everything now, buts (go directly to tputs) & server Patch by: Beldin - lostdcc pops the last dcc entry into the lost ones place rather than copying them all down 1 Patch by: Beldin - new_dcc & new_fork for creating new dcc entries Patch by: Beldin - Neatened init_builtins Patch by: Beldin - Global ops can do GO now too Patch by: Beldin 1.1.2+pl2: - Fixed up eggdrop.conf, botchk, CONTENTS, eggdrop.doc, deleted some older scripts, and deleted files lying around where they shouldn't have been, as well as some spelling mistakes in addpatch, etc Patch by: EraseMe - Upgraded samples.tcl to 1.1 format Patch by: EraseMe 1.1.2+pl1 (June 10, 1997): # Patch by: dtM, Beldin [Darrin Smith ] - Botnet version now sends the version number and this is used to check for userfile sharing (won't share with a bot with version < min_share in main.c) Patch by: Beldin - Sharebots now pass chattr as flags rather than an int Patch by: Beldin - filedb's now store flags as flags rather than an int [NOTE: this changes the way the filedb info is stored and may cause some lost settings, and require you to rm .filedb files] Patch by: Beldin - Channel add & .+chan won't let you set non #/& channels Patch by: Beldin - Only 1 bit per userflag please! *doh* Patch by: Beldin - Some tclegg.h prototypes needed PROTO()' & therefore tclegg.h incudes proto.h now Patch by: Beldin - Copied a few detail in nick updating the were missed when it returned to the old method Patch by: Beldin - GO will work for global +o now Patch by: Beldin - Strip will now strip ansi codes too (+a) Patch by: Beldin - kick/ban comments starting with @ will not be displayed Patch by: Beldin - dtM's fixes for Tcl 8.0 & non-argument commands Patch by: dtM 1.1.2 (June 6, 1997): # Released by: Beldin [Darrin Smith ] - .assoc wasn't working right for local channels Found by: David- / Patch by: Beldin - Minor fix to getop-1.7.tcl Patch by: dtM - Change optimization back to -O2 saving executable size & sunos/bsd crashes Patch by: Beldin - Version number is now in the form 'abbccdd' a = major ver. (1 atm) bb = minor ver (1 atm) cc = revision (2 atm) dd = patch count Patch by: Beldin - Tcl assoc "channel name" return channel number Suggested by: EraseMe / Patch by: Beldin - Made .banner neater (1 line) Suggested by: EraseMe / Patch by: Beldin - -chan was leaving dccchat users with that channel in a mess Patch by: Beldin - More help files Patch by: Beldin TO-DO: LEAVE THIS HERE WHERE WE CAN SEE IT :) - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - DCC sends are causing memory leaks on some systems. This affects shared userfile transfers - Some Tcl scripts handling idxes that worked before are spitting out invalid idx errors - Tcl 8.0 doesn't like eggdrop in some situations SUGGESTIONS: - Make +u channel specific so it shares info from all but that channel. - Channel specific file ownerships (ie, only people on a certain channel can get certain files) - Move more things into NO_IRC such as bans and hostmasks 1.1.1+pl2: # Patch by: Wild , Beldin [Darrin Smith ] - Made ctcp_version default acutally SAY eggdrop, and sanity check on string lengths Patch by: Beldin - Tcl isdynamic & Tcl notes commands added Patch by: Beldin - resolve_dir belongs in proto.h not files.h Patch by: Wild - Many minor code neatenings Patch by: Wild - -chan would cause the bot to leave & rejoin & get confused Patch by: Wild - All the trace functions (got206/401/402) merge into trace_failed Patch by: Wild - +f/+d/+k are now global flags, also chan-specific +d/+o should override global settings Patch by: Beldin - Enforced channel key was not being set if no key at all was set Patch by: Beldin - Put the socks in the parts you fix weenie! Patch by: Wild - Channel creation wasn't clearing the mode stack properly Found by: TheGhost / Patch by: Beldin 1.1.1+pl1 (May 28, 1997): - Long topics mess up channel info Found by: Randy Summerfiled / Patch by: Beldin - A binding causing a Tcl error returning too long a string crashed (now truncated) Patch by: Beldin - Tcl whom * returns all users on the botnet, with a extra element per user indicating channel Suggested by: EraseMe, dtM / Patch by: Beldin - .status shows shared setting now Found by: TheGhost / Patch by: Beldin - +shared shows up in .chaninfo, can't be set via .chanset, added to eggdrop.conf Patch by: Beldin - +ban should work now for channel+o's Patch by: Beldin - chanadd/chandel now +chan/-chan (fits the pattern) [idea stolen from CFusion ] Found by: CFusion / Patch by: Beldin - New Tcl commands mv, cp, mkdir, rmdir, setflags, getflags Patch by: Beldin - New Tcl command strftime Patch by: panasync - Including using now Patch by: Beldin 1.1.1: - Made channels require +share to share Patch by: Raistlin - Made sharing of only some channels possible Patch by: Raistlin - Made default version, clientinfo, userinfo "Eggdrop" and removed lines in config changing it (Idiot proofing) Patch by: Raistlin - Moved default net to FDFNet (We encourage bots) Patch by: Raistlin - Fixed a bug in /msg op & /msg notes where long args were causing SEGV's Found by: guppy / Patch by: Beldin - Moved the following settings from eggdrop.h to eggdrop.conf modes-per-line, max-queue-msg, wait-split, wait-info, xfer-timeout, default-port & note-life Patch by: Beldin - Made it so it *should* compile under sunos and still allow full prototypes for real compilers :) Patch by: Beldin - Fixed the fixes in bottree/page code so it'll compile on some sunos boxes (at the expense of speed :( Patch by: Beldin - Cleaned up help/dcc/set (since set is now a +n command) & added info about recent new Tcl variables Patch by: Beldin - Includes Getops-1.7 Patch by: dtM 1.1.0+pl3: - Commented out the desynch "fixing" in getops-1.5.tcl, it *doesn't* work on a lagged network Found by: OldGhost / Patch by: Beldin - Fixed to places where IP #'s were backwards in .dccstat Patch by: Beldin - Fixed tell_bottree so it sends a line at a time, therefore not confusing the paging code Patch by: Beldin - Fixed the paging code so flooders didn't crash it Found by: ??? / Patch by: Beldin - Was forgetting to free up store lines when a .page'n dcc chatter left early Patch by: Beldin - A couple of part messages were missing the sock #'s Patch by: Beldin - Botnet version now put's <> around the network Suggested by: EraseMe? / Patch by: Beldin - Fixed global laston time in .whois so it now displays accurately Patch by: Beldin - Tcl page was crashing Found by: somni / Patch by: Beldin - Tcl bind was crashing (with no args) Found by: somni / Patch by: Beldin - Added another ifdef EBUG (for stridx) Patch by: Beldin - Fixed ^H bug in dcc chat Found by: ???anybody??? / Patch by: Beldin - Made putdcc use dumplots Found by: Donovan Long / Patch by: Beldin - '.restart' now totally restarts Tcl by delaying restart of Tcl till it's outside of Tcl Patch by: Beldin - 16 context list when -DEBUG works now Patch by: Beldin 1.1.0+pl2: - Made MAXNOTES a Tcl variable (max-notes) added to config file also Patch by: Wild - Output debugging now checks for linefeeds and trims them, instead of assuming the last char is a linefeed, marked the type also e.g. tprintf is [!t] instead of [!] Patch by: Wild - Channel ops and such couldn't remove a channel ban if a global ban that matched existed Patch by: Wild - -ban now also removes bans that are on a channel, but not in the banlist (the code was there but not being used) Patch by: Wild - When sharing, leaf-bots were getting dupes of channel bans, they are now removed first if the hub is sharing bans for that channel Patch by: Wild, Beldin - Added some more ifdef EBUG 's Patch by: Wild - ifdef EBUG_OUTPUT in eggdrop.h was supposed to define EBUG, but it was defining DEBUG instead (whoops :) Patch by: Wild - Various functions in cmds.c concerning global/channel op commands were improved. Patch by: Wild - Moved putlogs in bot_pls_banchan and bot_mns_banchan to not show if the bot isn't guarding that channel Patch by: Wild - Debugs to hide password's in tclhash.c now work proper. Patch by: Wild 1.1.0+pl1 (May 26, 1997): - Tcl adduser wasn't truncating nick to 9 characters Found by: CFusion / Patch by: Beldin - Fixed getops-1.2.tcl->getops-1.5.tcl Submitted by: dtM - Removed getops-1.1.tcl, gainops1.tcl (old scripts) - Fixed Tcl chpass, so chpass "" will remove passwords Found by: madhack / Patch by: Beldin - Fixed .newpass error (needed 2 arguments to work) Found by: guppy / Patch by: Beldin - Fixed chon bug with console.tcl Found by: Jerry Sutton / Patch by: dk - Fixed small compiler bugs with DIE_SIGHUP and DIE_TERM. fatal had the wrong number of args. Found by: garbanzo / Patch by: dk - Put <> around the network in botinfo Suggested by: LuckyStar / Patch by: dk - Owners can't su to other owners without a pass (saw as a security risk) Patch by: Mastr - Can't su to a bot Patch by: Mastr - Added help file for .fixcodes Patch by: Beldin 1.1.0 (May 24, 1997): # Released by: dk [Steven Packard ] - Fixed nick tracing bug on EFnet. Reverted back to old style tracing. Added support for 401 and 206 numerics for trace failed Patch by: dk - Fixed BSD fatal bug when users join party-line Patch by: dk - Removed various "junk" out of hash.h and cmds.c Patch by: dk - Finished moving full prototypes into proto.h Patch by: dk - Fixed conflict in console settings between global and channel master Reported by: Wild / Patch by: dk - Added compile time setting of ENABLE_TCL_DCCSIMUL to enable dccsimul Tcl command Patch by: dk - Added check if NO_IRC is defined, so is NO_FILE_SYSTEM Patch by: dk - Added Tcl commands rehash and restart Patch by: dk - Added check to see if already linked to +sh in autocycle Patch by: LuckyStar - Fixed bug in botchk script. Bourne shell isn't leet enough to know what elif is... *shrug* Patch by: LuckyStar - Added 1 minute wait before accepting links back in Patch by: dk - Some more clean-up (typos, code, etc) Patch by: Wild Fixed problems created with the addition of dynamic channels: + Added flag CHANSTATIC for channels defined in the config file + Added a '\n' to one of the fprintf statements in the save channel's routine (was cuasing a crash if there were no dynamic channels) + Channels written to channel-file no longer include channels defined in the config-file (will only write the header there are no dynamic channels) + Dynamic channel commands changed to reflect difference between dynamic channels, and config-file channels (static) + chandel can no longer remove channels marked CHANSTATIC Patch by: Wild - Commented out joins in connect_server (main.c) this was causing the bot to get numeric 451 and jump servers (do we really need 451 and 206?) Patch by: Wild - Added SILENCE define for ircdu's silence command Patch by: Wild - Changed channel defalts to +DYNAMICBANS instead of +ENFORCBANS (my test bot kept dumping 200+ bans to channels that i added, even when it wasn't opped :/ ) Patch by: Wild - Bot was confused about current channel modes with new added channels before it recieved channel mode info back from the server Patch by: Wild - The last patch messed up tell_user (so sue me :) Patch by: Wild - Changed NICK to TRACE in chanprog(), and nick_change(new) Patch by: Wild - Added an #ifdef EBUG to tcl_builtin Suggested by: Beldin - kill -USR1 was leaving a socket (file) used to write DEBUG around after finishing Patch by: Beldin - Moved last 16 context's stuff into DEBUG Patch by: Beldin - Added command logging for the .chan commands Patch by: Beldin - Fixed compiler warnings in cmds.c and tcldcc.c for cmd_pls_ban, tcl_rehash, and tcl_restart Patch by: Wild - Now compiles with NO_IRC defined Patch by: Wild - Fixed missing prototypes Patch by: Wild - Did some help file and tcl-command.doc updates Patch by: Wild - Some code clean-up Patch by: Wild - Added Tcl validchan Patch by: Wild - Piped got401 into got402 (they are the same :) Patch by: Wild - Removed unvia recursively calling itself (finally) Suggested by: Beldin - refresh_ban_kick was losing the sticky feature of bans Patch by: Wild - check_tcl_chpt wasn't working again (now leave it be!) Patch by: Wild - Removed extra line feeds in debug_output debugging Patch by: Wild - Added a rotating buffer of 16 context's, allowing a list of the last 16 contexts passed report, useful for debugging strange errors Patch by: Beldin - Fixed a bug in .files due to paging code Patch by: Beldin - Added command logging of '.page' (yup, didn't get it right the first time ;) Patch by: Beldin - Added a counter for messages stored, booting users off if they hit 1000 lines, heck, if they get that high they're trying to cause trouble :) Patch by: Beldin - Added a check in write_debug to prevent recursive calls to it, (munching cpu & eventually crashing ) writes a simpler DEBUG.DEBUG Patch by: Beldin - Added a whole pile of '\n's I forgot :) Patch by: Beldin - auto-op wasn't opping global ops Patch by: Beldin - Fixed an .unlink bug introduced in pl3+bel where a remote unlink wouldn't work. Patch by: poptix - Fixed up OUTPUT debugging. Patch by: poptix - Added a lot of context lines to the main DCC loop. Patch by: poptix - Fixed multiple numeric discrepancies between EFnet and the RFC Patch by: poptix - Fixed another 'chanlist bug' so that bots aren't overlooked in channel specific flag matches Patch by: poptix - Fixed a minor bug in the mode storage by Wild (wasn't maintaining +l limit correctly) Patch by: Beldin - Started (done blowfish.c) making full prototypes in proto.h Patch by: Beldin - Added a .page command (and related Tcl page) when a user has paging on (.page ) then every number lines the bot stops sending the info and queues for later sending (useful in telnet where there's normally no way to look back) Patch by: Beldin - Add .chanadd, .chandel, .chaninfo, .chanset, .chansave, .chanload (+ Tcl savechannels, loadchannels) to modify channel settings from the console, +n for add/del, +N for save/load/set, +M for info Patch by: Beldin - Added channel-file Tcl variable for saving channel info Patch by: Beldin - Added docs for all of the above Patch by: Beldin - Added EVEN MORE space to the version string, since we just broke 256 chars Patch by: Beldin - Added a time binding, "min hour day month year" is the match, and the parameters Patch by: Beldin - Somewhere along the line someone lost a ! in cmd_boot Found by: Melvan - Greatly improved the way the bot keeps track of its nick (it doesn't assume it's going to get the nick anymore, it waits for the NICK from the server) Patch by: poptix - Added support for the 206 (RPL_TRACESERVER) and 351 (RPL_VERSION) numerics the VERSION numeric is used to check the bots current nick and the TRACESERVER numeric is what ircu2.9.30 and up respond with instead of TRACEFAILED (which was part of the NICK problems) Patch by: poptix - Updated get-in-ops to v1.2 Patch by: poptix - Added adbseen.tcl and adbtools.tcl to the scripts directory. Patch by: poptix - Added Tcl command "putidx" for use in script connections it's a bit faster than putdcc and uses qprintf (new) much like tprintf except you provide it with an idx instead of port. Patch by: poptix - Added '.fixcodes' command to fix the telnet codes when they aren't right (say if you didn't really telnet to the bot but it thought you had it still sent the nasty codes) Patch by: poptix - Fixed another /ctcp chat bug where the '\n' was left out Patch by: poptix - Added more output debugging Patch by: Wild - Killed extra line feeds in for output debug's Patch by: Wild - The bot was sending mode #channel (protect modes) with almost every mode change, and even console changes, now keeps a current modes for each channel, and sends the modes when they do not match Patch by: Wild - Unsetting of read only variables from Tcl scripts is no longer possible hmm must I do everything the hard way the first time around? :) Patch by: Wild - A little better enforcement of sticky bans (bot will keep them active as long as it is in the channel and opped) Suggested by: ??? / Patch by: Wild - Removed unvia recursivey calling itself Suggested by: Beldin - A couple other minor things with passwords masking and proto.h - Fixed '.act' and '.say' to not cut out the first word Found by: pattyt / Patch by: Beldin - Fixed a bug in '.unlink ' with no reason Patch by: Beldin - Made bot_unlinked split off first arg when parsing Patch by: Beldin - Fixed the showinfo on join, so that nasty '@' wouldnt show up, also, a globaly locked info line will overide a channel one, unless the channel one is locked too (comments???) Patch by: Beldin - unvia now recursively calls itself to unvia all bots behind it Patch by: Beldin - Okay tcl_chanlist works now, and works proper. Examples to use it are: chanlist #channel n (owner) chanlist #channel n&n (owner, Channel owner) chanlist #channel &o (Channel op) chanlist #channel omnB&omn123567890 etc. etc. first read flags are globals, the '&' denotes channel specific flags Patch by: Wild - +O bound dcc commands are now working proper when checking for +o flag either global or for a specific channel (I shoulda seen this) Patch by: Wild - check_tcl_chpt should be fixed now (was being called from botcmd.c with (bot,sock)) Patch by: Wild - Routine to check for global_op/channel op status on channel (now also checks for global owner/master), for +O bound dcc commands, affects -/+ban, act, channel, deop, op, invite, kick, kickban, resetbans, say, and topic. [RE: This was in there...so I put the changes back in. - Wild] Patch by: Wild - Idle info wasn't updated for ignored users talking in the channel Patch by: Wild - Started out got302 (someone finish me :) Patch by: Wild - Fixed a problem I left with masking passwords in debug. Patch by: Wild - Cleaned up tcl_chanlist Patch by: Wild TO-DO: - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Finish up botnet master implementation BUG REPORTS: - DCC sends are causing memory leaks on some systems. This affects shared userfile transfers - Some Tcl scripts handling idxes that worked before are spitting out invalid idx errors SUGGESTIONS: - Make MAXNOTES a Tcl variable - Make +s channel specific so it only shares info from that channel. - Make +u channel specific so it shares info from all but that channel. - Make +f a global-able flag - Channel specific file ownerships (ie, only people on a certain channel can get certain files) - Fix DEBUG_OUTPUT (in misc.c and net.c (mprintf,hprintf,tprintf) the '\n' needs to be trimmed off _all_ the stuff thats sent to debug1() because it already has a '\n' making it send an extra linefeed - Move more things into NO_IRC such as bans and hostmasks 1.1alpha+hayes+pop+pl5 (May 12, 1997): # Patch by: poptix [included in 1.1.0] - Greatly improved the way the bot keeps track of its nick (it doesn't assume it's going to get the nick anymore, it waits for the NICK from the server) Patch by: poptix - Added support for the 206 (RPL_TRACESERVER) and 351 (RPL_VERSION) numerics the VERSION numeric is used to check the bots current nick and the TRACESERVER numeric is what ircu2.9.30 and up respond with instead of TRACEFAILED (which was part of the NICK problems) Patch by: poptix - Updated get-in-ops to v1.2 Patch by: poptix - Added adbseen.tcl and adbtools.tcl to the scripts directory. Patch by: poptix - Added Tcl command "putidx" for use in script connections it's a bit faster than putdcc and uses qprintf (new) much like tprintf except you provide it with an idx instead of port. Patch by: poptix - Added '.fixcodes' command to fix the telnet codes when they aren't right (say if you didn't really telnet to the bot but it thought you had it still sent the nasty codes) Patch by: poptix - Fixed another /ctcp chat bug where the '\n' was left out Patch by: poptix 1.1alpha+hayes+wild+pl4 (May 12, 1997): # Patch by: Wild [included in 1.1.0] - Added more output debugging Patch by: Wild - Killed extra line feeds in for output debug's Patch by: Wild - The bot was sending mode #channel (protect modes) with almost every mode change, and even console changes, now keeps a current modes for each channel, and sends the modes when they do not match Patch by: Wild - Unsetting of read only variables from Tcl scripts is no longer possible hmm must I do everything the hard way the first time around? :) Patch by: Wild - A little better enforcement of sticky bans (bot will keep them active as long as it is in the channel and opped) Suggested by: ??? / Patch by: Wild - Removed unvia recursivey calling itself Suggested by: Beldin - A couple other minor things with passwords masking and proto.h 1.1alpha+hayes+bel+pl3 (May 12, 1997): # Patch by: Beldin [Darrin Smith ] [included in 1.1.0] - Fixed '.act' and '.say' to not cut out the first word Found by: pattyt / Patch by: Beldin - Fixed a bug in '.unlink ' with no reason Patch by: Beldin - Made bot_unlinked split off first arg when parsing Patch by: Beldin - Fixed the showinfo on join, so that nasty '@' wouldnt show up, also, a globaly locked info line will overide a channel one, unless the channel one is locked too (comments???) Patch by: Beldin - unvia now recursively calls itself to unvia all bots behind it Patch by: Beldin 1.1alpha+hayes+wild+pl2 (May 9, 2007): # Patch by: Wild [included in 1.1.0] - Okay tcl_chanlist works now, and works proper. Examples to use it are: chanlist #channel n (owner) chanlist #channel n&n (owner, Channel owner) chanlist #channel &o (Channel op) chanlist #channel omnB&omn123567890 etc. etc. first read flags are globals, the '&' denotes channel specific flags Patch by: Wild - +O bound dcc commands are now working proper when checking for +o flag either global or for a specific channel (I shoulda seen this) Patch by: Wild 1.1alpha+hayes+wild+pl1 (May 8, 2007): # Patch by: Wild [included in 1.1.0] - check_tcl_chpt should be fixed now (was being called from botcmd.c with (bot,sock)) Patch by: Wild - Routine to check for global_op/channel op status on channel (now also checks for global owner/master), for +O bound dcc commands, affects -/+ban, act, channel, deop, op, invite, kick, kickban, resetbans, say, and topic. [RE: This was in there...so I put the changes back in. - Wild] Patch by: Wild - Idle info wasn't updated for ignored users talking in the channel Patch by: Wild - Started out got302 (someone finish me :) Patch by: Wild - Fixed a problem I left with masking passwords in debug. Patch by: Wild - Cleaned up tcl_chanlist Patch by: Wild 1.1alpha+hayes (May 7, 1997): # Released by: Wade - Had to comment out the chpt code in tclhash.c since it was crashing everytime it was triggered, someone fix this please :) Patch by: poptix - The 'chanlist bug' code has been changed back to its previous state and the fix has been commented out in the code, this is a FIXME bug (we just need to see what OS we are using and some #ifdef's) Patch by: poptix - Removed all BEL_ defines and made them part of the code. Patch by: poptix - Removed code that made bot wait until it was online before accepting bot links. Patch by: poptix - Fixed 'say' 'act' 'op' 'deop' 'boot' 'relay' '-/+bot' 'unlink' '-/+user' and a lot more commands where if you didn't supply a parameter it acted like you had and did weird stuff. Patch by: poptix - Removed REJECT_FROM_HUBS and REJECT_FROM_NOWHERE due to the enormous amount of botnet wars this created. - Fixed memory usage growing when using .restart Patch by: Wild - Using console +d you were able to see acutal passwords when changed, now just shows as [something]. Patch by: Wild - Bot would crash with Tcl chpass "" (so far i have seen this on Tcl ver's 7.5 and 7.6) Patch by: Wild - No longer able to unset read-only variables Patch by: Wild - Added need-key need-unban and need-limit (like need-op and need-invite) and they are called respectively Patch by: poptix - Added script called getops-1.1.tcl that takes advantage of the above Patch by: poptix - Added support for the 442 numeric (ERR_NOTONCHANNEL), if it's a channel in its list it clears the channel info and sends a JOIN Patch by: poptix - Made it so it doesn't continually do LUSERS if you have servlimit set to 0 (or not set at all) Patch by: poptix - Fixed it when you sent the bot a CTCP CHAT it was sending a 'NOTICE' instead of a `PRIVMSG` (so you got a DCC CHAT reply :P) Patch by: poptix - Added a small 'program' to add patches for you it's called 'addpatch' just run 'addpatch [patch]' and it will install it for you then check for rejects for you etc. Patch by: poptix - Updated some more of the docs and the man page (what? eggdrop has a man page?) Patch by: poptix - Changed all references to 'lamestbot' to 'eggdrop.conf' Patch by: poptix - Fixed the setting of 'laston' during a QUIT Found by: ??? / Patch by: poptix - Implicit declaration of gotwall during compile Patch by: poptix - Bug in tclchan.c which caused the bot to crash Patch by: Wild - Routine to check for global_op/channel op status on channel (now also checks for global owner/master), for +O bound dcc commands, affects -/+ban, act, channel, deop, op, invite, kick, kickban, resetbans, say, and topic. Patch by: Wild - Fixed defines for "BEL_LOCAL_CHANNELS" (it was 'BEL_LOCAL_CHANNEL' in some instances and 'BEL_LOCAL_CHANNELS' in others Patch by: poptix - Fixed defines for "REJECT_FROM_HUBS" in some places it was 'REJECT_FROM_HUBS' in others it was 'REJECT_FROM_HUBS_ONLY'. Patch by: poptix - Fixed defines for "BEL_LINK_REASON" was 'LINK' in some places and 'UNLINK' in others. Patch by: poptix - Fixed an op/deop flood making the bot flood off, the bot was sending a 'WHO #chan' and a 'MODE #chan +b' everytime it saw a 'o' Patch by: poptix - Fixed a '.console' problem with MASTER and OWNER stuff (+n-m) Patch by: poptix - Added an #ifdef for ENABLE_SIMUL in cmds.c so it doesn't compile the code for 'simul' if its not defined :) Patch by: poptix - Removed a leftover comment about "killing timers" in eggdrop.h Patch by: poptix - Added descriptions for the BEL_ defines in eggdrop.h since the UPDATES file wasn't very descriptive. Patch by: poptix - Changed default of REJECT_FROM_HUBS to #undef, this was causing a lot of botnet wars ... Patch by: poptix - Fixed a compile warning for 'gotwall' (fixed in proto.h) Patch by: poptix - Fixed a typo from the BEL_LOCAL_CHANNELS in dcc.c (relat/relay) Patch by: poptix - Fixed Tcl 'bind' error to show 'wall' as "one of the following" Patch by: poptix - Re-added BEL_NEWLINKS code to botnet.c because a lot of people liked it and a lot of code 'doesn't really do anything' Patch by: poptix - Added command 'su' to s(et) u(ser) to another userid, owners do not require a password, everyone else must know the password of the user they are su'ing to. Patch by: poptix - Fixed putegg to exit when ./eggdrop is not present. Patch by: poptix - Made it do a "JOIN #channel,#channel2,#channel3,#channel4" instead of sending a lot of seperate ones. Patch by: poptix - Fixed a tprintf in cmds.c causing this: #poptix# who lamestbot !!! writing to nonexistent socket: 2 'You are on a local channel' Patch by: poptix - Moved joins back to got001 because it was causing problems with nospoof servers when the JOIN was send before the PONG (besides, if gain-ops is crashing the bots then gainops should be fixed :) Patch by: poptix - Added DEBUG_OUTPUT compile option in Makefile to debug stuff going out to the server. Patch by: poptix - Changed 'chaddr' helpfile to show how to use chaddr to set the botport and userport for relays. Patch by: poptix - Moved "### END OF IMPORTANT STUFF ###" line to _BELOW_ the 'die' line so that people don't miss it quite so easily. Patch by: poptix - Fixed a few things (I won't say what so it isnt abused) that were making the bot flood off when you did certain things :) (e-mail me and I might tell you poptix@WildStar.Net) Patch by: poptix - Added information for crontabbing a bot without receiving emails from cron Patch by: LuckyStar - Added a check to botchk for the bot userfile. If one doesn't exist, look for the ~new and then the ~bak userfile. Suggested by: LuckyStar / Patch by: dk - Updated flag information in eggdrop.doc Suggested by: LuckyStar / Patch by: dk - Added information on Beldin's broadcast, channel join, and channel part binds Patch by: LuckyStar - Updated the tricks file for the new style of binding built-in commands in version 1.1. Suggested by: LuckyStar / Patch by: dk - Updated the eggdrop.conf file to include console info on wallops Suggested by: LuckyStar / Patch by: dk - Fixed bug where bot wouldn't compile with BEL_UNLINK_REASON undefed Found by: EraseMe / Patch by: dk - Removed BEL_NEWLINKS code from botnet.c as it really was of no use Suggested by: LuckyStar / Patch by: dk - Fixed relay bug of bot relaying from still showed the relayer as being on the bot Found by: LuckyStar / Patch by: dk - Reduced topic array to 255 characters for memory concerns. Patch by: dk - Allowed botnet masters and channel masters to use .status, but only bot masters can use .status all Suggested by: LuckyStar / Patch by: dk - Botnet masters can't boot bot masters Suggested by: LuckyStar / Patch by: dk - Allowed channel masters to be able to .reset #chan on channels they have channel master Suggested by: LuckyStar / Patch by: dk - Fixed all DEFAULT_PORT log bugs Found by: LuckyStar / Patch by: dk - Added botnet master in dcc_check_attrs for reseting party-line flags Patch by: dk - Added wallops and log levels 6-8 to check_dcc_attrs for master console modes Patch by: dk - Added dcc_check_chanattrs for all channel flags that operates similar to dcc_check_attrs Patch by: dk - Fixed setting of channel flags bug for botnet masters Found by: LuckyStar / Patch by: dk - Modified command chattr to include implementation of dcc_check_chanattrs Patch by: dk - Fixed bug in +chrec that set flags +okm12 for that user on that channel Found by: LuckyStar / Patch by: dk - Fixed icon bug for user with no flags. Should be ' ' not '-'. Found by: EraseMe / Patch by: dk - Modified finding of console channel to prioritizing to find channel owner if it exists, then channel master, then channel op Suggested by: LuckyStar / Patch by: dk - Allowed botnet masters to use dccstat Suggested by: LuckyStar / Patch by: dk - Made .msg command a global ops only command Suggested by: LuckyStar / Patch by: dk - Made msg_ident return if someone tried to ident the bots name. This could be used as a detection method Found by: TheGhost / Patch by: dk - Fixed the msg_op bug Found by: Jerry Sutton / Patch by: dk - Fixed chanlist bug Found by: LuckyStar / Patch by: dk - Fixed dcclist bug Patch by: Wild - Fixed memory leak in userrec.c Found by: peace / Patch by: dk - Fixed the timezone and gotwall compiler errors Patch by: dk - Added check_tcl_wall code for bindings Patch by: dk - Various fixes to previous UPDATES entries - Updated The Net info from EraseMe Submitted by: EraseMe - Removed the joins in got001. Appeared to be making the bot crash whenever it tried to run gain-ops on a channel it had ops on already. Patch by: dk - Fixed "DEFAULT PORT" bug in loging of server jumps Found by: LuckyStar / Patch by: dk - Fixed botnet master help bug when botmaster had no global ops Found by: LuckyStar / Patch by: dk - Fixed botnet master to not require +p for partyline access Found by: LuckyStar / Patch by: dk - Fixed channel owner to also be channel master in sanity_check Patch by: dk - Fixed channel master bug being able to change attributes on other channels Found by: LuckyStar / Patch by: dk - Fixed channel master bug being able to set +n on his channel Found by: LuckyStar / Patch by: dk - Added a fun little useless command (see if you can find it ;*) - Put define BEL_NEWLINKS back into eggdrop.h (don't know how it disappeared in the first place...) Found by: LuckyStar / Patch by: dk - Removed define BEL_LINK_SHAREBOTS since it wasn't being used anymore Found by: LuckyStar / Patch by: dk - Fixed bug in the hourly note notice code. It was sending a notice for every potr being used on the bot. Patch by: dk - Fixed typo in BEL_NEWLINKS autolink function Found by: LuckyStar / Patch by: dk - Fixed new telnet users being able to use bot's nick Found by: EraseMe / Patch by: dk - Added a lot of context lines to help tracibility of bugs Patch by: dk - Fixed compile time warnings in cmds.c Patch by: Beldin - Added a Tcl command resetchan Patch by: Beldin - You can now set the bot to strip various codes which may prove to be annoying to you Patch by: billyjoe - Bot will send the join command for each channel upon getting a 001 numeric, in case an anti-spoofing server rejected them Patch by: garbanzo - New console (+w) added, will let +m's see the wallops, three more log levels added for a total of 8 Patch by: garbanzo - Implemented +n channel flag for channel owner. channel owner can add and remove channel masters and have access to all channel master commands. Patch by: dk - Implemented +B botnet master commands. botnet masters have access to all commands that affect bots or the botnet. Patch by: dk - Added commands +/- bothost and chbotattr for botnet masters. Patch by: dk - Allowed channel masters to use status and +/- host for users on their channel. +/- host checks if user has any flags for the channel the channel master has master access on. Patch by: dk - Implemented psuedo flags +O/M/N for Tcl commands binds against channel op, master, and owner flags respectively. Binds that came with a channel check against that channel's flags. Binds that don't, check against all channel's flags. +M/N/O cannot be set to a user in the bot. Patch by: dk - Changed .topic command so that if no arguements are provided, it returns the channel's current topic. also added Tcl command topic that returns the topic of that channel. Suggested by: Ernst / Patch by: dk - Fixed bug of sharing out null users Patch by: Wild - Fixed revenge bug where it said "Banning so and so now...", it was setting the ban Found by: DeathHand / Patch by: dk - Removed function get_tcl_vars since it was just a stub Patch by: dk - Updated help files to reflect new +O/N/M flags Patch by: dk - Modified console command so that channel ops and channel masters that don't have global ops or master access can't change their console to a channel where they don't have channel ops or master Patch by: dk - Console channel set to the first channel where channel op/master/owner flag is detected if user doesn't have respective global attributes when first connecting to bot. Console set back to default if no channel flag was detected. Patch by: dk - Added master_anywhere and owner_anywhere functions Patch by: dk - Set ENABLE_TCL to undefined by default Suggested by: alot of people - Added feature that bot notifies users in the bot or on a channel that they have notes every hour. minute after the hour that this is done can be set in the bot config file with notify-users-at. Suggested by: blackjac / Patch by: dk - Added variable timezone to config file to be used by Tcl scripts Suggested by: Ernst / Patch by: dk - Fixed recycling logfiles bug for keep-all-logs Found by: BoGuS / Patch by: dk - Changed msg_op command so that if a user has no password set, he can't get opped for extra security Patch by: dk - Fixed a coding error in tputs in net.c when logging an error Patch by: dk - Fixed Tcl chanlist bug. Checks against channel flags and global flags now. Found by: LSC / Patch by: dk - Extened Tcl dcclist command to include bots, files receiving, files sending, and files send pending. Suggested by: Ernst / Patch by: dk - Changed botnet flags so that channel masters get master flag in whom and channel owners get owner flag in whom. Patch by: dk - Only owners can change the passwords, addresses, nicks to shared bots or delete hostmasks from shared bots or -user shared bots. Suggested by: DeathHand / Patch by: dk - Allowed for 8-bit channel names Patch by: David Brauman - Added botnet icon '%' for botnet masters Patch by: dk - Removed +g for global ops Patch by: dk - Updated info for Russian Net in nets.list Submitted by: LuckyStar TO-DO: - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Telnet port sometimes gets lost Reported by: genady SUGGESTIONS: - Fix 'white space' where there is a space inbetween a "(" and some data 1.1alpha+julius+pl6 (May 4, 2007): # Patch by: Wild [included in 1.1alpha+hayes] - Fixed memory usage growing when using .restart Patch by: Wild - Using console +d you were able to see acutal passwords when changed, now just shows as [something]. Patch by: Wild - Bot would crash with Tcl chpass "" (so far i have seen this on Tcl ver's 7.5 and 7.6) Patch by: Wild - No longer able to unset read-only variables Patch by: Wild 1.1alpha+julius+pop+pl5 (May 4, 2007): # Patch by: poptix [included in 1.1alpha+hayes] - Fixed it when you sent the bot a CTCP CHAT it was sending a 'NOTICE' instead of a `PRIVMSG` (so you got a DCC CHAT reply :P) Patch by: poptix - Added a small 'program' to add patches for you it's called 'addpatch' just run 'addpatch [patch]' and it will install it for you then check for rejects for you etc. Patch by: poptix - Updated some more of the docs and the man page (what? eggdrop has a man page?) Patch by: poptix - Changed all references to 'lamestbot' to 'eggdrop.conf' Patch by: poptix - Fixed the setting of 'laston' during a QUIT Found by: ??? / Patch by: poptix 1.1alpha+julius+pl4 (April 28, 2007): # Patch by: Wild , poptix [included in 1.1alpha+hayes] - Implicit declaration of gotwall during compile Patch by: poptix - Bug in tclchan.c which caused the bot to crash Patch by: Wild - Routine to check for global_op/channel op status on channel (now also checks for global owner/master), for +O bound dcc commands, affects -/+ban, act, channel, deop, op, invite, kick, kickban, resetbans, say, and topic. Patch by: Wild 1.1alpha+julius+pl3 (April 27, 2007): # Patch by: dk [Steven Packard ] [included in 1.1alpha+hayes] - Added information for crontabbing a bot without receiving emails from cron Patch by: LuckyStar - Added a check to botchk for the bot userfile. If one doesn't exist, look for the ~new and then the ~bak userfile. Suggested by: LuckyStar / Patch by: dk - Updated flag information in eggdrop.doc Suggested by: LuckyStar / Patch by: dk - Added information on Beldin's broadcast, channel join, and channel part binds Patch by: LuckyStar - Updated the tricks file for the new style of binding built-in commands in version 1.1. Suggested by: LuckyStar / Patch by: dk - Updated the eggdrop.conf file to include console info on wallops Suggested by: LuckyStar / Patch by: dk - Fixed bug where bot wouldn't compile with BEL_UNLINK_REASON undefed Found by: EraseMe / Patch by: dk - Removed BEL_NEWLINKS code from botnet.c as it really was of no use Suggested by: LuckyStar / Patch by: dk - Fixed relay bug of bot relaying from still showed the relayer as being on the bot Found by: LuckyStar / Patch by: dk - Reduced topic array to 255 characters for memory concerns. Patch by: dk - Allowed botnet masters and channel masters to use .status, but only bot masters can use .status all Suggested by: LuckyStar / Patch by: dk - Botnet masters can't boot bot masters Suggested by: LuckyStar / Patch by: dk - Allowed channel masters to be able to .reset #chan on channels they have channel master Suggested by: LuckyStar / Patch by: dk - Fixed all DEFAULT_PORT log bugs Found by: LuckyStar / Patch by: dk - Added botnet master in dcc_check_attrs for reseting party-line flags Patch by: dk - Added wallops and log levels 6-8 to check_dcc_attrs for master console modes Patch by: dk - Added dcc_check_chanattrs for all channel flags that operates similar to dcc_check_attrs Patch by: dk - Fixed setting of channel flags bug for botnet masters Found by: LuckyStar / Patch by: dk - Modified command chattr to include implementation of dcc_check_chanattrs Patch by: dk - Fixed bug in +chrec that set flags +okm12 for that user on that channel Found by: LuckyStar / Patch by: dk - Fixed icon bug for user with no flags. Should be ' ' not '-'. Found by: EraseMe / Patch by: dk - Modified finding of console channel to prioritizing to find channel owner if it exists, then channel master, then channel op Suggested by: LuckyStar / Patch by: dk - Allowed botnet masters to use dccstat Suggested by: LuckyStar / Patch by: dk - Made .msg command a global ops only command Suggested by: LuckyStar / Patch by: dk - Made msg_ident return if someone tried to ident the bots name. This could be used as a detection method Found by: TheGhost / Patch by: dk - Fixed the msg_op bug Found by: Jerry Sutton / Patch by: dk - Fixed chanlist bug Found by: LuckyStar / Patch by: dk - Fixed dcclist bug Patch by: Wild - Fixed memory leak in userrec.c Found by: peace / Patch by: dk 1.1alpha+julius+pl2 (April 17, 1997): # Patch by: dk [Steven Packard ] [included in 1.1alpha+hayes] - Fixed the timezone and gotwall compiler errors Patch by: dk - Added check_tcl_wall code for bindings Patch by: dk - Various fixes to previous UPDATES entries - Updated The Net info from EraseMe Submitted by: EraseMe - Removed the joins in got001. Appeared to be making the bot crash whenever it tried to run gain-ops on a channel it had ops on already. Patch by: dk - Fixed "DEFAULT PORT" bug in loging of server jumps Found by: LuckyStar / Patch by: dk - Fixed botnet master help bug when botmaster had no global ops Found by: LuckyStar / Patch by: dk - Fixed botnet master to not require +p for partyline access Found by: LuckyStar / Patch by: dk - Fixed channel owner to also be channel master in sanity_check Patch by: dk - Fixed channel master bug being able to change attributes on other channels Found by: LuckyStar / Patch by: dk - Fixed channel master bug being able to set +n on his channel Found by: LuckyStar / Patch by: dk - Added a fun little useless command (see if you can find it ;*) - Put define BEL_NEWLINKS back into eggdrop.h (don't know how it disappeared in the first place...) Found by: LuckyStar / Patch by: dk - Removed define BEL_LINK_SHAREBOTS since it wasn't being used anymore Found by: LuckyStar / Patch by: dk - Fixed bug in the hourly note notice code. It was sending a notice for every potr being used on the bot. Patch by: dk - Fixed typo in BEL_NEWLINKS autolink function Found by: LuckyStar / Patch by: dk - Fixed new telnet users being able to use bot's nick Found by: EraseMe / Patch by: dk - Added a lot of context lines to help tracibility of bugs Patch by: dk 1.1alpha+julius+pl1 (April 14, 1997): # Patch by: dk [Steven Packard ] [included in 1.1alpha+hayes] - Fixed compile time warnings in cmds.c Patch by: Beldin - Added a Tcl command resetchan Patch by: Beldin - You can now set the bot to strip various codes which may prove to be annoying to you Patch by: billyjoe - Bot will send the join command for each channel upon getting a 001 numeric, in case an anti-spoofing server rejected them Patch by: garbanzo - New console (+w) added, will let +m's see the wallops, three more log levels added for a total of 8 Patch by: garbanzo - Implemented +n channel flag for channel owner. channel owner can add and remove channel masters and have access to all channel master commands. Patch by: dk - Implemented +B botnet master commands. botnet masters have access to all commands that affect bots or the botnet. Patch by: dk - Added commands +/- bothost and chbotattr for botnet masters. Patch by: dk - Allowed channel masters to use status and +/- host for users on their channel. +/- host checks if user has any flags for the channel the channel master has master access on. Patch by: dk - Implemented psuedo flags +O/M/N for Tcl commands binds against channel op, master, and owner flags respectively. Binds that came with a channel check against that channel's flags. Binds that don't, check against all channel's flags. +M/N/O cannot be set to a user in the bot. Patch by: dk - Changed .topic command so that if no arguements are provided, it returns the channel's current topic. also added Tcl command topic that returns the topic of that channel. Suggested by: Ernst / Patch by: dk - Fixed bug of sharing out null users Patch by: Wild - Fixed revenge bug where it said "Banning so and so now...", it was setting the ban Found by: DeathHand / Patch by: dk - Removed function get_tcl_vars since it was just a stub Patch by: dk - Updated help files to reflect new +O/N/M flags Patch by: dk - Modified console command so that channel ops and channel masters that don't have global ops or master access can't change their console to a channel where they don't have channel ops or master Patch by: dk - Console channel set to the first channel where channel op/master/owner flag is detected if user doesn't have respective global attributes when first connecting to bot. Console set back to default if no channel flag was detected. Patch by: dk - Added master_anywhere and owner_anywhere functions Patch by: dk - Set ENABLE_TCL to undefined by default Suggested by: alot of people - Added feature that bot notifies users in the bot or on a channel that they have notes every hour. minute after the hour that this is done can be set in the bot config file with notify-users-at. Suggested by: blackjac / Patch by: dk - Added variable timezone to config file to be used by Tcl scripts Suggested by: Ernst / Patch by: dk - Fixed recycling logfiles bug for keep-all-logs Found by: BoGuS / Patch by: dk - Changed msg_op command so that if a user has no password set, he can't get opped for extra security Patch by: dk - Fixed a coding error in tputs in net.c when logging an error Patch by: dk - Fixed Tcl chanlist bug. Checks against channel flags and global flags now. Found by: LSC / Patch by: dk - Extened Tcl dcclist command to include bots, files receiving, files sending, and files send pending. Suggested by: Ernst / Patch by: dk - Changed botnet flags so that channel masters get master flag in whom and channel owners get owner flag in whom. Patch by: dk - Only owners can change the passwords, addresses, nicks to shared bots or delete hostmasks from shared bots or -user shared bots. Suggested by: DeathHand / Patch by: dk - Allowed for 8-bit channel names Patch by: David Brauman - Added botnet icon '%' for botnet masters Patch by: dk - Removed +g for global ops Patch by: dk - Updated info for Russian Net in nets.list Submitted by: LuckyStar 1.1alpha+julius+garbanzo (April 7, 1997): # Patch by: garbanzo [partially included in 1.1alpha+hayes] - You can now set the bot to strip various codes which may prove to be annoying to you Patch by: billyjoe - Bot can be set not to boot people or not to boot masters on partyline floods [not included in 1.1alpha+hayes] Patch by: garbanzo - Bot will send the join command for each channel upon getting a 001 numeric, in case an anti-spoofing server rejected them Patch by: garbanzo - New console (+w) added, will let +m's see the wallops, three more log levels added for a total of 8 Patch by: garbanzo 1.1alpha+bel1 (April 4, 1997): # Patch by: Beldin [Darrin Smith ] [included in 1.1alpha+hayes and 1.1alpha+julius+pl1 patch] - Fixed compile time warnings in cmds.c Patch by: Beldin - Added a Tcl command resetchan Patch by: Beldin 1.1alpha+julius (April 2, 1997): # Released by: dk [Steven Packard ] - The nice little warning in case youre silly enough to eggdrop as root Patch by: poptix - A whole slew of stuff fixing channel-specific flags with respect to bans/kicks/ops, ie checking both global & channel-specific op flags etc Patch by: Beldin - binds for bot broadcasts (#define BEL_BROADCAST_BIND) Patch by: Beldin - binds for botnet channel join/parts (#define BEL_JOINS_PARTS) Patch by: Beldin - Bots can broadcast unlink reason (#define BEL_UNLINK_REASON) Patch by: Beldin - Channel *0-*99999 (100000->199999 to Tcl scripts) are local-to-the-bot (#define BEL_LOCAL_CHANNELS) Patch by: Beldin - Rejects can be restricted (#define REJECT_FROM_NOWHERE, #define REJECT_FROM_HUBS) Patch by: Beldin - Much better handling of assoc on botlink (ie they get passed ;) (#define BEL_BETTER_ASSOC) Patch by: Beldin - Handle botlinking differently - all bots TRY to link to new bot before unlinking old bot, priority is +sh, +h, +a (#define BEL_NEWLINKS) can try to link all +sh's (#define BEL_LINK_SHAREHUBS) Patch by: Beldin - +ban [channel] [reason] <- channel option added (#define BEL_CHAN_BANS) Patch by: Beldin - +/- chrec for adding/removing channel records (#define BEL_CHAN_REC) (also Tcl commands addchanrec & delchanrec) Patch by: Beldin - .filestats & .filestats clear for view file stats from dcc (#define BEL_FILE_STATS) Patch by: Beldin - Fixed a bug in DCC_GET timeout's Patch by: Beldin - Included check for global +o's in stopnethack Patch by: Beldin - Added the BOUNCE_SERVER_BANS define Patch by: poptix - Fixed multiple /ctcp chat replies Patch by: Beldin - Added Tcl commands to maniplulate laston times & global laston info (#define BEL_LASTON) Patch by: Beldin - files-path, incoming-path & filedb-path are read-only Patch by: Beldin - Add a Tcl boot command (can do remote boots also) (#define BEL_BOOTS) Patch by: Beldin - Added cmw+pl1-3 patchesa Patch by: cmwagner - Fixed DL library detection in configure script after Tcl version detection Patch by: dk - Fixed .nick bug Patch by: dk - Fixed msg help command to display ops only commands to channel ops Patch by: pteron - Fixed bitch mode to make bot not deop masters or bots Patch by: pteron - Fixed kickban bug Reported by: Jim Marco / Patch by: dk - Allowed channel masters to use .adduser Patch by: dk - Allowed channel masters to use .chattr to modify channel flags only Patch by: dk - Allowed channel masters to use .save Patch by: dk - Allowed channel masters to use .reload Patch by: dk - Allowed channel masters to change their console to +oc (misc and commands) Patch by: dk - Changed +/-ban for global bans to be a bot master only function Patch by: dk - Removed define BEL_CHAN_BANS. Made code for channel bans integrated in code Patch by: dk - Added command .deluser which deletes a user from the hostmask of his nick (main purpose is for channel masters to be able to remove users, but to only users currently on the channel. Channel masters cannot deluser bots, bot masters, or bot owners) Patch by: dk - Allowed all partyline users to use .nick Patch by: dk - Added ANSI style defines in header files to reduce compiling overhead Patch by: dk - Included any bug fixes in 1.0o+cmw+pl1-7 not included in grant+cmw+pl1-3 Patch by: cmwagner Included following updates from 1.0o to 1.0p: + kickban reasons are now being included in the kick Patch by: ??? + kickban will now let owner's kickban anyone, and masters can kickban ops Patch by: ??? + 437 numeric on DALnet/Undernet means you can't change your nickname because your nickname is banned, plus some buffer overflow fixes Patch by: cmwagner + 437 numeric (nickname/channel is juped) has been changed to reflect whether it is specfically the channel or the nickname, bot will not change nicknames if the channel is juped :) Found by: Ernst / Patch by: Robey + Added 'restart' command, this may cause some problems Patch by: cmwagner + Long nickname mask in whois command caused bot to crash Found by: Ernst / Patch by: cmwagner + Space before ctcp commands would be stripped off, could be used to detect eggdrop bots Patch by: cmwagner + When rehashing and the bot was using the alternate nickname it would result in the bot thinking the nickname was in use and changing it Found by: seth / Patch by: cmwagner + Party line wasn't being updated when attributes were being changed Found by: imoq / Patch by: cmwagner + topic command was not letting users change the topic on a non +t channel when the bot was opless Found by: DeathHand / Patch by: cmwagner + Users were not being deopped when channel is set +revenge and they deop Found by: DeathHand / Patch by: cmwagner - Fixed major bug in +/-chrec Patch by: dk - Fixed bug in notes, sock # appearing in from Reported by: LSC / Patch by: dk - Fixed bug in .restart, bot died on Tcl_DeleteInterp(interp); Patch by: dk - Fixed bug in .trace, multiple traced responses Reported by: LSC / Patch by: dk - Fixed Channel Flag bug Reported by: Preston / Patch by: dk - Added Channel Flags 6-0 Patch by: dk - Incoming notes display sock # of sender after nick if there is one Patch by: dk - Implemented adduser for bots for shared bots Patch by: dk - killuser, -host, and chattr cannot affect +s bots Patch by: dk - Fix for altnick bug Patch by: Wild - Added share-greet setting in config file. 0 do not send changes in info to shared bots, 1 do. Patch by: dk - Fixed +bitch. Channel masters can op people. Also, don't need global ops and channel ops to keep ops in bitch mode Patch by: dk - Changed deop so that bot and channel masters can deop users with +o flags Patch by: dk TO-DO: - chanflags aren't treated right in tcl (to prevent overlap) - dcc table should be used to cache user records - File system: + export directories to other bots. a notice is broadcast on the botnet once each hour for your exported directories (to let other bots know) + if 'auto-import' is on, send out an export-list-request when linking to a new bot. whenever other bots broadcast exported directories, auto-add those directories to the specified place + set dcc-import-path "dcc/public/" Snowbot exports "/gifs/party" as "pgifs" --> "dcc/public/Snowbot/pgifs" + quota per-directory + change required-flags spec from integer to chars (doh!) + re-implement directory headers TO-DO: - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Telnet port sometimes gets lost Reported by: genady 1.1alpha+grant+dk+pl3 (March 28, 1997): # Patch by: dk [Steven Packard ] [included in 1.1alpha+julius] - Allowed channel masters to use .adduser Patch by: dk - Allowed channel masters to use .chattr to modify channel flags only Patch by: dk - Allowed channel masters to use .save Patch by: dk - Allowed channel masters to use .reload Patch by: dk - Allowed channel masters to change their console to +oc (misc and commands) Patch by: dk - Changed +/-ban for global bans to be a bot master only function Patch by: dk - Removed define BEL_CHAN_BANS. Made code for channel bans integrated in code Patch by: dk - Added command .deluser which deletes a user from the hostmask of his nick (main purpose is for channel masters to be able to remove users, but to only users currently on the channel. Channel masters cannot deluser bots, bot masters, or bot owners) Patch by: dk - Allowed all partyline users to use .nick Patch by: dk - Added ANSI style defines in header files to reduce compiling overhead Patch by: dk - Included any bug fixes in 1.0o+cmw+pl1-7 not included in grant+cmw+pl1-3 Patch by: cmwagner - Included following updates from 1.0o to 1.0p: + kickban reasons are now being included in the kick Patch by: ??? + kickban will now let owner's kickban anyone, and masters can kickban ops Patch by: ??? + 437 numeric on DALnet/Undernet means you can't change your nickname because your nickname is banned, plus some buffer overflow fixes Patch by: cmwagner + 437 numeric (nickname/channel is juped) has been changed to reflect whether it is specfically the channel or the nickname, bot will not change nicknames if the channel is juped :) Found by: Ernst / Patch by: Robey + Added 'restart' command, this may cause some problems Patch by: cmwagner + Long nickname mask in whois command caused bot to crash Found by: Ernst / Patch by: cmwagner + Space before ctcp commands would be stripped off, could be used to detect eggdrop bots Patch by: cmwagner + When rehashing and the bot was using the alternate nickname it would result in the bot thinking the nickname was in use and changing it Found by: seth / Patch by: cmwagner + Party line wasn't being updated when attributes were being changed Found by: imoq / Patch by: cmwagner + topic command was not letting users change the topic on a non +t channel when the bot was opless Found by: DeathHand / Patch by: cmwagner + Users were not being deopped when channel is set +revenge and they deop Found by: DeathHand / Patch by: cmwagner - Fixed major bug in +/-chrec Patch by: dk - Fixed bug in notes, sock # appearing in from Reported by: LSC / Patch by: dk - Fixed bug in .restart, bot died on Tcl_DeleteInterp(interp); Patch by: dk 1.1alpha+grant+dk+pl2 (March 25, 1997): # Patch by: dk [Steven Packard ] [included in 1.1alpha+julius] - Fixed kickban bug Reported by: Jim Marco / Patch by: dk 1.1alpha+grant+dk+pl1 (March 25, 1997): # Patch by: dk [Steven Packard ] [included in 1.1alpha+julius] - Fixed DL library detection in configure script after Tcl version detection Patch by: dk - Fixed .nick bug Patch by: dk 1.1alpha+grant+pteron+pl1 (March 23, 1997): # Patch by: pteron [included in 1.1alpha+julius] - Fixed msg help command to display ops only commands to channel ops Patch by: pteron - Fixed bitch mode to make bot not deop masters or bots Patch by: pteron 1.1alpha+grant+beldin4a/b/c/d/e: # Patch by: Beldin [Darrin Smith ] [included in 1.1alpha+julius] - Miscelaneous bug fixes + adding cmw's patches Patch by: Beldin 1.1alpha+grant+beldin1 (February 18, 1997): # Patch by: Beldin [Darrin Smith ] [included in 1.1alpha+julius] - The nice little warning in case youre silly enough to eggdrop as root Patch by: poptix - A whole slew of stuff fixing channel-specific flags with respect to bans/kicks/ops, ie checking both global & channel-specific op flags etc Patch by: Beldin - binds for bot broadcasts (#define BEL_BROADCAST_BIND) Patch by: Beldin - binds for botnet channel join/parts (#define BEL_JOINS_PARTS) Patch by: Beldin - Bots can broadcast unlink reason (#define BEL_UNLINK_REASON) Patch by: Beldin - Channel *0-*99999 (100000->199999 to Tcl scripts) are local-to-the-bot (#define BEL_LOCAL_CHANNELS) Patch by: Beldin - Rejects can be restricted (#define REJECT_FROM_NOWHERE, #define REJECT_FROM_HUBS) Patch by: Beldin - Much better handling of assoc on botlink (ie they get passed ;) (#define BEL_BETTER_ASSOC) Patch by: Beldin - Handle botlinking differently - all bots TRY to link to new bot before unlinking old bot, priority is +sh, +h, +a (#define BEL_NEWLINKS) can try to link all +sh's (#define BEL_LINK_SHAREHUBS) Patch by: Beldin - +ban [channel] [reason] <- channel option added (#define BEL_CHAN_BANS) Patch by: Beldin - +/- chrec for adding/removing channel records (#define BEL_CHAN_REC) (also Tcl commands addchanrec & delchanrec) Patch by: Beldin - .filestats & .filestats clear for view file stats from dcc (#define BEL_FILE_STATS) Patch by: Beldin - Fixed a bug in DCC_GET timeout's Patch by: Beldin - Included check for global +o's in stopnethack Patch by: Beldin - Added the BOUNCE_SERVER_BANS define Patch by: poptix - Fixed multiple /ctcp chat replies Patch by: Beldin - Added Tcl commands to maniplulate laston times & global laston info (#define BEL_LASTON) Patch by: Beldin - files-path, incoming-path & filedb-path are read-only Patch by: Beldin - Add a Tcl boot command (can do remote boots also) (#define BEL_BOOTS) Patch by: Beldin 1.1alpha+grant+cmw+pl3 (February 11, 1997): # Patch by: cmwagner [Chad Wagner ] [included in 1.1alpha+julius] - Missing idx for assoc tandout_but() Patch by: cmwagner 1.1alpha+grant+cmw+pl2 (February 11, 1997) (re-released February 13, 1997): # Patch by: cmwagner [Chad Wagner ] [included in 1.1alpha+julius] - Use dcc[i].sock instead of idx for tandout_but() Patch by: cmwagner 1.1alpha+grant+cmw+pl1 (February 11, 1997) (revised February 13, 1997): # Patch by: cmwagner [Chad Wagner ] [included in 1.1alpha+julius] - Correct the DL library bug in configure for systems that don't have the DL libraries. DL libraries aren't needed even though the script thinks they are. Patch by: cmwagner 1.1alpha+grant (February 5, 1997): # Released by: Robey [Robey Pointer ] - Address in '.dccstat' for telnet connections was reversed (fixed) - Info lines can use euro characters now - msg 'info' command requires a password Patch by: ButchBub - Stupid bug that made all Tcl ints appear as "uptime" (fixed) Patch by: ButchBub - Tcl 'unbind' was broke (fixed) Patch by: ButchBub - xtra field had a zillion "created" entries in it (fixed) Patch by: ButchBub - 'bans all' would crash (fixed) Found by: Lefty / Patch by: Lefty, ButchBub - Sharebots now share channel flags Patch by: Lefty - pid file is named after the botnet nick now Patch by: Gaven Cohen - gainops fixed for 1.1 Patch by: jonte - +bitch mode was deop'ing all server ops, regardless of whether they had ops before the split (fixed) Found by: ButchBub - Global op switched back to +o from +g - Sharebots now share chan-specific info lines Patch by: Beldin - Tcl 'getjointime' added [called getchanjoin ;)] Suggested by: Gaven Cohen - '.match' can scan for chan-specific flags Patch by: Beldin - '.info', '.chinfo' support changing chan-specific info lines now Patch by: Beldin, Robey - msg 'info' supports chan-specific info lines too Patch by: Beldin, Robey - Tcl 'getchaninfo', 'setchaninfo' added Patch by: Beldin - Was reaffirming owners before switching to the new userfile after a sharebot download (fixed) Patch by: Beldin - '.match' can accept "+m-g" etc (based on patch by Beldin) Suggested by: tyson / Patch by: Beldin, Robey - msg 'who' uses chan-specific info lines when appropriate - Tcl 'listen' could screw up the dcc table on error (fixed) - Logfiles stay open continuously now - Sharebots will share bot's user-flags now Suggested by: genady - Finished converting help files - Userfile gets backed up at midnight again - Host removal for bot records over botnet wasn't working (fixed) - Bug in assoc removal (fixed) Patch by: Beldin - On reload, aggressive bot will send userfile to passive sharebots again Patch by: Beldin - Bots can't use msgs to set a password Patch by: Beldin - Tracks uploads/dnloads per user (based on patch by Beldin) Found by: Beldin / Patch by: Beldin, Robey - Can set the 5 chanflags by 'chanflag#' Patch by: Beldin - Tcl 'chnick' can have the password omitted (to reset it) Patch by: Beldin - Local users going to the file system just look "away" to remote users Patch by: poptix TO-DO: - chanflags aren't treated right in tcl (to prevent overlap) - when checking flags for dcc commands, take console channel settings into account (local channel +o, +m) - dcc table should be used to cache user records - link to +sh bots the way a +h link works Suggested by: genady - channel master Suggested by: By-Tor - +ban/-ban to be specific to your console channel: +gban/-gban for global bans - File system: + export directories to other bots. a notice is broadcast on the botnet once each hour for your exported directories (to let other bots know) + if 'auto-import' is on, send out an export-list-request when linking to a new bot. whenever other bots broadcast exported directories, auto-add those directories to the specified place + set dcc-import-path "dcc/public/" Snowbot exports "/gifs/party" as "pgifs" --> "dcc/public/Snowbot/pgifs" + quota per-directory + change required-flags spec from integer to chars (doh!) + re-implement directory headers TO-DO: - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Telnet port sometimes gets lost Reported by: genady 1.1alpha+lincoln+beldin1 (January 26, 1997): # Patch by: Beldin [Darrin Smith ] [partially included in 1.1alpha+grant] - Info line needs to be password protected [not included in 1.1alpha+grant] Patch by: Beldin - Let users set their own chan-specific info lines [partially included in 1.1alpha+grant] Patch by: Beldin - Tcl commands to: get info line for one channel set info line for one channel [included in 1.1alpha+grant] Patch by: Beldin - Display channel-specific info lines [partially included in 1.1alpha+grant] Patch by: Beldin - A non-elegant solution to the {created #} problem [not included in 1.1alpha+grant] Patch by: Beldin - similar problem with NO_IRC (fixed) [not included in 1.1alpha+grant] Patch by: Beldin 1.1alpha+lincoln+kin1 (January 16, 1997): # Patch by: Gaven Cohen [partially included in 1.1alpha+grant] - {created [unixtime]} extra field added everytime userfile is loaded. (disabled until someone who knows C fixes up) [not included in 1.1alpha+grant] Patch by: Gaven Cohen - Defining NO_FILE_SYSTEM would result in the bot not recognizing normal commands (fixed) [not included in 1.1alpha+grant] Patch by: Gaven Cohen - Added compile time option in eggdrop.h to specify whether to use pid.origbotname or pid.botnetnick for the pid file [partially included in 1.1alpha+grant] Patch by: Gaven Cohen 1.1alpha+lincoln+lefty2: # Patch by: Lefty [included in 1.1alpha+grant] - "chattr nick +flg #chan" botnet not working (fixed) Patch by: Lefty 1.1alpha+lincoln+lefty1 (January 10, 1997): # Patch by: Lefty [partially included in 1.1alpha+grant] - ".bans all" would crash the bot w/SEGMENT VIOLATION (fixed) Patch by: Lefty 1.1alpha+lincoln (January 5, 1997): # Released by: Robey [Robey Pointer ] - Notes tell you if they're going to expire soon - Faster memory debugging Suggested by: ledpighp - Can compile without including the file system now (for a moderate disk and memory savings) Patch by: Robey - Can specify a parting comment with '.quit' Suggested by: a person - 'u' flag on user specifies "unshared" (not transfered to other bots when sending the userfile, and kept even when downloading the userfile -- just like bot records) Suggested by: exile - Flags o/d/f/k are channel-specific now (not global flags) - 'g' flag meaning "global op" (virtual +o flag for every channel), also used to restrict access to dcc channel commands - filedb's are locked from other bots when in use - Tcl 'valididx' to determine if an idx is ok to use Suggested by: By-Tor - Removed very old 'isolate' option - +r bots that try to link directly will be rebuffed without sending any notices to other bots Suggested by: genady - Tcl command 'backup' to backup the userfile - Added 'resetbans' Tcl command Suggested by: xerox@foonet.net - 'who' users same flag chars (*/+) as 'whom' now - 'raw' binding rewritten (WILL BREAK SCRIPTS) and no longer requires the +r console mode - Bots marked +u aren't shared either - Builtin bindings are now "*dcc:status" (or "*fil:ls" or "*msg:whois") to differentiate - Tcl variables that link to internal eggdrop variables are now trace call- backs, meaning the values change at the same time, instead of the Tcl variables being written and read back at each crossover between eggdrop and Tcl - 'binds' command takes an 'all' option now - New 'listen' Tcl command allows much better control over telnet ports: can mark ports as bots-only or users-only (or allow all), can specify a nick-mask of people allowed to use that port, can set a port to go to a Tcl script -- and of course, can have more than 1 port open at a time (limited only by the size of your dcc table) - Removed meaningless 'telnet-bots-only' option - Put "Please enter your nickname." into the banner so it can be changed - Help files are stored in directory tree now (that was getting too messy) - Besides %B type substitutions, help_subst now supports %{stuff}, like arbitrary flag requirements %{+m}, the end of such a block %{end}, and center a line of text %{center} - Added subst %{cols=N} cos i'm feeling wacky - Understands concept of sticky bans now - flags_ok was showing +m/+n users things that were restricted to +b (fixed) - Fixed Tcl 'chattr' to use channel flags - Added Tcl 'matchchanattr' to check for channel-specific flags - Tcl 'newban' and 'newchanban' can specify sticky bans now - Net module will now buffer binary connections - Added "turbo dcc" (set dcc-block 0) which made bot->user file transfers go about 2.5 times faster in rough tests (the entire file is buffered and then spat out thru the connection as fast as possible, ignoring the ack count until the entire file has been sent) - Revised whom info trading so that the same nick can be on more than once (oops) (will cause incompatibilities) - Instead of sending constant NICK requests, uses slightly more clever way to determine if its nick can be regained (which shouldn't interfere with user-level ISON or USERHOST requests, and will help undernet users) - Can set 'whois-fields' which specifies which "xtra" fields to display in a '.whois' listing - Userfile resync can cause disasterous DEsync of userfiles, so it's turned off by default now - Tried to make whom info trading be more compatible -- 1.1 bots should be able to decode 1.0 stuff, but 1.0 bots may lose track of away/idle info (can't really be helped, the 1.0 way was broken) - Outgoing notes marked with sock# - Incoming note is delivered to the first non-away session, if not marked with a sock# -- if all sessions are away, the oldest session is notified that the note arrived and was stored - Stackable notice binding 'notc' - '-bot' command is spread to sharebots Suggested by: genady - +bitch mode for channels now won't let ANYONE be an op unless the bot (or a master) op'd them - New commands 'stick' and 'unstick' to let party-line users change the "sticky" attribute of a ban - 'bans' can take an optional channel-name argument Suggested by: By-Tor - Might (?) allow ansi color codes on the party line now - Completely changed FILT binding (potential incompatibility) - Tcl 'timer' and 'utimer' can accept a 0 timer now (executed immediately after control returns to eggdrop) - Parameters set by tclhash entry points are no longer global (may solve some reentrancy problems) - When kicking +k users, a temporary channel ban is placed - msg 'op' command can take a specific channel as argument Patch by: peace - Writes pid file all the time now (not just when running in the background) Patch by: peace - DIE_ON_TERMHUP split into 2 different defines Patch by: peace - 'adduser' command will take an optional handle (in case the user sometimes uses a different nick) - Added 'uptime' read-only var Suggested by: vince@who.net - Added 'botnet-nick' for bots that wish to use a different nick on the botnet than on irc Suggested by: popular demand - Creation date is stuck in the "xtra" field of a new user record Suggested by: tyson - +g users can get ops even without +o on that channel (doh!) Patch by: ButchBub - Can specify a separate port in a bot's link address to use for relay connections (separated by a '/') Patch by: ButchBub - Tries to take advantage of ircdu's 'SILENCE' command when ignoring msgs & ctcps Suggested by: Timothy Barbeisch - Tcl 'bind' without a procname will return all procnames currently bound to that (ignoring required-flags) - Tcl 'putloglev' will accept any valid log level(s) now - compile-time option to allow stacked responses to up to 3 stacked ctcps Patch by: anonymous - Removed require-x (it's always assumed to be on) - 'listen' mask restriction that starts with '@' is a restriction on hostname not nick Suggested by: garbanzo TO-DO: - dcc table should be used to cache user records - info line needs to be password protected - link to +sh bots the way a +h link works Suggested by: genady - way to retrieve join-time for a user on a channel Suggested by: Gaven Cohen - '.match' ought to have a way to scan for chan-specific flags - '.match' accept "+m-g" etc? Suggested by: tyson - help files: fix up the rest of dcc/ (filesys/ done. set/ done.) need finishing: m and on - tcl commands to: get info line for one channel set info line for one channel get laston for one channel set laston for one channel - display channel-specific info lines - let users set their own chan-specific info lines - sharebots share user-flags for bots Suggested by: genady - channel master Suggested by: By-Tor - File system: + export directories to other bots. a notice is broadcast on the botnet once each hour for your exported directories (to let other bots know) + if 'auto-import' is on, send out an export-list-request when linking to a new bot. whenever other bots broadcast exported directories, auto-add those directories to the specified place + set dcc-import-path "dcc/public/" Snowbot exports "/gifs/party" as "pgifs" --> "dcc/public/Snowbot/pgifs" + quota per-directory + change required-flags spec from integer to chars (doh!) + track upload-k/download-k/upload-files/download-files per user + re-implement directory headers TO-DO: - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Telnet port sometimes gets lost Reported by: genady eggdrop1.6.21/doc/Changes0.90000664000076600007660000020203511200432070015013 0ustar simplesimple$Id: Changes0.9,v 1.5 2009/05/07 01:07:04 tothwolf Exp $ Eggdrop Changes (since version 0.8) _____________________________________________________________________ 0.9t+p2 (February 1, 1996): # Patch by: Robey [Robey Pointer ] - chon doesn't deal well with dropped dcc's or channel changes (fixed) 0.9t+p1 (February 1, 1996): # Patch by: Robey [Robey Pointer ] - Bugfix patch 0.9t (February 1, 1996): # Released by: Robey [Robey Pointer ] - Tcl 'dcclist' was not giving the full list (fixed) Found by: Andy - Added "splt" and "rejn" bindings for splits and rejoins on the channel - SIGWINCH was causing hpux heart problems -- changed to SIGCHLD - Revenge comments include a timestamp now Suggested by: romulus - Tries to gracefully recover if it suddenly realizes it's on a channel but was never notified that it had joined - Sharebots were crashing while sending the userfile (fixed) - Throws out join notices that it receives while the channel is pending - Failed DNS lookup on server connect would cause crash (fixed) Found by: Curt Lewis - Tcl bindings now require exact flag matching now -- masters don't automatically trigger them - Was crediting uploads to nickname instead of handle (fixed) Found by: trojan - Better botnet safety - Tried to make channel assoc's be more killable - Wasn't clearing status flags on people returning from splits (fixed) - '.trace' wasn't working (fixed) TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Make kick check chanlist and match wildcards - Finish dprintf'izing the bot - chon doesn't deal well with dropped dcc's or channel changes 0.9s (January 27, 1996): # Released by: Robey [Robey Pointer ] - Could remote boot the bot owner (fixed) Found by: flyin lion - If one master on the channel places a ban on another master, the bot will not reverse the ban nor auto-kick (just sit and watch the fun) - Binds that matched against wildcards were calling the first match then quitting, instead if triggering all the binds that matched (fixed) - Spoofed eggnet commands are no longer allowed - New Tcl command 'gethosts' - Improved method of displaying long outputs from '.tcl' and stopped it from being able to corrupt variables - Notes were echoing, regardless of the 'echo' setting (fixed) - Sometimes binds were overlapping (fixed i think) - Checks the 'eggdrop.pid' file to prevent multiple loading of the same bot - Was kicking users off the party line if they lost +p, which broke the pinvite script (fixed) Found by: Gord- - Only masters can see who's in the file area in '.who' again now - Was masking off +j flag when saving the userfile (fixed) - 'topc' binds are triggered when the bot joins a channel now, with "*" as the nickname -- if the channel already has a topic - Was spending lots of time connecting to servers without checking other things -- now cycles thru normal checks after every connection attempt - A little less crashy under "DALnet" nicks but probably not much (no major support for that network is planned) - Notes from bots to users in reference to failed attempted links, etc, were coming in from "bot@bot" instead of "bot" (fixed) - New Tcl commands 'hand2nick' and 'nick2hand' Suggested by: answer - Each bind to a single command can keep its own flags now (whew) - Made a change in 'home-channel' take effect immediately - Excessive join floods would cause the bot to ban the same host over and over again, causing its OWN flood (fixed) - Tcl 'addban' with no comment caused a crash (fixed) Found by: Rich - Unknown tandem commands are no longer logged - Added Tcl commands: 'isvoice', 'dcclist', 'dccused', 'getfileq' - Pid file uses bot's nickname now so more than one bot can be run from one directory - Tcl 'setchan' wouldn't accept -1 or "off" (fixed) Found by: mjg - Wasn't using channel key when switching channels (fixed) Found by: skyline - Wasn't erasing /tmp file when a file transfer failed before starting (fixed) Found by: Mohammad Ali Rezaei - Won't complain about killmember/nonexistant if it still hasn't finished getting the /who list yet - Sends message to random (nonexistant) nickname every 5 minutes to keep from being idle - Boots were getting mislogged (fixed) Found by: Gord- - Telnet new user was allowing 10-character nicks (fixed) Found by: imoq - Tcl 'chanlist' can have optional argument allowing flags now - Added Tcl commands 'chhandle', 'chpass', 'link', 'unlink' - Can set the timeout for server connects in eggdrop.h now (default is 15 seconds) - '.boot @' was exploding (fixed) Found by: answer - msg commands from the bot to itself are now ignored - 'topc' bindings are triggered when joining the channel and there is no topic set (sends "" to the proc) - Does not complain to the user any more when removing a user-placed ban while forbid-bans is on Suggested by: Keith Tyler - Userlist is always stored in the original order now instead of reversing Prodded by: Gord- - Can define SHAREBOT_BOOTS in eggdrop.h to restrict remote boots to share bots Suggested by: bill-tcl - Kickbans weren't working on 10-character usernames (fixed) [found by steve govenar - People with +x could dcc chat the bot and enter a limbo file area even if the file area was not defined in the config file (fixed) Found by: scipio - Doesn't go psycho on TS-server deops now Found by: partek - 'topc' bindings weren't sending a correct "handle" parameter (fixed) Found by: David Brown - Party-line chatter starting with ' is local-only Patch by: answer - Removed crusty routine that asked other bots for ops in clumsy ways TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite - Make kick check chanlist and match wildcards - Finish dprintf'izing the bot BUGS: - Occasional "killmember -> nonexistant" notices still appear 0.9r (December 1, 1995): # Released by: Robey [Robey Pointer ] - If you changed the server list in the config file and rehashed, the bot would sometimes crash (fixed) Found by: partek - Thought it was losing memory but it wasn't (fixed) - '.chat' wasn't taking you back to the party line any more (fixed) - ctcp/ctcr bindings passed an incorrect parameter (fixed) - file bindings would always assume you were leaving the file area (fixed) - Remote 'unlink' commands were getting sent incorrectly - No longer sends 'trying'/'*trying' across the botnet (they weren't being interpreted anyway) - The +h flag on bots actually works now - Added builtin strcasecmp so it'll compile for Unixware Suggested by: Eden - More patches to get around bugs in FreeBSD Patch by: Gisselle - Tcl 'dccsimul' and 'sendnote' were letting some parameters be too long which would crash the bot sometimes (fixed) Found by: partek - Added binds for 'chon' (someone joining the party line) and 'chof' (someone leaving the party line) - Added binds for 'sent' (file successfully downloaded by a user) and 'rcvd' (file successfully uploaded by a user) - Three last user-defined flags: '8', '9', '0' - Server list was getting traversed in basically random order (fixed) (the list is actually loaded in forward now for the first time ever) - 'console' for masters wasn't doing the +/- thing right (fixed) Found by: Eden - New binding 'chat' which is triggered by chatter on the botnet - Could add bans that were long enough to crash the bot (fixed) Found by: tris - Tcl 'ispermban' wasn't working right (fixed) Found by: seljo - maskhost wasn't quoting embedded '*' and '?' in the username (fixed) Found by: jonte - Revenge routine wasn't checking attributes correctly (fixed) Found by: imoq - Handle could be too long when telneting in (fixed) - Tcl 'botname' wasn't getting set until it joined a channel (fixed) Found by: seljo - New Tcl command 'bots' which returns a list of the bots connected Suggested by: seljo - After much work and prototype adding, it compiles cleanly with '-Wall' for me (using Tcl) - Improved the link/unlink/expired-fork code a little bit and made forks expire after 5 minutes instead of 10 (it could probably even be lowered to something like 2-3) - Removed the crappy editor, made a Tcl equivalent in 'lamestbot' - Fixed bug with removing channel associations - Began attempted support for linux threading - Added janitor (j) flag which gives master-access to a user while they're in the file area - Removed useless '-s' option (investigation revealed it no longer did a single thing) - Better documentation, i think TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite - Make kick check chanlist and match wildcards - Finish dprintf'izing the bot 0.9q (November 10, 1995): # Released by: Robey [Robey Pointer ] - 'help' doesn't respond to unknown people any more Suggested by: jonte - 'rmdir' was sometimes failing to correctly remove the directory's entry in the file list (fixed) Found by: Del Carter - Better check for osf/1 Suggested by: Brian - More dprintf'ized (that is, people using Mac telnet should get a MUCH more comprehendable output) - Fixed for Solaris (I hope) - Correct value of '$telnet' was getting lost on rehash (fixed) Found by: Fred1 - Excessively long return values from '.tcl' were overflowing the buffer (fixed) - Remote unlink requests could sometimes cause the confirmation/rejection message to get sent to the wrong place (fixed) - '.+ban' was logging the ban comment with little squiggles instead of spaces (fixed) Found by: Fred1 - Flag 't' changed to 'b' to make it more intuitive (bot flag) - Two new user-defined flags: '6' & '7' (flag6, flag7) for Tcl - New bot flag 'h' -- a bot with the 'h' flag is only auto-connected if there are no other bots connected that also have the 'h' flag (ie, you can have several bots marked +ah, and once one is connected, none of the others will be auto-connected) - Trying to change a user-defined flag to an invalid character will now immediately fail (instead of reverting later) -- the return value for the 'set' command will be the old value if the new one was rejected - The 'idx' paramater sent to controlling functions (using Tcl 'control') was incorrect (fixed) Found by: seljo - If an error occurs in your Tcl config file, it will now log (and dump to stderr) a reverse stack trace of the error, and try to go on anyway - Some bindings can be "stacked" (see tcl-commands.doc) so that more than one Tcl proc will be called when they're triggered - New Tcl commands: 'handonchan', 'unbind', 'sendnote', 'putcmdlog', 'putxferlog', 'save' - The 'forbid-bans' options wasn't working on non-Tcl bots (fixed) - Makes an automatic backup of your userfile every night at midnight - New user field "xtra" for use in Tcl scripts - New command '.assoc' which lets you associate a name with a chat channel (and use it in '.chat') TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite - Binding for file upload, file download, joining the party line - Make kick check chanlist and match wildcards - Finish dprintf'izing the bot 0.9p (October 12, 1995): # Released by: Robey [Robey Pointer ] - Local users can see who's in the file area with '.who' - Was interpreting telnet codes via relay (fixed) - '.kickban' will now deop at the same time it bans, if the target had ops Suggested by: sloot - Was converting chars to 7-bit before checking for avalanche (fixed) Found by: Mikael - File area 'pending' now shows file transfers that are currently active, and 'cancel' will let you abort them - '.edit' was crashing on an empty file (fixed) Found by: ragtop - '.match' was sometimes claiming to have only 1 match (fixed) Found by: ragtop - Created dcc commands '.info' and '.email' to let party line users change their own info and email address Suggested by: softlord - Removed '.-info' command and added '.chinfo' and '.chemail' for masters to change the email address and info of users (this now conforms to the way the rest of the bot works) - '.chpass' wasn't checking to make sure the password wasn't too long (fixed) Found by: Fred1 - Jumping to a specific server would sometimes cause the bot to give up pre- maturely (fixed) - Compile-time option to use slower pings on the botnet Suggested by: Fred1 - New config-file setting 'keep-nick' which will alow you to turn off the bot's wish to always keep the same nickname - New command 'echo' lets you turn on or off the echoing of your own chatter on the party line (default is on) - No longer says "no access" on a failed dcc chat -- has cuter phrases - Logfile modes can be edited, and changing a logfile to no modes will make the bot stop logging there at all Suggested by: bill - Tcl 'exec' command no longer disabled - Tcl join bindings are called AFTER adding the nick to the channel list now (but still before updating the laston time) Suggested by: hoopycat - New binding 'mode' (apparently long awaited) - Logging of kicked bot was garbled (fixed) Found by: Fred1 - Sets last-on date/time to current date/time when a user does 'hello' Suggested by: sloot - ctcp finger response no longer has the nick automatically listed - Checks every 5 minutes to make sure the server hasn't zoned out; if it has, the bot will automatically jump - Think i fixed the net.c crash bug - New Tcl 'idx2hand' and 'hand2idx' to make conversions easier - New 'configure' script which should make compilation easier for most people - Tried to make code more portable and standardize the locations of function prototypes - Moved to outdated "USER username hostname servername :userinfo" format because some grumpy servers are trying to detect bots that way - New method of including "tcl.h" to fix some systems where the default path contains a broken copy of the file - Added Tcl bindings 'ctcp' (ctcp in message) and 'ctcr' (ctcp in notice) - '+user' and '+bot' were letting you use handles that were too long (fixed) Found by: poseidon - Writes out an 'eggdrop.pid' file now, which is used by botchk Patch by: thembones / Script patch by: bill - Fixed bug in match.c that made it mess up for ircII (eggdrop usage was fine, though, so unless you were using match.c to speed up your ircII, you won't notice any difference) Patch by: Fred1 - OSF/1 compile errors (fixed) Patch by: thembones - '.bots' was overflowing on super-large botnets (fixed) Found by: chaos - Tcl 'dccsend' will queue a file now if there are too many current xfers to the user - Notes limited to 450 characters so the bot won't crash - Invalid 'nlinked' command thru botnet could crash lots of bots (fixed) Found by: wrath - 'configure' detects osf/1 Thanks to: thembones - Tcl 'passwdok' wasn't working (fixed) Found by: piglet - Solaris already has a struct queue, so that had to be changed (grr) - '.set' with no parameters was truncating the 'info globals' output to 512 chars (fixed) Found by: dalbien - Tcl command 'userlist' added Suggested by: moonwolf, sorta - When adding hostmasks, redundant old hostmasks are removed Patch by: Fred1 - net.c had a small bug that caused big problems (fixed, i hope) - Fixes new bans places by users that don't have '!' or '@' now (also bans from Tcl scripts) - Leading and trailing control characters on parameters to dcc commands were getting lost (fixed) Found by: troy - When fixing bogus bans, it wasn't checking to make sure that its fix wasn't just a bunch of wildcards (fixed) Found by: jerrold - Mass-destination ($*) messages, notices, and ctcps from irc ops are logged but not processed - 'ident' from unknown person just gets ignored now - New variable 'ctcp-userinfo' which allows you to set the response to a CTCP USERINFO request TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite - Tcl: 'handonchan' - Make kick check chanlist and match wildcards BUGS: - Telnets need '\n\r' while dcc chat requires '\n' ('\r' must be omitted or it will be displayed as an inverted M); therefore some telnet clients see bizarre linefeeding when connecting to a bot -- not sure how to fix 0.9o (June 8, 1995): # Released by: Robey [Robey Pointer ] - New Tcl command 'control' which lets a Tcl command parse input from a dcc user (allowing interactive scripts) - idle-kick now exempts +m/+f/+o/+t users - Fixed Solaris ucb weirdness Thanks to: sandvik - Removed all "system" calls except the one in 'exec' - New binding 'bot' which intercepts commands coming from other bots - New Tcl commands "putbot" and "putallbots" which send commands of the type intercepted by the 'bot' binding -- "putbot" sends to an individual bot somewhere on the botnet, and "putallbots" broadcasts to all bots - Fred1 improved the matching system considerably -- Tcl bindings that use wildcards can now also use '%' which will match non-space characters (similar to ircII) - Master messages (',') on the party line were getting sent to masters with chat off (fixed) Found by: Xerxes - Better checking of which connections should get telnet codes checked - Notes sent via msg weren't very private (fixed) - File queueing system implemented, to allow 'get *' (etc) to have files queued for later transfer, and transfer only 3 or so files at once - New file-area commands 'pending' and 'cancel' to list and remove files from the queue, respectively - When a ban is added, and members of the channel are kicked for matching the ban, the kicks are sent out paced instead of immediately -- which will make the kicking much slower but will prevent the bot getting flooded off, which is more important - Avalanche gets you ignored now - Revised socket control (mtgets) to not attempt reads on listening sockets, since this was causing SVR4 to block Found by: shovon - Memory manager thought memory was misplaced when it wasn't (fixed) - chattr now assumes + if you forget to specify a +/- - Tcl wasn't allowing masters to run commands that required flags they didn't have (fixed) - protect-ops wasn't working (fixed) - Was letting people do 'get' with nicknames that were too long to fit in the dcc table (fixed) - More HPUX fixes (geez...) - 'simul' wasn't checking dcc types completely (fixed) - 'match' command has optional start and limit parameters now - Masters don't get penalized for flooding - New Tcl commands 'getchanidle' and 'killdcc' - Won't echo password when telnetting in any more [thanks to Fred1 for the rfc's] Thanks to: Fred1 - Commas in a hostname are masekd out with '?' now Found by: ragtop - New set 'forbid-bans' which will refuse to let non-masters place bans directly on the channel (used to be part of 'bitch') Suggested by: eye - 'bind nick' and 'bind topc' actually check the flags now (oops) - File area 'mkdir' can take an optional parameter now, to set the required flags to see/access that directory - File area 'import' can take an optional parameter now, to set the required flags to see/access any imported directories - ESC char is stripped from text on the party line now Suggested by: xian - Can send notes to multiple users at once now, separating nicks with a comma Suggested by: Xerxes - File area 'desc' will take wildcards now - Extended dcc timeout to 5 minutes (from 3) - relay wasn't showing the "join" messages correctly when it ended (fixed) - dcc transfers were timing out when 2 acks were sent at once (fixed) [thanks to fx2 for helping test] Thanks to: fx2 - File descriptions are formatted better when entering now -- will try to word-wrap a long description into multiple lines (up to 5) -- can force a linebreak with '|' in the description - Multi-line comments are copied correctly now during cp and mv TO-DO: - Make '.match' match possibly by last join time - Easier editing of directory headers - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite - Tcl: 'handonchan' - Make kick check chanlist and match wildcards BUGS: - Telnets need '\n\r' while dcc chat requires '\n' ('\r' must be omitted or it will be displayed as an inverted M); therefore some telnet clients see bizarre linefeeding when connecting to a bot -- not sure how to fix 0.9n (May 21, 1995): # Released by: Robey [Robey Pointer ] - '.adduser' wasn't using the default flags (fixed) - New setting 'open-telnets' which allows people to enter 'NEW' when telnetting in -- new way for users to introduce themselves (no hostmask) - '.desc ' will now erase a file's description - Compile-time option to enable an "owner" flag (n) which will have exclusive use of the 'define' (non-Tcl), 'die', 'edit', 'exec', 'set', 'simul', and 'tcl' commands Original patch by: Fred1 - With owner defined, non-owners can't affect the owner/master/share flags with the builtin 'chattr' command - When kicking +k users, will use the user's comment as the kick reason, if present Suggested by: Xerxes - Remote boot typo bug fixed - External editor and exec's weren't getting correctly identified in the fork structure (fixed) - Idle time for channel users is kept track of now - New config-file variable 'idle-kick' which controls the number of minutes a user can be idle on the channel before he/she is kicked - New config-file variables 'ctcp-finger' and 'ctcp-version' to change the bot's responses to those ctcp requests Original patch by: shrike - OSF/1 people don't have to deal with UAC anymore Thanks to: Eden - Remote 'who', 'botinfo', 'trace', 'motd', 'link', 'unlink', and 'whom' commands are tagged with socket number now to distinguish when the same nickname is logged into the bot more than once - Ultrix machines were getting a WAIT_T warning (fixed) - New config-file variable 'dcc-block' to set the block size for dcc file transfers - Userfile transfer was truncating records of users on the channel and in the channel cache (fixed) - /msg GO command requires +o now - Does chmod 600 to the userfile after saving now - Changed internal binding table -- builtin functions can be aliased and their access levels changed on the fly - New console mode 'x' where all file transfer logs go - Some special characters couldn't be used in uploaded files (fixed) - Wasn't checking for two files being uploaded at the same time with the same name (and therefore overwriting each other) (fixed) - 'adduser' would let you add a user record for someone on the channel who already matched a hostmask for a different user (fixed) - STILL wasn't resetting cache on nick change (fixed) Found by: Eden - Remote boot was messing up (fixed) Found by: wrath - Was checking for dead sockets of type fork, which could cause a crash (fixed) Found by: debaser - Help files and motd files are checked to make sure they're normal files before displaying Suggested by: Fred1 - New directory setting 'textdir' which specifies the directory for various text files which are dumped - Fixed up HPUX stuff Submitted by: Manual Hernandez - Removes any beeps after the first 3 in a dcc message - Tcl 'timer' command returns a timerID now, which is also a new third parameter in the results of the 'timers' command - New Tcl command 'killtimer' which will remove a timer by its ID - Only asks tandem bots for ops if they have +o flag - Better checking of signoff message for splits (more reliable) - Doesn't /msg a user about stored notes when they join, if they're already on the party line Suggested by: sloot - Intercepts telnet negotiation codes, and responds to 'ayt' - Can use Tcl to specify names and flags for the 5 user-defined flags - Won't accept links from other tandembots until it's been online for at least a minute - Tcl 'rehash' command removed (was causing crashes) - Doesn't allow share-bots to alter a user's +t flag - Removed outdated '+attr' and '-attr' tandem commands - When receiving a nick change from another sharebot, will now update the dcc entries Found by: Fred1 - 'channel' header is more readable - Non-ops weren't requiring +x flag to enter file area (fixed) Found by: hdclown - Was deopping itself when op'd by a fake op (Fixed) Found by: tolim - Only whines once about "Active channel, no ops" - Wouldn't let people change the descriptions of files they uploaded (fixed) - Better case checking in file area - New variable 'owner' which is a list of users who can not have their +n flag removed - New Tcl command 'console' which changes a user's console mode - File transfers can now timeout during the actual transfer - New variable 'dcc-maxsize' which is the largest allowable file size (in k) TO-DO: - Make '.match' match possibly by last join time - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - Access restrictions on file areas - Easier editing of directory headers - Store idle time and make it available to Tcl - Send op request to the channel bots via msg, one bot at a time - Ask tandem-linked bots for invite BUGS: - Bizarre file problem on SYSV systems, also telnet doesn't work - '\n' and '\r' thingy 0.9m (April 6, 1995): # Released by: Robey [Robey Pointer ] - Does not automatically remove all server bans anymore, that was lame - eggstat had the wrong header (fixed) Found by: gwyn - Bitch mode will still let masters place bans now Found by: hdclown - got-op was broken (fixed) - Compile-time option to have the bot die when receiving HUP or TERM Suggested by: modus operandi - Won't contradict ops placed by a master now - dccsimul 'quit' will work now - Small bug with HPUX compilation (fixed) Found by: Rick Cuoto - Tcl 'addban' and 'addpermban' now send the ban to the channel and recheck the channel against the ban list (if the bot it op'd) - Was letting helpbot name be defined too long in non-Tcl (fixed) - Better length control in defining builtin Tcl vars - Memory allocation fixed for solaris and other int-is-not-four-bytes machines (oops) Found by: Jay Maynard - New Tcl commands: dccbroadcast, getidx, getchan, setchan, dccputchan - Wasn't resetting cache on nick change (fixed) Found by: Eden - Was messing up displaying bans with long comments (fixed) Found by: Eden - msgm and pubm were blocking normal logging (fixed) Found by: Julie - '.me' was echoing to all chats locally (fixed) Found by: miltrypet - '.kick' would kick itself (fixed) Found by: d-e-m - Better cache maintenance while userfile transferring - Won't revenge on a kick from a master or friend - '.who' shows people in the file area - Tandem bots exempt from flood control and mass deop protection Suggested by: Xerxes - Buffer wasn't big enough when saving bans (fixed) Found by: Eden - Wrong error message when it didn't recognize a common-site user in ident (fixed) Found by: archimede - Wasn't using enough buffer space when transferring bans during userfile sharing (fixed) TO-DO: - Make '.match' match possibly by last join time - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - file-area directories which are pointers to other bots - Access restrictions on file areas - Easier editing of directory headers - Store idle time and make it available to Tcl BUGS: - Sometimes "???" appears in the tandem chain for no discernable reason - Bizarre file problem on SYSV systems, also telnet doesn't work 0.9l (March 20, 1995): # Released by: Robey [Robey Pointer ] - Was crashing during some cache lookups (fixed) - '.chan' was misleading (fixed) - Was updating laston before activing Tcl bindings for sign and part (fixed) Found by: denali - Will try not to op/deop people it has already sent out a mode +o/-o for Suggested by: denali - Will toss incoming telnets from sites that are on the ignore list Suggested by: coop - In files, was showing descriptions for files that didn't match in 'ls' with a wildcard (fixed) Patch by: xian - msg 'who' is only answered for ops, friends, or masters if the channel mode is currently +p or +s Suggested by: gavroche - Will kick people off the party line if their access is removed, ditto for file section Found by: gavroche - Wasn't even letting fellow bots place bans with bitch mode on (fixed) Found by: hdclown - Compile-time option of allowing remote boots - check-lonely-channel doesn't count split users now when deciding to try to regain channel ops - kickban wasn't flushing the ban mode (fixed) Found by: dracwolf - Extended limit of ban comments to 70 characters (including nickname) - Now removes any server bans that aren't in the ban list - 'weed' was removing bots with no password set for :a option (fixed) - Makes sure it has absorbed all channel info now before doing routine things like checking for lonely channel or doing chan update log entries - Ban and ignore list are part of the cache now - New Tcl bindings: kick, nick, raw - 'chattr' will no longer let you add or remove the 'b' or 'i' flags, and will not let you change attributes on *users (ie the ban and ignore lists) - console can be modified with +/-, or can be viewed by setting it blank - '+host' won't let you add a hostmask that's already in the record for that user Suggested by: sloot - Tcl ctime function had extra linefeed Found by: Julie - bind sign will now give the reason when calling procs (may break old code) - New Tcl command: rand - Detects when its nick has been changed against its will TO-DO: - Make '.match' match possibly by last join time - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - file-area directories which are pointers to other bots - USER_REQPW as outlined by Fred1 - Access restrictions on file areas - Easier editing of directory headers BUGS: - Sometimes "???" appears in the tandem chain for no discernable reason - Bizarre file problem on SYSV systems, also telnet doesn't work 0.9k (March 2, 1995): # Released by: Robey [Robey Pointer ] - Was showing chat-off people in a 'whom *' (fixed) - maskhost was crashing if there was no '.' in the hostname (fixed) Found by: denali - New Tcl bindings: sign, topc - Wasn't reopping any more when an op got deopped (oops!) (fixed) - New mode ("bitch") where the bot will not let anyone get chop besides people specifically marked as +o - Changed never-give-up into a config-file setting instead of a compile-time option (so you can change your mind after the bot's compiled) - mtgets now flushes buffered data from sockets no longer being checked - Defining an external editor actually keeps it from compiling the doofy editor now (oops!) - Started support for NO_IRC mode, where the bot floats in limbo, not on a server or channel -- obviously many things are disabled that way - '.kickban' was sometimes putting the nick who requested the kickban into the kick comment (fixed) Found by: ClearlyJa - ctcp chat to the bot will make it offer you a dcc chat if you have access - hprintf (and the Tcl "puthelp") will now store things on the help queue even if you have no helpbot (for using different queues) - Bitch mode will ignore commands from ops who don't have a password set, and reject party line connections until they set one - Would leave a 0-byte file in /tmp after a failed connection for an upload (fixed) - 'weed' script now has ":a" option to weed out any users with no password set Suggested by: Sandoz - 'unlink' command will automatically propagate if necessary Suggested by: Fred1 - 'adduser' will, if that nick is already in the user list, add the hostmask to the user record instead - Was only removing server bans against ops -- now does it for friends and masters too, like it should Found by: Larry - msg 'go' command built in now - Bots will attempt to send 'go' to each other if the channel is opless but crowded now (and everyone on the channel is a bot) - CTCP EGGDROP removed Abused by: digital - Members of the channel have their user records cached now for quicker access (in general) - 'periodic-save' removed - Various streamlining attempts to make user lookups occur less often (and conserve cpu time) - New Tcl commands: rehash, ispermban - Small bug with arguments to bound Tcl functions (fixed) - Removed all the outdated '+friend' etc commands (but they are in the 'compat' script if you really want them) - HUP signal makes bot rehash 0.9j (February 5, 1995): # Released by: Robey [Robey Pointer ] - '.chat' now lets you change channels - Wasn't clearing /tmp directory on timed out file transfers, or aborted ones (fixed) Found by: gwyn - Sometimes returned wrong dcc index for a nextbot serarch (fixed) - Puts IP address in the dcc table for telnets and dcc gets now - Updated online help files and finished them up - %V in motd and help files now shows version in the short format (ie, %"eggdrop v0.9i") - Can do '.away' when you're off the party line now, and auto-unaway when you rejoin Suggested by: guy - 'whom' was not showing local users correctly for channels (fixed) - Tried to make Solaris compilation less of a headache Patch by: John Fulton - '.botinfo' results are much more concise now and exclude admin info - Expired/retired processes were getting their process records removed prematurely (fixed) - Discards avalanches (excessive beeps, ctcp's, control codes within a single msg) and, if it was to a channel, kicks the offender Suggested by: Fred1 - New Tcl commands: ctime, myip, dccsend - 'whom' can now be used with an argument: 'whom 3' tells you who's on channel 3, net-wide; 'whom *' tells you everyone everywhere, but not their channel (instead, it marks users who are on the party line) - Was barfing on a server list with only one server (fixed) Found by: modus operandi - Crashed when you tried to remove a binding that didn't exist (fixed) Found by: Jordan - Was crashing or acting strange when relaying (fixed) Found by: denali - File area 'cp' and 'mv' commands work as expected now - File area 'import' command will import directories too - 'help' commands ignore embedded '/' now Found by: Eden - During massive mode changes, the bot might kick someone who matches a ban, then (because they're +o) remove the ban (fixed) Found by: neuro, tolim - 'bans' can take a wildcard as a parameter now, and will show only the bans that match that wildcard (against all bans, active or not) - 'nick' and 'handle' now take care of fixing the nicks of every copy of the user on dcc chat to the bot Found by: Eden - Some systems crashed after dcc file transfers (fixed) Found by: Fred1 TO-DO: - Make '.match' match possibly by last join time - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - Support gopher-style '.Names' files & converstion to '.files' - file-area directories which are pointers to other bots - Let people be 'invited' to the party line, and given temporary party line access - USER_REQPW as outlined by Fred1 - Allow restriction of in/out sharing for user flags BUGS: - Sometimes "???" appears in the tandem chain for no discernable reason - Bizarre file problem on SYSV systems, also telnet doesn't work - Blows up after some dcc/tandem connects 0.9i (January 27, 1995): # Released by: Robey [Robey Pointer ] - Motd is shown to file-area users if they don't have party line access - Time limit for becoming officially "idle" changed from 3 minutes to 5 minutes - New Tcl binds: 'join' and 'part' - New Tcl commands: getinfo, getdccdir, getcomment, getemail, getlaston, setinfo, setdccdir, setcomment, setemail, addban, addpermban, delban, isban, matchban, timers, isop, jump - /msg hello wasn't working for common-site users (fixed) - Now saves the user file right after getting its first master with the -m option Suggested by: gavroche - When msgQ overflows, it will only log it once until the msgQ drops back down to a managable level (then if it overflows again, you'll get another log entry) - CTCP FINGER and VERSION changed to not give away the fact that it's a bot (so nosy ircops won't kill based on CTCP VERSION results) - New CTCP EGGDROP added to get true version info - Small memory leak when re-away'ing yourself (fixed) - Users who match a ban from the permban list can't use "hello" Suggested by: gwyn - When first starting the bot, won't save the userfile until you actually have at least one user - New console mode 'b' (for ops and masters) which shows tandem-bot info, like links and userfile sharing - If the ban list or ignore list comes up in a '.whois' or '.match', it won't show the (ugly) user record, but will just say "[ban list] -> use '.bans'" - Remote '.whom' and '.who' and '.botinfo' aren't logged any more - Removed party-line blinding - '.die' allows a die comment now, which is logged and broadcast - +channels are supported now, but i can't see much point in running a bot on a +channel since they don't support modes - Tried to fix timer drift problem - Various efficiency changes Patch by: Fred1 - '.comment' was pretending to be successful even on nonexistant users (fixed) Found by: guy - Doesn't spend more than 15 seconds trying a server connection now - If the bot somehow misses a minute, it will trigger the timer twice (or however many times it needs to trigger to catch up) - After sending a file, the copy is erased from /tmp now (oops!) - Possibly fixed the problem where uploaded files on some systems were not being copied into the directory 0.9h (January 12, 1995): # Released by: Robey [Robey Pointer ] - '.chpass' would pretend to change passwords of nonexistant users (fixed) Found by: miltrypet - Changes control characters to '?' in '.handle' and '.nick' Suggested by: Fred1 - '.motd' can be used to get motd's from other linked bots Suggested by: offspring - Successful tandem 'op' is logged now, and checks for various reasons why it possibly shouldn't bother trying [modified version of Fred1's patch] Patch by: Fred1 - When refreshing a ban and kicking, if a ban comment exists for that ban, it will be used as the kick comment Patch by: Fred1 - Was crashing when '.edit' was invoked without parameters (fixed) Found by: clusters - Small annoying memory fault when un-awaying yourself (fixed) - '.invite' invites someone to the channel now, not the party line - Bogus debans will not cause that user to get kicked off now, if that ban actually existed, of if the user is +o, +m, or +f Suggested by: Fred1 - Control characters can not be put in an info line any more Suggested by: Fred1 - Notes are no longer erased automatically after you read them Suggested by: denali - New commands '.notes' and /msg notes to manipulate the stored notes - Was giving pointer warning in tcl.c (fixed) - Was crashing on super-long input thru a dcc socket (fixed) - /msg whois will now identify masters - Sends out the ban faster on join flood now Found by: Fred1 - Replaced many redundant lookups by hostname -- should cause a noticable speed increase - New reg.c for slightly faster matching Submitted by: Fred1 - Tcl 'dccsimul' & 'putdcc' check for out-of-range and illegal dcc handles - Changed resolve_dir() so it might not crash under BSD any more - New Tcl command 'timer' which adds a command to the timer queue, to be executed N minutes later - Two new binding types possible: 'pubm' and 'msgm' which match the whole string in a msg or pub (example: bind msgm - "*bot*" msg_bot) - Three new Tcl commands: 'unixtime' (returns a long int), 'time' (returns something like "14:15"), and 'date' (returns something like "21 Dec 1994") - Finally, '.exec' works again - Removed some redundancy in userrec.c - Removed the REBOOT option, since it was causing problems -- use a crontab entry instead Found by: Vassago - Was setting the purge flag when changing handles (fixed) -- this sometimes caused bot records to be erased - Was crashing sometimes when ignores or bans expired (fixed) - '.rehash' no longer adds a bogus entry to the server list - When manually adding bans (ie '+ban'), if a user gets kicked because of the new ban, the ban comment will now be used - Was sometimes sending out "fake bot notice" messages when the bots were re-arranging their links (fixed) Found by: Fred1 - Doesn't ask for ops if there are no ops on the channel Suggested by: gavroche - Three new user flags defined (see eggdrop.h) - Added the '.chattr' command so you don't have to use '.tcl chattr' any more - Can't use '@' in a handle any more with '.nick' or '.handle' - Doesn't kill your talk/ntalk window if you're in via telnet (aka relay) Patch by: Fred1 - Wasn't correctly passing permanent ignores between sharebots (fixed) Found by: tolim - Was putting a space in the log filename in keep-all-logs-mode sometimes (fixed) Found by: tolim - Wasn't trapping notes between users on the same bot when the recipient was away (fixed) Found by: guy - If an "unlink" request is received for a bot that doesn't exist, it will still send out an "unlinked" notice to other bots to clear bogus entries (ie "???") - 'chpass' doesn't log the new password any more Suggested by: scipio 0.9g (November 15, 1994): # Released by: Robey [Robey Pointer ] - Disabled Tcl 'exec' command (possible hole) - '.define' no longer exists with Tcl compiled (it's pointless) - '.status all' will give a much more detailed list - It will tell you if you try to 'ident' from a nonexistant nickname, and it already knows you Suggested by: kibbles - New matching function (10% faster on average) - Wrapper function for the string matcher, to catch obvious unmatched strings earlier (hopeful speed increase) - In msg 'who', should correctly identify itself and fellow share-bots, instead of "No info" - msg 'whois' will check if the nick specified is not a valid handle, but is a nick for someone on the channel, and will try to find a match from there - '.bans' will no longer show the complete ban list -- it leaves out bans which the bot is protecting but are not active on the channel -- new command '.bans all' to show the full list (which may be very long) Suggested by: Fred1 - Tcl will auto-add the trailing '/' on paths now (bug fix) - Tcl can determine if 'helpbot' config has changed state, and will load or kill the helpbot accordingly - When compiling with Tcl, the '.set' command is now just a shortcut to viewing and assigning any Tcl variable - Was losing sockets during dcc file sends (fixed) - Wasn't letting you change chanmode properly (fixed) Found by: miltrypet - Wasn't starting on the first server (fixed) - No longer supports external telnet or compiles "eggtel" -- consider it an experiment that proved pointless - Motd file is filtered through the same filter that the help files go through (ie, %-codes are now interpreted there) Suggested by: redbird - New %-code: %T is current time in a form like "16:35" - New set 'upload-to-cd' which, if true, lets users upload to whatever directory they happen to be in, in the file area -- in this case, the 'dcc-incoming' variable is ignored of course Suggested and partially coded by: modus operandi - Default values for some variables were getting scrambled under Tcl (fixed) - Uploads and downloads are stored in the temp dir now - When copying or moving files in the file area, the "# of downloads" field no longer gets reset - Uploads and downloads first go to the temp directory, then uploads are moved to the destination directory (downloads just sit there till the temp dir is cleared) - Common-host users can no longer change their info, email, or password Found by: sloot - Couldn't accurately reverse a mode +l 0 (fixed) Found by: miltrypet - A variety of the more obvious fake tandembot-codes are detected now, and emit warnings - Wasn't refreshing a ban quickly enough (fixed) Found by: Fred1 - If user was on the channel in the past 3 minutes, the bot won't re- display the user's info-line Suggested by: denali - No longer interprets a dcc-chat line as a command if it starts with '/' (however, '///' will still invoke the talk-script support) - Detects and tries to correct a situation where an auto-linked sharebot is in the bot-chain, but not directly connected - Tandem-bot user records are no longer transfered across share-bot links: each bot is responsible for its own tandem-bot list - Requests ops from other bots tandem-linked which are on the same channel (not via /msg any more) Suggested by: Fred1 - Was showing '@' from info to the channel (fixed) - Wasn't checking for too-long nickname in '.handle' (fixed) - New command '.nick' which lets ops change their handle on the party line -- both commands (nick and handle) will now notify the party line if a nick change affects someone on the party line - Sends CTCP AWAKE to itself every 5 minutes to keep server from thinking it's idle TO-DO: - Make '.match' match possibly by last join time - 'expire' users after a long period of no channel activity - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - Support gopher-style '.Names' files & converstion to '.files' - Rewrite editor - file-area directories which are pointers to other bots - Send out and keep track of 'attempting' notices for ALL link attempts to keep from making duplicate attempts from two different bots - Message-storing system via /msg (answering machine) - Let people be 'invited' to the party line, and given temporary party line access - USER_REQPW as outlined by Fred1 - Allow ops to change the bot's enforced channel mode BUGS: - Editor is a piece of shit - Memory loss, hard to track down - Autoban causes bot to crash on some machines(?) - When auto-connecting, a bot ought to give up after N failed attempts -- or else the bot being bothered should stop logging them (or both) - Tandem-bot user records are getting lost somehow - exec doesn't seem to display correctly 0.9f (October 10, 1994): # Released by: Robey [Robey Pointer ] - Seems to compile on most linux systems again now - Forgot tclhash.c #include (doh!): fixed - When using '.jump' with a parameter, sometimes the bot would prematurely decide no servers would accept it: fixed Found by: vern-n - Helpbot always operates in never-give-up mode now - Helpbot is pinged once a minute now, and if it gets too lagged (more than 60 second response time) or netsplit, the helpbot will be forced to jump servers, in order to keep it on the same side of a netsplit - Crappy "eggutil" program no longer needed: use "eggdrop -m" to create a userfile, and follow the directions (ie, /msg bot hello) - Chanmode could have the same setting + and - (like "+i-i"): fixed - "you have 3 note37248 waiting" madness fixed - Tandem bots were getting deflected to the file area if require-p was set, and the bot had op flag too: fixed Found by: Jordan, Fred1 - Some small memory leaks fixed - Two new Tcl commands: addhost and delhost - Made the auto-connect code a bit better (was sometimes locking onto one sharebot, to the exclusion of all else) - Special stuff added for suns so it should compile under sunos without further modification 0.9e (September 27, 1994): # Released by: Robey [Robey Pointer ] - New #define in 'eggdrop.h' which will let you compile an eggdrop that never gives up on the server list (keeps trying forever if necessary) - Errors in the src/Makefile weren't letting Sun compile with Tcl - Party line members telnetting in were appearing to be ops: fixed Found by: rastam0n - log wasn't working in mem.c: fixed - Memory tracking in tcl.c/tclhash.c wasn't working correctly: fixed - Public commands can no longer be truncated (was causing confusion) - Binding a command to '#' will remove that binding (if it existed) - OS info displayed with 'status' and 'botinfo' will now indicate whether Tcl was linked in - The command-line arguments to Tcl commands are now passed as a single variable (fixes a problem with Tcl interpreting special symbols) -- this may require small changes to some scripts - New #define HUNT_ZOMBIES in eggdrop.h, in case you have trouble with zombies on your system (this should help) - Added master command '.banner' to display a message to everyone on the party line - Tried to make it compile under a larger variety of machines by putting some #defines in eggdrop.h 0.9d (September 17, 1994): # Released by: Robey [Robey Pointer ] - Uses more compatable 'sigaction' now instead of sigvec - Actually uses TABLESIZE in net.c now (oops!) - Uses sigemptyset() instead of setting sigmal mask to 0 (more compatable) - Wasn't checking that it had ops before trying to remove channel bans with perm-bans off: fixed Found by: denali - Changed format of '.ignores' to be more consistant Suggested by: miltrypet - '.handle' wasn't giving any error messages: fixed Found by: denali - '.chpass' would let you change nonexistant password: fixed Found by: denali - Added '.topic' command to change the channel's topic - New user flag 'common' (c) which marks a common/public irc site -- users who match a common record can still introduce themselves to the bot, and it will remember them by nick!user@host instead of user@host - Wasn't fixing bogus bans correctly: fixed Found by: denali - When someone joins who matches a ban (enforce-bans is on), bot will refresh the ban BEFORE kicking the user Suggested by: denali - Sometimes was mistaken about what its user@host was: now gets this info from the server whenever it joins a channel Found by: miltrypet - 'exec' hadn't worked in a long time (oops!): fixed Found by: miltrypet - Notices weren't showing up correctly: fixed - Could '.+ban' without any parameters: fixed Found by: miltrypet - Finally fixed crash under linux with expired ignores - "I am here", etc, in server list was flaky: fixed Found by: miltrypet - When doing '+op', etc, will now say "Nothing changed." instead of "Failed." when an attribute change is pointless Suggested by: miltrypet - Average hop count now shown in '.bottree' - A LOT of stuff added for Tcl support -- see the README file 0.9c (August 17, 1994): # Released by: Robey [Robey Pointer ] - When dying, tells people on the party line (local and remote) - Used to crash when receiving bogus 'reject' notices: fixed - Optional 'exec-telnet' can be defined now to let you use eggtel, a small utility for making dcc chat connections - '.kick' had become "ambiguous" in 9b: fixed - Besides checking once a minute, it now checks whenever someone leaves, signs off, netsplits, or is kicked off the channel -- to see if the bot is the only one on the channel (and if so, and the bot is not op'd, it will leave and rejoin) - '+user' and '+bot' would crash the bot if used incorrectly: fixed Found by: miltrypet - When finding a bot to autolink, a bot marked as 'share' will take precedence now - 'away' wasn't re-announcing you (bug from 9b) Found by: miltrypet - New set 'perm-bans' which, if set off, will make all bans expire after 10 minutes (permbans will still be stored by the bot, however; and if a user joins who matches a permban, she will be kicked off, and the ban will be reinstated for 10 minutes) Suggested by: miltrypet - When connected successfully to another bot, it will kill any pending forked processes that are trying to link to that bot - Bots send 'trying' notices to each other to notify about link attempts (currently these notices are ignored) Suggested by: trey - OS info shown in 'status', 'botinfo' and 'who' now - Tandem incoming connections are now refused from bots already connected - Auto-kicks users who join with bogus usernames (control characters in the nick!user@host) Suggested by: Fred1 - Should compile for AIX now [thanks to trey for providing the account to test this on] Thanks to: trey - Userfile is written on HUP/TERM signals and during the '.die' command -- if periodic save is on Suggested by: axel_v - Wasn't correctly removing bans against op-listed people on the channel: fixed Found by: lasher- - 'you have # notes waiting' message is more clear about what bot to connect to - No more confusing msgs like "[TexSrv] Hi Robey! I'm Slurpee..." - Put a bunch of context markers in unprog-ban to track down a rare segv crash under linux when ignores expire - New defines: 'ban-time' (# minutes an automatic ban lasts) and 'ignore-time' (# minutes an auto ignore lasts) -- 'ban-time' is also how long channel bans will last with 'set perm-bans off' Suggested by: miltrypet - Won't kick itself for removing a bogus ban any more Found by: Fred1 - Error reported if we get a SIGCHLD signal and there are no children waiting - 'sharing' notices passed between tandem-bots to alert them to make sure new passwords match - Won't flood check itself anymore Found by: Fred1 - Might have fixed a bug with autoconnecting clonebots - When a sharing bot changes its password, bot will change the password for a record for itself too (this is confusing, but necessary) (ie, if vasha and valis are sharing, and vasha says "my new password is gyx" -- valis will change the password to "gyx" for vasha AND valis (assuming valis has a user record for itself, which it should if it's sharing) - Wasn't showing directories with raw-files on: fixed Found by: gwyn - Clonebot bans were getting automatically expired immediately: fixed Found by: ClearlyJa - Sometimes the bot wasn't recognizing a banned user when she joined: fixed - Could infinitely try same failing tandembot connection forever nonstop: fixed 0.9b (August 3, 1994): # Released by: Robey [Robey Pointer ] - (happy birthday to me!) ;) - No longer wipes dcc records in child processes (was causing rare crashes when a dcc chat or likewise failed) - Split up dcc.c (was too big) - flood-msg setting used to determine dcc chat flooding now - 'rm ' was going crazy: fixed Found by: denali - Superfluous handle changes were being sent between clone bots: fixed Found by: trey - Child processes aren't caught instantly any more, they're marked and finished up a few microseconds later when the bot is ready (was making a lot of important data volatile and causing odd crashes) - New command '.botinfo' and corresponding tandem notice 'info?' which will return the first two lines of the '.who' response from each bot linked in Suggested by: trey - 'whom' was showing up in the log for isolated bots, even when not responding: fixed - Could remove your away multiple times: fixed - Sending an action wouldn't remove your away: fixed - No longer sends 'killuser' for removing bans or ignores Found by: trey - Would crash when resetting bans more than 20 characters long: fixed Found by: Fred1 - Will detect bogus bans (+b and -b) now and kick the offender - Wasn't correctly detecting a server-made (fake) op with the new mode code: fixed Found by: Fred1 - Will only try one auto-connect at a time, and will check for new auto- connect attempts every time a successful link is made (should alleviate duplicate connection problems) Suggested by: trey 0.9a (July 26, 1994): # Released by: Robey [Robey Pointer ] - Third-party dcc gets ('get ') were claiming to send to the wrong person: fixed - '.deop' works again Found by: neuro - New set 'raw-files' which bypasses the use of the file catalog ('.files') and just directly reads the directories (useful for making your dcc dir point to a pre-existing file library) Suggested by: trey, gwyn - Can have multiple server entries that are identical now (if you only want your bot to connect to one server, put that server in the list 5-6 times) Suggested by: denali - Can set your email address via msg now (msg 'email') Suggested by: neuro - Email address shows up in msg 'whois' - Could change someone's handle using '.handle' to a pre-existing handle: fixed - Three-way userfile sharing wasn't properly propagating info: fixed - '-party' didn't work: fixed - Wasn't sending out help if helpbot was undefined: fixed Found by: gwyn - Does a close and shutdown on dcc sockets when closing them - '.console' echos back what you typed - Wasn't closing sockets on expired forks: fixed - New bot attribute 'reject' (r) which will reject that bot if it appears anywhere on the botnet - '.boot' can have a comment 0.9 (July 23, 1994): # Released by: Robey [Robey Pointer ] - File section compiles under sunos again now - Bot would crash if a server changed channel mode to +i -- fixed - Automatically sends out a 'trace' for each 'linked' now, in order to have all the data needed to eventually display a bot tree on demand - Once each 5 minutes, a "pong" is sent out to the server to make sure the socket is still alive - Pipe error now tries to recover by checking fcntl, just like is done on a select error (since the select error bit seems to work well) - notify-newusers can have multiple targets now, separated by commas - "/msg pass" works by your hostmask instead of nickname - msg commands now logged as: (nick!user@host) !handle! command... - Bots trying to connect with a bad password get "badpass" so they'll know what's going on - "/msg whois" will tell you if the user is a bot - Doesn't send out "newuser" notices for *ban or *ignore - Slightly more sanity checking of user records when loading them (will try to ignore corrupt & duplicate user records instead of crashing) - '.kickban', '.op', '.deop', '.kick' won't try unless the bot is a chanop - New 'set' variable: 'keep-all-logs' -- if on, old logfiles will be renamed to "." instead of ".yesterday" and no logfiles will EVER be erased, no matter how old they are (otherwise, logfiles older than one day old are erased) - '+xfer'/'-xfer' will have immediate effect on people on the party line now - msg commands are hashed now and referenced via a table (see hash.h) - Put '+kick'/'-kick' back in - 'jump' more effective now (closes connection manually after 1 second) - dcc commands are hashed now (see hash.h again) - away status shown in 'whom' now - Totally different dcc structure internally now... WHEEE - 'whom' will add "[idle]" if a user is over 3 minutes idle - Will check environment variable HOSTNAME for a valid hostname - Can send ',' master notices from inside the file system now (and receive them) - Userfile transmit and receives (from and to clonebots) are now done from separate buffers for each bot - Dumps a process list to the log if a child process' record can't be found (for debugging) - File area 'get' can be used with wildcards now for multi-send - File area 'ls' can take a parameter now to limit the file listing - Bans and ignores are passed between clonebots by their active-time now instead of their timestamp (keeps timezone differences from screwing things up) - CPU usage shown in 'status' now - Will try to match truncated commands - Keeps a buffer for clonebots 15 minutes after they disconnect, and will try to resync if the bots reconnect during that time - msg 'who' will tack on a line listing all the people on the channel who have no info stored - File area 'get' and 'ls' can use relative directories now - A passive bot will accept a resync request even if it has no resync buffer ready - In msg 'whois', if the requested user is on the channel (and recognized), the bot will say so - Stored notes from people on bots were sometimes getting mangled -- fixed - Removed set 'open-channel' (chanmode replaces it) - File area 'hide' can use wildcards - Non-masters can set the description for files they uploaded - Removed '-console' and '+console' - 'console' now specifies a set of console flags, not a simple on/off switch, and can be used to set other people's console flags via 'console ' - Configfile definition 'console' is now simply the default for masters - Forked processes will expire after 10 minutes - Won't attempt to auto-link to a bot if it's already forking out - Tandem link A--B--C--D--E; if C/D disconnected, C would remove E's entry from the bot table but wouldn't pass on an 'unlinked' notice: fixed - USR1 signal updated to use fcntl and new dccstat format - New command '.bottree' which shows a little chart of the tandem links - New set 'chan-updates' which can turn off the 5-minute display - Now passes nextbot info along with the 'linked' notice, in a new 'nlinked' notice - More robust reading of the user file - More robust writing of the user file when periodic-save is off - Sends out 'thisbot' notice when connecting, so the bots connecting can both agree that they are who they wanted (instead of depending on host/port as valid identification) - File area 'rmdir' will erase the file-catalog (".files") in that directory before attempting to remove the directory TO-DO: - Make '.match' match possibly by last join time - 'expire' users after a long period of no channel activity - If user is not on the channel, make 'kickban' do the ban anyway, sending a userhost request and banning that - Support gopher-style '.Names' files & converstion to '.files' - Rewrite editor - Command extension ability using shell - file-area directories which are pointers to other bots - Expand eggutil - Send out and keep track of 'attempting' notices for ALL link attempts to keep from making duplicate attempts from two different bots - Add command '.run' to execute external commands - Load external commands into a table for now - Message-storing system via /msg (answering machine) - Let a topic be set, that the bot will keep - Let people be 'invited' to the party line, and given temporary party line access - USER_REQPW as outlined by Fred1 BUGS: - Editor is a piece of shit - Spawns zombie processes on some machines and i have NO idea why! - Pipe faults galore sometimes... who knows why - Expired ignores & bans sometimes make linux crash eggdrop1.6.21/doc/Changes1.00000664000076600007660000022654711200432071015022 0ustar simplesimple$Id: Changes1.0,v 1.5 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 0.9) _____________________________________________________________________ 1.0t (June 8, 1998): # Released by: KingKurly - Added 'make install' to the 1.0 series. You can still use putegg if you insist, but make install is just too cool to pass up. - Fixed a few annoying little warnings at compile time. Doesn't change functionality at all. How exciting. - Fixed a spelling error or two in the config. Now this is PROOF that I'm bored. - If you already run a happy 1.0p fully patched, or a 1.0s, this is really an unneeded version. I only put it together in boredom. Note how the last two versions I put out were also products of the summer boredom. 1.0s (July 14, 1997): # Released by: KingKurly - Directory/file structure more like 1.1.x. - More tcl scripts loaded by default. 1.0r (July 13, 1997): # Released by: KingKurly [not public, unreleased due to unplugged security hole] - Fixed a small compilation time warning from main.c 1.0q (June 1997): # Released by: KingKurly [not public, internal testing] (basically just 1.0p+dk+pl6) - Added info to README and botchk on how to setup a cron without receiving emails from cron. - Added check for a userfile in botchk. Move the ~new or ~bak file over if one doesn't exist. - Fixed flag bindings for help files. - Added console wallops to log wallops sent to bot. Also added user def'd log levels 6-8. - Updated nets.list for RussianNet and The-Net. - Added action.fix.tcl to the standard tcl scripts. - Added tcl command topic that returns the topic of the channel given to it. Also .topic without arguments returns the console channel's topic. - Fixed nulluser from being shared out. - Added define for the default irc port to connect to in eggdrop.h - Fixed revenge bug of "Banning so and so now..." not setting a ban. - Made +ban be able to set channel specific bans. Also -ban will remove matching channel bans. - Made it so only owners can change a shared bot's password. - New telnet users can't use the bot's name as a username. - Ported beldin's NEWLINKS code from 1.1 - Made .nick be able to be used by any partyline users - Added feature that bot msgs users on channel and partyline that they have notes every hour. The time after the hour is set in the config file with set notify-users-at. - Added an extra * in front of the username in maskhost in case of users not running ident. - msg_ident returns if person tries to ident with bot's name. Could be used for detection. - msg_op requires a password to be set in order to op a user. Also, msg_op can take a channel as an arguement and only op the user in that channel instead of all the channels. - Fixed bug in tputs with logging an invalid socket. - Added setting timezone in config for scripting purposes to keep track of the bots timezone. - Added tcl command resetchan from julius+bel1. - Expanded tcl command dcclist to include bots, files receiving, files sending, and files send pending. - Fixed memory leak in userrec.c - Allowed channels with 8-bit characters in channels. - Undoes the fix in dk+pl4 for the broken file system. - Includes the corrected patch by poptix to change users going to the file system from parting to just being away. Fixes .whom bug. - Fix in altnick suggested by Wild - .whom bug fix for users going to a broken file system - Fix for notes coming in from 1.1 Eggies - Implementation of -user -host and chattr on shared bots for bot entries, but will not affect bots marked +s. - Added share-greet to config file. 0 means do not send out info change to shared bots, 1 do. - Fix for the telnet (dropping a relay) bug reported by DK. - Changes the structure of the "special" character handling code in the dcc_chat function in dcc.c to a for loop instead of a while loop. - Added the code for ESC characters from beldin4e. - Updated nets.list - Fix for new 1.1 partyline join/part stuff, 1.1 - 1.0 - 1.1 botnets now work properly. 1.0p (March 16, 1997): # Released by: Wade - Kickban reasons are now being included in the kick Patch by: ??? - Kickban will now let owner's kickban anyone, and masters can kickban ops Patch by: ??? - 437 numeric on DALnet/Undernet means you can't change your nickname because your nickname is banned, plus some buffer overflow fixes Patch by: cmwagner - 437 numeric (nickname/channel is juped) has been changed to reflect whether it is specfically the channel or the nickname, bot will not change nicknames if the channel is juped :) Found by: Ernst / Patch by: Robey - Botnet routing has been changed, no longer bothers sending out botnet commands to bots that don't exist Patch by: cmwagner - Added 'restart' command, this may cause some problems Patch by: cmwagner - Long nickname mask in whois command caused bot to crash Found by: Ernst / Patch by: cmwagner - Downlink can no longer unlink uplink and cause a nasty amount of noise on the botnet Found by: EraseMe / Patch by: cmwagner - Long filename in dcc send caused bot to crash Found by: Mike Hammarin / Patch by: cmwagner - Sharebots aborting xfers would cause the bot to kill off the wrong socket Patch by: cmwagner - Space before ctcp commands would be stripped off, could be used to detect eggdrop bots Patch by: cmwagner - When rehashing and the bot was using the alternate nickname it would result in the bot thinking the nickname was in use and changing it Found by: seth / Patch by: cmwagner - Party line wasn't being updated when attributes were being changed Found by: imoq / Patch by: cmwagner - Topic command was not letting users change the topic on a non +t channel when the bot was opless Found by: DeathHand / Patch by: cmwagner - Users were not being deopped when channel is set +revenge and they deop Found by: DeathHand / Patch by: cmwagner TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - killdcc "on a relay to another bot that was stuck (I had lost the connection to my ISP) and the bot went haywire ('Can't find user for relay!')" SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0o (February 4, 1997): # Released by: Robey [Robey Pointer ] - Solaris sigaction thingy fixed Patch by: dunk - 'kick'/'kickban' won't kick other channel bots Suggested by: Mikael Hammarin - ctcp quoting removed (eggdrop was the only client that correctly did it according to the ctcp-1 spec -- the new ctcp-2 quoting will be introduced once the ctcp-2 draft is finalized in a month or so) Patch by: ButchBub - Server renaming was case sensitive and could sometimes cause a crash (fixed) - Small bug in DEBUG_TCL (fixed) Patch by: poptix - Other bots can't use msg 'ident' command TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - killdcc "on a relay to another bot that was stuck (I had lost the connection to my ISP) and the bot went haywire ('Can't find user for relay!')" SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0n (Jauary 6, 1997): # Released by: Robey [Robey Pointer ] - Moved to GNU GPL licensing - ctcp extraction from privmsg improved Patch by: os2warp@invlogic.com - Nick flood was broken (fixed) Patch by: Mr. Wizard - mIRC ctcps and colors stripped from party-line chatter - ctcp behaves paranoidly by popular demand - Changing the nick of a directly-connected bot could befuddle the dcc tables (fixed) Found by: Beldin - Some servers apparently give broken pong replies (copes with it now) - Won't reverse -b modes if they weren't bot-protected bans - 'chnick' wouldn't let you change capitalization (fixed) Found by: Xerxes - '+bot' will not let spaces be part of the address any more Suggested by: vince@who.net - Turns control characters into '?' in a password - Was letting users change nicks to the bot's nick (fixed) Found by: Dan Anatol - 'init-server' is delayed until 001 numeric is received from the server Suggested by: Troy Davis - 'ispermban' Tcl command wasn't working (fixed) Found by: void - Wouldn't correctly finish the nick scroll when it couldn't get any nick (fixed) Found by: void - '.topic' was sometimes refusing to change the topic when the bot wasn't op'd, even if the channel was not +t (fixed) Found by: James Colton - +c common users were not able to use 'hello' msg command (code was all gibberish) (fixed) Found by: Aaron Zollman - GNU configure file updated to handle Tcl 8.0 Patch by: Tom Rini - +secret/-secret channel settings weren't listed in sample config file (fixed) - Remote 'who' requests to unknown bots are no longer broadcast Patch by: cmwagner - Initial ban checking would try to de-ban a number instead of a detested ban (fixed) Found by: Jesse Schachter - console.tcl will filter out c/x/r/o/d/1-5 console modes for non-masters - Console modes weren't removed when a user's +m flag was removed and he/she was still online (fixed) Found by: EraseMe - compile-time option to allow lowercase ctcps - Nick flood protection streamlined and no longer kicks the same user multiple times Patch by: Mike McLagan - Better checking of recently-placed bans (to avoid constantly refreshing a group of bans that are under a minute old and probably pending in the queue) Patch by: Mike McLagan - Some changes to support Cygnus Windows/NT environment Patch by: darkshde, garbanzo - ctcp flood sent directly to the bot wasn't getting completely ignored (fixed) Found by: Dejan Oklobdzija - Tcl 'dccsimul' no longer gives the user a temporary +n ('dccsimul' will now only let the user do commands he/she would normally be able to use) - Motd display could barf on long %C output (fixed) Found by: Seth Mattinen - Nick jupe on Euronet will get treated like "nickname in use" - Updated the README file TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - killdcc "on a relay to another bot that was stuck (I had lost the connection to my ISP) and the bot went haywire ('Can't find user for relay!')" SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0m (December 4, 1996): # Released by: Robey [Robey Pointer ] - '.kick' was broken (that's what i get for meddling) (fixed) Found by: tuvix - Since undernet uses 484 ("restricted connection") to mean "you can't kick or deop the channel server", bots that attempted to do this would think they were i-lined (a concept that does not exist on undernet) and jump -- now uses umode +r to detect Found by: Emmanuel Marty - 'banner' could send blank message (fixed) Found by: EraseMe - 'adduser' existed for limbo bots (fixed) Found by: EraseMe - Access check removed from filedb (not all OS's understand it) - Bogus bans/channel keys weren't queueing correctly (could cause inadvertant flood) (fixed) Found by: coolio - 'die' Tcl command added - MSGM bindings checked even if a MSG binding matches Suggested by: bingony - Nick flood protection was horribly broken (fixed) Found by: Dejan Oklobdzija - Console masktype buffer could overflow (fixed) Found by: nitemoon - Won't deop on a ban unless the channel member was op'd (prevents sharebots from sending a slew of deops all at once, most of the time) - dcc transfers will display acked amount in the home stretch - ^C not counted as avalanche material any more - Euronet 437 (nick has been juped) now understood and (sort of) treated Suggested by: genady - Typo on ques3 (fixed) - Mode changes by non-ops will be reversed (apparently on some nets, a desync makes it appear that non-ops are doing mode changes) Suggested by: xerox@foonet.net - whom info wouldn't get updated on a Tcl 'setchan' (fixed) Patch by: Beldin TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - killdcc "on a relay to another bot that was stuck (I had lost the connection to my ISP) and the bot went haywire ('Can't find user for relay!')" SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0l (November 11, 1996): # Released by: Robey [Robey Pointer ] - Typo in ques3 (fixed) Found by: Gord- - Limbo bot had compilation error (fixed) Found by: imoq - When using filedb-path, sometimes filenames would get spurious trailing dots added (fixed) Found by: Trond Refsnes - NCSA telnet was causing eggdrop to think two linefeeds happened instead of one (fixed, i think) Found by: pepsi@gear.torque.net - Mass deop detection was broken with respect to +o-o+o-o etc on nets that allow huge numbers of modes per line (fixed) Found by: Sean T. - ctcp flood to channel wasn't causing kick (fixed) Found by: Dejan Oklobdzija - configure was checking for 'awk' and it didn't need to (fixed) - 'whom' info wasn't updated on boots (fixed) Found by: imoq - 'whom' info wasn't updated on dcc floods (fixed) Found by: Beldin - Fixed some weirdness with read-only vars - Version shown in DEBUG output - No longer immediately enforces bans that are placed by a server - Channel ops/bans aren't reversed for other bots (try to prevent two bots from fighting) - Channel ops are no longer exempt from revenge (but friends still are) - Tcl 'getinfo' was stripping off the leading @ on an info line if it was locked (fixed) Found by: Gord- - dcc 'kick' command follows 'kickban'-style checking now Suggested by: Bert Bohla - 'die' will wait a little longer for the server to catch up Suggested by: Bruce Gingery - ctcp avalanche detection couldn't be turned off (fixed, now can be turned off by setting flood-ctcp to 0) Found by: edmiester - Remote boot was getting logged incorrectly (fixed) Found by: Gord- - Display of ban in 'match' is better looking now - Hostmask redundancy checking was being done on the ban and ignore list too (causing sometimes mysterious disappearance of bans or ignores) (fixed) - 'bans ' wasn't checking the hostmask correctly (fixed) Found by: iceman - 'match ' would only show the first ban that matched, not subsequeent ones - Matching ignores are now displayed in 'match' - 'ignores' can take an argument: a mask for matching only certain ignores Suggested by: Xerxes - Ban list would prematurely end if there were no global bans (wouldn't show channel-specific bans) (fixed) - Better handling of IPs (doesn't depend on size of long) - Ignored users still get flood checked Suggested by: Neale Pickett - Compile-time option to let ignored users still trigger many bindings Suggested by: Neale Pickett - Channel-specific bans wouldn't get expired if there were no global bans (fixed) Found by: Gaven Cohen - Warning about permbans given to ops/masters made more specific Suggested by: Nick_ - Would take revenge on itself for deop'ing itself (fixed) Found by: cuentero - Streamlined putlog to try to save CPU and memory - ctcps from channels with '.' in the name weren't triggering bindings (fixed) Found by: Gaven Cohen - File descriptors could get lost in help system (fixed) - filedb checks ctime when updating too - Note bindings won't be triggered by notices from other bots Found by: EraseMe - Wasn't echoing successfully sent notes that got trapped by bindings (fixed) Found by: EraseMe - Tcl 'killchanban' was using wrong args for sending the deban (fixed) Found by: darkshde - Mysteriously vanishing half of a relay could cause infinite loop -- the recovery is cleaner now, though still choppy (this should not happen) - Nick flood protection wasn't passing the whole hostmask, so the bot might sometimes fail to recognize itself, and would punish itself for nick floods (fixed) Found by: Nicholas J. Dear - Random number generator wasn't seeded until after config file (and any scripts that load on startup) were loaded (fixed) Found by: Troy Davis - '+host'/'-host' accepted incomplete parameters (fixed) Found by: rawdon - refresh_ban_kick() was mangling the kick reason (fixed) Found by: Gaven Cohen - Better i-line detection TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - Some people say their bot thinks it's i-lined when it's not, but i can't duplicate it, and those people won't send me logs or info SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0k (October 17, 1996): # Released by: Robey [Robey Pointer ] - Spelling fixes - Whom signoff notice was mangled when relaying off the bot (fixed) Found by: Gord- - If expired dynamic bans weren't removed quickly enough by the server, the bot would obsessively deban once a minute until the server reacted (fixed) Found by: Bruce S. - expire-time for bans and ignores was displayed weird (fixed) - When kicked from a channel, queue the join to avoid excess flood Found by: xerox@foonet.net - Changing nicks on the party line wouldn't update whom info on other bots (fixed) Found by: Michele - First word of ban comment was stripped off in the kick comment (fixed) Found by: Gaven Cohen - Idle time was always 15 mins for remote users in whom right after a connect (fixed) - +autoop will make the bot op a user after he/she idents or is .adduser'd (if they're +o) Suggested by: Jesse Schachter - New Tcl command 'whom' Suggested by: Gord- - Fake connections trapped by net module now (was causing failed connects to look like successful connects that got immediately dropped) - Debugging console mode - Better version handling (patches can identify themselves more easily, to the user and to scripts) - Wasn't adding hostmasks correctly for bots when they were on the channel (fixed) Found by: dorgan - Access to help files wasn't following chattr changes (fixed) Found by: Stephen Hunter - People with only +p can now ask for help on specific items - New Tcl commands 'dumpfile' and 'dccdumpfile' Suggested by: goo - 'whom' away info would get mixed up when people left the party line (fixed) Found by: dorgan - Keep track of time connected to a server Patch by: cmwagner - bind 'act' wasn't trapping local actions (fixed) Found by: genady - Long password entry to dcc would overflow blowfish ("ircle bug") (fixed) - Some machines would infinite loop and create huge filedb's if an entry in the file system was removed (fixed) - Filedb will be updated (checked against the actual directory contents) if it's been more than 12 hours since the last update, even if the directory modification time hasn't changed (some changes in the directory, like file-size changes, won't change the directory modification time) Suggested by: Andrej - Bots will pass idle-time hints on connect burst - Tcl 'newchanban' wasn't coping with permanent bans correctly (fixed) Found by: stephenc - Better idle-time display in 'whom' and 'who' - Made read-only variables (can only be changed during rehash): owner, userfile, version (version can't be changed ever) - When keeping all logs, no renaming is done (the log changes names automatically at midnight) Suggested by: genady - When restructuring botnet to get to a +sh bot, if the direct uplink is not +sh, this bot will disconnect from the uplink instead of asking the remote +sh to unlink Suggested by: Gord-, genady - Sharebots will share hostmasks & addresses for bots (and ONLY that info) - tbuf status is shown in 'status' - weed will expire old bans and ignores if you want it to - 'setlaston' will take an optional timestamp argument Suggested by: Gord- - Added 'flush' command to flush resync buffers TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags get # of downloads for a file - files '.mv' move directories Suggested by: Andrej - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) - 'listen <"bot-only"|"all"|"user-only"> [nick-mask]' - 'listen script ' - 'listen off' BUG REPORTS: - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - Some people say their bot thinks it's i-lined when it's not, but i can't duplicate it, and those people won't send me logs or info SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Quota for file system 1.0j (October 8, 1996): # Released by: Robey [Robey Pointer ] - Bug in limbo bots (wouldn't compile) (fixed) - ctcp clientinfo now returns error messages like epic - 'whoz' shows the idle time in minutes now Suggested by: LSC - Blank line (just return) was being interpreted in dcc chat as the user saying something (a blank line) (fixed) Found by: LSC - ctcp clientinfo for 'action' was incorrect (fixed) Patch by: peace - Possible assoc overflow (fixed) Patch by: cmwagner - New Tcl commands: 'getdccaway', 'setdccaway' - Note sent to a local user from the bot was displayed incorrectly (fixed) - Tcl 'chhandle' would let you create null handles (fixed) Found by: Stephen P. Clouse - Ban code would attempt to kick even after avoiding a desync re-ban (fixed) Patch by: Hue Truong - Changed i-line detection algorithm slightly, although it probably makes no difference Suggested by: Hue Truong - Blowfish would run out of boxes because it wasn't checking timestamps correctly (fixed) Patch by: cmwagner - New 'note' binding to have the bot do special actions when a note is received for a particular (possibly non-existant) user - Don't set console default to '*' for dcc users on a limbo bot when there are channels defined Found by: ledpighp - '.channel' display format looks better now Suggested by: ledpighp - Channels can have +secret/-secret now to keep them from being advertised on the botnet Patch by: cmwagner - whom info wasn't updated to the botnet after a 'killdcc' (fixed) Found by: Xerxes - Put strong connections back cos some people claimed it made a difference - whois accepted null argument (fixed) Patch by: tartarus - Debug output writing streamlined Patch by: tartarus - Banned users were only getting kicked on join if +enforcebans was set (fixed) Found by: Bert Bohla - Failed userfile transfers would sometimes cause a resync buffer to start up (fixed) Found by: danny - Checking for +v after -o wasn't queued (fixed) Found by: xerox@foonet.net - Tcl 'sendnote' has more extensive return codes - Added 'connect' Tcl command to create outgoing idx connections - New binding 'act' to catch party-line actions - msg 'go' command gives a specific channel now Suggested by: cmwagner - Fixed sunos/solaris detection in configure Found by: Joe Morris - Think i finally fixed the problem with IPs getting sent out in reverse byte order over IRC - Matching bans show up when doing '.match' Suggested by: Nicholas J. Dear - When masking user@hosts, quoting ? or * in username could overflow buffer (fixed) Patch by: Gilles d'Andrea, cmwagner - Made lots of dangerous and slightly incompatable changes to the way bans are stored and created - New team of Tcl commands to add/remove bans (more flexible) - List returned by Tcl 'banlist' contains extra element: creator of the ban - Similar dangerous and incompatable changes to the ignore list (a comment and timestamp are now stored) - New Tcl 'ignorelist' similar to 'banlist' - Sharelink was overflowing buffer sometimes (fixed) Found by: cmwagner - +sa bots were getting remotely unlinked (fixed) Found by: genady - Spelling error in "incompatible" (fixed) Found by: dvlsadvct TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Remote sharing of directories (large project) - Channel-specific flags (large project, v1.1) BUG REPORTS: - +a bots are not getting linked if +h bots are down Reported by: genady - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - Some people say their bot thinks it's i-lined when it's not, but i can't duplicate it, and those people won't send me logs or info - Occasional explosions of .filedb for no reason SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Fix weed for bans & ignores 1.0i (September 10, 1996): # Released by: Robey [Robey Pointer ] - New Tcl commands 'encrypt' and 'decrypt' to interface blowfish - Alarms weren't being trapped (fixed) - +f (friends) don't get flood triggered now - Server notices are logged with server (+s) stuff now, not msgs - '+ignore' could overflow (fixed) Patch by: cmwagner - Keeps 3 "boxes" buffers for blowfish to prevent Tcl encryption from running up the CPU time (prevents excessive re-computation of keys that were recently used) - Support for irc 2.9 mode +q (quiet; only servers can speak; useless) - Tries to use 'clock' (ANSI C) if 'getrusage' isn't there Suggested by: ayman - Slightly better algorithm to stack outgoing mode changes Suggested by: Mr. Wizard - Changing telnet port on the fly might lose a socket (fixed) - Fake 'whom' requests weren't getting caught (fixed) Found by: slix - Channel-specific bans tried to be written to a transmit userfile after the file was closed (caused all userfile transmits to go weird when channel-specific bans existed) (fixed) Found by: ledpighp - chmod 600 done right after fopen when writing user files to prevent teeny little window when it was unprotected Suggested by: ledpighp - If channel has no ops, and there are some humans there, 'need-op' will be run just in case it has a magical oper command or something Suggested by: Bruce S. - Directories are given more space for filename length in the 'ls' listing since they don't need the other info displayed Suggested by: stomper - Made 'configure' look for new-style Tcl library names (ie libtcl75.a) Suggested by: Kendrick Vegas - New command 'getaddr' to get a bot's address; 'getinfo' on bots will always return a blank string now (this should keep scripts from getting confused) - Added Tcl commands 'addignore', 'addpermignore', 'delignore', 'isignore' Patch by: Hue Truong - Added 'flud' binding to catch and react to floods as the bot detects them, replacing the bot's normal punishments Patch by: Hue Truong - Help files typos and errors fixed Found by: Bruce S. - FreeBSD uses non-standard names for the Tcl library -- added to configure script Found by: tris - configure script will detect Tcl 7.6 betas now Patch by: tartarus - Will try to detect and compensate for broken Windows "CR-only" input strings - 'weed' was sometimes losing part of the xtra field (fixed) Patch by: Bruce S. - Tcl 'getdccidle' added Patch by: cmwagner - Virtual hosting fixed (we hope) Patch by: tris - Idle times are actually updated for dcc chat/files/script now - 'chemail' didn't complain about nonexistent users (fixed) Found by: Chucky Burnett - Tcl 'rand' would accept and explode on argument of 0 (fixed) Found by: Chucky Burnett - Bot could get confused about its current nickname during rehash (fixed) - recheck-channel would skip bot's nickname, but not if it wasn't using its desired nick (fixed) Found by: Chucky Burnett - Console was getting set to gibberish channel on limbo bots (fixed) Patch by: cmwagner - Tries to cope with ircd 2.9's funky mode-on-join netjoin notices - '-m' option works for limbo bots now (i think) - Away messages from the party line are shared across bots now (for whoz) - User is notified if they receive a note while away - getmyip() returned to normal behavior (see note in net.c) TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Remote sharing of directories - Permanent yet channel-specific bans (right now it's either global & permanent, or channel-specific & temporary) BUG REPORTS: - +a bots are not getting linked if +h bots are down Reported by: genady - dcc chat with firewalled bot doesn't seem to work (error 2) Reported by: Rajat Goel - Changing nicks every 60 seconds on the undernet (which eggdrop does when it can't get its nick) can be perceived as a flood; suggested fix is to use ISON to determine if the name is available Reported by: Troy Davis - Some people say their bot thinks it's i-lined when it's not, but i can't duplicate it, and those people won't send me logs or info SUGGESTIONS: - Be able to leave a parting comment when doing '.quit' Suggested by: a person - Fix up help substitutions (%[ %] is pretty lame) - Be able to grab a dcc user's idle time with something like 'dccidle' (rumour is there's a patch that does this already) - Be able to grab a dcc user's away status 1.0h (August 7, 1996): # Released by: Robey [Robey Pointer ] - Spelling mistake Found by: blackjac - Dropped relay would cause bad join data to be sent across the botnet (fixed) - Away information is shared among bots now - Idle-time calculated locally for remote botnet users - Doesn't stick user's nickname in '.die' message if signoff message is given - ctcp procs can return 0 to let the bot continue processing that keyword Suggested by: darkshde - Took out Tcl event-loop support ('after', 'socket', etc) since nobody used it and it didn't even compile with some 7.5's - Checking for stoned servers would sometimes ping servers with their wrong name (fixed) Found by: tris - Various changes to make limbo bots less irc-bound Suggestions by: slix - Missing linefeed in transmitted userfiles Patch by: cmwagner - Password checking might explode on null password (fixed) Found by: cmwagner - 'ls dir' would just list the directory entry, not the actual contents (fixed) Found by: blackjac - Compile flag SHAREBOT_BOOTS was actually checking for +d, not +s bots (fixed) Found by: darkshde - Cleaned up some of the IP conversion code in net.c (at Fred1's prodding) - Majorly overhauled the Tcl command stubs and spread them out over 4 files - Tcl 'matchban' command would crash when given a channel (fixed) Found by: Gumbie - Added 'reserved-port' setting for using a certain port for dcc file transfers Suggested by: Jordy - Flood settings can now specify the time-lapse (# of seconds) which still defaults to 60 (probably too high) - Channel-specific bans are stored in the userfile and can be shared i guess - Channel-specific bans weren't set when joining or re-checking bans (fixed) - Some IAC codes would send spurious '7' under gcc (fixed) - +bitch/+protectops still wasn't working (fixed) (i hope it really was this time) - If server hostname is different from the one in the server list, the server list is updated with the new info Suggested by: demon - File system 'chdir' wasn't checking error returns on filedb's sometimes (fixed) Found by: Fred1 - Filedb code was using wrong match routines (case insensitive, bad) (fixed) Found by: Fred1 - Slightly better rejection of unsupported telnet IACs (thanks to ken keys) - 'handle' command renamed to the more intuitive 'chnick' (and 30,000 people will burn me alive for it i'm sure) - Notes are moved along with a handle change now - # of notes shown in 'whois' display Suggested by: ledpighp - Old or no-recipient notes expire during the logfile switchover Suggested by: ledpighp - Moved notes system into its own module for eventual cleanup (yeah right) - Won't block on DNS searches more than 10 seconds - Net module was returning bad lengths for non-binary sockets -- only the telnet IAC code used this, and it only manifested itself as a throw-away of any line less than 5 chars that had IAC codes in it (fixed) - More informative debug info written on crash - Attempts to grab the userfile that abort very early didn't cause an unlink (fixed) Found by: blackjac - ntalk.irc bugfix Fixed by: tris - Tcl 'dccsimul' command broadcast flag changes to sharebots (fixed) Found by: cold fusion - Tried to fix weird bug where +a bots listed before +h bots wouldn't get linked if the +h bots were down - Handles FPE signal TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Remote sharing of directories - Permanent yet channel-specific bans (right now it's either global & permanent, or channel-specific & temporary) - Tcl access to blowfish BUGS: - None (HA!) - +h/+a auto-linking is not working correctly - Some people say their bot thinks it's i-lined when it's not, but i can't duplicate it, and those people won't send me logs or info 1.0g (July 23, 1996): # Released by: Robey [Robey Pointer ] - Tcl 'killdcc' could kill off the terminal (HQ) user in -nt mode (fixed) Found by: cmwagner - Multihoming fixed Patch by: tris - Little better at checking for stoned servers - protect-ops doesn't reop if the deop was caused by another bot (stops some desync wars) Suggested by: Xerxes - Bans were checked on the wrong hostmask during nick changes (fixed) Found by: tris - Several commands would behave strangely with extra spaces added (fixed) Patch by: cmwagner - file-system-only users were getting binary sockets (fixed) Patch by: cmwagner - Tcl wants fds 0/1/2 left open, but they're redirected to /dev/null now so it can't harm anything - Most normal mode flushes are queued now to avoid the bot flooding itself off when it joins a bunch of channels at once and starts implementing bans from the list - 'adduser' could add users with nicks > 9 chars (fixed) Found by: taz-man - Added PRIVATE_OWNER define so that dictatorial sharebot networks can have one master bot which ignores any +n modes coming from slave bots (all slave bots must therefore have 'owner' set so that when downloading the user file, they will at least have some local +n's that don't exist on the master) - 'invite' didn't recognize net-splits or non-invite channels (fixed) Patch by: tris - Removed "strong connection" since it was a no-op - Userfile marks a version number now, and has upgraded to v2 (will read v1 user files but writes only v2 ones) - Passwords are encrypted now using blowfish (public domain equivalent of DES without silly patent laws or government interference) - Rudimentary socks firewall support (outbound connections only so far) - Repetitive ban checking used wrong timestamp (fixed) Patch by: Hue Truong - Wasn't really switching between m/h queues when dumping to server (fixed) - Cleans out m/h queues when switching servers so they don't get cluttered Suggested by: tris - With quiet rejection off, bot responds to 'help' politely even if it doesn't know the user Suggested by: jonte - Joins & parts of botnet users is shared now, to eventually replace '.whom' in a few versions - '.chinfo' pretended to change info of non-existent users (fixed) Found by: Aaron Zollman - Support for sun firewalls (as much as there can be) -- will barely work, if at all, since "telnet passthru" wasn't meant for machine use - Entering anything but "*bye*" on a relay attempt that hadn't connected yet would crash the bot (fixed) Found by: tris - Entering "*bye*" on a relay attempt that hadn't connected yet would fail to announce that the user had rejoined the party line (fixed) - PRIVATE_OWNER define wasn't actually working (fixed) Found by: Gord- - Updated 'weed' for new userfile format TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files BUGS: - None (HA!) - Some complaints that a large filedb file gets created (fixed? maybe?): + Fred1 says it happens in /gifs/abpem, suggesting that the removal/ addition of directories might be a culprit - Channel bans aren't saved in the userfile, or downloaded to other bots: they probably should be. 1.0f (July 6, 1996): # Released by: Robey [Robey Pointer ] - Various patches to fix socket 1 getting treated special when the bot is in the background Patches by: cmwagner - msg 'whois' command had possible nick overrun (fixed) Patch by: cmwagner - Overruns in file system (fixed) Patch by: cmwagner - Bot link/relay wasn't using strong connection for incremented ports (fixed) Patch by: cmwagner - Aborted userfile transfers were killing the wrong socket (fixed) Patch by: cmwagner - Full file system would crash (fixed) Patch by: tris - Sending the userfile over NFS would just send garbage (fixed) Patch by: cmwagner - Much better definition of "bogus" channel keys and bans: char 127, or any char below 32 except ^B, ^V, ^_ - Bots aren't penalized for bogus channel keys or bans - bitch/protectops combo wasn't working quite right on deop yet (fixed): new behavior is that if protectops and bitch are both set, the deop'd person will get re-op'd only if +o or +m Found by: brenny - Can define 'altnick' now to avoid blatantly obvious "Lamebot0" nicks Suggested by: cmwagner - '.status' will indicate if the bot is in limbo instead of saying it's trying to join various servers and channels Found by: dannyboy - Measures and displays server lag in '.status' - Added separate flood threshold 'flood-ctcp' for CTCP floods - Super-long CTCP ECHO/PING/ERRMSG requests are just ignored - strong-connect sockets were losing incoming data at the beginning of the connection (fixed) - Directory wasn't closed after filedb-update (fixed) (maybe this caused the explosive filedb's?) - No longer dumps out existing chat-channel assoc's to new bots when they link (caused stupid floods, etc) - Could possibly flood itself off with channel joins when starting up (fixed) TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files BUGS: - None (HA!) - Some complaints that a large filedb file gets created (fixed? maybe?): + Fred1 says it happens in /gifs/abpem, suggesting that the removal/ addition of directories might be a culprit - Option SOCK_STRONGCONN currently appears to be a no-op 1.0e (Jul 2, 1996): # Released by: Robey [Robey Pointer ] - Might confuse lag for a desync, and not kick people who joined while a ban was being placed ("after" the ban was placed, from the bot's point of view) (fixed) Found by: Fred1 - Stupid new '+', '-', '^', '=' preceding usernames are stripped unless strict-host is on - 'set' added to list of commands that are disabled if user Tcl access is restricted (#undef ENABLE_TCL) -- plugs a possible security hole Found by: cmwagner - Tries to avoid abuse of '+ignore' to create duplicate identical ignores Found by: blackjac - Super-long help request could crash the bot (fixed) Found by: darknight - dcc 'email' command didn't have long enough buffer for display (fixed) Found by: cmwagner - Race condition on userfile send and receive at the same time (fixed) Found by: Fred1 - Got rid of some HPUX warnings Patches by: cmwagner - copyfile() would only copy part of a file if it ran out of disk space (now it aborts) Found by: Mr. Wizard - Added 'pushmode' and 'flushmode' Tcl commands - Buffer overrun on check_chanlist() Fixed by: cmwagner - filedb-path wasn't working (fixed) - If the bot cycles a channel, becomes the only member, and still isn't op'd, it will assume it's i-lined and jump - Failed dcc chat was pressing on with assumed successful connect (fixed) - Identity change (changing the bot's nick and then reloading the config file) would wait a while before changing nicks on the server (fixed) Found by: Laurens v. Alphen - Colorization (^B/^V/^_) in bans was considered bogus (fixed) Found by: topcat - Don't re-op someone if they are not +o and bitch is on, even if protect- ops is on Found by: seadawg - Relay uses "strong" connections to try not to be fooled by async i/o - Failed relay attempt would cause crash (fixed) - Bogus IAC packets in telnet connections could cause endless loop (fixed) Exploited by: "eggcrash" - Tries harder to disassociate controlling terminal when running in the background (ie, most of the time) and re-uses fd's 0-2 (server will generally be socket 0 now) TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac - Tcl command to add and flush mode changes BUGS: - None (HA!) - Tcl 'sign' bindings sometimes crash (?) - Some complaints that a large filedb file gets created (can't duplicate, might be just a rumor): + Fred1 says it happens in /gifs/abpem, suggesting that the removal/ addition of directories might be a culprit - Aborting a userfile transfer is usually fatal now (why?) 1.0d (June 12, 1996): # Released by: Robey [Robey Pointer ] - Turning off flood protection wasn't working for dcc chat (fixed) - 'stat all' display was outdated for channel settings (fixed) - ctcp finger, version, userinfo will not return anything if the responses are set to blank Suggested by: answer - Better handles long file system directory names - '.filedb' thingies don't have to be stored in the actual directories now Suggested by: waxmaster - Xerxes got laid - eggstat wasn't keeping track of the 'xtra' field correctly Fixed by: cmwagner - Userfile was being buffered as it was received (fixed) - Added sets 'my-ip' and 'my-hostname' to override auto-detect in odd cases Suggested by: Rok Papez - Might have fixed OSF/1 problems with DNS TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac BUGS: - None (HA!) - Tcl 'sign' bindings sometimes crash (?) - osf/1 has dns problems -- no known solution (might be unsigned long problem?) - Some complaints that a large filedb file gets created (can't duplicate, might be just a rumor) 1.0c (June 1, 1996): # Released by: Robey [Robey Pointer ] - Remote 'who' info was putting garbage before the channel list (fixed) - link binding was giving a null parameter (fixed) Patch by: cmwagner - Relays were exploding (fixed) - mprintf/hprintf/putlog could get overloaded (fixed, i think) - Better (?) support for suns in trying to find libs Suggested by: keyoke - Thought all bot rejections were fake (fixed) Found by: cmwagner / Caused by: cmwagner ;) - dcc sends to the bot (including userfile transfers) were being buffered by accident (fixed) - Just does slow bot ping all the time now - console.tcl wasn't restoring console channel correctly (fixed) Found by: Ben Barton - Really dumps bots when they abort the userfile transfer now - Userfile sends were choking (fixed) Found by: Gord- - Was checking for connect timeout even when between servers (fixed) - Support for code 405 ("too many channels") and 432 ("bad nickname") Suggested by: cmwagner - No longer kicks people for having a ';' in their username Suggested by: sprite - Can set maximum number of notes to save for a user (default 50) to prevent someone being flooded by stored notes Suggested by: Robert Brice - Added Tcl: 'getchanmode' Suggested by: Roger Yerramsetti - Can mark a bot +sa now Suggested by: Nate Gardner - Revenge is a channel option now, not a global option - Some Tcl commands ('matchattr', 'userlist', 'chanlist') and dcc commands ('match') would assume anyone matches against a non-existent flag -- now nobody will match a non-existent flag Patch by: answer - Channel chanmode overrun Fixed by: zamf - Tells OS it wants to be able to re-use listening port later Patch by: tris - Uses ISON instead of PING to check for server stoned Suggested by: archon - Tcl 'addbot' command hadn't been working right (fixed) Found by: cmwagner - '.who bot1 bot2' was rude (fixed) Found by: blackjac - sharebot_boots wasn't really checking for sharebots (fixed) Found by: blackjac TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac BUGS: - None (HA!) - Tcl 'sign' bindings sometimes crash (?) - osf/1 has dns problems -- no known solution 1.0b (May 20, 1996): # Released by: Robey [Robey Pointer ] - Owners couldn't add hostmasks to each other with '+host' (fixed) Found by: waxmaster - Nick floods are triggered by 'flood-join' now instead of 'flood-msg' - Channels missing from the config file on a rehash will be removed - Notes and master-comments weren't always echoing properly for file system users (fixed) Found by: pinchaser - mv/cp in file system would cause chaos (fixed) Found by: pinchaser - ques3.tcl was writing 0-length files (fixed) Found by: imoq - Got confused when it joined a channel with the wrong nick (fixed) - Setting flood levels to 0 deactivates flood protection - No more '.exec' because i killed process control -- it can be done in Tcl anyway - Sharebots queue user changes while a userfile transfer is in progress - Non-blocking ("asynchronous") network I/O now (re-wrote network stuff) - Can stop a relay before it connects - '.debug' shows abridged socket table - '-nt' mode was leaving you on a screwy nonexistant channel (fixed) - Lame -v option - New set 'telnet-bots-only' to allow you to restrict the telnet port to bots (no humans) Suggested by: blackjac - Telnet port can be changed on the fly - New set 'server-timout' to replace the compile-time option - Security hole with 'open-telnets' on (fixed) Found by: cmwagner - Added 'assoc' and 'killassoc' for Tcl - Better protection against the bot flood-checking itself - Bans added via Tcl are now tagged with the bot's nickname, so the ban comment will be displayed on kick - Sharebots won't bitch at each other for removing bans - Much better about letting many channels be used without overflowing buffers - Could send fake bot rejections (fixed) Patch by: cmwagner TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac BUGS: - None (HA!) - Tcl 'sign' bindings sometimes crash (?) 1.0a (May 4, 1996): # Released by: Robey [Robey Pointer ] - Can use 'ENABLE_TCL' to turn off the '.tcl' command now Suggested by: Jay S. Monk - New 'ntalk.irc' (v4.1) Submitted by: Fred1 - Bind string matching could get locked up Fixed by: Fred1 - DALnet fixes Patch by: cmwagner - Copying a file into a directory where it already existed caused duplicate records (fixed) Found by: Fred1 - Couldn't hide/unhide dirs in the file system (fixed) Found by: imoq - timer/utimer didn't handle bad syntax in commands well (fixed) Found by: dan - Desyncs were causing the bot to repetitively kickban people who joined the channel on a side of the net where the ban did not exist, which would sometimes make the bot flood itself off (fixed) Found by: Nate Gardner - Setting the 'xtra' field blank would crash the bot (fixed) Found by: dan - Small fix to quesedilla Patch by: Gord- - Dropped relay connections weren't REALLY reseting echo (fixed) Found by: imoq - 'rehash' saves the user file first before reloading it -- new command 'reload' will reload the user file without saving it or loading anything else - Could use 'adduser' on bot owners *gulp* (fixed) - 'rehash' will refresh channel settings from the config file now (in case something has changed in the channel definition) - When a master gave extra console modes to someone, they would be lost the next time that person changed their console mode (fixed) Found by: pinchaser - Tcl 'filesend' wasn't really there (fixed) Found by: cmwagner - Small fix to console.tcl - Asks for a disconnect when a userfile transfer gets aborted (i have no idea why this should ever happen, but apparently it does in mexico) Suggested by: imoq - Console mode '*' is all allowed modes - 'null' users and 'none' bans for sharebot no longer happen Helped by: cmwagner - Can detect and use the new standard Tcl 7.5 shared library (hint hint) - Annoying roommate: Xerxes - '.dump' was op-level not master-level (fixed) Found by: skyline - Bans weren't being checked on nick change (fixed) Found by: spacey - Nick binding passed uhost parameter incorrectly (fixed) - Stackable bindings weren't being checked by their individual flag requirements (fixed) Found by: Chad Fawcett - CTCP responses use secondary queue now - Rapid-fire kicks are queued to avoid being flooded off by rapid-fire kicking a wave of clonebots Suggested by: spacey - New channel setting '+stopnethack' that can turn on/off nethack protection - When using undesired nick, bot might idle-kick itself (fixed) Found by: hal - Some socket/fd leaks in the file system could lead to unpredictable filedbs i think (fixed) TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac BUGS: - None (HA!) 1.0 (April 7, 1996): # Released by: Robey [Robey Pointer ] - Security patch for 'pass' command Patch by: cyberscape - Can do 'comment none' now Suggested by: softlord - Wasn't letting you describe directories any more (fixed) Found by: sabi - Mode change before /who result caused crash (fixed) Found by: imoq - chon copes better with dropped dcc's and channel changes now - Tcl 'putloglev' to write to a user-defined log level (1-5) - 'trace' command was still broken (fixed) - New bans will store and display when they were created and the last time they were active (popular demand) - Tcl 'link' and 'unlink' weren't working (doh!) (fixed) - Finished dprintf'izing - Assoc'd channels are kept in numerical order now - No more support for non-Tcl bots - Was losing memory every time server list was loaded (fixed) - No longer honors outdated op requests done thru non-Tcl - Re-arranged config file a lot to make it cope with multiple channels - New Tcl command 'channel' to add, remove, and modify channel entries - Console now has channel and mode, instead of just mode - New faster match.c from Fred1 - Now only rejects 'who' requests for secret/private channels when the requestor isn't already on the channel - Doesn't keep "hidden" track of memory any more when debugging is off (downside: no way to tell memory leak unless debugging is on) - Bot link/etc notices were going to users who had '.chat off' (fixed) Found by: Xerxes - Added Tcl 'setlaston', 'echo', 'addglban', 'delglban' - '.email' has a more standard syntax now Suggested by: answer - Each channel keeps its own banlist now for temporary bans - Changed various Tcl ban commands to accomidate the concept of having a global banlist + separate banlist for each channel - Channel ban lists are sent by channel name to other sharebots - Revenge generally only adds bans to a certain channel now - Tcl 'channel info' dumps out all the info you can set - Join flood only gets you banned on the one channel now - Was reversing mode changes by fake-op people even if the mode changes were beneficial (fixed) Found by: tris - '/msg pass' incorrect password notice was getting sent to the wrong person (fixed) Found by: archon - '/msg ident' will take an optional nickname now Suggested by: poseidon - '.+bot' will try to add the hostmask if it can find it - Changed meaning of +a and +h flags for bots -- now +h is equivalent of old +ah, and +a is an alternate/secondary link if no +h can be linked - Better DALnet support (maybe not perfect, but...) - Password checking is case-sensitive now Suggested by: Jay S. Monk - Removed helpbot support (useless) - Revenge flag changes weren't propagating through sharebots properly (fixed) Found by: zenoran - Tries not to block longer than 10ms when writing to a socket now - Checks bans against userlist, just in case someone's dumb enough to ban by a hostmask the bot knows - 'unlink *' will disconnect you from the botnet Suggested by: blackjac - Aborting a relay, when a password was being asked for, could keep echo off indefinitely (fixed) Found by: cmwagner - New Tcl command 'getting-users' - Took out the old primitive 'talk'/'ntalk' script support (possibly to be replaced by something better later) - Tries to be more graceful when recovering via '.reset' - Rewrote entire file system and help files - Number of gets for a file is incremented AFTER a successful download now, instead of before - 'text/banner' is shown to people that telnet in - set 'copy-to-tmp' can turn on/off copying files to /tmp before sending them to people (has no effect on uploads, which are still stored in /tmp until finished) - Keeps file descriptor open while sending/receiving a file now (probably not much more efficient on many machines, but apparently it has an effect over NFS) - Wasn't passing flags 8/9/0 over sharebot links (fixed) - Local msgs (') leak to all channels by default now Patch by: answer - Old '.files' is converted to '.filedb' on first access to that directory - New Tcl 'utimer', 'killutimer', 'utimers' to deal with "micro-timers" that operate on the order of seconds instead of minutes - Timers are no longer double-evaluated - File sharing implemented - New Tcl: 'deluser' - Space for tandem bot records adjusted automatically now (no set limit) - Wasn't enforcing a +l mode if someone did +l with a different limit (fixed) Patch by: cmwagner - In help/text files, '%C' is now the list of channels the bot wants, and '%E' is the full-blown eggdrop version - Ignores store nicknames now Suggested by: blackjac - Changed behavior of Tcl 'dccsimul' to be more intuitive - Added 'filt' bindings which filter dcc input - Made Tcl 'dccsimul' give temporary owner access while executing - Alleged support of file transfer recovery now - Lots of Tcl commands to support the file system - Flags '6'-'0' weren't getting loaded correctly (fixed) Found by: Dave Guzeman - '.email' was spazzing out (fixed) Found by: slix - Sockets are non-blocking after a connect now - Something stupid about not being able to leave notes for bots Found by: Xerxes - The xtra field is transmitted between sharebots differently, and should now have no effective size limit - The ILL signal will log a context and continue -- to help find locks - Socket output is queued if it would block (non-binary sockets only), and '.debug' will show the socket queues, in and out - File system wasn't noticing an invalid dcc path (fixed) Found by: dorgan - Moved ' local-only chat to a Tcl script so it's optional - Userfile transfers happen via a DCC send connection now (might be faster) - Added 'save-users-at' and 'switch-logfiles-at' timing options - Killed forked processes were giving "unforseen error 234" (fixed) Found by: plof - 'putbot' wasn't up to speed (fixed) Found by: shadow - 'switch-logfiles-at' in lamestbot was set to octal value (oops) Found by: Xerxes - Bans were overwriting other memory when sent to Tcl to trigger bindings ("yer a dork!") (fixed) Found by: Fred1 - Better way to prevent the bot from going "idle" - CTCP AWAKE wasn't correctly removed (fixed) Found by: cmwagner - Owners couldn't even boot themselves (fixed) Found by: Gord- - 'chattr' was letting you do +b/-b when it shouldn't (fixed) - Leaf rejection was sometimes flooding (fixed) Found by: junkie - Bot was sometimes not noticing when it got its nickname back (fixed) Found by: station - When someone on a channel changed nicks to the same as someone who was net-split, the bot would get confused (fixed) Found by: station - msg 'jump' now requires a password - User caching used when adding users, so that the startup loading-userfile phase will be faster - New console level 's' to record server connect/disconnect/etc - 'unlink *' forces the bot tables and assoc records to be cleared to a sane state Suggested by: Fred1 - filt wasn't working for file system (fixed) Found by: dorgan - Missing linefeed was causing bot tree chaos (fixed by cmwagner) - Was possible to nick-ban the bot with +ban (fixed) Found by: Luke Detering - Better username testing on startup - Few problems with crashing when unlinking bots (fixed) Found by: Xerxes - Hack: Tcl 'putserv' and 'puthelp' truncate embedded linefeeds now, to keep braindead scripts from shooting themselves in the foot - Excessive repetitive invites are no longer logged Suggested by: derrick TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files - Be able to clear all bans Suggested by: blackjac BUGS: - Sometimes forks for chat aren't getting their memory freed: =MyBOT= File 'dccutil.c ' accounted for 108/728 (debug follows:) =MyBOT= 821:(010) 821:(010) 808:(06C) 821:(010) 821:(010) 808:(06C) =MyBOT= 808:(06C) 808:(06C) 821:(010) 808:(06C) 808:(06C) [not sure if this still happens] - Sometimes bans are being "none!*@*" ? - Raw mode crashes tclhash.c/563 1.0beta-turtle-patched (April 3, 1996): # Patch by: Robey [Robey Pointer ] - Bugfix patch 1.0beta-turtle (April 1, 1996): # Released by: Robey [Robey Pointer ] - Better way to prevent the bot from going "idle" - CTCP AWAKE wasn't correctly removed (fixed) Found by: cmwagner - Owners couldn't even boot themselves (fixed) Found by: Gord- - 'chattr' was letting you do +b/-b when it shouldn't (fixed) - Leaf rejection was sometimes flooding (fixed) Found by: junkie - Bot was sometimes not noticing when it got its nickname back (fixed) Found by: station - When someone on a channel changed nicks to the same as someone who was net-split, the bot would get confused (fixed) Found by: station - msg 'jump' now requires a password - User caching used when adding users, so that the startup loading-userfile phase will be faster - New console level 's' to record server connect/disconnect/etc TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files BUGS: - Sometimes forks for chat aren't getting their memory freed: =MyBOT= File 'dccutil.c ' accounted for 108/728 (debug follows:) =MyBOT= 821:(010) 821:(010) 808:(06C) 821:(010) 821:(010) 808:(06C) =MyBOT= 808:(06C) 808:(06C) 821:(010) 808:(06C) 808:(06C) - Problems with ques3.tcl ? - Sometimes bans are being "none!*@*" ? - None (yeah right!) 1.0beta-stegosaurus (March 28, 1996): # Released by: Robey [Robey Pointer ] - Userfile transfers happen via a DCC send connection now (might be faster) - Added 'save-users-at' and 'switch-logfiles-at' timing options - Killed forked processes were giving "unforseen error 234" (fixed) Found by: plof - 'putbot' wasn't up to speed (fixed) Found by: shadow - 'switch-logfiles-at' in lamestbot was set to octal value (oops) Found by: Xerxes - Bans were overwriting other memory when sent to Tcl to trigger bindings ("yer a dork!") (fixed) Found by: Fred1 TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files 1.0beta-rabbit (Mar 25, 1996): # Released by: Robey [Robey Pointer ] - Security patch for 'pass' command Patch by: cyberscape - Can do 'comment none' now Suggested by: softlord - Wasn't letting you describe directories any more (fixed) Found by: sabi - Mode change before /who result caused crash (fixed) Found by: imoq - chon copes better with dropped dcc's and channel changes now - Tcl 'putloglev' to write to a user-defined log level (1-5) - 'trace' command was still broken (fixed) - New bans will store and display when they were created and the last time they were active (popular demand) - Tcl 'link' and 'unlink' weren't working (doh!) (fixed) - Finished dprintf'izing - Assoc'd channels are kept in numerical order now - No more support for non-Tcl bots - Was losing memory every time server list was loaded (fixed) - No longer honors outdated op requests done thru non-Tcl - Re-arranged config file a lot to make it cope with multiple channels - New Tcl command 'channel' to add, remove, and modify channel entries - Console now has channel and mode, instead of just mode - New faster match.c from Fred1 - Now only rejects 'who' requests for secret/private channels when the requestor isn't already on the channel - Doesn't keep "hidden" track of memory any more when debugging is off (downside: no way to tell memory leak unless debugging is on) - Bot link/etc notices were going to users who had '.chat off' (fixed) Found by: Xerxes - Added Tcl 'setlaston', 'echo', 'addglban', 'delglban' - '.email' has a more standard syntax now Suggested by: answer - Each channel keeps its own banlist now for temporary bans - Changed various Tcl ban commands to accomidate the concept of having a global banlist + separate banlist for each channel - Channel ban lists are sent by channel name to other sharebots - Revenge generally only adds bans to a certain channel now - Tcl 'channel info' dumps out all the info you can set - Join flood only gets you banned on the one channel now - Was reversing mode changes by fake-op people even if the mode changes were beneficial (fixed) Found by: tris - '/msg pass' incorrect password notice was getting sent to the wrong person (fixed) Found by: archon - '/msg ident' will take an optional nickname now Suggested by: poseidon - '.+bot' will try to add the hostmask if it can find it - Changed meaning of +a and +h flags for bots -- now +h is equivalent of old +ah, and +a is an alternate/secondary link if no +h can be linked - Better DALnet support (maybe not perfect, but...) - Password checking is case-sensitive now Suggested by: Jay S. Monk - Removed helpbot support (useless) - Revenge flag changes weren't propagating through sharebots properly (fixed) Found by: zenoran - Tries not to block longer than 10ms when writing to a socket now - Checks bans against userlist, just in case someone's dumb enough to ban by a hostmask the bot knows - 'unlink *' will disconnect you from the botnet Suggested by: blackjac - Aborting a relay, when a password was being asked for, could keep echo off indefinitely (fixed) Found by: cmwagner - New Tcl command 'getting-users' - Took out the old primitive 'talk'/'ntalk' script support (possibly to be replaced by something better later) - Tries to be more graceful when recovering via '.reset' - Rewrote entire file system and help files - Number of gets for a file is incremented AFTER a successful download now, instead of before - 'text/banner' is shown to people that telnet in - set 'copy-to-tmp' can turn on/off copying files to /tmp before sending them to people (has no effect on uploads, which are still stored in /tmp until finished) - Keeps file descriptor open while sending/receiving a file now (probably not much more efficient on many machines, but apparently it has an effect over NFS) - Wasn't passing flags 8/9/0 over sharebot links (fixed) - Local msgs (') leak to all channels by default now Patch by: answer - Old '.files' is converted to '.filedb' on first access to that directory - New Tcl 'utimer', 'killutimer', 'utimers' to deal with "micro-timers" that operate on the order of seconds instead of minutes - Timers are no longer double-evaluated - File sharing implemented - New Tcl: 'deluser' - Space for tandem bot records adjusted automatically now (no set limit) - Wasn't enforcing a +l mode if someone did +l with a different limit (fixed) Patch by: cmwagner - In help/text files, '%C' is now the list of channels the bot wants, and '%E' is the full-blown eggdrop version - Ignores store nicknames now Suggested by: blackjac - Changed behavior of Tcl 'dccsimul' to be more intuitive - Added 'filt' bindings which filter dcc input - Made Tcl 'dccsimul' give temporary owner access while executing - Alleged support of file transfer recovery now - Lots of Tcl commands to support the file system - Flags '6'-'0' weren't getting loaded correctly (fixed) Found by: Dave Guzeman - '.email' was spazzing out (fixed) Found by: slix - Sockets are non-blocking after a connect now - Something stupid about not being able to leave notes for bots Found by: Xerxes - The xtra field is transmitted between sharebots differently, and should now have no effective size limit - The ILL signal will log a context and continue -- to help find locks - Socket output is queued if it would block (non-binary sockets only), and '.debug' will show the socket queues, in and out - File system wasn't noticing an invalid dcc path (fixed) Found by: dorgan - Moved ' local-only chat to a Tcl script so it's optional TO-DO: - Allow dynamic bans to be marked as "forced"? (ie, most bans are dynamic but some could be marked as permanently active) - Channel bans aren't passed between sharebots: should they be? - Tcl commands for: move/copy a file make/remove a dir get/set a dir's required flags - '.sort' to sort files eggdrop1.6.21/doc/Changes0.70000664000076600007660000001255311114252061015021 0ustar simplesimple$Id: Changes0.7,v 1.4 2008/11/29 14:39:45 tothwolf Exp $ Eggdrop Changes (since version 0.6) _____________________________________________________________________ 0.7d (April 11, 1994): # Released by: Robey [Robey Pointer ] - Msg-command 'who' wasn't looking up info by hostmask, it was using the nicknames -- fixed - Asking for 'info' via msg when you have none will tell you that now TO-DO: - Make '.user' match possibly by last join time - BUG: can crash (infinite loop) somewhere in file system - Actually the file system still needs major improvement (sigh) - it sucks -- and it now causes PIPE FAULTS (ugh!!!!) - Finish installing tandem-bot support (big job) 0.7c (April 11, 1994): # Released by: Robey [Robey Pointer ] - Tacking on the '[Nick]' in front of an auto-greet is done if the current nickname isn't in the greeting, not if the handle isn't in it (oops) - Telnet works again (it wasn't initializing a variable... good grief!) - New user flag 't' (tandem) for marking users who are actually other bots which will be running in tandem (shared user list) - Can '+tandem' and '-tandem' on the party line now, but no actual difference in behaviour yet - Preliminary support for userinfo (autogreets) being stored in the userlist instead of a separate file - Notes aren't logged any more (was getting annoying) - '.info' with one parameter works the same (shows info for a user), but with 2 parameters, it now sets info for a user: using user-file field - auto-greet uses the userfile now instead of a separate file 0.7b (April 7, 1994): # Released by: Robey [Robey Pointer ] - Doesn't double-send help lines anymore in /msg (ACK!) - Automatic console mode for masters on the party line now - Help files for dcc chat are prepended with "dcc." now (ie, '.help axe' = "dcc.axe") - All dcc help files external now - Can use 'jump' with a parameter: of the form "irc.edu" or "irc.edu 6665" and it will move to that server directly -- if it's not in the internal server list, it will add it - Should ignore incoming data from a nonexistant port (i hope) 0.7a (April 7, 1994): # Released by: Robey [Robey Pointer ] - File system will ignore leading '.' in commands now - '?' == 'help' in file system and party line now - If it can't find a '.files' in a dcc directory, it will create one when a file is uploaded or imported, etc - Will create infofile if it's defined and can't find it - '.match' will count the number of matches now - If the first line of a helpfile is '!op', it will only be shown to people with op status - If the first line of a helpfile is '!master', it will only be shown to people with master status - An unknown help query on the party line will check the help directory now - Valis reinstated. 0.7 (April 7, 1994): # Released by: Robey [Robey Pointer ] - Non-command msgs from ops and masters used to not get into the log -- fixed - Configfile: 'helpbot' = name of helpbot, if applicable - Radically changed internal server list movement... now keeps new pointers, one for the bot, and one for the helpbot - Helpbot is now logged in and changes servers on reconnect so far - If the nickname isn't in the join info for a user when they join, it's tacked on to the beginning: "[Robey] 20" instead of "20" which is confusing - dcc info taken out of '.status' and moved to '.dccstat' - Helpbot info shown in '.status' now - '.set' (aka configfile-set) modes shown in '.status' now - If the bot is alone on a channel and doesn't have ops, it will leave and rejoin to gain ops - Won't send out the gain-ops string if it joins a channel and gets auto ops for creating the channel (was a bug) - Not setting 'dcc-path' actually disables dcc (was a bug) - '.channel' doesn't show boring ban stats any more (use '.channelbans') - Doing a channel reset shouldn't make people appear randomly split anymore - Helpbot changes nicks now if the default nick is in use - 'who' msg queries are done via the helpbot if available - Response to a new-user 'hello' is done via helpbot if available - 'hello' tells the new user about the 'who' command - Most configfile settings can't overflow their internal space now - Removed dysfunctional configfile 'do' command - dcc flooding should be thwarted now (more than 7 msgs in 1 second) - New configfile setting: 'helpdir', which is the directory the help files are stored in -- if not defined, the standard one line responses are used -- otherwise, the file "help" is shown for default help, and all other help requests are displayed only if there is a corresponding file in the directory (error message ortherwise) - Default help responses are done through the helpbot if available - Status of message queue (and helpbot msg queue) displayed in '.status' - If learn-users is on, and a help request is received from someone the bot doesn't know, it will suggest they try 'hello' - (end of Valis, which was still running 0.6r) - dcc flood limit set to 3 (was 7) - Can send notes to 'HQ' now (hq = terminal console) - msg queues empty 1 msg per 2 seconds now, in sync with server flood control eggdrop1.6.21/doc/tcl-commands.doc0000664000076600007660000026702411606067304016370 0ustar simplesimple$Id: tcl-commands.doc,v 1.138 2011/07/09 15:07:48 thommey Exp $ Eggdrop Tcl Commands Last revised: February 14, 2010 _____________________________________________________________________ Eggdrop Tcl Commands This is an exhaustive list of all the Tcl commands added to Eggdrop. All of the normal Tcl built-in commands are still there, of course, but 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.21. 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 been changed in this version of Eggdrop (or are just new commands) are marked with vertical bars (|) on the left. *** OUTPUT COMMANDS *** putserv [options] Description: sends text to the server, like '.dump' (intended for direct server commands); output is queued so that the bot won't flood itself off the server. Options: -next: push messages to the front of the queue -normal: no effect Returns: nothing Module: server puthelp [options] Description: sends text to the server, like 'putserv', but it uses a different queue intended for sending messages to channels or people. Options: -next: push messages to the front of the queue -normal: no effect Returns: nothing Module: server putquick [options] Description: sends text to the server, like 'putserv', but it uses a different (and faster) queue. Options: -next: push messages to the front of the queue -normal: no effect Returns: nothing Module: server putnow [-oneline] Description: sends text to the server immediately, bypassing all queues. Use with caution, as the bot may easily flood itself off the server. Options: -oneline: send text up to the first \r or \n, discarding the rest Returns: nothing Module: server putkick [reason] Description: sends kicks to the server and tries to put as many nicks into one kick command as possible. Returns: nothing Module: irc putlog Description: sends text to the bot's logfile, marked as 'misc' (o) Returns: nothing Module: core putcmdlog Description: sends text to the bot's logfile, marked as 'command' (c) Returns: nothing Module: core putxferlog Description: sends text to the bot's logfile, marked as 'file-area' (x) Returns: nothing Module: core putloglev Description: sends text to the bot's logfile, tagged with all of the valid levels given. Use "*" to indicate all log levels. Returns: nothing Module: core dumpfile Description: dumps file from the help/text directory to a user on IRC via msg (one line per msg). The user has no flags, so the flag bindings won't work within the file. Returns: nothing Module: core queuesize [queue] Returns: the number of messages in all queues. If a queue is specified, only the size of this queue is returned. Valid queues are: mode, server, help. Module: server clearqueue Description: removes all messages from a queue. Valid arguments are: mode, server, help, or all. Returns: the number of deleted lines from the specified queue. Module: server *** USER RECORD MANIPULATION COMMANDS *** countusers Returns: number of users in the bot's database Module: core validuser Returns: 1 if a user by that name exists; 0 otherwise Module: core finduser Description: finds the user record which most closely matches the given nick!user@host Returns: the handle found, or "*" if none Module: core userlist [flags] Returns: a list of users on the bot. You can use the flag matching system here ([global]{&/|}[chan]{&/|}[bot]). '&' specifies "and"; '|' specifies "or". Module: core passwdok Description: checks the password given against the user's password. Check against the password "" (a blank string) or "-" to find out if a user has no password set. Returns: 1 if the password matches for that user; 0 otherwise Module: core getuser [extra info] Description: an interface to the new generic userfile support. Valid entry types are: BOTFL - returns the current bot-specific flags for the user (bot-only) BOTADDR - returns a list containing the bot's address, telnet port, and relay port (bot-only) HOSTS - returns a list of hosts for the user LASTON - returns a list containing the unixtime last seen and the last seen place. LASTON #channel returns the time last seen time for the channel or 0 if no info exists. INFO - returns the user's global info line XTRA - returns the user's XTRA info COMMENT - returns the master-visible only comment for the user EMAIL - returns the user's e-mail address URL - returns the user's url HANDLE - returns the user's handle as it is saved in the userfile PASS - returns the user's encrypted password Returns: info specific to each entry-type Module: core setuser [extra info] Description: this is the counterpart of getuser. It lets you set the various values. Other then the ones listed below, the entry-types are the same as getuser's. PASS - sets a users password (no third arg will clear it) HOSTS - if used with no third arg, all hosts for the user will be be cleared. Otherwise, *1* hostmask is added :P LASTON - This setting has 3 forms. "setuser LASTON " sets global LASTON time, "setuser LASTON " sets global LASTON time (leaving the place field empty), and "setuser LASTON " sets a users LASTON time for a channel (if it is a valid channel). Returns: nothing Module: core chhandle Description: changes a user's handle Returns: 1 on success; 0 if the new handle is invalid or already used, or if the user can't be found Module: core chattr [changes [channel]] Description: changes the attributes for a user record, if you include any. Changes are of the form '+f', '-o', '+dk', '-o+d', etc. If changes are specified in the format of | , the channel-specific flags for that channel are altered. You can now use the +o|-o #channel format here too. Returns: new flags for the user (if you made no changes, the current flags are returned). If a channel was specified, the global AND the channel-specific flags for that channel are returned in the format of globalflags|channelflags. "*" is returned if the specified user does not exist. Module: core botattr [changes [channel]] Description: similar to chattr except this modifies bot flags rather than normal user attributes. Returns: new flags for the bot (if you made no changes, the current flags are returned). If a channel was specified, the global AND the channel-specific flags for that channel are returned in the format of globalflags|channelflags. "*" is returned if the specified bot does not exist. Module: core matchattr [channel] Returns: 1 if the specified user has the specified flags; 0 otherwise Module: core adduser [hostmask] Description: creates a new user entry with the handle and hostmask given (with no password and the default flags) Returns: 1 if successful; 0 if the handle already exists Module: core addbot
Description: adds a new bot to the userlist with the handle and bot address given (with no password and no flags) Returns: 1 if successful; 0 if the bot already exists Module: core deluser Description: attempts to erase the user record for a handle Returns: 1 if successful, 0 if no such user exists Module: core delhost Description: deletes a hostmask from a user's host list Returns: 1 on success; 0 if the hostmask (or user) doesn't exist Module: core addchanrec Description: adds a channel record for a user Returns: 1 on success; 0 if the user or channel does not exist Module: channels delchanrec Description: removes a channel record for a user. This includes all associated channel flags. Returns: 1 on success; 0 if the user or channel does not exist Module: channels haschanrec Returns: 1 if the given handle has a chanrec for the specified channel; 0 otherwise Module: channels getchaninfo Returns: info line for a specific channel (behaves just like 'getinfo') Module: channels setchaninfo Description: sets the info line on a specific channel for a user. If info is "none", it will be removed. Returns: nothing Module: channels newchanban [lifetime] [options] Description: adds a ban to the ban list of a channel; creator is given credit for the ban in the ban list. lifetime is specified in minutes. If lifetime is not specified, ban-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ban. Options: sticky: forces the ban to be always active on a channel, even with dynamicbans on none: no effect Returns: nothing Module: channels newban [lifetime] [options] Description: adds a ban to the global ban list (which takes effect on all channels); creator is given credit for the ban in the ban list. lifetime is specified in minutes. If lifetime is not specified, global-ban-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ban. Options: sticky: forces the ban to be always active on a channel, even with dynamicbans on none: no effect Returns: nothing Module: channels newchanexempt [lifetime] [options] Description: adds a exempt to the exempt list of a channel; creator is given credit for the exempt in the exempt list. lifetime is specified in minutes. If lifetime is not specified, exempt-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent exempt. The exempt will not be removed until the corresponding ban has been removed. For timed bans, once the time period has expired, the exempt will not be removed until the corresponding ban has either expired or been removed. Options: sticky: forces the exempt to be always active on a channel, even with dynamicexempts on none: no effect Returns: nothing Module: channels newexempt [lifetime] [options] Description: adds a exempt to the global exempt list (which takes effect on all channels); creator is given credit for the exempt in the exempt list. lifetime is specified in minutes. If lifetime is not specified, exempt-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent exempt. The exempt will not be removed until the corresponding ban has been removed. Options: sticky: forces the exempt to be always active on a channel, even with dynamicexempts on none: no effect Returns: nothing Module: channels newchaninvite [lifetime] [options] Description: adds a invite to the invite list of a channel; creator is given credit for the invite in the invite list. lifetime is specified in minutes. If lifetime is not specified, invite-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent invite. The invite will not be removed until the channel has gone -i. Options: sticky: forces the invite to be always active on a channel, even with dynamicinvites on none: no effect Returns: nothing Module: channels newinvite [lifetime] [options] Description: adds a invite to the global invite list (which takes effect on all channels); creator is given credit for the invite in the invite list. lifetime is specified in minutes. If lifetime is not specified, invite-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent invite. The invite will not be removed until the channel has gone -i. Options: sticky: forces the invite to be always active on a channel, even with dynamicinvites on none: no effect Returns: nothing Module: channels stick [channel] Description: makes a ban sticky, or, if a channel is specified, then it is set sticky on that channel only. Returns: 1 on success; 0 otherwise Module: channels unstick [channel] Description: makes a ban no longer sticky, or, if a channel is specified, then it is unstuck on that channel only. Returns: 1 on success; 0 otherwise Module: channels stickexempt [channel] Description: makes an exempt sticky, or, if a channel is specified, then it is set sticky on that channel only. Returns: 1 on success; 0 otherwise Module: channels unstickexempt [channel] Description: makes an exempt no longer sticky, or, if a channel is specified, then it is unstuck on that channel only. Returns: 1 on success; 0 otherwise Module: channels stickinvite [channel] Description: makes an invite sticky, or, if a channel is specified, then it is set sticky on that channel only. Returns: 1 on success; 0 otherwise Module: channels unstickinvite [channel] Description: makes an invite no longer sticky, or, if a channel is specified, then it is unstuck on that channel only. Returns: 1 on success; 0 otherwise Module: channels killchanban Description: removes a ban from the ban list for a channel Returns: 1 on success; 0 otherwise Module: channels killban Description: removes a ban from the global ban list Returns: 1 on success; 0 otherwise Module: channels killchanexempt Description: removes an exempt from the exempt list for a channel Returns: 1 on success; 0 otherwise Module: channels killexempt Description: removes an exempt from the global exempt list Returns: 1 on success; 0 otherwise Module: channels killchaninvite Description: removes an invite from the invite list for a channel Returns: 1 on success; 0 otherwise Module: channels killinvite Description: removes an invite from the global invite list Returns: 1 on success; 0 otherwise Module: channels ischanjuped Returns: 1 if the channel is juped, and the bot is unable to join; 0 otherwise Module: channels isban [channel] Returns: 1 if the specified ban is in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well. Module: channels ispermban [channel] Returns: 1 if the specified ban is in the global ban list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's ban list is checked as well. Module: channels isexempt [channel] Returns: 1 if the specified exempt is in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well. Module: channels ispermexempt [channel] Returns: 1 if the specified exempt is in the global exempt list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well. Module: channels isinvite [channel] Returns: 1 if the specified invite is in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well. Module: channels isperminvite [channel] Returns: 1 if the specified invite is in the global invite list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's invite list is checked as well. Module: channels isbansticky [channel] Returns: 1 if the specified ban is marked as sticky in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well. Module: channels isexemptsticky [channel] Returns: 1 if the specified exempt is marked as sticky in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well. Module: channels isinvitesticky [channel] Returns: 1 if the specified invite is marked as sticky in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well. Module: channels matchban [channel] Returns: 1 if the specified nick!user@host matches a ban in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well. Module: channels matchexempt [channel] Returns: 1 if the specified nick!user@host matches an exempt in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well. Module: channels matchinvite [channel] Returns: 1 if the specified nick!user@host matches an invite in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well. Module: channels banlist [channel] Returns: a list of global bans, or, if a channel is specified, a list of channel-specific bans. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format. Module: channels exemptlist [channel] Returns: a list of global exempts, or, if a channel is specified, a list of channel-specific exempts. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format. Module: channels invitelist [channel] Returns: a list of global invites, or, if a channel is specified, a list of channel-specific invites. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format. Module: channels newignore [lifetime] Description: adds an entry to the ignore list; creator is given credit for the ignore. lifetime is how many minutes until the ignore expires and is removed. If lifetime is not specified, ignore-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ignore. Returns: nothing Module: core killignore Description: removes an entry from the ignore list Returns: 1 if successful; 0 otherwise Module: core ignorelist Returns: a list of ignores. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, and creator. The timestamps are in unixtime format. Module: core isignore Returns: 1 if the ignore is in the list; 0 otherwise Module: core save Description: writes the user and channel files to disk Returns: nothing Module: core reload Description: loads the userfile from disk, replacing whatever is in memory Returns: nothing Module: core backup Description: makes a simple backup of the userfile that's on disk. If the channels module is loaded, this also makes a simple backup of the channel file. Returns: nothing Module: core getting-users Returns: 1 if the bot is currently downloading a userfile from a sharebot (and hence, user records are about to drastically change); 0 if not Module: core *** CHANNEL COMMANDS *** channel add [option-list] Description: adds a channel record for the bot to monitor. The full list of possible options are given in doc/settings/mod.channels. Note that the channel options must be in a list (enclosed in {}). Returns: nothing Module: channels channel set Description: sets options for the channel specified. The full list of possible options are given in doc/settings/mod.channels. Returns: nothing Module: channels channel info Returns: a list of info about the specified channel's settings. Module: channels channel get Returns: The value of the setting you specify. For flags, a value of 0 means it is disabled (-), and non-zero means enabled (+). Module: channels channel remove Description: removes a channel record from the bot and makes the bot no longer monitor the channel Returns: nothing Module: channels savechannels Description: saves the channel settings to the channel-file if one is defined. Returns: nothing Module: channels loadchannels Description: reloads the channel settings from the channel-file if one is defined. Returns: nothing Module: channels channels Returns: a list of the channels the bot has a channel record for Module: channels channame2dname chandname2name Description: these two functions are important to correctly support !channels. The bot differentiates between channel description names (chan dnames) and real channel names (chan names). The chan dnames are what you would normally call the channel, such as "!channel". The chan names are what the IRC server uses to identify the channel. They consist of the chan dname prefixed with an ID; such as "!ABCDEchannel". For bot functions like isop, isvoice, etc. you need to know the chan dnames. If you communicate with the server, you usually get the chan name, though. That's what you need the channame2dname function for. If you only have the chan dname and want to directly send raw server commands, use the chandname2name command. NOTE: For non-!channels, chan dname and chan name are the same. Module: irc isbotnick Returns: 1 if the nick matches the botnick; 0 otherwise Module: server botisop [channel] Returns: 1 if the bot has ops on the specified channel (or any channel if no channel is specified); 0 otherwise Module: irc botishalfop [channel] Returns: 1 if the bot has halfops on the specified channel (or any channel if no channel is specified); 0 otherwise Module: irc botisvoice [channel] Returns: 1 if the bot has a voice on the specified channel (or any channel if no channel is specified); 0 otherwise Module: irc botonchan [channel] Returns: 1 if the bot is on the specified channel (or any channel if no channel is specified); 0 otherwise Module: irc isop [channel] Returns: 1 if someone by the specified nickname is on the channel (or any channel if no channel name is specified) and has ops; 0 otherwise Module: irc ishalfop [channel] Returns: 1 if someone by the specified nickname is on the channel (or any channel if no channel name is specified) and has halfops; 0 otherwise Module: irc wasop Returns: 1 if someone that just got opped/deopped in the chan had op before the modechange; 0 otherwise Module: irc washalfop Returns: 1 if someone that just got halfopped/dehalfopped in the chan had halfop before the modechange; 0 otherwise Module: irc isvoice [channel] Returns: 1 if someone by that nickname is on the channel (or any channel if no channel is specified) and has voice (+v); 0 otherwise Module: irc onchan [channel] Returns: 1 if someone by that nickname is on the specified channel (or any channel if none is specified); 0 otherwise Module: irc nick2hand [channel] Returns: the handle of a nickname on a channel. If a channel is not specified, the bot will check all of its channels. If the nick is not found, "" is returned. If the nick is found but does not have a handle, "*" is returned. Module: irc hand2nick [channel] Returns: nickname of the first person on the specified channel (if one is specified) whose nick!user@host matches the given handle; "" is returned if no match is found. If no channel is specified, all channels are checked. Module: irc handonchan [channel] Returns: 1 if the the nick!user@host for someone on the channel (or any channel if no channel name is specified) matches for the handle given; 0 otherwise Module: irc ischanban Returns: 1 if the specified ban is on the given channel's ban list (not the bot's banlist for the channel) Module: irc ischanexempt Returns: 1 if the specified exempt is on the given channel's exempt list (not the bot's exemptlist for the channel) Module: irc ischaninvite Returns: 1 if the specified invite is on the given channel's invite list (not the bot's invitelist for the channel) Module: irc chanbans Returns: a list of the current bans on the channel. Each element is a sublist of the form { }. age is seconds from the bot's point of view Module: irc chanexempts Returns: a list of the current exempts on the channel. Each element is a sublist of the form { }. age is seconds from the bot's point of view Module: irc chaninvites Returns: a list of the current invites on the channel. Each element is a sublist of the form { }. age is seconds from the bot's point of view Module: irc resetbans Description: removes all bans on the channel that aren't in the bot's ban list and refreshes any bans that should be on the channel but aren't Returns: nothing Module: irc resetexempts Description: removes all exempt on the channel that aren't in the bot's exempt list and refreshes any exempts that should be on the channel but aren't Returns: nothing Module: irc resetinvites Description: removes all invites on the channel that aren't in the bot's invite list and refreshes any invites that should be on the channel but aren't Returns: nothing Module: irc resetchanidle [nick] Description: resets the channel idle time for the given nick or for all nicks on the channel if no nick is specified. Returns: nothing Module: irc resetchanjoin [nick] Description: resets the channel join time for the given nick or for all nicks on the channel if no nick is specified. Returns: nothing Module: irc resetchan [flags] Description: rereads in the channel info from the server. If flags are specified, only the required information will be reset, according to the given flags. Available flags: b - reset channel bans e - reset channel exempts I - reset channel invites m - refresh channel modes t - refresh channel topic w - refresh memberlist Returns: nothing Module: irc getchanhost [channel] Returns: user@host of the specified nickname (the nickname is not included in the returned host). If a channel is not specified, bot will check all of its channels. If the nickname is not on the channel(s), "" is returned. Module: irc getchanjoin Returns: timestamp (unixtime format) of when the specified nickname joined the channel if available, 0 otherwise. Note that after a channel reset this information will be lost, even if previously available. Module: irc onchansplit [channel] Returns: 1 if that nick is split from the channel (or any channel if no channel is specified); 0 otherwise Module: irc chanlist [flags[&chanflags]] Description: flags are any global flags; the '&' denotes to look for channel specific flags. Examples: n (Global Owner) &n (Channel Owner) o&m (Global Op, Channel Master) Now you can use even more complex matching of flags, including +&- flags and & or | (and or or) matching. Returns: list of nicknames currently on the bot's channel that have all of the flags specified;. If no flags are given, all of the nicknames are returned. Please note that if you're executing chanlist after a part or sign bind, the gone user will still be listed, so you can check for wasop, isop, etc. Module: irc getchanidle Returns: number of minutes that person has been idle; 0 if the specified user isn't on the channel Module: irc getchanmode Returns: string of the type "+ntik key" for the channel specified Module: irc jump [server [port [password]]] Description: jumps to the server specified, or (if none is specified) the next server in the bot's serverlist Returns: nothing Module: server pushmode [arg] Description: sends out a channel mode change (ex: pushmode #lame +o goober) through the bot's queuing system. All the mode changes will be sent out at once (combined into one line as much as possible) after the script finishes, or when 'flushmode' is called. Returns: nothing Module: irc flushmode Description: forces all previously pushed channel mode changes to be sent to the server, instead of when the script is finished (just for the channel specified) Returns: nothing Module: irc topic Returns: string containing the current topic of the specified channel Module: irc validchan Description: checks if the bot has a channel record for the specified channel. Note that this does not necessarily mean that the bot is ON the channel. Returns: 1 if the channel exists, 0 if not Module: channels isdynamic Returns: 1 if the channel is a dynamic channel; 0 otherwise Module: channels setudef Description: initializes a user defined channel flag, string or integer setting. You can use it like any other flag/setting. IMPORTANT: Don't forget to reinitialize your flags/settings after a restart, or it'll be lost. Returns: nothing Module: channels renudef Description: renames a user defined channel flag, string, or integer setting. Returns: nothing Module: channels deludef Description: deletes a user defined channel flag, string, or integer setting. Returns: nothing Module: channels *** DCC COMMANDS *** putdcc [-raw] Description: sends text to the idx specified. If -raw is specified, the text will be sent as is, without forced new lines or limits to line length. Returns: nothing Module: core dccbroadcast Description: sends a message to everyone on the party line across the botnet, in the form of "*** " for local users and "*** (Bot) " for users on other bots Returns: nothing Module: core dccputchan Description: sends your message to everyone on a certain channel on the botnet, in a form exactly like dccbroadcast does. Valid channels are 0 through 99999. Returns: nothing Module: core boot [reason] Description: boots a user from the partyline Returns: nothing Module: core dccsimul Description: simulates text typed in by the dcc user specified. Note that in v0.9, this only simulated commands; now a command must be preceded by a '.' to be simulated. Returns: nothing Module: core hand2idx Returns: the idx (a number greater than or equal to zero) for the user given if the user is on the party line in chat mode (even if she is currently on a channel or in chat off), the file area, or in the control of a script. -1 is returned if no idx is found. If the user is on multiple times, the oldest idx is returned. Module: core idx2hand Returns: handle of the user with the given idx Module: core valididx Returns: 1 if the idx currently exists; 0 otherwise Module: core getchan Returns: the current party line channel for a user on the party line; "0" indicates he's on the group party line, "-1" means he has chat off, and a value from 1 to 99999 is a private channel Module: core setchan Description: sets a party line user's channel. The party line user is not notified that she is now on a new channel. A channel name can be used (provided it exists). Returns: nothing Module: core console [channel] [console-modes] Description: changes a dcc user's console mode, either to an absolute mode (like "mpj") or just adding/removing flags (like "+pj" or "-moc" or "+mp-c"). The user's console channel view can be changed also (as long as the new channel is a valid channel). Returns: a list containing the user's (new) channel view and (new) console modes, or nothing if that user isn't currently on the partyline Module: core echo [status] Description: turns a user's echo on or off; the status has to be a 1 or 0 Returns: new value of echo for that user (or the current value, if status was omitted) 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 Returns: new strip-flags for the specified user (or the current flags, if strip-flags was omitted) Module: core putbot Description: sends a message across the botnet to another bot. If no script intercepts the message on the other end, the message is ignored. Returns: nothing Module: core putallbots Description: sends a message across the botnet to all bots. If no script intercepts the message on the other end, the message is ignored. Returns: nothing Module: core killdcc Description: kills a partyline or file area connection Returns: nothing Module: core bots Returns: list of the bots currently connected to the botnet Module: core botlist Returns: a list of bots currently on the botnet. Each item in the list is a sublist with four elements: bot, uplink, version, sharing status: bot: the bot's botnetnick uplink: the bot the bot is connected to version: its current numeric version sharing: a "+" if the bot is a sharebot; "-" otherwise Module: core islinked Returns: 1 if the bot is currently linked; 0 otherwise Module: core dccused Returns: number of dcc connections currently in use Module: core dcclist [type] Returns: a list of active connections, each item in the list is a sublist containing six elements: { {} }. The types are: chat, bot, files, file_receiving, file_sending, file_send_pending, script, socket (these are connections that have not yet been put under 'control'), telnet, and server. The timestamp is in unixtime format. Module: core whom Returns: list of people on the botnet who are on that channel. 0 is the default party line. Each item in the list is a sublist with six elements: nickname, bot, hostname, access flag ('-', '@', '+', or '*'), minutes idle, and away message (blank if the user is not away). If you specify * for channel, every user on the botnet is returned with an extra argument indicating the channel the user is on. Module: core getdccidle Returns: number of seconds the dcc chat/file system/script user has been idle Module: core getdccaway Returns: away message for a dcc chat user (or "" if the user is not set away) Module: core setdccaway Description: sets a party line user's away message and marks them away. If set to "", the user is marked as no longer away. Returns: nothing Module: core connect Description: makes an outgoing connection attempt and creates a dcc entry for it. A 'control' command should be used immediately after a successful 'connect' so no input is lost. Returns: idx of the new connection Module: core listen [options] [flag] Description: opens a listening port to accept incoming telnets; type must be one of "bots", "all", "users", "script", or "off": listen bots [mask] Description: accepts connections from bots only; the optional mask is used to identify permitted bot names. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from. Returns: port number listen users [mask] Description: accepts connections from users only (no bots); the optional mask is used to identify permitted nicknames. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from. Returns: port number listen all [mask] Description: accepts connections from anyone; the optional mask is used to identify permitted nicknames/botnames. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from. Returns: port number listen script [flag] Description: accepts connections which are immediately routed to a proc. The proc is called with one parameter: the idx of the new connection. Flag may currently only be 'pub', which makes the bot allow anyone to connect. Returns: port number listen off Description: stop listening on a port Returns: nothing Module: core dccdumpfile Description: dumps out a file from the text directory to a dcc chat user. The flag matching that's used everywhere else works here, too. Returns: nothing Module: core *** NOTES MODULE *** notes [numberlist] Returns: -1 if no such user, -2 if notefile failure. If a numberlist is not specified, the number of notes stored for the user is returned. Otherwise, a list of sublists containing information about notes stored for the user is returned. Each sublist is in the format of: { }. Module: notes erasenotes Description: erases some or all stored notes for a user. Use '-' to erase all notes. Returns: -1 if no such user, -2 if notefile failure, 0 if no such note, or number of erased notes. Module: notes listnotes Description: lists existing notes according to the numberlist (ex: "2-4;8;16-") Returns: -1 if no such user, -2 if notefile failure, 0 if no such note, list of existing notes. Module: notes storenote Description: stores a note for later reading, notifies idx of any results (use idx -1 for no notify). Returns: 0 on success; non-0 on failure Module: notes *** ASSOC MODULE *** assoc [name] Description: sets the name associated with a botnet channel, if you specify one Returns: current name for that channel, if any Module: assoc killassoc Description: removes the name associated with a botnet channel, if any exists. Use 'killassoc &' to kill all assocs. Returns: nothing Module: assoc *** COMPRESS MODULE *** compressfile [-level ] [target-file] uncompressfile [target-file] Description: compresses or un-compresses files. The level option specifies the compression mode to use when compressing. Available modes are from 0 (minimum CPU usage, minimum compression) all the way up to 9 (maximum CPU usage, maximum compression). If you don't specify the target-file, the src-file will be overwritten. Returns: nothing Module: compress iscompressed Description: determines whether is gzip compressed. Returns 1 if it is, 0 if it isn't, and 2 if some kind of error prevented the checks from succeeding. Returns: nothing Module: compress *** FILESYS MODULE *** setpwd Description: changes the directory of a file system user, in exactly the same way as a 'cd' command would. The directory can be specified relative or absolute. Returns: nothing Module: filesys getpwd Returns: the current directory of a file system user Module: filesys getfiles Returns: a list of files in the directory given; the directory is relative to dcc-path Module: filesys getdirs Returns: a list of subdirectories in the directory given; the directory is relative to dcc-path Module: filesys dccsend Description: attempts to start a dcc file transfer to the given nick; the filename must be specified either by full pathname or in relation to the bot's startup directory Returns: 0 success 1 the dcc table is full (too many connections) 2 can't open a socket for the transfer 3 the file doesn't exist 4 the file was queued for later transfer, which means that person has too many file transfers going right now 5 copy-to-tmp is enabled and the file already exists in the temp directory Module: transfer filesend [ircnick] Description: like dccsend, except it operates for a current filesystem user, and the filename is assumed to be a relative path from that user's current directory Returns: 0 on failure; 1 on success (either an immediate send or a queued send) Module: filesys fileresend [ircnick] Description: functions like filesend, only that it sends a DCC RESEND instead of a DCC SEND, which allows people to resume aborted file transfers if their client supports that protocol. ircII/BitchX/etc. support it; mIRC does not. Returns: 0 on failure; 1 on success (either an immediate send or a queued send) Module: filesys setdesc Description: sets the description for a file in a file system directory; the directory is relative to dcc-path Returns: nothing Module: filesys getdesc Returns: the description for a file in the file system, if one exists Module: filesys setowner Description: changes the owner for a file in the file system; the directory is relative to dcc-path Returns: nothing Module: filesys getowner Returns: the owner of a file in the file system Module: filesys setlink Description: creates or changes a linked file (a file that actually exists on another bot); the directory is relative to dcc-path Returns: nothing Module: filesys getlink Returns: the link for a linked file, if it exists Module: filesys getfileq Returns: list of files queued by someone; each item in the list will be a sublist with two elements: nickname the file is being sent to and the filename Module: transfer getfilesendtime Returns: the unixtime value from when a file transfer started, or a negative number: -1 no matching transfer with the specified idx was found -2 the idx matches an entry which is not a file transfer Module: transfer mkdir [ [channel]] Description: creates a directory in the file system. Only users with the required flags may access it. Returns: 0 success 1 can't create directory 2 directory exists but is not a directory -3 could not open filedb Module: filesys rmdir Description: removes a directory from the file system. Returns: 0 on success; 1 on failure Module: filesys mv Description: moves a file from its source to the given destination. The file can also be a mask, such as /incoming/*, provided the destination is a directory. Returns: If the command was successful, the number of files moved will be returned. Otherwise, a negative number will be returned: -1 invalid source file -2 invalid destination -3 destination file exists -4 no matches found Module: filesys cp Description: copies a file from its source to the given destination. The file can also be a mask, such as /incoming/*, provided the destination is a directory. Returns: If the command was successful, the number of files copied will be returned. Otherwise, a negative number will be returned: -1 invalid source file -2 invalid destination -3 destination file exists -4 no matches found Module: filesys getflags Returns: the flags required to access a directory Module: filesys setflags [ [channel]] Description: sets the flags required to access a directory Returns: 0 on success; -1 or -3 on failure Module: filesys *** MISCELLANEOUS COMMANDS *** bind [proc-name] Description: You can use the 'bind' command to attach Tcl procedures to certain events. flags are the flags the user must have to trigger the event (if applicable). proc-name is the name of the Tcl procedure to call for this command (see below for the format of the procedure call). If the proc-name is omitted, no binding is added. Instead, the current binding is returned (if it's stackable, a list of the current bindings is returned). Returns: name of the command that was added, or (if proc-name was omitted), a list of the current bindings for this command Module: core unbind Description: removes a previously created bind Returns: name of the command that was removed Module: core binds [type/mask] Returns: a list of Tcl binds, each item in the list is a sublist of five elements: { } Module: core logfile [ ] Description: creates a new logfile, which will log the modes given for the channel listed. If no logfile is specified, a list of existing logfiles will be returned. "*" indicates all channels. You can also change the modes and channel of an existing logfile with this command. Entering a blank mode and channel ("") makes the bot stop logging there. Logfile flags: b - information about bot linking and userfile sharing c - commands d - misc debug information h - raw share traffic j - joins, parts, quits, and netsplits on the channel k - kicks, bans, and mode changes on the channel m - private msgs, notices and ctcps to the bot o - misc info, errors, etc (IMPORTANT STUFF) p - public text on the channel r - raw incoming server traffic s - server connects, disconnects, and notices t - raw botnet traffic v - raw outgoing server traffic w - wallops (make sure the bot sets +w in init-server) x - file transfers and file-area commands Returns: filename of logfile created, or, if no logfile is specified, a list of logfiles such as: {mco * eggdrop.log} {jp #lame lame.log} Module: core maskhost [masktype] Returns: masked hostmask for the string given according to the masktype (the default is 3). Available types are: 0: *!user@host 1: *!*user@host 2: *!*@host 3: *!*user@*.host 4: *!*@*.host 5: nick!user@host 6: nick!*user@host 7: nick!*@host 8: nick!*user@*.host 9: nick!*@*.host You can also specify types from 10 to 19 which correspond to types 0 to 9, but instead of using a * wildcard to replace portions of the host, only numbers in hostnames are replaced with the '?' wildcard. Same is valid for types 20-29, but instead of '?', the '*' wildcard will be used. Module: core timer Description: executes the given Tcl command after a certain number of minutes have passed Returns: a timerID Module: core utimer Description: executes the given Tcl command after a certain number of seconds have passed Returns: a timerID Module: core timers Returns: a list of active minutely timers. Each entry in the list contains the number of minutes left till activation, the command that will be executed, and the timerID. Module: core utimers Returns: a list of active secondly timers. Each entry in the list contains the number of minutes left till activation, the command that will be executed, and the timerID. Module: core killtimer Description: removes a minutely timer from the list Returns: nothing Module: core killutimer Description: removes a secondly timer from the list Returns: nothing Module: core unixtime Returns: a long integer which represents the number of seconds that have passed since 00:00 Jan 1, 1970 (GMT). Module: core duration Returns: the number of seconds converted into years, weeks, days, hours, minutes, and seconds. 804600 seconds is turned into 1 week 2 days 7 hours 30 minutes. Module: core strftime [time] Returns: a formatted string of time using standard strftime format. If time is specified, the value of the specified time is used. Otherwise, the current time is used. Module: core ctime Returns: a formatted date/time string based on the current locale settings from the unixtime string given; for example "Fri Aug 3 11:34:55 1973" Module: core myip Returns: a long number representing the bot's IP address, as it might appear in (for example) a DCC request Module: core rand Returns: a random integer between 0 and limit-1 Module: core control Description: removes an idx from the party line and sends all future input to the Tcl command given. The command will be called with two parameters: the idx and the input text. The command should return 0 to indicate success and 1 to indicate that it relinquishes control of the user back to the bot. If the input text is blank (""), it indicates that the connection has been dropped. Also, if the input text is blank, never call killdcc on it, as it will fail with "invalid idx". Returns: nothing Module: core sendnote Description: simulates what happens when one user sends a note to another Returns: 0 - the send failed 1 - the note was delivered locally or sent to another bot 2 - the note was stored locally 3 - the user's notebox is too full to store a note 4 - a Tcl binding caught the note 5 - the note was stored because the user is away Module: core link [via-bot] Description: attempts to link to another bot directly. If you specify a via-bot, it tells the via-bot to attempt the link. Returns: 1 if the link will be attempted; 0 otherwise Module: core unlink Description: attempts to unlink a bot from the botnet Returns: 1 on success; 0 otherwise Module: core encrypt Returns: encrypted string (using the currently loaded encryption module), encoded into ASCII using base-64 Module: encryption decrypt Returns: decrypted string (using the currently loaded encryption module) Module: encryption encpass Returns: encrypted string (using the currently loaded encryption module) Module: encryption die [reason] Description: causes the bot to log a fatal error and exit completely. If no reason is given, "EXIT" is used. Returns: none Module: core unames Returns: the current operating system the bot is using Module: core dnslookup [[arg1] [arg2] ... [argN]] Description: This issues an asynchronous dns lookup request. The command will block if dns module is not loaded; otherwise it will either return immediately or immediately call the specified proc (e.g. if the lookup is already cached). As soon as the request completes, the specified proc will be called as follows: [[arg1] [arg2] ... [argN]] status is 1 if the lookup was successful and 0 if it wasn't. All additional parameters (called arg1, arg2 and argN above) get appended to the proc's other parameters. Returns: nothing Module: core md5 Returns: the 128 bit MD5 message-digest of the specified string Module: core callevent Description: triggers the evnt bind manually for a certain event. For example: callevent rehash. Returns: nothing Module: core traffic Returns: a list of sublists containing information about the bot's traffic usage in bytes. Each sublist contains five elements: type, in-traffic today, in-traffic total, out-traffic today, out-traffic total (in that order). Module: core modules Returns: a list of sublists containing information about the bot's currently loaded modules. Each sublist contains three elements: module, version, and dependencies. Each dependency is also a sublist containing the module name and version. Module: core loadmodule Description: attempts to load the specified module. Returns: "Already loaded." if the module is already loaded, "" if successful, or the reason the module couldn't be loaded. Module: core unloadmodule Description: attempts to unload the specified module. Returns: "No such module" if the module is not loaded, "" otherwise. Module: core loadhelp Description: attempts to load the specified help file from the help/ directory. Returns: nothing Module: core unloadhelp Description: attempts to unload the specified help file. Returns: nothing Module: core reloadhelp Description: reloads the bot's help files. Returns: nothing Module: core restart Description: rehashes the bot, kills all timers, reloads all modules, and reconnects the bot to the next server in its list. Returns: nothing Module: core rehash Description: rehashes the bot 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 matchaddr
Description: checks if the address matches the hostmask given. The address should be in the form nick!user@host. Returns: 1 if the address matches the hostmask, 0 otherwise. Module: core matchcidr
Description: performs a cidr match on the specified ip addresses. IPv6 is supported, if enabled at compile time. Example: matchcidr 192.168.0.0 192.168.1.17 16 Returns: 1 if the address matches the block prefix, 0 otherwise. Module: core matchstr Description: checks if pattern matches string. Only two wildcards are supported: '*' and '?'. Matching is case-insensitive. This command is intended as a simplified alternative to Tcl's string match. Returns: 1 if the pattern matches the string, 0 if it doesn't. Module: core *** GLOBAL VARIABLES *** NOTE: All config file variables are also global. botnick Value: the current nickname the bot is using (for example: "Valis", "Valis0", etc.) Module: server botname Value: the current nick!user@host that the server sees (for example: "Valis!valis@crappy.com") Module: server server Value: the current server's real name (what server calls itself) and port bot is connected to (for example: "irc.math.ufl.edu:6667") Note that this does not necessarily match the servers internet address. Module: server serveraddress Value: the current server's internet address (hostname or IP) and port bot is connected to. This will correspond to the entry in server list (for example: "eu.undernet.org:6667"). Note that this does not necessarily match the name server calls itself. Module: server version Value: current bot version "1.1.2+pl1 1010201 pl1"; first item is the text version, second item is a numerical version, and any following items are the names of patches that have been added Module: core numversion Value: the current numeric bot version (for example: "1010201"). Numerical version is in the format of "MNNRRPP", where: M major release number NN minor release number RR sub-release number PP patch level for that sub-release Module: core uptime Value: the unixtime value for when the bot was started Module: core server-online Value: the unixtime value for when the bot connected to its current server Module: server lastbind Value: the last command binding which was triggered. This allows you to identify which command triggered a Tcl proc. Module: core isjuped Value: 1 if bot's nick is juped(437); 0 otherwise Module: server handlen Value: the value of the HANDLEN define in src/eggdrop.h Module: core config Value: the filename of the config file Eggdrop is currently using Module: core *** BIND *** You can use the 'bind' command to attach Tcl procedures to certain events. For example, you can write a Tcl procedure that gets called every time a user says "danger" on the channel. Some bind types are marked as "stackable". That means that you can bind multiple commands to the same trigger. Normally, for example, a bind such as 'bind msg - stop msg:stop' (which makes a msg-command "stop" call the Tcl proc "msg:stop") will overwrite any previous binding you had for the msg command "stop". With stackable bindings, like 'msgm' for example, you can bind the same command to multiple procs. When the bind is triggered, ALL of the Tcl procs that are bound to it will be called. To remove a bind, use the 'unbind' command. For example, to remove the bind for the "stop" msg command, use 'unbind msg - stop msg:stop'. (A) BIND TYPES The following is a list of bind types and how they work. Below each bind type is the format of the bind command, the list of arguments sent to the Tcl proc, and an explanation. (1) MSG bind msg procname Description: used for /msg commands. The first word of the user's msg is the command, and everything else becomes the text argument. Module: server (2) DCC bind dcc procname Description: used for partyline commands; the command is the first word and everything else becomes the text argument. The idx is valid until the user disconnects. After that, it may be reused, so be careful about storing an idx for long periods of time. Module: core (3) FIL bind fil procname Description: the same as DCC, except this is triggered if the user is in the file area instead of the party line Module: filesys (4) PUB bind pub procname Description: used for commands given on a channel. The first word becomes the command and everything else is the text argument. Module: irc (5) MSGM (stackable) bind msgm procname 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. 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 triggered by text that a MSGM bind has already handled. Module: server (6) PUBM (stackable) bind pubm procname 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. 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 triggered by text that a PUBM bind has already handled. Module: irc (7) NOTC (stackable) bind notc procname Description: dest will be a nickname (the bot's nickname, 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. 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 ""}} { global botnick; if {$dest == ""} {set dest $botnick} ... } for compatibility. Module: server (8) JOIN (stackable) bind join procname Description: triggered by someone joining the channel. The mask in the bind is matched against "#channel nick!user@host" and can contain wildcards. Module: irc (9) PART (stackable) bind part procname Description: triggered by someone leaving the channel. The mask is matched against "#channel nick!user@host" and can contain wildcards. If no part message is specified, msg will be set to "". New Tcl procs should be declared as proc partproc {nick uhost hand chan {msg ""}} { ... } for compatibility. Module: irc (10) SIGN (stackable) bind sign procname Description: triggered by a signoff, or possibly by someone who got netsplit and never returned. The signoff message is the last argument to the proc. Wildcards can be used in the mask, which is matched against '#channel nick!user@host'. Module: irc (11) TOPC (stackable) bind topc procname Description: triggered by a topic change. mask can contain wildcards and is matched against '#channel '. Module: irc (12) KICK (stackable) bind kick procname Description: triggered when someone is kicked off the channel. The mask is matched against '#channel target reason' where the target is 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. Module: irc (13) NICK (stackable) bind nick procname Description: triggered when someone changes nicknames. The mask is matched against '#channel newnick' and can contain wildcards. Channel is "*" if the user isn't on a channel (usually the bot not yet in a channel). Module: irc (14) MODE (stackable) bind mode 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". 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. 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 "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 mode} { ... } 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 mode {target ""}} { if {$target != ""} {append mode " $target"} mode_proc $nick $uhost $hand $chan $mode } proc mode_proc {nick uhost hand chan mode} { ... } Module: irc (15) CTCP (stackable) bind ctcp proc-name Description: dest will be a nickname (the bot's nickname, obviously) or channel name. keyword is the ctcp command (which can contain wildcards), and text may be empty. If the proc returns 0, the bot will attempt its own processing of the ctcp command. Module: server (16) CTCR (stackable) bind ctcr proc-name Description: just like ctcp, but this is triggered for a ctcp-reply (ctcp embedded in a notice instead of a privmsg) Module: server (17) RAW (stackable) bind raw procname Description: previous versions of Eggdrop required a special compile option to enable this binding, but it's now standard. The keyword is either a numeric, like "368", or a keyword, such as "PRIVMSG". from will be the server name or the source user (depending on the keyword); flags are ignored. The order of the arguments is identical to the order that the IRC server sends to the bot. The pre-processing only splits it apart enough to determine the keyword. If the proc returns 1, Eggdrop will not process the line any further (this could cause unexpected behavior in some cases). Module: server (18) BOT bind bot proc-name Description: triggered by a message coming from another bot in the botnet. The first word is the command and the rest becomes the text argument; flags are ignored. Module: core (19) CHON (stackable) bind chon proc-name Description: when someone first enters the party-line area of the bot via dcc chat or telnet, this is triggered before they are connected to a chat channel (so, yes, you can change the channel in a 'chon' proc). mask is matched against the handle and supports wildcards. This is NOT triggered when someone returns from the file area, etc. Module: core (20) CHOF (stackable) bind chof proc-name Description: triggered when someone leaves the party line to disconnect from the bot. mask is matched against the handle and can contain wildcards. Note that the connection may have already been dropped by the user, so don't send output to the idx. Module: core (21) SENT (stackable) bind sent proc-name Description: after a user has successfully downloaded a file from the bot, this binding is triggered. mask is matched against the handle of the user that initiated the transfer and supports wildcards. nick is the actual recipient (on IRC) of the file. The path is relative to the dcc directory (unless the file transfer was started by a script call to 'dccsend', in which case the path is the exact path given in the call to 'dccsend'). Module: transfer (22) RCVD (stackable) bind rcvd proc-name Description: triggered after a user uploads a file successfully. mask is matched against the user's handle. nick is the IRC nickname that the file transfer originated from. The path is where the file ended up, relative to the dcc directory (usually this is your incoming dir). Module: transfer (23) CHAT (stackable) bind chat proc-name Description: when a user says something on the botnet, it invokes this binding. Flags are ignored; handle could be a user on this bot ("DronePup") or on another bot ("Eden@Wilde") and therefore 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. Module: core (24) LINK (stackable) bind link proc-name Description: triggered when a bot links into the botnet. botname is the botnetnick of the bot that just linked in; via is the bot it linked through. The mask is checked against the botnetnick of the bot that linked and supports wildcards. flags are ignored. Module: core (25) DISC (stackable) bind disc proc-name Description: triggered when a bot disconnects from the botnet for whatever reason. Just like the link bind, flags are ignored; mask is matched against the botnetnick of the bot that unlinked. Wildcards are supported in mask. Module: core (26) SPLT (stackable) bind splt procname Description: triggered when someone gets netsplit on the channel. Be aware that this may be a false alarm (it's easy to fake a netsplit signoff message on some networks); mask may contain wildcards and is matched against '#channel nick!user@host'. Anyone who is SPLT will trigger a REJN or SIGN within the next wait-split (defined in the config file) minutes. Module: irc (27) REJN (stackable) bind rejn procname Description: someone who was split has rejoined. mask can contain wildcards, and is matched against '#channel nick!user@host'. Module: irc (28) FILT (stackable) bind filt procname Description: party line and file system users have their text sent through filt before being processed. If the proc returns a blank string, the text is considered parsed. Otherwise, the bot will use the text returned from the proc and continue parsing that Module: core (29) NEED (stackable) bind need procname Description: this bind is triggered on certain events, like when the bot needs operator status or the key for a channel. The types are: op, unban, invite, limit, and key; the mask is matched against '#channel type' and can contain wildcards. flags are ignored. Example: bind need - "% op" needop < handles only need op bind need - "*" needall < handles all needs Module: irc (30) FLUD (stackable) bind flud procname Description: any floods detected through the flood control settings (like 'flood-ctcp') are sent here before processing. If the proc returns 1, no further action is taken on the flood; if the proc returns 0, the bot will do its normal "punishment" for the flood. The flood types are: pub, msg, join, or ctcp (and can be masked to "*" for the bind); flags are ignored. Module: server (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 proc-name Description: when someone does an action on the botnet, it invokes this binding. flags are ignored; the mask is matched against the text of the action and can support wildcards. Module: core (33) WALL (stackable) bind wall proc-name 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. 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 (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 proc-name 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). Flags are ignored. Module: core (36) CHPT (stackable) bind chpt proc-name Description: when someone parts a botnet channel, it invokes this binding. The mask is matched against the channel and can contain wildcards. Flags are ignored. Module: core (37) TIME (stackable) bind time proc-name Description: allows you to schedule 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 four characters. Flags are ignored. Module: core (38) AWAY (stackable) bind away proc-name Description: triggers when a user goes away or comes back on the botnet. text is the reason than has been specified (text is "" when returning). mask is matched against the botnet-nick of the bot the user is connected to and supports wildcards. flags are ignored. Module: core (39) LOAD (stackable) bind load proc-name Description: triggers when a module is loaded. mask is matched against the name of the loaded module and supports wildcards; flags are ignored. Module: core (40) UNLD (stackable) bind unld proc-name Description: triggers when a module is unloaded. mask is matched against the name of the unloaded module and supports wildcards; flags are ignored. Module: core (41) NKCH (stackable) bind nkch proc-name Description: triggered whenever a local user's handle is changed (in the userfile). mask is matched against the user's old handle and can contain wildcards; flags are ignored. Module: core (42) EVNT (stackable) bind evnt proc-name Description: triggered whenever one of these events happen. flags are ignored; valid events are: sighup - called on a kill -HUP sigterm - called on a kill -TERM sigill - called on a kill -ILL sigquit - called on a kill -QUIT save - called when the userfile is saved rehash - called just after a rehash prerehash - called just before a rehash prerestart - called just before a restart logfile - called when the logs are switched daily loaded - called when the bot is done loading userfile-loaded - called after userfile has been loaded connect-server - called just before we connect to an IRC server init-server - called when we actually get on our IRC server disconnect-server - called when we disconnect from our IRC server Module: core (43) LOST (stackable) bind lost proc-name Description: triggered when a DCC SEND transfer gets lost, such as when the connection is terminated before all data was successfully sent/received. This is typically caused by a user abort. Module: transfer (44) TOUT (stackable) bind tout proc-name Description: triggered when a DCC SEND transfer times out. This may either happen because the dcc connection was not accepted or because the data transfer stalled for some reason. Module: transfer (45) OUT (stackable) bind out proc-name Description: triggered whenever output is sent to the server. Normally the event will occur twice for each line sent: once before entering a server queue and once after the message is actually sent. This allows for more flexible logging of server output and introduces the ability to cancel the message. Mask is matched against "queue status", where status is either 'queued' or 'sent'. Queues are: mode, server, help, noqueue. noqueue is only used by the putnow tcl command. Module: server (46) CRON (stackable) bind cron proc-name Description: similar to bind TIME, but the mask is evaluated as a cron expression, e.g. "16/2 */2 5-15 7,8,9 4". It can contain up to five fields: minute, hour, day, month, weekday; delimited by whitespace. Week days are represented as 0-6, where Sunday can be either 0 or 7. Symbolic names are not supported. The bind will be triggered if the mask matches all of the fields, except that if both day and weekday are not '*', only one of them is required to match. If any number of fields are omitted at the end, the match will proceed as if they were '*'. All cron operators are supported. Please refer to the crontab manual for their meanings. Flags are ignored. Module: core (47) LOG (stackable) bind log proc-name Description: triggered whenever a message is sent to a log. The mask is matched against "channel text". The level argument to the proc will contain the level(s) the message is sent to, or '*' if the message is sent to all log levels at once. If the message wasn't sent to a specific channel, channel will be set to '*'. Module: core (B) RETURN VALUES Several bindings pay attention to the value you return from the proc (using 'return '). Usually, they expect a 0 or 1, and returning an empty return is interpreted as a 0. Be aware if you omit the return statement, the result of the last Tcl command executed will be returned by the proc. This will not likely produce the results you intended (this is a "feature" of Tcl). Here's a list of the bindings that use the return value from procs they trigger: (1) MSG Return 1 to make Eggdrop log the command as: (nick!user@host) !handle! command (2) DCC Return 1 to make Eggdrop log the command as: #handle# command (3) FIL Return 1 to make Eggdrop log the command as: #handle# files: command (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 own. Otherwise, it would send its own response to the CTCP (possibly an error message if it doesn't know how to deal with it). (6) FILT Return "" to indicate the text has been processed, and the bot should just ignore it. Otherwise, it will treat the text like any other. (7) FLUD Return 1 to ask the bot not to take action on the flood. Otherwise it will do its normal punishment. (8) RAW Return 1 to ask the bot not to process the server text. This can affect the bot's performance by causing it to miss things that it would normally act on -- you have been warned. (9) CHON Return 1 to ask the bot not to process the partyline join event. (10) CHOF Return 1 to ask the bot not to process the partyline part event. (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. (16) OUT Return 1 to make Eggdrop drop the message instead of sending it. Only meaningful for messages with status "queued". *** CONTROL PROCEDURES *** Using the 'control' command, you can put a DCC connection (or outgoing TCP connection) in control of a script. All text received from the connection is sent to the proc you specify. All outgoing text should be sent with 'putdcc'. The control procedure is called with these parameters: procname This allows you to use the same proc for several connections. The idx will stay the same until the connection is dropped. After that, it will probably get reused for a later connection. To indicate that the connection has closed, your control procedure will be called with blank text (the input-text will be ""). This is the only time it will ever be called with "" as the text, and it is the last time your proc will be called for that connection. Don't call killdcc on the idx when text is blank, it will always fail with "invalid idx". If you want to hand control of your connection back to Eggdrop, your proc should return 1. Otherwise, return 0 to retain control. *** TCP CONNECTIONS *** Eggdrop allows you to make two types of TCP ("telnet") connections: outgoing and incoming. For an outgoing connection, you specify the remote host and port to connect to. For an incoming connection, you specify a port to listen on. All of the connections are *event driven*. This means that the bot will trigger your procs when something happens on the connection, and your proc is expected to return as soon as possible. Waiting in a proc for more input is a no-no. To initiate an outgoing connection, use: set idx [connect ] $idx now contains a new DCC entry for the outgoing connection. All connections use non-blocking (commonly called "asynchronous", which is a misnomer) I/O. Without going into a big song and dance about asynchronous I/O, what this means to you is: * assume the connection succeeded immediately * if the connection failed, an EOF will arrive for that idx The only time a 'connect' will return an error is if you give it a hostname that can't be resolved (this is considered a "DNS error"). Otherwise, it will appear to have succeeded. If the connection failed, you will immediately get an EOF. Right after doing a 'connect' call, you should set up a 'control' for the new idx (see the section above). From then on, the connection will act just like a normal DCC connection that has been put under the control of a script. If you ever return "1" from the control proc (indicating that you want control to return to Eggdrop), the bot will just close the connection and dispose of it. Other commands that work on normal DCC connections, like 'killdcc' and 'putdcc', will work on this idx, too. The 'killdcc' command will fail with "invalid idx" if you attempt to use it on a closed socket. To create a listen port, use: listen script Procs should be declared as: For example: listen 6687 script listen:grab proc listen:grab {newidx} { control $newidx listen:control } When a new connection arrives in port 6687, Eggdrop will create a new idx for the connection. That idx is sent to 'listen:grab'. The proc immediately puts this idx under control. Once 'listen:grab' has been called, the idx behaves exactly like an outgoing connection would. The best way to learn how to use these commands is to find a script that uses them and follow it carefully. However, hopefully this has given you a good start. *** MATCH CHARACTERS *** Many of the bindings allow match characters in the arguments. Here are the four special characters: ? matches any single character * matches 0 or more characters of any type % matches 0 or more non-space characters (can be used to match a single word) ~ matches 1 or more space characters (can be used for whitespace between words) _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/Changes1.40000664000076600007660000010543611200432071015017 0ustar simplesimple$Id: Changes1.4,v 1.4 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 1.4.0) _____________________________________________________________________ 1.4.6 (CVS): - Removed old high character hack from readtclprog, as the actual problem is now fixed. Patch by: Fabian - Added proper support for Tcl unicode changes since 8.1. Found by: many / Patch by: Wingman - Do not set bans if they don't match someone in the channel and the channel is set +dynamicbans. Patch by: dw - Fixed crashes dealing with expired masks Patch by: Eule 1.4.5 (November 15, 2000): - Removed bell character from note message. Patch by: Sup - Removed checks for bogus masks in +ban, +exempt, and +invite. - Minor error message fixes. - Minor source cleanups. Patch by: Tothwolf - Cleaned up readtclprog(). Patch by: Fabian - Fixed problems with high ASCII characters in loaded Tcl configuration files. Found by: various / Patch by: prox - Added configure check for maths library (libm). Found by: illi / Patch by: Fabian - Removing a user in a Tcl proc bound to join crashed the bot. Found by: Bob / Patch by: Fabian - tcl_binds was added; by default it will return a list of all binds in memory including ones added by the bot, it also accepts certain bind types and masks. Found by: various / Patch by: guppy - Added +c and +R chanmode support for DALnet's Bahamut ircd Patch by: jeffx - We were missing 0xe33 in the core.german.lang Patch by: Eugene - Changed the priority of a WHO done when users are de-opped to DP_HELP from DP_MODE Found by: Ben Dover / Patch by: Eugene - Increased the size of whois_fields to 1024. Patch by: Tothwolf - Removed all the bogus ban/invite/etc ... checks. Found by: various / Patch by: Eule - Fixes various typos in the docs and a small bug when doing '.help motd'. Patch by: Sup - SHELL is now configurable. We prefer /bin/sh5 on Ultrix. Found by: Wiktor / Patch by: Fabian 1.4.4 (July 16, 2000): - Updated and fixed french core language file. Patch by: Tit00n, Lucas - CR and escape sequences were not filtered out during relay sessions. Removed usage of CR were unneeded. Found by: Tothwolf / Patch by: Fabian - adduser() failed to detect empty hostnames. Found by: TaKeDa / Patch by: Sup - recheck_channel not before end of who, remove several lines in got352or4 because in recheck_channel present Patch by: Eule - Removed call to enforce_bans in real_add_mode(). Patch by: Eule - Minor update to getops-2.2d Patch by: Eule - The dcc '.page' command did not always properly store the console settings. Patch by: Fabian - Fixed minor notice bug in notes module. Found by: various / Patch by: Fabian - call_hook*() now allows hook_list modification during a hook run. Found by: plan9 / Patch by: Fabian - Added support for Tcl8.4 to configure script. Patch by: SuperS - Prefixed 'USAGE' and 'FAILED' language defines with 'MISC_'. Patch by: RebuM, Tothwolf - Removed CHAN_PERMBANNED and reworked a tiny bit of sloppy code. Patch by: guppy, |^Raven^| - Added various sanity checks for inactive channels. Patch by: Sup - '.msg' was not correctly requiring a message parameter. Patch by: Sup - Telnet status was dropped during relay connections. Found by: Charvel / Patch by: Fabian - New in u_addban: if (expire_time==now) return 1; Found by: Ben Dover / Patch by: Eule - Added for cmd_botattr DCC_FORK_BOT-check. Found by: Tothwolf / Patch by: Eule - Added further bot-link check to securely avoid loops at an earlier stage. Patch by: Eule - '.su' was requesting passwords from non-perm-owners. Found by: Wiktor / Patch by: Fabian - Removed duplicate filesys #define's in lang.h Found by: ITE / Patch by: guppy - Added Tcl var global-idle-kick to provide a default value for idle-kick channel settings. Found by: MBroLad / Patch by: Fabian - Adjusted compiler flag and added explicit variable cast in module.c to fix errors on Tru64 Unix 5.0. Patch by: Murf - Fixed output of '.stick' for missing parameters. Patch by: Sup - Minor fixes to the core help-file. Patch by: Sup - kick_msg in the revenge code was mixed up, revenge message used "kick" for deop and "deop" for kick Found by: paravoid / Patch by: Eugene - msg_die now sends the reason along with the BOT SHUTDOWN message. Found by: Wiktor / Patch by: guppy - Added .help tcl Patch by: Sup - Cleaned up language load messages. Most are now moved to debug level. Each "Module loaded:" message also states wether the module has language support. \t is supported in language entries. tcl_language is depreciated. Patch by: Fabian - Updated french core language file. Patch by: Lucas - Changed the output of +statuslog to be more effective. Patch by: guppy - Lowered server-queue priority of nick-regain commands from DP_MODE to DP_SERVER (both ISON and TRACE methods) Found by: Ben Dover / Patch by: Fabian, guppy - bind flud was getting the nickname passed in the user@host information. Patch by: blaster^ - Changed the userinfo version from 1.05 to 1.06. Found by: Kirben / Patch by: guppy - Added three new events, 'init-server', 'connect-server' and 'disconnect-server'. Found by: Wiktor / Patch by: guppy - Enhanced '.unlink' to remove ghost bots (as a temporary work-around). Found by: LtGen / Patch by: Fabian - 'chanset chanmode' now forces the bot to immediately recheck the currently set channel modes. Found by: Felix3339 / Patch by: Fabian - In got442: if remote-server return. Patch by: Eule - Fixed 1 byte buffer overflow in add_note(). Found by: guppy / Patch by: Fabian 1.4.3 (April 11, 2000): - Added ghost bug to KNOWN-PROBLEMS file Patch by: Wiktor - Showbanner was still losing fds under certain circumstances. Patch by: Fabian - Small doc change to tcl-commands.doc Patch by: G`Quann - Modified the docs to show the proper CVS usage Patch by: Wiktor - Removed some excessive Context calls in core_secondly Patch by: guppy - Minor fixes for HP-UX Patch by: aba - Fixed +host sharing bug Found by: Felix3339 / Patch by: Eule - tcl_getdccidle now can be used on all idx types Patch by: guppy - tcl_boot now uses strncpy Patch by: guppy - Added HTML documentation to doc/web_docs/. Patch by: Jason Ede - 'make install' didn't install the html files Patch by: Fabian - $lastbind now shows the bind trigger, instead of what was typed to trigger the bind (ie: partial matches) Patch by: guppy - eggdrop.h had the wrong typedef a long u_32bit_t Patch by: Bosko - H_msg now matches on the exact word used Found by: node / Patch by: guppy - BSDi 4.x support added to aclocal.m4 Patch by: nakee - Wrong notice target in msg_hello Found by: tabo / Patch by: Eugene - msg_voice works now for channel ops Patch by: drummer - configure didn't abort if no Tcl library was found. Found by: poptix / Patch by: Fabian - Now closes the telnet banner file after displaying it Found by: NESS / Patch by: Lucas - Remove duplicate call recheck_bans, recheck_exempts and recheck_invites Patch by: Eule - maybe_revenge() was changing the 'from' buffer, causing problems when later binds accessed it. Found by: G`Quann / Patch by: Fabian - configure fixes for vpath compiles Patch by: Tothwolf - Multiple exempts were not set correctly Patch by: Jason Ede - tcl_chanmask's time output was broken Found by: Wiktor / Patch by: Eule - rand_nick used wrong random number generator family Found by: BarkerJr / Patch by: Fabian - tcl_setuser() was not saving console settings correctly due to a missing set_user() call in console_tcl_set(). Found by: Nils Østbjerg / Patch by: David Newhall II - Bot was removing non-existant +I/+e/+b masks. Found by: toot / Patch by: drummer - Added OS support for Ultrix and BeOS and Tcl fixes when finding Tcl on those systems Patch by: SuperS - Filesys tcl_hide/_unhide/_share/_unshare didn't work at all Found by: Nils Østbjerg / Patch by: Fabian - .binds now supports wildcard matches Patch by: David Newhall II - Changed "This command can only be used on IRCnet" to say they need use-exempts/invites and fixed hybrid net-type to not use invites by default. Patch by: toot - issplit-check for kick_all and idle_kick Patch by: Eule - Invalid putlog msg in share module. Patch by: Wiktor - chanmaster could use .adduser to add host to globmaster. Patch by: dw - .adduser !nick didn't care of strict-host settings. Found by: toot / Patch by: dw - ',' in ban reason could fuck up the userlist. Patch by: mho - irc.help missed %b in a cpl of places. Patch by: Eugene - Channel owner could +host/-host global master. Found by: deaf / Patch by: dw - usefull is spelled useful. Found by: scott / Patch by: Wiktor - maskhost() removed valid chars in the middle of the username not just the first char as it should. Patch by: dw - use_exempts and use_invites wasn't checked when setting the modes on joining a channel and getting ops. Patch by: Jason Ede - Botmasters (+m) could not .chinfo bot info. Patch by: dw - Bug in def_set caused global info lines to replace extended chars (ISO8859-1) with ?'s. Patch by: dw - filesys.help was messed up corrected it. Found by: Wiktor / Patch by: dw - kickmsg join-flood/nick-flood and german-language stuff. Patch by: Eule - Tcl botattr was unable to set chan specific +s. Found by: nervous / Patch by: dw - passwdok() should only return 1 if passwords match, "" or "-" will match an empty(nonset) pass. Found by: FireEgl / Patch by: dw 1.4.2 (January 30, 2000): - Missing header caused compile errors related to bzero() also fixes problems with missing headers for strcasecmp and strncasecmp on some systems. Found by: SuperS, Joker / Patch by: Fabian - New trick to tricks file Patch by: Wiktor - .who did only show first chan. Found by: toot / Patch by: dw - Handle got messed up in mode bindings. Patch by: dw - Moved banned: to langfiles so it can be changed easy. Patch by: Wiktor, Tothwolf - Cleaned up a little to save a few bytes Patch by: dw - botattr was interpreting relay'ed bots as linked Found by: David Newhall II / Patch by: Fabian - Fixed typo in transfer.mod Patch by: Wiktor - Fixed HQ user creation on eggdrop -nt Patch by: Rufus - +I modes used the wrong queue and was not stacked also fixed a minor +e prob. Found by: Eugene / Patch by: Jason Ede - Updated INSTALL & compiling.FAQ documents Patch by: Wiktor - Fixed problem with .adduser and strict-host = 0 Found by: toot / Patch by: dw, drummer - 'wire off' displayed the wrong nick. Also fixed a wire memory accounting bug Found by: Nils Østbjerg / Patch by: Fabian - Transfer module now supports filenames with spaces Found by: DVS01 / Patch by: Fabian - Added macros EGG_MIN_VER and EGG_MAX_VER so that modules can use one source file for various Eggdrop versions Patch by: Fabian - configure warning bug related to TCLLIB and TCLINC vars Found by: Wiktor / Patch by: Tothwolf - Updated copyright stuff Patch by: Eule - As lostdcc deconstructs dcc entries, no need for dcc_remove_lost in many places anymore. Patch by: Fabian - Several warning fixes, increased compliance with ANSI C Found by: SuperS, Shane / Patch by: Fabian - adduser could add +n even if n was in private-globals Found by: Jz / Patch by: dw - Changed keep-all-logs to append yyyy instead of only yy Patch by: Fabian - +user w/o a host would get corrupted Patch by: dw - '.quit' from a su'd nick would always broadcast you as joining the party line even if you have .chat off Found by: toot / Patch by: dw - Wrong error msg in cmd_chpass Patch by: dw - pushmode wouldn't work on the victim in a mode binding since it first run the binding then updated u->flags Found by: slennox / Patch by: dw, drummer - A few dcc fixes and lostdcc() now also deconstructs the entries instead of only marking them DCC_LOST. Patch by: Fabian - user_del_chan caused a SEGV Found by: toot / Patch by: Fabian - Minor doc fix in eggdrop.conf.dist Patch by: dw - server-online was documented wrong Found by: NESS / Patch by: Lucas - enforceban was kicking users that did not match a channel ban; solved by using fixfrom/strict-host more intelligently Patch by: drummer - nowtm now a structure instead of a pointer Found by: G`Quann / Patch by: Fabian - Server module can't handle the new lostdcc() approach, so it now uses removedcc() instead. Found by: toot / Patch by: Fabian - Minor language cleanup Patch by: Fabian - Bot crashed in punish_badguy() Found by: toot / Patch by: Fabian - Sockets lost during module *_close caused a SEGV Patch by: Fabian - Was not hiding socket num for DCC_LOST entries. Found by: toot / Patch by: Fabian - More cleanups dealing with the GPL header Patch by: Tothwolf - lostdcc() caused corrupted dcc lists in many situations. using DCC_LOST instead now. Patch by: Fabian - lostdcc() behaviour change caused lost sockets in server mod Patch by: Fabian - Mucked up language entry if set userfile was missing Found by: NetG0D / Patch by: guppy - Make sure a corefile can be written if you compile with debug symbols Patch by: dw - unbind's from within a proc could cause a crash. Patch by: dw, Fabian - killmember() was deleting non-existant entries if the channel was still pending Patch by: Fabian - Showing wrong message on revenge kick Found by: GTo / Patch by: Fabian 1.4.1 (December 17, 1999): - tputs() could crash in a "writing to nonexistent socket" loop Patch by: Fabian - Compile time warnings related to wild_match_file Found by: SuperS / Patch by: Fabian - Unsynced tandem list caused crash when trying to reject Found by: LtGen / Patch by: Fabian - Added GPL header and cvs id tag to source files Patch by: Tothwolf - Fixed/added many #ifndefs in various header files Patch by: Tothwolf - Changed 'Assert(ptr != NULL)' references to 'Assert(prt)' Patch by: Tothwolf - Fixed a tiny join flood bug Patch by: drummer - Converted the PATCH macro to a function; DEBUG_ASSERT now compiles with DEBUG_MEM Patch by: Tothwolf - Made 32bit variable usage consistent throughout the code Patch by: Fabian - Missing work wasoptest if user with globalopflag/ channelopflag Found by: toot / Patch by: Eule - Moved the Tcl functions in the server module to tclserv.c and fixed a small bug in clearqueue Patch by: guppy - Made tcl_stick/tcl_unstick smaller, added stick functions for exempts and invites Found by: Nils Østbjerg / Patch by: guppy - share-greet was broken Found by: toot / Patch by: drummer - Broken logic in xtra_set() caused invalid free() attempts Found by: toot / Patch by: Fabian - Unchecked fopen() return caused crash on failed open Found by: flammable / Patch by: Fabian - Began the cleanup for all the context/assert bloat Patch by: Tothwolf - Fixed a small buffer overflow in set_chanlist Patch by: drummer - tcl_adduser doesn't require a hostmask anymore Patch by: drummer - Bot now doesn't return "Can't link there" anymore if the first botlink attempt failes Found by: Dude / Patch by: Fabian - Crash in gotnotice for invalid channels as notice target Found by: LtGen / Patch by: Fabian - --with-tclinc/tcllib were broken Found by: SuperS / Patch by: Tothwolf - encryption/decryption functions now return plaintext if the key is empty. Patch by: drummer - Fixed nickfloodprotect Patch by: Eule - No PART sending for inactive channels anymore Patch by: Tothwolf - Filesys had several unchecked filedb_open() calls Found by: OpTiC-?X / Patch by: Fabian - Not sending ISON during irc login now Patch by: Fabian - Added several sanity checks to avoid crashs in obscure situations, e.g. -1 channel members Found by: arthur2 / Patch by: Fabian - Cleaned up the removal of channels. user channel settings are now removed as soon as the channel record is deleted. Found by: Tothwolf / Patch by: Fabian, Tothwolf - Sharing crash bug (Yes, THE share bug...) Found by: various / Patch by: Tothwolf, ^PRS4^, Fabian - Minor configure fixes Patch by: Tothwolf - configure cleanup, moved everything to m4 macros Patch by: Tothwolf - Now properly uses and adjusts altnicks Found by: Ben Dover / Patch by: Fabian - Note bug that killed the listening ports Found by: SuperS / Patch by: drummer - Small fix to tcl_strings/tcl_ints Patch by: drummer - Made modules with lang files delete their sections and added a few channels.mod functions to its table Patch by: guppy - -ban would not work if max-bans was reached. Found by: foxmulder / Patch by: dw - Now turning off write protection of variables, if we're adding a new Tcl variable. Found by: various / Patch by: drummer - Added better timezone support Patch by: dw - Fixed typos, auto-ident messups throughout the source, grammatical errors in tcl-commands.doc, renamed NEWTO1.4 to NEWS, other small fixes Patch by: Tothwolf - Minor motd/telnet-banner update Patch by: Tothwolf - Better french translations. adds french support for filesys and wire modules. Patch by: Fraggle 1.4.0 (November 9, 1999): - Changed alot of putlog's to use the right log level, redid all the EGG_VARARGS junk and fixed alot of places where Tcl_Free should have been used but wasn't being used -- and much much more Patch by: Tothwolf - Major rewrite of configure.in and all the Makefiles, including better Tcl detection and support for more Tcl versons. better support for IRIX, OSF, Lynx, and Cygwin (however support for Cygwin is unsupported) Patch by: Tothwolf - Sticky invite/exempt sharing fix Patch by: Jason Ede - dcc_get forgot to update dcc[idx].timeval Found by: various / Patch by: guppy - Bounds checking Patch by: Q - Minor memory accounting bug related to .su Found by: Q / Patch by: Fabian - Various patches, fixed an info exists bug in Tcl 8.0, bot handshake bugs, and console bugs. Patch by: drummer - Added the port number to tcl_dcclist Found by: Tothwolf / Patch by: guppy - gotjoin-stuff Patch by: Eule - Fixed crash in german core language file Patch by: Fabian - Updated autobotchk to the new botchk Patch by: guppy - Changes to various scripts in scripts/ Patch by: Tothwolf - Various small changes to eggdrop.conf.dist Patch by: dw, drummer - Global chanset fixes Patch by: drummer - laston_tcl_set and _get were broken Found by: Tothwolf / Patch by: Fabian, rtc - Fixed some osf warnings. Found by: SuperS / Patch by: arthur2 - tcldcc.c strncpy length mismatch. Patch by: arthur2 - u->lastactive = now; in refresh_ban_kick Found by: toot / Patch by: Eule - help_subst had broken columnated sections handling Found by: dw / Patch by: Fabian - Small error in reset(exempts|invites) macro Found by: Michael / Patch by: Fabian - Removed newline from "msg already queued" message Patch by: Fabian - Infinite loop in tcl_do_masklist() Found by: James / Patch by: Fabian - Updated doc/BUG-REPORT Patch by: Tothwolf - Bot was deop'ing itsself in got_op() Patch by: Fabian - Tcl chpt binding could call the proc with chan -1 Patch by: rtc - Tidy-up of write_channels() Patch by: drummer - Various configure/Makefile changes again Patch by: Tothwolf - Fixed one more SEGV case that was revealed by another patch Patch by: rtc - Flood protection attempted to punish non-existant channel members and IRC services Found by: IpAddress / Patch by: Fabian - Flushlogs caused segv if called before init_misc() Found by: Ian / Patch by: Fabian - We use autoheader to make config.h.in now Patch by: Tothwolf - Added some #ifdef's for snprintf Found by: Tothwolf / Patch by: guppy - '.chnick' can now rename any +b to the bots nick if currently not connected, fixed .+user to not allow to create user accounts with the bots name. Patch by: rtc - Fixed SEGV in chattr Patch by: rtc - Fixed several one-byte-buffer-overruns and fixed more strncpy()'s without terminations and a typo in seen.c Patch by: rtc - Modeless +channels should work better now Patch by: rtc - .chattr shouldn't reset the channel if not changes have been made Patch by: rtc - Fixed .botattr +s #test not to set global +s Patch by: rtc - .botattr |+s with conchan * complained about invalid channel Patch by: rtc - tcl_chnick should allow change to orignick like .chnick Patch by: rtc - Several functions in tcluser.c and userrec.c didn't check for some illegal prefix chars. Patch by: rtc - Fixed tcl_chnick not to use rfc_casecmp on botnetnick Patch by: rtc - Allow irc style/color characters in info records Patch by: rtc - Redid manual page Patch by: rtc - Major configure/Makefile changes Patch by: Tothwolf - strncpy() being used on buffers without terminating them. Patch by: Cybah - Stopped userfile parsing funcs from messing with ~ and ` Found by: Tothwolf / Patch by: Fabian - Language files were being installed twice Patch by: rtc - Bot sometimes didn't reverse if it got banned Patch by: rtc - Small fix when starting with -m and we already have userfile Patch by: drummer - The language table is now always first loaded with english rather than the more preferred languages Patch by: Fabian - Fixed memleak in botfl_pack and SEGV in botfl_tcl_set Patch by: rtc - Delayed autoop + flagchecks Found by: dw / Patch by: Eule - Fixed memleak in console_set Patch by: rtc - Changes to tcl.c dealing with strings/ints/couplets Patch by: drummer - Several fixes to userent.c Patch by: rtc - Transfer module was sending share notifications twice Patch by: rtc - Removed Tcl functions setuploads, getuploads, setdnloads and getdnloads and C functions set_handle_dnloads and set_handle_uploads Patch by: rtc - Adds ismodeline macros. Patch by: drummer - .help * is now converted to .help all Found by: ranjha / Patch by: Fabian - cmd_su doesn't require a passwd for the target user if called by an owner Found by: Ben Dover / Patch by: Fabian - Some messages were still sent too all logfiles; only nightly time stamps should go to there. Patch by: rtc - '.link' didn't check for nonexisting addy/ip enough creating Attempt to kill un-allocated socket n !! msges Found by: drnet / Patch by: dw - '.chanset' wasn't displaying channel limits correctly Found by: dw / Patch by: Fabian - '.strip' didn't log the changes Patch by: rtc - open_telnet_raw() and open_telnet_dcc() were still causing un-allocated socket messages Found by: Eule / Patch by: Fabian - Small changes to tcl-commands.doc Patch by: rtc - '.console' saved the caller's settings if a target nick was specified and some Tcl funcs didn't save them at all Patch by: rtc - Sanity checking for the 3 Tcl functions used in Eggdrop that are for Tcl 7.5 and newer. Patch by: Tothwolf - Removed obsolete #define HAVE_NAT instruction in eggdrop.conf.dist file. Patch by: Tothwolf - Changed various files to handle *old* BSD and other *nix. Patch by: Tothwolf - Removed remaining references to 'putegg' from docs Patch by: Tothwolf - Kicks weren't being logged Patch by: dw - Added assert debugging feature Patch by: rtc - contextnote had wrong function index in modules.h Patch by: rtc - main() wasn't removing unknown sockets correctly Patch by: Fabian - Fixed buffer overrun in simple_sprintf. Patch by: rtc - Changed RFC_COMPLIANT flag to dynamic variable setting Patch by: Fabian, drummer - Probably fixes the "un-allocated socket" problem Patch by: Fabian - eggdrop.conf.dist now talks positively about allow-resync Found by: Ben Dover / Patch by: Fabian - Fixed .console to not allow channels starting with '*'. Patch by: rtc - If run with '-n', eggdrop now only prints every line once Found by: SuperS / Patch by: Fabian - Changed the way './configure' checks for Tcl, check for Tcl on freebsd machines properly, Makefile changes. Patch by: Tothwolf - Distributed Makefile now only issues a warning instead of automatically starting to configure and compile Found by: mc / Patch by: Fabian - Duplicate entries removed from core.english.lang. Patch by: arthur2 - killsock() could accidently free unused socket entries Found by: Beige / Patch by: Fabian - Fixed way we get version number for Tcl_PkgProvide() Patch by: Tothwolf, ^PRS4^ - quesedilla script updated to v5 Patch by: rtc - enforcebans with split Found by: dw / Patch by: Eule - Removed obsolete [time] and [date] commands, Tcl7.6 and later uses [time] to time the execution of code. Scripts should now use [strftime] or compat.tcl should be loaded. Patch by: Tothwolf - German language pack update Patch by: rtc - Fixed wire.mod/filesys.mod install to copy ALL lang files Patch by: rtc - Fixed cmd_channel() calling get_user_flagrec() twice, ordering of status char, and removed redundant checking Patch by: Tothwolf - It said 'JOIN flood from @%s! Banning.' for nick floods. Patch by: dw - Fixed pver length into init_tcl(). Patch by: CyberTech - md5 make could fail on some OS Found by: ReDDawG / Patch by: rtc - Users with chanflag +o could gain access to any channel using /msg bot invite #chan Patch by: dw - Fixed recheck_channel in got_op Patch by: Eule - Moved 'msg already queued. skipping...' to a debug message and added what it skips for debugging reasons. Patch by: dw - Minor doc changes to eggdrop.conf.dist Found by: Ben Dover / Patch by: Fabian - Fixed .whois to properly display local channels in console records Patch by: rtc - .chat should only care about the first argument given Patch by: rtc - Save console settings on '.page', '.chat', '.echo' and '.strip', not on '.quit' and dcc disconnect. Patch by: rtc - Misc blowfish bug fixes Patch by: drummer - Tweaked the nick regain code some more Patch by: rtc - Console settings are saved on '.quit' and dcc disconnect Found by: L0RE / Patch by: Fabian - SEGV with sharing bug track debug messages could cause SEGV in some cases ;) Found by: Fabian, rtc / Patch by: rtc - The dcc_tables in transfer.mod were missing DCT_VALIDIDX Found by: DVS01 / Patch by: DVS01, guppy - Removed the count argument from add/rem_builtins Patch by: guppy - The bot now logs syntax errors in the config-file after a .rehash/.restart before it exits. Patch by: rtc - More configure.in fixes, removed two out of three warnings Patch by: rtc - Fixed .chat to accept the proper channel range (0-99999) Patch by: rtc - Several putlogs had superflous newlines Patch by: rtc - Fixed memleak in fstat_unpack Patch by: rtc - Fixed Tcl setuser crash and filesys stats Patch by: rtc - Small doc corrections/additions Patch by: rtc - got_op/got_deop were not setting the flags correctly before calling add_mode Found by: Charvel / Patch by: Fabian - Added doc/BUG-REPORT Patch by: Fabian, flash - Moved .note into notes module Patch by: Fabian - Added several exported module functions to modvals.h Patch by: Fabian - Fixed signed/unsigned integer mess up (aka .dccstat/ tcl_dcclist bug) Patch by: rtc - Find out key-info on IRCu-based Server Patch by: Eule - Updated weed script Patch by: rtc - Dcc enter password wasn't using the lang file. Found by: ZiMiaS / Patch by: dw - cmd_chnick and cmd_nick were rewritten to not accept nicks with spaces in them ... Found by: rtc / Patch by: guppy - If a bot tries to link using our botnetnick, its rejected, and logged. Found by: rtc / Patch by: guppy - Removed tiny compile warning. Found by: Wiktor / Patch by: Fabian - Made the code check the ismember result everywhere now Found by: Charvel / Patch by: Fabian - Removed debug message in notes module Found by: toot / Patch by: Fabian - eggdrop.doc fixes Found by: rtc / Patch by: Fabian - Fixes version variable not to have a leading zero if major release number <= 9. Patch by: rtc - Added a timestamp value to the end of tcl_dcclist Found by: DVS01 / Patch by: guppy - Fixed memory accounting problem in the channels module Patch by: Fabian - Rename doesn't handle cross-filesystem moves. Enhanced movefile to do so now. Found by: mho / Patch by: Fabian - When compiling, EBUG_MEM gets passed to the modules now Patch by: Fabian - Read first channel-modes, before who-list Patch by: Eule - sentmodememberlistflags now in real_add_mode Patch by: Eule - Fixed memory accounting error related to info fields. Patch by: Fabian - Fixes a clearqueue option typo (server and not serv). Patch by: G`Quann - Fixed msg_ident autoop. Patch by: Eule - Race in tmp-dir test Found by: poptix / Patch by: Fabian - Tiny compability fix in misc.c for osf Found by: SuperS / Patch by: Fabian - New .stick handling Patch by: Jason Ede - Adjusted +revenge to be sane; added +revengebot flag Patch by: Fabian - Added Tcl call putkick Found by: XGen / Patch by: Fabian - Fixed msg_ident-autoop Patch by: Eule - Fixed tcl_dumpfile Found by: okey / Patch by: Fabian - Removed string stripping code from set_handle_chaninfo() Found by: dw / Patch by: Fabian - Moved notes reject code to notes module; reorganized module Patch by: Fabian - Added notes ignore feature Patch by: Fabian - Quotes [] were missing in AC_MSG_RESULT in configure.in. Patch by: rtc - contextnote() now works for modules. Patch by: Cybah - nrealloc() called with too few args in non-debugmem mode. Found by: Charvel / Patch by: poptix - Removed two FIXME's that need not be. Patch by: poptix - Removed over 450 lines of code by unifying most of the ban, exempt and invite code. Patch by: Cybah - Allows users to ignore messages from others by setting note ignore masks. e.g.: .+noteign *@foobot Patch by: Fabian - Fixed memleak in xtra_set. Patch by: Fabian - Added user_realloc Patch by: Fabian - New language system. Splitted sections and languages. Patch by: Fabian - -chrec sechole: chan/global masters can remove chan/global owners' chanrec. Patch by: drummer - doc/BOTNET update. Patch by: Wiktor, Ben Dover - refresh_ban_kick() doesn't kick friends anymore Found by: arthur2 / Patch by: Fabian - kick_all was counting too many bytes; cleanup Patch by: Fabian - tcl_delchanrec can now delete chan recs for non-existant channels Patch by: mho - Changed the default DCC block size from 0 to 1024 Patch by: Lucas - Made cmd_reset(exempts/invites) work like cmd_resetbans Found by: TheUnknown / Patch by: guppy - Missing a rem_builtin in filesys. Found by: arthur2 / Patch by: guppy - Added '.help all' and '.help *somestring*' to the standard .help text. Patch by: Fabian - During a make install and sinstall, telnet-banner wasn't being copied to the DEST dir like it should. Patch by: Dude - Made cmd_resetbans take a channel argument Found by: Tothwolf / Patch by: Ian, guppy - Empty xtra fields are deleted now. Found by: drummer / Patch by: Fabian - (very) small change in the config file (example of log). Patch by: Lucas - New todo system at http://todo.eggheads.org Patch by: dw - Another +g bug when sharing channel bans/exempts/invites on link ... Found by: Tothwolf / Patch by: guppy - Fixes more of the places where quiet_reject should have been used. Patch by: arthur2 - Ignore wrong modes. Patch by: Ian - Reverse of newsplit.patch, now only removes extraneous spaces from dcc and msg commands. Patch by: Fabian - memberlistflag-fixes Patch by: Eule - Mutliple modes were sent by bot. missing SENTDEOP/OP/DEVOICE/VOICE/KICK flags in irc.mod. Found by: TheUnknown / Patch by: arthur2 - Bot could deop itself. Found by: Cybah / Patch by: arthur2 - Fixed all(?) strchr(CHANMETA, c) calls to check c != 0 and some minor other stuff Found by: toot / Patch by: Fabian - Added env var to define language directory Patch by: Fabian - .console now saves our console settings not a CHOF bind Patch by: drummer - Adds a new config option, quiet-save. If set, "Writing user file..." & "Writing channel file ..." aren't logged. Found by: Lucas, NESS / Patch by: Lucas - Speeded up '.help all', added help entries Patch by: Fabian - Removed length limitation from language entries Patch by: Fabian - .chanset drops wrong modes. Patch by: drummer, Mixter - altnick may contain '?'s which get translated to random numbers. Found by: thx-1138 / Patch by: Fabian - Added env var to pass language or complete path to file Found by: Q / Patch by: Fabian - Fixed memory leak in assoc module when restarting Found by: drummer / Patch by: Fabian - Changed the ! prefix in .kickban to - (channel conflicts) Patch by: mho - Challenge/response system using MD5 digests for botnet links. No more cleartext passwords while linking :)))) Patch by: Cybah - Removed all occurences of movefile Patch by: Fabian - Only reading notes file on join when really needed Patch by: Fabian - Don't share exempt and invite lists with bots which don't support these. Found by: Ben Dover, Mixter / Patch by: Fabian - newsplit() now removes _all_ spaces between the two parts Patch by: Fabian, Ian - Changed nrealloc() to allow ptr == NULL Patch by: Fabian - Only displaying each skipped Channel once now Found by: slenny / Patch by: Fabian - DCC SENDs with long filenames don't lead to SEGV anymore Patch by: Fabian - Added wild match support to help, added '.help all' Patch by: Fabian - Not saving ignore list several times anymore Found by: slenny / Patch by: Fabian eggdrop1.6.21/doc/PATCH-HOWTO0000664000076600007660000001043511606067304014770 0ustar simplesimple$Id: PATCH-HOWTO,v 1.16 2011/07/09 15:07:48 thommey Exp $ Patch Howto Last revised: July 23, 2004 _____________________________________________________________________ Patch Howto The purpose of this document is to show you what a patch is and how you can create, apply, download, and submit a patch. Contents: 1. Terms 2. Applying a patch 3. Creating and submitting a patch 4. Downloading a patch 1. Terms The following are some common terms used in this document: Patch A patch is an update to the source code of a program (here Eggdrop). Be careful, every patch is designed for a special Eggdrop version and cannot be applied on every bot! 2. Applying a patch 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.21/) and type the following command: patch -p1 < ../path.to.the/patch Once this is complete, execute the following command: find . -name "*.rej" -print If it returns a list with filenames ending with .rej extension, then the patch didn't apply properly. Ensure that the patch is intended for your version and that you have the original source. You should also try to re-download the patch to ensure that the patch is not corrupted. If you get an error such as this: |Index: Makefile.in |=================================================================== |RCS file: /usr/local/cvsroot/eggdrop1.6/Makefile.in,v |retrieving revision 1.38 |diff -u -r1.38 Makefile.in |--- Makefile.in 17 Jun 2004 05:43:28 -0000 1.38 |+++ Makefile.in 23 Jul 2004 21:58:23 -0000 -------------------------- File to patch: Then you should try using a different '-p' option. Try -p0 first, and then -p2, -p3, etc. If the patch applied properly, the only thing left to do is to recompile your Eggdrop and install the new modules and binaries. 3. Creating and submitting a patch If you fixed a bug and/or changed something in Eggdrop's source code, it would be really nice to let the dev team know about it, so we can possibly apply it to next release of Eggdrop. There are several steps to submit a patch to the eggdev team: 1. Create a directory with original source tree and one with modified source tree. 2. Run the following: diff -urN eggdrop1.6.original eggdrop1.6.modified > patchname.patch DO NOT add any other diff options. 3. Send an e-mail to patches@eggheads.org with the patch attached. The body should contain a detailed description of what you changed and why you changed it. Don't forget to include the Eggdrop version for which your patch was created. It helps if you include the major release number that the patch is for in the subject line. For the 1.6.x series, the subject line should look like this: PATCH1.6: my-patch-filename.patch You should also include the nick/handle, name, and email address you would like used for attribution in the Changes1.6 and THANKS files. Never modify src/patch.h or one of the Changes files. We will do it. If your patch includes changes related to autotools (./configure, etc), do NOT run autoconf, autoheader, etc; we will do this as well. Also, please don't add credit lines all over the source when patching. Patch contributors will receive credit in Changes1.6 and THANKS. CVS diff's are also perfectly fine (and actually, prefered, as the patch will be against the most current version of Eggdrop). To create a CVS diff, simply make the changes in your currently checked-out copy of the Eggdrop source, and then run: cvs diff -R -uN > patchname.patch 4. Downloading a patch Many patches for Eggdrop 1.6.x can be found at the following location: ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6 _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/man1/0000775000076600007660000000000011651664652014152 5ustar simplesimpleeggdrop1.6.21/doc/man1/eggdrop.10000664000076600007660000001464611525764165015676 0ustar simplesimple.\" To view: groff -man -Tascii eggdrop.1 .\" .\" Copyright (C) 1999 - 2011 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. .\" .\" Originally by Robey Pointer, redone by rtc .\" * 1999-11-08 rtc A line wasn't displayed .\" * 2000-10-07 Fabian Updated and slightly re-organized. .\" * 2004-08-08 Wcc Updated. .\" .\" $Id: eggdrop.1,v 1.25 2011/02/13 14:19:33 simple Exp $ .TH eggdrop 1 "August 2004" "Eggheads Development Team" "IRC Tools" .SH NAME eggdrop \- an IRC bot .SH SYNOPSIS .B eggdrop .RB [ options ] .RB [ config-file ] .SH DESCRIPTION .B Eggdrop is the World's most popular Internet Relay Chat (IRC) bot; it is freely distributable under the GNU General Public License (GPL). Eggdrop is a feature rich program designed to be easily used and expanded upon by both novice and advanced IRC users on a variety of hardware and software platforms. .PP An IRC bot is a program that sits on an IRC channel and performs automated tasks while looking just like a normal user on the channel. Some of these functions include protecting the channel from abuse, allowing privileged users to gain op or voice status, logging channel events, providing information, hosting games, etc. .PP One of the features that makes Eggdrop stand out from other bots is module and Tcl scripting support. With scripts and modules, you can make the bot perform almost any task you want. They can do anything from preventing floods to greeting users and banning advertisers from channels. .PP You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods efficiently, and even link channels across multiple IRC networks. It also allows the Eggdrops share user lists, ban lists, exempt/invite lists, and ignore lists with other bots if userfile sharing is enabled. This allows users to have the same access on every bot on your botnet. It also allows the bots to distribute tasks such as opping and banning users. See doc/BOTNET for information on setting up a botnet. .PP Eggdrop needs a config file to run. For an example, have a look at .B eggdrop.conf which is distributed with Eggdrop. .SH OPTIONS .TP .B \-h Display a list of command-line options. .TP .B \-n Don't background. Normally, Eggdrop will move itself into the background when you start it up, meaning you'll get another shell prompt, and you can do other things while the bot is running. With \-n, you won't return to the shell prompt until the bot exits (which won't normally happen until it's killed). By default, \-n will send all log entries to the console. .TP .B \-nt Don't background, use terminal. This is just like \-n, except that instead of seeing log entries, your console will simulate a DCC chat with the bot. .TP .B \-nc Don't background, show channel info. This is just like \-n, except that instead of seeing log entries, every 10 seconds your screen will clear and you will see the current channel status, sort of like "top". .TP .B \-m Create userfile. If you don't have a userfile, this will make Eggdrop create one and give owner status to the first person that introduces himself or herself to it. You'll need to do this when you first set up your bot. .TP .B \-v Show version info, then quit. .SH SIGNALS .TP .B SIGCHLD This signal is ignored by Eggdrop and can be used to determine whether it's running or not. .TP .B SIGTERM Depending on die-on-sigterm being set to 0 or 1 in the config file, Eggdrop will save its user and channel file and/or die. .TP .B SIGHUP Depending on die-on-sighup being set to 0 or 1 in the config file, Eggdrop will rehash (reload its config file) or die. .SH "ENVIRONMENT VARIABLES" .TP .B EGG_LANG This variable can be set to the language in which you want Eggdrop to speak to you. It defaults to English, but German, French, Finnish, and Danish are supported, too. .TP .B EGG_LANGDIR Specifies the directory where all your language files are stored. The default is ./language. .SH "SEE ALSO" tclsh(1), irc(1), ircII(1), ircd(8) .PP There is extensive .B online documentation. Once you get the bot running, open a DCC chat with it, and type: .B .help .PP In addition, the files in the \fBdoc/\fR directory provide \fBdetailed information\fR about how Eggdrop works and how to use it. .SH AUTHORS Written by Robey Pointer, the Eggheads Development Team and various others. See the files \fBAUTHORS\fR for a list of Eggdrop developers and major contributors, \fBTHANKS\fR for a full list of Eggdrop contributors, and the \fBdoc/Changes\fR files for a list of changes made to each version of Eggdrop. .SH "REPORTING BUGS" See \fBdoc/BUG-REPORT\fR. .PP Bugs can either be reported directly to BugZilla, at \fBhttp://bugzilla.eggheads.org\fR, or via e-mail to <\fBbugs@eggheads.org\fR>. .SH COPYRIGHT Copyright (C) 1997 Robey Pointer .br Copyright (C) 1999 - 2011 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 Foundation; either version 2 of the License, or (at your option) any later version. .PP 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. .PP 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. .\" end of man page eggdrop1.6.21/doc/KNOWN-PROBLEMS0000664000076600007660000000217711525764164015364 0ustar simplesimple$Id: KNOWN-PROBLEMS,v 1.22 2011/02/13 14:19:32 simple Exp $ Known Problems Last revised: April 16, 2003 _____________________________________________________________________ Known Problems Things that are broken, but aren't getting fixed anytime soon: * Non-working alarm(10) in Linux (calls to gethostbyaddr/name() have blocked for long periods when bind/named doesn't resolve quickly, and the alarm does not interrupt it). Note: This should now work if you use the dns module. * High-bit characters are being filtered from channel names. This is a fault of the Tcl interpreter, and not Eggdrop. The Tcl interpreter filters the characters when it reads a file for interpreting. Update your Tcl to version 8.1 or higher. * Version 8.1 of Tcl doesn't support unicode characters, for example, è. If those characters are handled in a script as text, you run into errors. Eggdrop can't handle these errors at the moment. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/doc/WEIRD-MESSAGES0000664000076600007660000000516111525764164015322 0ustar simplesimple$Id: WEIRD-MESSAGES,v 1.10 2011/02/13 14:19:32 simple Exp $ Weird Messages That Get Logged Last revised: March 10, 2003 _____________________________________________________________________ Weird Messages That Get Logged Shown below are some messages that Eggdrop might log from time to time that may seem a bit strange and have meanings which may not be obvious. (!) timer drift -- spun N minutes This can be caused by one of several reasons. - Your bot could have been swapped out of memory for a while, or for some reason the computer could have stopped letting the bot run. Once a minute, Eggdrop does a few maintenance things, including counting down any active Tcl timers. If for some reason, several minutes pass without Eggdrop being able to do this, it logs this message to let you know what happened. It's generally a bad thing, because it means that the system your bot is on is very busy, and the bot can hardly keep track of the channel very well when it gets swapped out for minutes at a time. - On some systems (at least Linux), if the DNS your bot is using to lookup hostnames is broken and *very* slow in responding (this can occur if the DNS server's uplink doesn't exist), then you will get 4-5 minute timer drifts continuously. This can be fixed by loading the dns module. - The clock on your machine has just been changed. It may have been running behind by several minutes and was just corrected. (!) killmember(Nickname) -> nonexistent We have yet to track this down. It's a mildly bad thing, however. It means the bot just got informed by the server that someone left the channel -- but the bot has no record of that person ever being ON the channel. jwilkinson@mail.utexas.edu had some insight into this one: This is not an Eggdrop bug, at least not most of the time. This is a bug in all but perhaps the very latest ircd systems. It's not uncommon during netsplits and other joins for the server to lose track of killed or collided join notices. Also, in some servers, it is possible to specify non-standard characters, such as caret symbols, which get falsely interpreted as capital letters. When converted to lowercase, these symbols fail to get processed, and joins are not reported, although parts are. _____________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/doc/BANS0000664000076600007660000000703711525764164013772 0ustar simplesimple$Id: BANS,v 1.12 2011/02/13 14:19:32 simple Exp $ Bans, Invites and Exempts Last revised: March 07, 2002 _____________________________________________________________________ Bans, Invites, and Exempts I assume that you know how bans work on IRC. Eggdrop handles bans, exempts and invites in various ways, and this file is intended to help clarify how these modes are used within the bot. From here on, 'mode' applies to all three modes (bans, exempts, and invites) unless otherwise specified. There are three types of modes: Global modes These modes will be active on every channel the bot monitors. Some will "expire" after a while (be removed automatically). Others are considered "permanent" and can only be removed by a master. Channel modes These modes are active only on one channel, and are almost always temporary modes that expire after an hour or so (depending on how long you've specified in the config file). Usually they're created by a Tcl script of some sort. Non-bot modes These are modes that were not placed by the bot. They can be removed by anyone on the channel. The other two types of modes are protected by the bot (unless the channel settings specify otherwise), and have to be removed via the bot. Bans can also be either sticky or unsticky: Sticky These modes are usually set by a user using the ".stick" command. Modes with this attribute are attempted to be kept active on the channel at all times by the bot, even if the channel is set to use dynamic modes. Obviously, if the channel isn't set to use dynamic modes, this won't have any effect. Un-sticky These modes are the style that Eggdrop sets by default when a user uses one of the commands that result in a mode. This attribute means that the ban will be removed if using dynamic modes after a certain time. If a mode is "sticky" and you wish to set it to be "un-sticky", use the ".unstick" command. Mode behavior: Bans If the channel is supporting dynamic bans, then the ban is set when a user with a matching hostmask joins the channel; otherwise, the modes are permanently set. On a channel with dynamic bans, the ban expires after 'ban-time' minutes (which is specified in the config file). Exempts If the channel is not supporting dynamic exempts, then they are set at all times. Otherwise, the exemption is set when a ban is placed whose host includes that covered by the exempt. The exempt will remain in place for at least 'exempt-time' minutes (defined in config file) or until after the corresponding ban has been removed, whichever happens last. Invites If the channel does not support dynamic invites, then they are set at all times. Otherwise, the invite is set when the channel is +i and a user requests an invite into the channel. The invite then remains set for 'invite-time' minutes (defined in config file) or until the channel goes -i again, whichever happens last. _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/html/0000775000076600007660000000000011651664652014262 5ustar simplesimpleeggdrop1.6.21/doc/html/mod-blowfish.html0000664000076600007660000000231011525764164017535 0ustar simplesimple Eggdrop Documentation: Blowfish Module

Blowfish Module


Eggdrop uses the blowfish module to encrypt user's passwords. Please note, that when you change your encryption method later (i.e. using other modules like a md5 module) you can't use your current userfile anymore. Eggdrop can't start without an encryption module.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the blowfish module:

loadmodule blowfish


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-compress.html0000664000076600007660000000330311525764164017556 0ustar simplesimple Eggdrop Documentation: Compress Module

Compress Module


This module provides provides support for file compression. It can be used to compress files via Tcl or to transfer the userfile compressed during the share process, saving bandwidth.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the compress module:

loadmodule compress

There are also some variables you can set in your config file:

set share-compressed 1

Allow compressed sending of user files? The user files are compressed with the compression level defined in 'compress-level'.

set compress-level 9

This is the default compression level used. These levels are the same as those used by GNU gzip.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/patch-howto.html0000664000076600007660000001331011606067304017372 0ustar simplesimple Eggdrop Documentation: Patch Howto

Patch Howto


The purpose of this document is to show you what a patch is and how you can create, apply, download, and submit a patch.


Contents

  1. Terms
  2. Applying a patch
  3. Creating and submitting a patch
  4. Downloading a patch

Terms

The following are some common terms used in this document:

Patch

A patch is an update to the sourcecode of a program (here Eggdrop). Be careful, every patch is designed for a special Eggdrop version and cannot be applied on every bot!

Applying a patch

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.21/) and type the following command:

patch -p1 < ../path.to.the/patch

Once this is complete, execute the following command:

find . -name "*.rej" -print

If it returns a list with filenames ending with .rej extension, then the patch didn't apply properly. Ensure that the patch is intended for your version and that you have the original source. You should also try to re-download the patch to ensure that the patch is not corrupted.

If you get an error such as this:

|Index: Makefile.in
|===================================================================
|RCS file: /usr/local/cvsroot/eggdrop1.6/Makefile.in,v
|retrieving revision 1.38
|diff -u -r1.38 Makefile.in
|--- Makefile.in	17 Jun 2004 05:43:28 -0000	1.38
|+++ Makefile.in	23 Jul 2004 21:58:23 -0000
--------------------------
File to patch:

Then you should try using a different '-p' option. Try -p0 first, and then -p2, -p3, etc.

If the patch applied properly, the only thing left to do is to recompile your Eggdrop and install the new modules and binaries.

Creating and submitting a patch

If you fixed a bug and/or changed something in Eggdrop's source code, it would be really nice to let the dev team know about it, so we can possibly apply it to next release of Eggdrop.

There are several steps to submit a patch to the eggdev team:

  1. Create a directory with original source tree and one with modified source tree.

  2. Run the following:

    diff -urN eggdrop1.6.original eggdrop1.6.modified > patchname.patch
    

    DO NOT add any other diff options.

  3. Send an e-mail to patches@eggheads.org with the patch attached. The body should contain a detailed description of what you changed and why you changed it. Don't forget to include the Eggdrop version for which your patch was created.

    It helps if you include the major release number that the patch is for in the subject line. For the 1.6.x series, the subject line should look like this:

    PATCH1.6: my-patch-filename.patch

    You should also include the nick/handle, name, and email address you would like used for attribution in the Changes1.6 and THANKS files.

Never modify src/patch.h or one of the Changes files. We will do it. If your patch includes changes related to autotools (./configure, etc), do NOT run autoconf, autoheader, etc; we will do this as well.

Also, please don't add credit lines all over the source when patching. Patch contributors will receive credit in Changes1.6 and THANKS.

CVS diff's are also perfectly fine (and actually, prefered, as the patch will be against the most current version of Eggdrop). To create a CVS diff, simply make the changes in your currently checked-out copy of the Eggdrop source, and then run:

cvs diff -R -uN > patchname.patch

Downloading a patch

Many patches for eggdrop1.6.x can be found at the following location:

ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6/


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/news.html0000664000076600007660000002624111525764164016130 0ustar simplesimple Eggdrop Documentation: News

News


News - Last revised: April 16, 2003

What's new? First, read the following documents:

All of these documents combined will help fill you in on the latest changes to Eggdrop in version 1.6.x.

A lot of things have changed in this version, so at a minimum, read the Changes1.6 text file. Changes shows what's been added and fixed along the way.

If you are upgrading from a pre-1.6 version of Eggdrop:

  1. Before you start the bot for the first time, BACKUP your userfile.
  2. DON'T USE YOUR OLD CONFIG FILE. MAKE A NEW ONE!

Changes made to Eggdrop 1.6.x from Eggdrop1.4.x:

!Channels

Support for IRCnet !channels was added to Eggdrop. This might still be a bit buggy. We appreciate bug reports!

+/-nodesynch

This new channel setting replaces the old 'allow-desync' config file setting. It is useful if you use some type of ChanServ or if you don't care about your channel being desynched.

Asynchronous Dns Module

Eggdrop 1.6 is shipped with a new module, the dns module. It replaces those old dns-lookups performed by Eggdrop which could halt the whole bot during a timeout. We also added a new Tcl command, 'dnslookup', so scripts can now use DNS functions asynchronously, too. See Dns Module for more information.

Compress Module

A new module called compress was introduced to Eggdrop. It provides gzip support to Eggdrop via Tcl commands and enables compressed userfile transfer. See Compress Module for more information.

Share Module

The share module has a new setting now (override-bots) which allows hub bots to override the leaf bots' bot settings (botaddress, telnet port, and password). Please note that this won't work with a version 1.4 or below bot. See Share Module for more information.

Transfer / Filesys Modules

The filesys and transfer modules have changed completely. Both can now handle unlimited filename lengths and description sizes. Incomplete downloads from the bot can also now be resumed. The db format of the filesys module was changed to remove the limits imposed by the old format. There's nothing special for you to do, as the old db is automatically converted to the new format when you first access it. You won't be able to downgrade to older versions after this, so you may want to make a backup first. See Transfer Module and Filesys Module for more information.

Uptime Module

This module reports uptime statistics to http://uptime.eggheads.org. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. See Uptime Module for more information.

DCC Commands

  • ".nick" was renamed to ".handle". ".nick" will still be kept up to version 1.8.

  • ".chnick" was renamed to ".chhandle". ".chnick" will still be kept up to version 1.8.

  • ".binds" now supports wildcards.

  • ".halfop" and ".dehalfop" have been added.

  • The 'optimise' file system command was renamed to 'optimize'. The old command will still be kept up to version 1.8.

  • ".modules" now works locally as well as remotely.

  • Eggdrop now counts all of the traffic which it generates and receives through IRC, botnet, scripts, and dcc. You can access these statistics via the dcc command ".traffic". Please note that the counter gets reset every time a restart is done.

Channel Modes

Support for IRCnet negative limits and DALnet's +R, +M, and +c channel modes has been added. Eggdrop now also supports halfops (+h).

Config Files

  • To support longer nicknames, as some IRC servers do, a new 'nick-len' setting was added.

  • Eggdrop uses strftime now to support different logfile suffixes. The new config file setting is 'logfile-suffix'.

  • A new 'pidfile' setting was added to allow you to specify the name of Eggdrop's pid file.

  • The 'strict-servernames' setting was removed.

Penalty Calculation

Eggdrop calculates penalty points on IRCnet now, so it won't flood itself off anymore.

Tcl Commands

  • The 'chnick' command was renamed to 'chhandle'. The use of 'chnick' is deprecated. 'chnick' is still accessible if you load compat.tcl.

  • All three commands to add data to the queues (puthelp, putserv and putquick) now support the '-next' parameter which pushes data to the front of the queue.

  • A command to calculate md5 checksums, 'md5', was added.

  • To support the new asynch dns module, the command 'dnslookup' was added.

  • Four new commands regarding exempts/invites were added: stickexempt, unstickexempt, stickinvite, and unstickinvite.

  • A new 'wasop' command was added to check if a user had op before a mode change.

  • 'washalfop', 'ishalfop', and 'botishalfop' have been added.

  • Three new Tcl commands were added as part of the compress module: compressfile, uncompressfile, and iscompressed.

  • A new command to check whether the bot's nick is juped was added (isjuped).

  • The fileresend command was added to support mIRC's dcc resume feature.

  • A new bind type called 'NEED' was added which triggers when the bot needs op, unban, limit, key, or invite.

  • LOST and TOUT bind types were added.

  • Two new commands, 'channame2dname' and 'chandname2name', were added to allow scripts to support !channels.

  • A new evnt type, loaded, was added.

  • The 'setudef', 'renudef', and 'deludef' commands were added to allow for user-defined channel settings.

  • A 'traffic' command was added which returns a list of sublists containing information about the bot's traffic usage in bytes.

  • The CTCP bind type now supports wildcards.

  • The 'channel get' command was added to allow channel settings to be easily retrieved.

  • A 'handlen' variable was added (set to the value of the HANDLEN define in eggdrop.h. 'nick-len' was also renamed to 'nicklen' (the old variable will remain until version 1.8.

  • The 'server' variable now contains the server's realname instead of its serverlist entry regardless of the 'strict-servernames' setting.

  • The 'serveraddress' variable was added, which contains the server's serverlist address and port.

  • The 'onchan', 'botonchan', 'botisvoice', 'botisop', 'onchansplit', 'isop', 'isvoice', and 'handonchan' commands no longer require an argument.

For more information about changed or added Tcl commands, see Eggdrop Tcl Commands.

Traffic Accounting

Eggdrop now counts all of the traffic which it generates and receives through IRC, the botnet, scripts, and dcc. You can access these statistics via the dcc command '.traffic'. Please note that the counter gets reset every time a restart is done.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/app-textsub.html0000664000076600007660000000674211606067304017424 0ustar simplesimple Eggdrop Documentation: Textfile Substitutions

Textfile Substitutions


These %-variables can be inserted into help files, the banner, the MOTD, and other text files.There are four variables that can be used to format text:

%b
display bold
%v
display inverse
%_
display underline
%f
display flashing via telnet; bold underline via irc

These variables will be interpreted by Eggdrop and replaced by their respective values:

%B
bot's nickname (i.e. "LamestBot")
%V
current Eggdrop version (i.e. "eggdrop v1.6.21")
%E
long form of %V (i.e. "Eggdrop v1.6.21 (C) 1997 Robey Pointer (C) 2011 Eggheads Development Team")
%C
channels the bot is on (i.e. "#lamest, #botnetcentral")
%A
whatever is set in the config file by 'set admin'
%n
whatever is set in the config file by 'set network'
%T
the current time (i.e. "15:00")
%N
the current user's nickname (i.e. "Robey")
%U
the current operating system the bot is on
%%
a percent sign ("%")

You can also encode messages which can only be read by people with certain flags:

%{+m}some text%{-}
Only masters would see this.
%{+A}some text%{-}
Only people with the user flag +A see this.
%{+b}some text%{-}
This is only displayed to users doing a remote '.motd' from another bot.
%{+|m}some text%{-}
Only channel masters would see this.

Other variables:

%{cols=N}
start splitting output into N columns
%{cols=N/W}
same as above, but use a screen width of W
%{end}
end columnated or restricted (%{+m}) block
%{center}
center the following text (70 columns)

Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/compiling.html0000664000076600007660000006616411642147323017135 0ustar simplesimple Eggdrop Documentation: Compile Guide and FAQ

Compile Guide and FAQ


This guide may help you successfully compile Eggdrop. Suggestions are by various contributors. If you think something should be added, please send an e-mail to bugs@eggheads.org. Note that in this document, text between a '<' and a '>' should be replaced (without the '<' and '>').

NOTE: This is not a 'quick install' guide. See the INSTALL file for basic setup information. This is intended to help you compile the bot on uncommon operating systems, or work past problems encountered during compile.

Compile Guide

  1. Standard compile process (Linux, FreeBSD, NetBSD, OpenBSD, etc)
  2. HP-UX B.11.*
  3. Ultrix
  4. Mac OS X
  5. AIX
  6. IRIX
  7. Ultrix
  8. Cygwin / Windows
  9. Tcl Detection and Installation

Frequently Asked Questions

  1. I get a lot of warnings.
  2. I get a 'strip terminated with signal 6' error during compile/install, or another error related to 'strip'.
  3. 'DIR' undeclared (and a whole bunch of others) (AIX 4)
  4. 'fd_set' undeclared (and a whole bunch of others) (AIX 4)
  5. Unresolved or undefined symbols: ldclose, ldopen, ldnshread (AIX 3)
  6. Unsatisfied symbols 'shl_findsym' and 'shl_load' (HP-UX 9)
  7. Compile stops at the last minute with "ld fatal signal 11"! (Linux)
  8. Undefined references in net.o (Sun OS)
  9. I experience problems starting the configure script (AIX/various)
  10. I get a 'make: Permission denied' error when I type 'make config' or 'make' (FreeBSD / *BSD)

Compile Guide

This will tell you how to compile Eggdrop on various operating systems. If you have gotten Eggdrop to compile on an operating system not listed here, please let the development team know how, at eggdev@eggheads.org. Please tell us what, if any, special steps were required to compile the bot. Also, any compiler warnings/etc, and the 'config.log' and 'config.h' files would be helpful. The development team does not have access to the resources needed to test portability on uncommon operating systems, so your help is greatly appreciated.

A. Standard compile process (32-bit Linux, FreeBSD, NetBSD, OpenBSD, etc.)

  1. Type './configure' from the Eggdrop directory. Some of the options that can be given to ./configure are explained below.

    • --enable-strip
      If you want to create a smaller binary, you can use this option. HOWEVER, this will remove debugging symbols and make bug reports almost completely useless, and is not recommended. If disk space is very limited, however, it might help to enable this.

    • --with-tcllib
    • --with-tclinc
      See I. Tcl Detection and Installation below (at the end of this compile guide).

  2. Type either 'make config', or 'make iconfig' to determine which modules will be compiled.

  3. Type 'make' from the Eggdrop directory, or to force a statically linked module bot, type 'make static'. Otherwise, the Makefile will use whatever type of compile the configure script determined your system will support. Dynamic is always the better way to go if possible. You can force a dynamic build with 'make eggdrop'. There are also the 'debug' and 'sdebug' (static-debug) options, which will give more detailed output on a crash. This will help the development team track down the crash and fix the bug. Debug and sdebug will take a little longer to compile and will enlarge the binary a bit, but it's worth it if you want to support Eggdrop development.

  4. Eggdrop must be installed in a directory somewhere. This is accomplished by typing 'make install'.

    This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop).

    If you want to install to a different directory, use:
    make install DEST=<directory>
    
    For example:
    make install DEST=/home/user/otherdir
    

B. HP-UX B.11.*

Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'.

During a linking in a dynamic build, you may experience an error such as:

gcc -pipe -fPIC -shared -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o
chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o
main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o
tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o
-L/usr/local/lib -ltcl8.4 -lm -ldld -lnsl md5/md5c.o compat/*.o `cat
mod/mod.xlibs`
/usr/ccs/bin/ld: DP relative code in file bg.o - shared library must be
position independent. Use +z or +Z to recompile.
collect2: ld returned 1 exit status
*** Error exit code 1

If you know the cause of this error, please contact the Eggheads Development Team at eggdev@eggheads.org.

Note that on HP-UX, the SHLIB_PATH environment variable should be used instead of LD_LIBRARY_PATH.

C. Ultrix

There are some known problems with 'make' and Eggdrop on Ultrix systems. We recommend using 'gmake' (GNU make) for this reason, as in the steps below.

If your system does not have 'gmake', you can download it from:

http://ftp.gnu.org/pub/gnu/make/

It can be installed in your home directory, as with Tcl, but that is beyond the scope of this document. Read the INSTALL file that comes with gmake.

Following these steps should work:

  1. Depending on what shell your using:

    bash/ksh:
    export LD_LIBRARY_PATH=<path to DIRECTORY containing Tcl library>:${LD_LIBRARY_PATH}
    
    csh/tcsh/tclsh:
    setenv LD_LIBRARY_PATH <path to DIRECTORY containing Tcl library>:${LD_LIBRARY_PATH}
    
  2. Run the following command from your Eggdrop compilation directory (this is all one command):
    sh5 ./configure --with-tclinc='<full path to tcl.h>' --with-tcllib='<full path to Tcl library>'
    
  3. Type 'gmake config' or 'gmake iconfig' to configure modules.

  4. Type 'gmake'. If you experience problems during linking, or while building modules, try using 'gmake static', for a static build, instead.

  5. To install Eggdrop, type 'gmake install'.

    This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop).

    If you want to install to a different directory, use:
    gmake install DEST='directory'
    
    For example:
    gmake install DEST=/home/user/otherdir
    

D. Mac OS X

Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'.

To get third-party modules to compile, you may need to edit the module's Makefile and add "$(XLIBS) $(MODULE_XLIBS)" to the end of the ../../../MODULE.$(MOD_EXT) target's $(LD) line.

For example:

../../../mymodule.$(MOD_EXT): ../mymodule.o
$(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o
$(STRIP) ../../../mymodule.$(MOD_EXT)

Would become:

../../../mymodule.$(MOD_EXT): ../mymodule.o
$(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o $(XLIBS) $(MODULE_XLIBS)
$(STRIP) ../../../mymodule.$(MOD_EXT)

If you notice a module that requires these changes, it would probably be a good idea to let the module's developer know, so it can be fixed.

Note that on Mac OS X, the DYLD_LIBRARY_PATH environment variable should be used instead of LD_LIBRARY_PATH.

E. AIX

Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'.

Note that on AIX, the LIBPATH environment variable should be used instead of LD_LIBRARY_PATH.

F. IRIX

Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'.

Note that on IRIX, the LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH environment variables should be used instead of LD_LIBRARY_PATH.

G. Solaris / SunOS

Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'.

Note that on Solaris / SunOS, the LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 environment variables may need to be set instead of (or in addition to, to be safe) LD_LIBRARY_PATH.

H. Cygwin / Windows

To compile and install Eggdrop on windows, perform the steps listed below.

  1. Download and install Cygwin (http://www.cygwin.com). Make sure to install things like GCC, zlib, autoconf, and automake. DO NOT install the Tcl provided by Cygwin's installer. After installing, open the Cygwin bash prompt.

  2. Download and install TCL 8.5.9 or later. You can get Tcl for Cygwin at http://prdownloads.sourceforge.net/windrop/tcl-8.5.9.tar.gz. Extract this to the Cygwin root directory:
    cd /
    tar -zxf tcl-8.5.9.tar.gz
    
  3. Download Eggdrop from geteggdrop.com to your home directory. This is usually something like 'C:\cygwin\home\<username>\'. After downloading, extract the Eggdrop tarball:
    tar -zxf eggdrop1.6.21.tar.gz
    
  4. Run './configure --enable-strip'. Debugging information under Windows is basically useless to the development team, and thi will reduce the size of your Eggdrop binary.

  5. Type either 'make config', or 'make iconfig' to determine which modules will be compiled.

  6. Compile the bot using 'make eggdrop'.

  7. Install the bot by typing 'make install DEST=<install path>'.

    For example:
    make install DEST='C:/eggdrop/'
    
    Make sure to enclose the destination directory/folder in single quotes (''), especially if it contains spaces.

  8. Preform the following commands:
    cd 'C:/<install path>/' (example: cd 'C:/eggdrop')
    rm modules
    rm eggdrop.exe
    mv eggdrop.exe-1.6.21 eggdrop.exe
    mv modules-1.6.21 modules
    
  9. Create a 'lib' directory and copy needed libraries using the following commands. This assumes that you installed your Eggdrop in 'C:\eggdrop'. If you chose a different installation path, replace 'C:/eggdrop' in the following steps with your installation directory, replacing all '\'s with '/'s.
    cp /bin/cygwin1.dll 'C:/eggdrop'
    cp /usr/local/bin/libtcl8.5.dll 'C:/eggdrop'
    
    mkdir C:/eggdrop/lib
    cp -r /usr/local/lib/tcl 'C:/eggdrop/lib'
    cp -r /usr/local/lib/tcl8.5 'C:/eggdrop/lib'
    
    cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod)
    

I. Tcl Detection and Installation

If ./configure does not correctly detect the location of your Tcl library and header file, or if you experience errors related to Tcl during linking, perform these steps:

  1. Depending on what shell you are using:

    bash/ksh:
    export LD_LIBRARY_PATH=<path to DIRECTORY containing Tcl library>:${LD_LIBRARY_PATH}
    
    csh/tcsh/tclsh:
    setenv LD_LIBRARY_PATH <path to DIRECTORY containing Tcl library>:${LD_LIBRARY_PATH}
    
    Note that some OS;'s use a different environment variable to tell ld where to look for a library. See the notes for your specific OS above (if applicable).

  2. Run the following command from your Eggdrop compilation directory (this is all one command):

    ./configure --with-tclinc='<full path to tcl.h>' --with-tcllib='<full path to Tcl library>'
    
  3. Continue compiling the bot as outlined in Section A, starting with 'make config'.

If you do not have Tcl installed on your system, you can compile it in your /home directory. Download Tcl from Tcl's SourceForge project page at http://www.sourceforge.net/projects/tcl/, or from ActiveState at ftp://tcl.activestate.com/pub/tcl/tcl8_4/. Read Tcl's README file for help with compiling and installing it. After you compile Tcl, follow the steps above to allow Eggdrop to detect Tcl.

1. I get lots of warnings.

Warnings do not necessarily mean anything bad. As long as the compile completes, there is really nothing to worry about. Generally, we try to avoid warnings. We try to fix the warnings we are aware of. If you experience warnings, you can let us know by e-mailing bugs@eggheads.org. If you feel like fixing them yourself, please do so and send us a patch (as described in Patch Howto). Thanks.

2. I get a 'strip terminated with signal 6' error during compile/install.

collect2: strip terminated with signal 6 [IOT/Abort trap]
*** Exit 1 Stop. *** Exit 1 Stop.
Don't use the --enable-strip ./configure option.

3. 'DIR' undeclared (and a whole bunch of others) (AIX 4)

gcc -c -O2 -fno-strength-reduce -I.. -DHAVE_CONFIG_H  filedb.c
filedb.c: In function `filedb_update':
filedb.c:209: `DIR' undeclared (first use this function)
filedb.c:209: (Each undeclared identifier is reported only once
filedb.c:209: for each function it appears in.)
filedb.c:209: `dir' undeclared (first use this function)
filedb.c:209: parse error before `*'
filedb.c:217: warning: assignment makes pointer from integer without a cast
filedb.c:218: `name' undeclared (first use this function)
filedb.c:218: dereferencing pointer to incomplete type
filedb.c:220: dereferencing pointer to incomplete type
filedb.c:220: dereferencing pointer to incomplete type
filedb.c:224: dereferencing pointer to incomplete type
filedb.c:224: dereferencing pointer to incomplete type
filedb.c:225: dereferencing pointer to incomplete type
filedb.c:230: `s' undeclared (first use this function)
filedb.c:231: `st' undeclared (first use this function)
filedb.c:232: `fdb' undeclared (first use this function)
filedb.c:232: `where' undeclared (first use this function)
filedb.c:237: `fdb1' undeclared (first use this function)
filedb.c:253: warning: assignment makes pointer from integer without a cast
make: The error code from the last command is 1.

The configure script didn't detect that this particular system had dirent.h and sys/dir.h. The solution is to add -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H to the Makefile's CFLGS line:

CFLGS = -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H

4. 'fd_set' undeclared (and a whole bunch of others) (AIX 4)

gcc -c -O2 -fno-strength-reduce -I.. -DHAVE_CONFIG_H -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H net.c
net.c: In function `sockread':
net.c:390: `fd_set' undeclared (first use this function)
net.c:390: (Each undeclared identifier is reported only once
net.c:390: for each function it appears in.)
net.c:390: parse error before `fd'
net.c:396: `fd' undeclared (first use this function)
make: The error code from the last command is 1.

Again, this seems that one of configure's components (sed, awk, or something along those lines) is broken, and configure failed to detect that this system needed sys/select.h. The solution is to add -DHAVE_SYS_SELECT_H to the Makefile's CFLGS line:

CFLGS = -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H -DHAVE_SYS_SELECT_H

5. Unresolved or undefined symbols: ldclose, ldopen, ldnshread (AIX 3)

cc -s -o eggdrop chan.o chanprog.o chanset.o cmds.o dcc.o dccutil.o
filedb.o fileq.o files.o gotdcc.o hash.o main.o match.o mem.o misc.o
mode.o msgcmds.o msgnotice.o net.o tandcmd.o tandem.o tcl.o tclhash.o
userrec.o users.o -L/home2/f/foster/lib -ltcl7.5 -lm
   0706-317 ERROR: Unresolved or undefined symbols detected:
                   Symbols in error (followed by references) are dumped to the load map.
                   The -bloadmap:<filename> option will create a load map.
   .ldclose
   .ldopen
   .ldnshread
   make: 1254-004 The error code from the last command is 8.

Apparently, what is happening is a library called ld is required. Either configure doesn't know it is needed, it simply can't find it, or maybe this is a unique case. The solution is to have ld linked in with the final binary.

Edit your Makefile and find the line that looks something like this:

GMAKE = ${MAKE} 'CC=cc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/home2/f/foster/lib -ltcl7.5 -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=ranlib' 'STRIP=-s'

Add in -lld into the XLIBS assignment, like this:

GMAKE = ${MAKE} 'CC=cc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=-lld -L/home2/f/foster/lib -ltcl7.5 -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=ranlib' 'STRIP=-s'

6. Unsatisfied symbols 'shl_findsym' and 'shl_load' (HP-UX 9)

gcc -s -o eggdrop chan.o chanprog.o chanset.o cmds.o dcc.o
dccutil.o filedb.o fileq.o files.o gotdcc.o hash.o main.o match.o
mem.o misc.o mode.o msgcmds.o msgnotice.o net.o tandcmd.o tandem.o
tcl.o tclhash.o userrec.o users.o -L/home/hltran/tcl/lib -ltcl7.5 -lm
   /bin/ld: Unsatisfied symbols:
      shl_findsym (code)
      shl_load (code)
   collect2: ld returned 1 exit status
   *** Error code 1
   Stop.

Upgrade to a later version of Tcl. The following should also work.

Edit your Makefile and find the line that looks something like this:

GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/usr/local/lib -ltcl7.5 -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP='

Add in -ldl into the XLIBS assignment, like this:

GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=-ldl -L/usr/local/lib -ltcl7.5 -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP='

7. Compile stops at the last minute with "ld fatal signal 11"! (Linux)

This seems to be caused by a non-ELF Tcl library binary, and the compiler doesn't seem to like it. Download and install Tcl in your home directory using the steps in E. Tcl Detection and Installation in the Compile Guide above.

8. Undefined references in net.o (SunOS)

               First
Undefined    Referenced
 Symbol       In file

socket          net.o
gethostbyname   net.o
accept          net.o
bind            net.o
setsockopt      net.o
gethostbyaddr   net.o
getsockname     net.o
gethostname     net.o
listen          net.o
connect         net.o
ld: fatal: Symbol referencing errors. No output written to eggdrop

This seems to be caused by a few libraries not being detected by the auto-configure script; it is relatively easy to fix. Edit your Makefile. Note that yours may be slightly different than this one when it comes to the Tcl library, but here is the way it probably is:

GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/usr/local/lib -ltcl -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP='

Here is what you need to change it to:

GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl.a'\
        'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=lsocket -ldl -lnsl -L/usr/local/lib -ltcl -lm'\
        'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP='

You are adding three libraries to be linked in: socket, dl, and nsl. This will resolve the net.o errors.

9. I experience problems starting the configure script (AIX/various)

If you receive file descriptor or bad interpreter errors when attempting to run the configure script, try running 'sh configure' or 'bash configure' instead of './configure'. This problem seems to show up on many AIX machines.

10. I get a 'make: Permission denied' error when I type 'make config' or 'make' (FreeBSD / *BSD)

This is caused by a bug in FreeBSD (and possibly other BSDs as well). A simple 'cd .', or changing to a different directory and then changing back, usually fixes this.

Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/app-problems.html0000664000076600007660000000315511525764164017554 0ustar simplesimple Eggdrop Documentation: Known Problems

Known Problems


Things that are broke, but aren't getting fixed anytime soon:

  • Non-working alarm(10) in Linux (calls to gethostbyaddr/name() have blocked for long periods when bind/named doesn't resolve quickly, and the alarm does not interrupt it).

    Note: This should now work if you use the dns module.

  • High-bit characters are being filtered from channel names. This is a fault of the Tcl interpreter, and not Eggdrop. The Tcl interpreter filters the characters when it reads a file for interpreting. Update your Tcl to version 8.1 or higher.

  • Version 8.1 of Tcl doesn't support unicode characters, for example, è. If those characters are handled in a script as text, you run into errors. Eggdrop can't handle these errors at the moment.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/party.html0000664000076600007660000000504411525764164016311 0ustar simplesimple Eggdrop Documentation: The Party Line

The Party Line


The most important way you will communicate with your bot is through the party line. The party line is accessible via DCC chat or telnet. It's pretty much just a miniature, lag-less IRC (see "Botnet sharing and linking"), but it also consists of a console through which you can watch channel activity and give commands.

To enter the party line, DCC chat or open a telnet connection to your bot. It should ask for your password if you've set one. If you don' have one set, use the /msg <bot> PASS <new password> command to set one.

The party line is actually split up into 200,000 "channels". The console is available from each channel, but you can only talk to people who are on your current channel (just like IRC). Channel 0 is the main party line, while others are typically reserved for private conversations. Channels 1-99,999 are botnet wide chat channels and any user joining that channel anywhere on the botnet will be able to chat with you, Channels *0-*99,999 are local channels (only people on the bot you are on can chat with you on these channels).

Console commands start with a dot (.), similar to the slash (/) used for IRC commands. At any time, you can type ".help all" to get a list of all possible commands. To find out what a command does, use ".help <command>". For example: ".help channel".

When you're on the party line, anything you type that doesn't start with a dot (.), a comma (,), or an apostrophe (') is considered to be broadcast to everyone else, just like talking on a channel. A message prefixed with a comma goes only to other bot owners (+n). A message prefixed with an apostrophe is sent to all users on the local bot only. You can change channels with the ".chat" command or even leave all channels with ".chat off".


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/app-tricks.html0000664000076600007660000000513511525764164017230 0ustar simplesimple Eggdrop Documentation: Tricks

Tricks


  • You can rename a builtin command by binding over it. To rename '.status' to '.report', you'd do:

    unbind dcc - status *dcc:status
    bind dcc m report *dcc:status

    The first line removes the builtin binding on '.status', and the second line binds '.report' to the builtin status function.

  • If you don't want your logfiles to be deleted after two days and don't want the bot to create a new logfile each new day, then set 'keep-all-logs' to 0 and 'switch-logfiles-at' to 2500 in your bot's config file to make it keeping one logfile all the time. This is not recommended on high traffic channels.

  • You can modify Eggdrop's output in partyline and messages by editing core.english.lang in the language directory.

  • You can export parts of your config file to separate files. For example, if you have several config files which differ from themselves only by the nickname and the used servers, you can export them to an own file and link it with the 'source' Tcl command, similar to a script. The advantage of this is that you have to edit/upload only the small file instead of the big one. This technique is also useful if you want to maintain the same channel settings, etc across your botnet.

  • You can use variables in your config file, since it's really just a normal Tcl file. For example, you can set 'userfile' and 'chanfile' to "yourbot.user" and "yourbot.chan" using the following method:

    set myvar "yourbot"
    set userfile "$myvar.user"
    set chanfile "$myvar.chan"


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-seen.html0000664000076600007660000000241011525764164016653 0ustar simplesimple Eggdrop Documentation: Seen Module

Seen Module


This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are looking for a better and more advanced seen module, try the gseen module by G'Quann. You can find it at http://www.kreativrauschen.com/gseen.mod/.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the seen module:

loadmodule seen


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/egg-core.html0000664000076600007660000007707411525764164016656 0ustar simplesimple Eggdrop Documentation: Eggdrop Core

Eggdrop Core


This file describes the syntax and all the settings of your Eggdrop configuration file. Please note that you don't need to set all of these variables to make your bot work properly.


Contents

  1. Configuration settings
    1. Executable path
    2. Basic settings
    3. Log files
    4. Console
    5. Files and directories
    6. Botnet, DCC, and network
    7. More advanced settings
    8. Modules
    9. Scripts

1. Configuration settings

1a. Executable path

The first line in an Eggdrop configuration file should contain a fully qualified path to your Eggdrop executable. It has to be implemented in the way the example shows to make the config file work as a shell script.

Example:

#! /path/to/eggdrop

1b. Basic settings

You can change the basic Eggdrop appearance and behavior in this section.

set username "lamest"

This setting defines the username the bot uses on IRC. This setting has no effect if an ident daemon is running on your bot's machine.

set admin "Lamer <email: lamer@lamest.lame.org>"

This setting defines which contact person should be shown in .status, /msg help, and other places. You really should include this information.

set network "SomeIrcNetwork"

This setting is used only for info to share with others on your botnet. Set this to the IRC network your bot is connected to.

set timezone "EST"

This setting defines which timezone is your bot in. It's used for internal routines as well as for logfile timestamping and scripting purposes. The timezone string specifies the name of the timezone and must be three or more alphabetic characters. For example, Central European Time(UTC+1) should be "CET".

set offset "5"

The offset setting specifies the time value to be added to the local time to get Coordinated Universal Time (UTC aka GMT). The offset is positive if the local timezone is west of the Prime Meridian and negative if it is east. The value (in hours) must be between -23 and 23. For example, if the timezone is UTC+1, the offset is -1.

set env(TZ) "$timezone $offset" (disabled by default)

If you don't want to use the timezone setting for scripting purposes only, but instead everywhere possible, then use this setting.

set my-hostname "virtual.host.com"
set my-ip "99.99.0.0"

If you're using virtual hosting (your machine has more than 1 IP), you may want to specify the particular IP to bind to. You can specify either by hostname or by IP. You may also want to set the hostname here if Eggdrop has trouble detecting it when it starts up.

addlang "english"

If you want to have your Eggdrop messages displayed in another language, change this command to match your preferences. An alternative would be to set the environment variable EGG_LANG to that value.

Languages included with Eggdrop: Danish, English, French, Finnish, German.

1c. Log files

Eggdrop is capable of logging various things, from channel chatter to partyline commands and file transfers.

Logfiles are normally kept for 24 hours. Afterwards, they will be renamed to "(logfilename).yesterday". After 48 hours, they will be overwritten be the logfile of the next day.

set max-logs 5

This is the maximum number of logfiles allowed. This setting can be increased; however, don't decrease it.

set max-logsize 0

This is the maximum size of your logfiles. Set it to 0 to disable. This value is in kilobytes, so '550' would mean cycle logs when it reaches the size of 550 kilobytes. Note that this only works if you have keep-all-logs set to 0 (OFF).

set quick-logs 0

This could be good if you have had a problem with logfiles filling your quota/hard disk or if you log +p and publish it to the web, and you need more up-to-date info. Note that this setting might increase the CPU usage of your bot (on the other hand it will decrease your RAM usage).

logfile <logflags> <channel> "logs/logfile"

This setting tells the bot what should be logged, from where, and to which file.

Logfile flags:

b

information about bot linking and userfile sharing

c

commands

d

misc debug information

h

raw share traffic

j

joins, parts, quits, and netsplits on the channel

k

kicks, bans, and mode changes on the channel

m

private msgs, notices and ctcps to the bot

o

misc info, errors, etc (IMPORTANT STUFF)

p

public text on the channel

r

raw incoming server traffic

s

server connects, disconnects, and notices

t

raw botnet traffic

v

raw outgoing server traffic

w

wallops (make sure the bot sets +w in init-server)

x

file transfers and file-area commands

Note that modes d, h, r, t, and v can fill disk quotas quickly. There are also eight user-defined levels (1-8) which can be used by Tcl scripts.

Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p' are logged to whatever channel they happened on. Most other events are currently logged to every channel. You can make a logfile belong to all channels by assigning it to channel "*"

Examples:

logfile mco * "logs/eggdrop.log"
logfile jpk #lamest "logs/lamest.log"

In 'eggdrop.log', put private msgs/ctcps, commands, misc info, and errors from any channel.

In 'lamest.log', log all joins, parts, kicks, bans, public chatter, and mode changes from #lamest.

set log-time 1

Use this feature to timestamp entries in the log file.

set timestamp-format "[%H:%M:%S]"

Set the following to the timestamp for the logfile entries. Popular times might be "[%H:%M]" (hour,min), or "[%H:%M:%S]" (hour, min, sec). Read `man strftime' for more formatting options. Keep it below 32 chars.

set keep-all-logs 0

If you want to keep your logfiles forever, turn this setting on. All logfiles will get the suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]". Note that your quota/hard-disk might be filled by this, so check your logfiles often and download them.

set switch-logfiles-at 300

You can specify when Eggdrop should switch logfiles and start fresh. You must use military time for this setting. 300 is the default, and describes 03:00 (AM).

set quiet-save 0

"Writing user file..." and "Writing channel file..." messages won't be logged anymore if this option is enabled. If you set it to 2, the "Backing up user file..." and "Backing up channel file..." messages will also not be logged. In addition to this, you can disable the "Switching logfiles..." and the new date message at midnight, by setting this to 3.

set logfile-suffix ".%d%b%Y"

If keep-all-logs is 1, this setting will define the suffix of the logfiles. The default will result in a suffix like "04May2000". "%Y%m%d" will produce the often used yyyymmdd format. Read the strftime manpages for more options. NOTE: On systems which don't support strftime, the default format will be used always.

1d. Console

set console "mkcobxs"

This is the default console mode. It uses the same event flags as the log files do. The console channel is automatically set to your "primary" channel, which is set in the modules section of the config file. Masters can change their console channel and modes with the '.console' command.

1e. Files and directories

set userfile "LamestBot.user"

Specify here the filename your userfile should be saved as.

set pidfile "pid.LamestBot"

Specify here the filename Eggdrop will save its pid to. If no pidfile is specified, pid.(botnet-nick) will be used.

set sort-users 0

If you want your userfile to be sorted upon saving, enable this setting. This causes the bot to use a bit more CPU when saving the userfile.

set help-path "help/"

Specify here where Eggdrop should look for help files. Don't modify this setting unless you know what you're doing!

set text-path "text/"

Specify here where Eggdrop should look for text files. This is used for certain Tcl and DCC commands.

set temp-path "/tmp"

Set here a place to store temporary files.

set motd "text/motd"

The MOTD (Message Of The day) is displayed when people dcc chat or telnet to the bot. Look at doc/TEXT-SUBSTITUTIONS for options.

set telnet-banner "text/banner"

This banner will be displayed on telnet connections. Look at doc/TEXT-SUBSTITUTIONS for options.

set userfile-perm 0600

This specifies what permissions the user, channel, and notes files should be set to. The octal values are the same as for the chmod system command.

To remind you:

           u  g  o           u  g  o           u  g  o
     0600  rw-------   0400  r--------   0200  -w-------    u - user
     0660  rw-rw----   0440  r--r-----   0220  -w--w----    g - group
     0666  rw-rw-rw-   0444  r--r--r--   0222  -w--w--w-    o - others

Note that the default 0600 is the most secure one and should only be changed if you need your files for shell scripting or other external applications.

set mod-path "modules/"

This path specifies the path were Eggdrop should look for its modules. If you run the bot from the compilation directory, you will want to set this to "". If you use 'make install' (like all good kiddies do ;), this is a fine default. Otherwise, use your head :).

1f. Botnet, DCC and network

Settings in this section should be unimportant for you until you deal with botnets (multiple Eggdrops connected together to maximize efficiency). You should read Botnet Sharing and Linking before modifying these settings.

set botnet-nick "LlamaBot" (disabled by default)

If you want to use a different nickname on the botnet than you use on IRC (i.e. if you're on an un-trusted botnet), un-comment this line and set it to the nick you would like to use.

listen <port> <mode>

This opens a telnet port by which you and other bots can interact with the Eggdrop by telneting in.

There are more options for the listen command in Tcl Commands. Note that if you are running more than one bot on the same machine, you will want to space the telnet ports at LEAST 5 apart, although 10 is even better.

Valid ports are typically anything between 1025 and 65535 assuming the port is not already in use.

If you would like the bot to listen for users and bots in separate ports, use the following format:

listen 3333 bots
listen 4444 users

If you wish to use only one port, use this format:

listen 3333 all

You need to un-comment this line and change the port number in order to open the listen port. You should not keep this set to 3333.

set remote-boots 2

This setting defines whether or not people can boot users on the Eggdrop from other bots in your botnet. Valid settings are:

0 - allow no outside boots
1 - allow boots from sharebots
2 - allow any boots

set share-unlinks 1

This setting prohibits Eggdrop to unlink from share bots if an remote bots tells so.

set protect-telnet 0

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, in which case the connect wouldn't work anyway.

set ident-timeout 5

This settings defines a time in seconds that the bot should wait before a dcc chat, telnet, or relay connection times out.

set require-p 0

Define here whether or not a +o user still needs the +p flag to dcc the bot.

set open-telnets 0

If you want people allow to telnet in and type 'NEW' to become a new user, set this to 1. This is similar to the 'hello' msg command. The protect-telnet setting must be set to 0 to use this.

set stealth-telnets 0

If you don't want Eggdrop to identify itself as an Eggdrop on a telnet connection, set this setting to 1. Eggdrop will display 'Nickname' instead.

set use-telnet-banner 0

If you want Eggdrop to display a banner when telneting in, set this setting to 1. The telnet banner is set by 'set telnet-banner'.

set connect-timeout 15

This settings defines a timeout in seconds how long the bot should wait for a dcc chat, telnet, relay, etc connection.

set dcc-flood-thr 3

Specify here the number of lines to accept from a user on the partyline within 1 second before they are considered to be flooding and therefore get booted.

set telnet-flood 5:60

Define here how many telnet connection attempts in how many seconds from the same host constitute a flood. The correct format is Attempts:Seconds.

set paranoid-telnet-flood 1

If you want telnet-flood to apply even to +f users, set this setting to 1.

set resolve-timeout 15

Set here the amount of seconds before giving up on hostname/address lookup (you might want to increase this if you are on a slow network).

1g. More advanced settings

set firewall "!sun-barr.ebay:3666"

Set this to your socks host if your Eggdrop sits behind a firewall. If you use a Sun "telnet passthru" firewall, prefix the host with a "!".

set nat-ip "127.0.0.1"

If you have a NAT firewall (you box has an IP in one of the 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. 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

If you want all dcc file transfers to use a particular portrange either because you're behind a firewall, or for other security reasons, set it here.

set ignore-time 15

Set the time in minutes that temporary ignores should last.

set hourly-updates 00

Define here what Eggdrop considers 'hourly'. All calls to it, including such things as note notifying or userfile saving, are affected by this.

Example:

set hourly-updates 15

The bot will save its userfile 15 minutes past every hour.

set owner "MrLame, MrsLame"

Un-comment this line and set the list of owners of the bot. You NEED to change this setting.

set notify-newusers "$owner"

Who should a note be sent to when new users are learned?

set default-flags "hp"

Enter the flags that all new users should get by default. See '.help whois' on the partyline for a list of flags and their descriptions.

set whois-fields "url birthday"

Enter all user-defined fields that should be displayed in a '.whois'. This will only be shown if the user has one of these extra fields. You might prefer to comment this out and use the userinfo1.0.tcl script which provides commands for changing all of these.

set die-on-sighup 0

Enable this setting if you want your Eggdrop to die upon receiving a SIGHUP kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.

set die-on-sigterm 0

Enable this setting if you want your Eggdrop to die upon receiving a SIGTERM kill signal. Otherwise, the Eggdrop will just save its userfile and rehash.

unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set

Comment these two lines if you wish to enable the .tcl and .set commands. If you select your owners wisely, you should be okay enabling these.

set must-be-owner 1

If you enable this setting, only permanent owners (owner setting) will be able to use .tcl and .set. Moreover, if you want to only let permanent owners use .dump, then set this to 2.

unbind dcc n simul *dcc:simul

Comment out this line to add the 'simul' partyline command (owners can manipulate other people on the party line). Please select owners wisely and use this command ethically!

set max-socks 100

Set here the maximum number of socket connections you will allow. You can increase this later, but never decrease it below current usage. If you're using Tcl threads, this is a per thread maximum.

set allow-dk-cmds 1

Enable this setting if you want +d & +k users to use commands bound as -|-.

set dupwait-timeout 5

If your Eggdrop rejects bots that actually have already disconnected from another hub, but the disconnect information has not yet spread over the botnet due to lag, use this setting. The bot will wait dupwait-timeout seconds before it checks again and then finally reject the bot.

set strict-host 1

Set this to 0 if you want the bot to strip '~+-^=' characters from user@hosts before matching them. This setting is currently kept for compatibility, but will be removed from the next release. Please leave it set to 1 for now to avoid problems with your user files in the future.

set cidr-support 0

Enables cidr support for b/e/I modes if set to 1. This means the bot will understand and match modes in cidr notation, and will be able to put and enforce such bans or unban itself, if banned with a cidr mask.

Do NOT set this, if your network/server does not support cidr!

1h. Modules

After the core settings, you should start loading modules. Modules are loaded by the command "loadmodule <module>". Eggdrop looks for modules in the directory you specified by the module-path setting in the files and directories section.

Please note that for different configurations, different modules are needed. Four examples:

Channel Security Bot

This bot needs the channels, blowfish, console, dns, irc, and (if you like) ctcp modules loaded. More is not needed and makes the bot slower.

Public IRC Bot

A public bot should have all modules available loaded since they provide all functions for everyday use.

Secure Filesys Bot

This bot needs all normal IRC operating modules, but not the notes, seen, ctcp or share modules.

Limbo Bot

A limbo bot (serves as a botnet hub outside IRC) just needs the channels, console, dns, and maybe notes or share modules loaded. Of course, blowfish needs to be loaded here, too.

1i. Scripts

The scripts section should be placed at the end of the config file. All modules should be loaded and their variables should be set at this point.

source scripts/script.tcl

This line loads script.tcl from the scripts directory inside your Eggdrop's directory. All scripts should be put there, although you can place them where you like as long as you can supply a fully qualified path to them.

Some commonly loaded scripts are alltools.tcl and action.fix.tcl.

The appropriate source lines are:

source scripts/alltools.tcl
source scripts/action.fix.tcl


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-dns.html0000664000076600007660000000516411545337065016514 0ustar simplesimple Eggdrop Documentation: DNS Module

DNS Module


This module provides asynchronous dns support. This will avoid long periods where the bot just hangs there, waiting for a hostname to resolve, which will often let it timeout on all other connections.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the dns module:

loadmodule dns

There are also some variables you can set in your config file:

set dns-servers "8.8.8.8 8.8.4.4"

In case your bot has trouble finding dns servers or you want to use specific ones, you can set them here. The value is a list of dns servers. The relative order doesn't matter. You can also specify a non-standard port.
The default is to use the system specified dns servers. You don't need to modify this setting normally.

set dns-cache 86400

Specify how long should the DNS module cache replies at maximum. The value must be in seconds. Note that it will respect the TTL of the reply and this is just an upper boundary.

set dns-negcache 600

Specify how long should the DNS module cache negative replies (NXDOMAIN, DNS Lookup failed). The value must be in seconds.

set dns-maxsends 4

How many times should the DNS module resend the query for a given domain if it receives no reply?

set dns-retrydelay 3

Specify how long should the DNS module wait for a reply before resending the query. The value must be in seconds.


Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-console.html0000664000076600007660000000342211525764164017367 0ustar simplesimple Eggdrop Documentation: Console Module

Console Module


This module provides storage of console settings when you exit the bot or type .store on the partyline.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the console module:

loadmodule console

There are also some variables you can set in your config file:

set console-autosave 1

Save users console settings automatically? Otherwise, they have to use the .store command.

set force-channel 0

If a user doesn't have any console settings saved, which channel do you want them automatically put on?

set info-party 0

Enable this setting if a user's global info line should be displayed when they join a botnet channel.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/users.html0000664000076600007660000001715711525764164016323 0ustar simplesimple Eggdrop Documentation: Users and Flags

Users and Flags


People on IRC are recognized by the bot according to their nick!user@host. That is, if I am on IRC as:

*** Robey is robey@hubcap.clemson.edu (i hate milk)

Eggdrop will identify me according to "Robey!robey@hubcap.clemson.edu" and not only by my nickname.

then Eggdrop will identify me according to "ikaney@uk.defiant.org" and not by my nickname. I can change nicknames at will and it won't forget me.

Eggdrop does not have access levels like some bots. There are no meaningless numbers or titles. Instead, each user has "flags" that entitle them to certain privileges. Think of a flag as a badge. Any user can have any number of flags -- you can have no flags, or you can have all of them. Some flags are good, some are bad. Each flag is identified by a letter. A channel flag applies only to a specific channel, and a global flag applies to all channels. The standard global flags are:

n (owner)

user has absolute control. Only give this flag to people you trust completely.

m (master)

user has access to almost every feature of the bot.

t (botnet-master)

user has access to all features dealing with the botnet.

a (auto-op)

user is opped automatically upon joining a channel.

o (op)

user has op access to all of the bot's channels.

y (auto-halfop)

user is halfopped automatically upon joining a channel.

l (halfop)

user has halfop access to all of the bot's channels.

g (auto-voice)

user is voiced automatically upon joining a channel.

v (voice)

user gets +v automatically on +autovoice channels.

f (friend)

user is not punished for flooding, etc.

p (party)

user has access to the partyline.

q (quiet)

user does not get voice on +autovoice channels.

r (dehalfop)

user cannot gain halfops on any of the bot's channels.

d (deop)

user cannot gain ops on any of the bot's channels.

k (auto-kick)

user is kicked and banned automatically.

x (xfer)

user has access to the file transfer area of the bot (if it exists) and can send and receive files to/from the bot.

j (janitor)

user can perform maintenance in the file area of the bot (if it exists) -- like a "master" of the file area. Janitors have complete access to the filesystem.

c (common)

this marks a user who is connecting from a public site from which any number of people can use IRC. The user will now be recognized by NICKNAME.

b (bot)

user is a bot.

w (wasop-test)

user needs wasop test for +stopnethack procedure.

z (washalfop-test)

user needs washalfop test for +stopnethack procedure.

e (nethack-exempt)

user is exempted from stopnethack protection.

u (unshared)

user record is not sent to other bots.

h (highlight)

use bold text in help/text files.

All global flags other then u, h, b, c, x, j, and p are also channel- specific flags. Flags are set with the chattr command. The syntax for this command is:

chattr <nickname> [attributes] [channel]

There are also 26 global user-defined flags and 26 channel user-defined flags. These are used by scripts, and their uses very depending on the script that uses them.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/tcl-commands.html0000664000076600007660000054072511635651772017547 0ustar simplesimple Eggdrop Documentation: Eggdrop Tcl Commands

Eggdrop Tcl Commands


This is an exhaustive list of all the Tcl commands added to Eggdrop. All of the normal Tcl built-in commands are still there, of course, but 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.20. 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 been changed in this version of Eggdrop (or are just new commands) are marked with an asterisk (*).

  1. Output commands
  2. User record manipulation commands
  3. Channel commands
  4. DCC commands
  5. Notes module
  6. Assoc module
  7. Compress module
  8. Filesys module
  9. Miscellaneous commands
  10. Global variables
  11. Bind
    1. Bind types
    2. Return values
  12. Control procedures
  13. TCP connections
  14. Match characters

1. Output commands

putserv <text> [options]

Description: sends text to the server, like '.dump' (intended for direct server commands); output is queued so that the bot won't flood itself off the server.

Options:

-next: push messages to the front of the queue
-normal: no effect

Returns: nothing

Module: server

puthelp <text> [options]

Description: sends text to the server, like 'putserv', but it uses a different queue intended for sending messages to channels or people.

Options:

-next: push messages to the front of the queue
-normal: no effect

Returns: nothing

Module: server

putquick <text> [options]

Description: sends text to the server, like 'putserv', but it uses a different (and faster) queue.

Options:

-next: push messages to the front of the queue
-normal: no effect

Returns: nothing

Module: server

putnow <text> [-oneline]

Description: sends text to the server immediately, bypassing all queues. Use with caution, as the bot may easily flood itself off the server.

Options:

-oneline: send text up to the first \r or \n, discarding the rest

Returns: nothing

Module: server

putkick <channel> <nick,nick,...> [reason]

Description: sends kicks to the server and tries to put as many nicks into one kick command as possible.

Returns: nothing

Module: irc

putlog <text>

Description: sends text to the bot's logfile, marked as 'misc' (o)

Returns: nothing

Module: core

putcmdlog <text>

Description: sends text to the bot's logfile, marked as 'command' (c)

Returns: nothing

Module: core

putxferlog <text>

Description: sends text to the bot's logfile, marked as 'file-area' (x)

Returns: nothing

Module: core

putloglev <level(s)> <channel> <text>

Description: sends text to the bot's logfile, tagged with all of the valid levels given. Use "*" to indicate all log levels.

Returns: nothing

Module: core

dumpfile <nick> <filename>

Description: dumps file from the help/text directory to a user on IRC via msg (one line per msg). The user has no flags, so the flag bindings won't work within the file.

Returns: nothing

Module: core

queuesize [queue]

Returns: the number of messages in all queues. If a queue is specified, only the size of this queue is returned. Valid queues are: mode, server, help.

Module: server

clearqueue <queue>

Description: removes all messages from a queue. Valid arguments are: mode, server, help, or all.

Returns: the number of deleted lines from the specified queue.

Module: server

2. User record manipulation commands

countusers

Returns: number of users in the bot's database

Module: core

validuser <handle>

Returns: 1 if a user by that name exists; 0 otherwise

Module: core

finduser <nick!user@host>

Description: finds the user record which most closely matches the given nick!user@host

Returns: the handle found, or "*" if none

Module: core

userlist [flags]

Returns: a list of users on the bot. You can use the flag matching system here ([global]{&/|}[chan]{&/|}[bot]). '&' specifies "and"; '|' specifies "or".

Module: core

passwdok <handle> <pass>

Description: checks the password given against the user's password. Check against the password "" (a blank string) or "-" to find out if a user has no password set.

Returns: 1 if the password matches for that user; 0 otherwise

Module: core

getuser <handle> <entry-type> [extra info]

Description: an interface to the new generic userfile support. Valid entry types are:

BOTFL

returns the current bot-specific flags for the user (bot-only)

BOTADDR

returns a list containing the bot's address, telnet port, and relay port (bot-only)

HOSTS

returns a list of hosts for the user

LASTON

returns a list containing the unixtime last seen and the last seen place. LASTON #channel returns the time last seen time for the channel or 0 if no info exists.

INFO

returns the user's global info line

XTRA

returns the user's XTRA info

COMMENT

returns the master-visible only comment for the user

EMAIL

returns the user's e-mail address

URL

returns the user's url

HANDLE

returns the user's handle as it is saved in the userfile

PASS

returns the user's encrypted password

Returns: info specific to each entry-type

Module: core

setuser <handle> <entry-type> [extra info]

Description: this is the counterpart of getuser. It lets you set the various values. Other then the ones listed below, the entry-types are the same as getuser's.

HOSTS

if used with no third arg, all hosts for the user will be cleared. Otherwise, *1* hostmask is added :P

LASTON

This setting has 3 forms. "setuser <handle> LASTON <unixtime> <place>" sets global LASTON time, "setuser <handle> LASTON <unixtime>" sets global LASTON time (leaving the place field empty), and "setuser <handle> LASTON <unixtime> <channel>" sets a users LASTON time for a channel (if it is a valid channel).

PASS

sets a users password (no third arg will clear it)

Returns: nothing

Module: core

chhandle <old-handle> <new-handle>

Description: changes a user's handle

Returns: 1 on success; 0 if the new handle is invalid or already used, or if the user can't be found

Module: core

chattr <handle> [changes [channel]]

Description: changes the attributes for a user record, if you include any. Changes are of the form '+f', '-o', '+dk', '-o+d', etc. If changes are specified in the format of <changes> <channel>, the channel-specific flags for that channel are altered. You can now use the +o|-o #channel format here too.

Returns: new flags for the user (if you made no changes, the current flags are returned). If a channel was specified, the global AND the channel-specific flags for that channel are returned in the format of globalflags|channelflags. "*" is returned if the specified user does not exist.

Module: core

botattr <handle> [changes [channel]]

Description: similar to chattr except this modifies bot flags rather than normal user attributes.

Returns: new flags for the bot (if you made no changes, the current flags are returned). If a channel was specified, the global AND the channel-specific flags for that channel are returned in the format of globalflags|channelflags. "*" is returned if the specified bot does not exist.

Module: core

matchattr <handle> <flags> [channel]

Returns: 1 if the specified user has the specified flags; 0 otherwise

Module: core

adduser <handle> [hostmask]

Description: creates a new user entry with the handle and hostmask given (with no password and the default flags)

Returns: 1 if successful; 0 if the handle already exists

Module: core

addbot <handle> <address>

Description: adds a new bot to the userlist with the handle and bot address given (with no password and no flags)

Returns: 1 if successful; 0 if the bot already exists

Module: core

deluser <handle>

Description: attempts to erase the user record for a handle

Returns: 1 if successful, 0 if no such user exists

Module: core

delhost <handle> <hostmask>

Description: deletes a hostmask from a user's host list

Returns: 1 on success; 0 if the hostmask (or user) doesn't exist

Module: core

addchanrec <handle> <channel>

Description: adds a channel record for a user

Returns: 1 on success; 0 if the user or channel does not exist

Module: channels

delchanrec <handle> <channel>

Description: removes a channel record for a user. This includes all associated channel flags.

Returns: 1 on success; 0 if the user or channel does not exist

Module: channels

haschanrec <handle> <channel>

Returns: 1 if the given handle has a chanrec for the specified channel; 0 otherwise

Module: channels

getchaninfo <handle> <channel>

Returns: info line for a specific channel (behaves just like 'getinfo')

Module: channels

setchaninfo <handle> <channel> <info>

Description: sets the info line on a specific channel for a user. If info is "none", it will be removed.

Returns: nothing

Module: channels

newchanban <channel> <ban> <creator> <comment> [lifetime] [options]

Description: adds a ban to the ban list of a channel; creator is given credit for the ban in the ban list. lifetime is specified in minutes. If lifetime is not specified, ban-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ban.

Options:

sticky: forces the ban to be always active on a channel, even with dynamicbans on
none: no effect

Returns: nothing

Module: channels

newban <ban> <creator> <comment> [lifetime] [options]

Description: adds a ban to the global ban list (which takes effect on all channels); creator is given credit for the ban in the ban list. lifetime is specified in minutes. If lifetime is not specified, global-ban-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ban.

Options:

sticky: forces the ban to be always active on a channel, even with dynamicbans on
none: no effect

Returns: nothing

Module: channels

newchanexempt <channel> <exempt> <creator> <comment> [lifetime] [options]

Description: adds a exempt to the exempt list of a channel; creator is given credit for the exempt in the exempt list. lifetime is specified in minutes. If lifetime is not specified, exempt-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent exempt. The exempt will not be removed until the corresponding ban has been removed. For timed bans, once the time period has expired, the exempt will not be removed until the corresponding ban has either expired or been removed.

Options:

sticky: forces the exempt to be always active on a channel, even with dynamicexempts on
none: no effect

Returns: nothing

Module: channels

newexempt <exempt> <creator> <comment> [lifetime] [options]

Description: adds a exempt to the global exempt list (which takes effect on all channels); creator is given credit for the exempt in the exempt list. lifetime is specified in minutes. If lifetime is not specified, exempt-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent exempt. The exempt will not be removed until the corresponding ban has been removed.

Options:

sticky: forces the exempt to be always active on a channel, even with dynamicexempts on
none: no effect

Returns: nothing

Module: channels

newchaninvite <channel> <invite> <creator> <comment> [lifetime] [options]

Description: adds a invite to the invite list of a channel; creator is given credit for the invite in the invite list. lifetime is specified in minutes. If lifetime is not specified, invite-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent invite. The invite will not be removed until the channel has gone -i.

Options:

sticky: forces the invite to be always active on a channel, even with dynamicinvites on
none: no effect

Returns: nothing

Module: channels

newinvite <invite> <creator> <comment> [lifetime] [options]

Description: adds a invite to the global invite list (which takes effect on all channels); creator is given credit for the invite in the invite list. lifetime is specified in minutes. If lifetime is not specified, invite-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent invite. The invite will not be removed until the channel has gone -i.

Options:

sticky: forces the invite to be always active on a channel, even with dynamicinvites on
none: no effect

Returns: nothing

Module: channels

stick <banmask> [channel]

Description: makes a ban sticky, or, if a channel is specified, then it is set sticky on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

unstick <banmask> [channel]

Description: makes a ban no longer sticky, or, if a channel is specified, then it is unstuck on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

stickexempt <exemptmask> [channel]

Description: makes an exempt sticky, or, if a channel is specified, then it is set sticky on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

unstickexempt <exemptmask> [channel]

Description: makes an exempt no longer sticky, or, if a channel is specified, then it is unstuck on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

stickinvite <invitemask> [channel]

Description: makes an invite sticky, or, if a channel is specified, then it is set sticky on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

unstickinvite <invitemask> [channel]

Description: makes an invite no longer sticky, or, if a channel is specified, then it is unstuck on that channel only.

Returns: 1 on success; 0 otherwise

Module: channels

killchanban <channel> <ban>

Description: removes a ban from the ban list for a channel

Returns: 1 on success; 0 otherwise

Module: channels

killban <ban>

Description: removes a ban from the global ban list

Returns: 1 on success; 0 otherwise

Module: channels

killchanexempt <channel> <exempt>

Description: removes an exempt from the exempt list for a channel

Returns: 1 on success; 0 otherwise

Module: channels

killexempt <exempt>

Description: removes an exempt from the global exempt list

Returns: 1 on success; 0 otherwise

Module: channels

killchaninvite <channel> <invite>

Description: removes an invite from the invite list for a channel

Returns: 1 on success; 0 otherwise

Module: channels

killinvite <invite>

Description: removes an invite from the global invite list

Returns: 1 on success; 0 otherwise

Module: channels

ischanjuped <channel>

Returns: 1 if the channel is juped, and the bot is unable to join; 0 otherwise

Module: channels

isban <ban> [channel]

Returns: 1 if the specified ban is in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well.

Module: channels

ispermban <ban> [channel]

Returns: 1 if the specified ban is in the global ban list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's ban list is checked as well.

Module: channels

isexempt <exempt> [channel]

Returns: 1 if the specified exempt is in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well.

Module: channels

ispermexempt <exempt> [channel]

Returns: 1 if the specified exempt is in the global exempt list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well.

Module: channels

isinvite <invite> [channel]

Returns: 1 if the specified invite is in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well.

Module: channels

isperminvite <invite> [channel]

Returns: 1 if the specified invite is in the global invite list AND is marked as permanent; 0 otherwise. If a channel is specified, that channel's invite list is checked as well.

Module: channels

isbansticky <ban> [channel]

Returns: 1 if the specified ban is marked as sticky in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well.

Module: channels

isexemptsticky <exempt> [channel]

Returns: 1 if the specified exempt is marked as sticky in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well.

Module: channels

isinvitesticky <invite> [channel]

Returns: 1 if the specified invite is marked as sticky in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well.

Module: channels

matchban <nick!user@host> [channel]

Returns: 1 if the specified nick!user@host matches a ban in the global ban list; 0 otherwise. If a channel is specified, that channel's ban list is checked as well.

Module: channels

matchexempt <nick!user@host> [channel]

Returns: 1 if the specified nick!user@host matches an exempt in the global exempt list; 0 otherwise. If a channel is specified, that channel's exempt list is checked as well.

Module: channels

matchinvite <nick!user@host> [channel]

Returns: 1 if the specified nick!user@host matches an invite in the global invite list; 0 otherwise. If a channel is specified, that channel's invite list is checked as well.

Module: channels

banlist [channel]

Returns: a list of global bans, or, if a channel is specified, a list of channel-specific bans. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format.

Module: channels

exemptlist [channel]

Returns: a list of global exempts, or, if a channel is specified, a list of channel-specific exempts. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format.

Module: channels

invitelist [channel]

Returns: a list of global invites, or, if a channel is specified, a list of channel-specific invites. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, last time active, and creator. The three timestamps are in unixtime format.

Module: channels

newignore <hostmask> <creator> <comment> [lifetime]

Description: adds an entry to the ignore list; creator is given credit for the ignore. lifetime is how many minutes until the ignore expires and is removed. If lifetime is not specified, ignore-time (usually 60) is used. Setting the lifetime to 0 makes it a permanent ignore.

Returns: nothing

Module: core

killignore <hostmask>

Description: removes an entry from the ignore list

Returns: 1 if successful; 0 otherwise

Module: core

ignorelist

Returns: a list of ignores. Each entry is a sublist containing: hostmask, comment, expiration timestamp, time added, and creator. The timestamps are in unixtime format.

Module: core

isignore <hostmask>

Returns: 1 if the ignore is in the list; 0 otherwise

Module: core

save

Description: writes the user and channel files to disk

Returns: nothing

Module: core

reload

Description: loads the userfile from disk, replacing whatever is in memory

Returns: nothing

Module: core

backup

Description: makes a simple backup of the userfile that's on disk. If the channels module is loaded, this also makes a simple backup of the channel file.

Returns: nothing

Module: core

getting-users

Returns: 1 if the bot is currently downloading a userfile from a sharebot (and hence, user records are about to drastically change); 0 if not

Module: core

3. Channel commands

channel add <name> [option-list]

Description: adds a channel record for the bot to monitor. The full list of possible options are given in doc/settings/mod.channels. Note that the channel options must be in a list (enclosed in {}).

Returns: nothing

Module: channels

channel set <name> <options...>

Description: sets options for the channel specified. The full list of possible options are given in doc/settings/mod.channels.

Returns: nothing

Module: channels

channel info <name>

Returns: a list of info about the specified channel's settings.

Module: channels

channel get <name> <setting>

Returns: The value of the setting you specify. For flags, a value of 0 means it is disabled (-), and non-zero means enabled (+).

Module: channels

channel remove <name>

Description: removes a channel record from the bot and makes the bot no longer monitor the channel

Returns: nothing

Module: channels

savechannels

Description: saves the channel settings to the channel-file if one is defined.

Returns: nothing

Module: channels

loadchannels

Description: reloads the channel settings from the channel-file if one is defined.

Returns: nothing

Module: channels

channels

Returns: a list of the channels the bot has a channel record for

Module: channels

channame2dname <channel-name>
chandname2name <channel-dname>

Description: these two functions are important to correctly support !channels. The bot differentiates between channel description names (chan dnames) and real channel names (chan names). The chan dnames are what you would normally call the channel, such as "!channel". The chan names are what the IRC server uses to identify the channel. They consist of the chan dname prefixed with an ID; such as "!ABCDEchannel".

For bot functions like isop, isvoice, etc. you need to know the chan dnames. If you communicate with the server, you usually get the chan name, though. That's what you need the channame2dname function for.

If you only have the chan dname and want to directly send raw server commands, use the chandname2name command.

For non-!channels, chan dname and chan name are the same.

Module: irc

isbotnick <nick>

Returns: 1 if the nick matches the botnick; 0 otherwise

Module: server

botisop [channel]

Returns: 1 if the bot has ops on the specified channel (or any channel if no channel is specified); 0 otherwise

Module: irc

botishalfop [channel]

Returns: 1 if the bot has halfops on the specified channel (or any channel if no channel is specified); 0 otherwise

Module: irc

botisvoice [channel]

Returns: 1 if the bot has a voice on the specified channel (or any channel if no channel is specified); 0 otherwise

Module: irc

botonchan [channel]

Returns: 1 if the bot is on the specified channel (or any channel if no channel is specified); 0 otherwise

Module: irc

isop <nickname> [channel]

Returns: 1 if someone by the specified nickname is on the channel (or any channel if no channel name is specified) and has ops; 0 otherwise

Module: irc

ishalfop <nickname> [channel]

Returns: 1 if someone by the specified nickname is on the channel (or any channel if no channel name is specified) and has halfops; 0 otherwise

Module: irc

wasop <nickname> <channel>

Returns: 1 if someone that just got opped/deopped in the chan had op before the modechange; 0 otherwise

Module: irc

washalfop <nickname> <channel>

Returns: 1 if someone that just got halfopped/dehalopped in the chan had halfop before the modechange; 0 otherwise

Module: irc

isvoice <nickname> [channel]

Returns: 1 if someone by that nickname is on the channel (or any channel if no channel is specified) and has voice (+v); 0 otherwise

Module: irc

onchan <nickname> [channel]

Returns: 1 if someone by that nickname is on the specified channel (or any channel if none is specified); 0 otherwise

Module: irc

nick2hand <nickname> [channel]

Returns: the handle of a nickname on a channel. If a channel is not specified, the bot will check all of its channels. If the nick is not found, "" is returned. If the nick is found but does not have a handle, "*" is returned.

Module: irc

hand2nick <handle> [channel]

Returns: nickname of the first person on the specified channel (if one is specified) whose nick!user@host matches the given handle; "" is returned if no match is found. If no channel is specified, all channels are checked.

Module: irc

handonchan <handle> [channel]

Returns: 1 if the the nick!user@host for someone on the channel (or any channel if no channel name is specified) matches for the handle given; 0 otherwise

Module: irc

ischanban <ban> <channel>

Returns: 1 if the specified ban is on the given channel's ban list (not the bot's banlist for the channel)

Module: irc

ischanexempt <exempt> <channel>

Returns: 1 if the specified exempt is on the given channel's exempt list (not the bot's exemptlist for the channel)

Module: irc

ischaninvite <invite> <channel>

Returns: 1 if the specified invite is on the given channel's invite list (not the bot's invitelist for the channel)

Module: irc

chanbans <channel>

Returns: a list of the current bans on the channel. Each element is a sublist of the form {<ban> <bywho> <age>}. age is seconds from the bot's point of view

Module: irc

chanexempts <channel>

Returns: a list of the current exempts on the channel. Each element is a sublist of the form {<exempts> <bywho> <age>}. age is seconds from the bot's point of view

Module: irc

chaninvites <channel>

Returns: a list of the current invites on the channel. Each element is a sublist of the form {<invites> <bywho> <age>}. age is seconds from the bot's point of view

Module: irc

resetbans <channel>

Description: removes all bans on the channel that aren't in the bot's ban list and refreshes any bans that should be on the channel but aren't

Returns: nothing

Module: irc

resetexempts [channel]

Description: removes all exempt on the channel that aren't in the bot's exempt list and refreshes any exempts that should be on the channel but aren't

Returns: nothing

Module: irc

resetinvites [channel]

Description: removes all invites on the channel that aren't in the bot's invite list and refreshes any invites that should be on the channel but aren't

Returns: nothing

Module: irc

resetchanidle [nick] <channel>

Description: resets the channel idle time for the given nick or for all nicks on the channel if no nick is specified.

Returns: nothing

Module: irc

resetchanjoin [nick] <channel>

Description: resets the channel join time for the given nick or for all nicks on the channel if no nick is specified.

Returns: nothing

Module: irc

resetchan <channel> [flags]

Description: rereads in the channel info from the server. If flags are specified, only the required information will be reset, according to the given flags. Available flags are:

b

reset channel bans

e

reset channel exempts

I

reset channel invites

m

reset channel modes

t

refresh channel topic

w

refresh memberlist

Returns: nothing

Module: irc

getchanhost <nickname> [channel]

Returns: user@host of the specified nickname (the nickname is not included in the returned host). If a channel is not specified, bot will check all of its channels. If the nickname is not on the channel(s), "" is returned.

Module: irc

getchanjoin <nickname> <channel>

Returns: timestamp (unixtime format) of when the specified nickname joined the channel if available, 0 otherwise. Note that after a channel reset this information will be lost, even if previously available.

Module: irc

onchansplit <nick> [channel]

Returns: 1 if that nick is split from the channel (or any channel if no channel is specified); 0 otherwise

Module: irc

chanlist <channel> [flags[&chanflags]]

Description: flags are any global flags; the '&' denotes to look for channel specific flags. Examples:

n

Global Owner

&n

Channel Owner

o&m

Global Op, Channel Master

Returns: list of nicknames currently on the bot's channel that have all of the flags specified;. If no flags are given, all of the nicknames are returned. Please note that if you're executing chanlist after a part or sign bind, the gone user will still be listed, so you can check for wasop, isop, etc.

Module: irc

getchanidle <nickname> <channel>

Returns: number of minutes that person has been idle; 0 if the specified user isn't on the channel

Module: irc

getchanmode <channel>

Returns: string of the type "+ntik key" for the channel specified

Module: irc

jump [server [port [password]]]

Description: jumps to the server specified, or (if none is specified) the next server in the bot's serverlist

Returns: nothing

Module: server

pushmode <channel> <mode> [arg]

Description: sends out a channel mode change (ex: pushmode #lame +o goober) through the bot's queuing system. All the mode changes will be sent out at once (combined into one line as much as possible) after the script finishes, or when 'flushmode' is called.

Returns: nothing

Module: irc

flushmode <channel>

Description: forces all previously pushed channel mode changes to be sent to the server, instead of when the script is finished (just for the channel specified)

Returns: nothing

Module: irc

topic <channel>

Returns: string containing the current topic of the specified channel

Module: irc

validchan <channel>

Description: checks if the bot has a channel record for the specified channel. Note that this does not necessarily mean that the bot is ON the channel.

Returns: 1 if the channel exists, 0 if not

Module: nothing

isdynamic <channel>

Returns: 1 if the channel is a dynamic channel; 0 otherwise

Module: channels

setudef <flag/int/str> <name>

Description: initializes a user defined channel flag, string, or integer setting. You can use it like any other flag/setting. IMPORTANT: Don't forget to reinitialize your flags/settings after a restart, or it'll be lost.

Returns: nothing

Module: channels

renudef <flag/int/str> <oldname> <newname>

Description: renames a user defined channel flag, string, or integer setting.

Returns: nothing

Module: channels

deludef <flag/int/str> <name>

Description: deletes a user defined channel flag, string, or integer setting.

Returns: nothing

Module: channels

4. Dcc commands

putdcc <idx> <text> [-raw]

Description: sends text to the idx specified. If -raw is specified, the text will be sent as is, without forced new lines or limits to line length.

Returns: nothing

Module: core

dccbroadcast <message>

Description: sends a message to everyone on the party line across the botnet, in the form of "*** <message>" for local users and "*** (Bot) <message>" for users on other bots

Returns: nothing

Module: core

dccputchan <channel> <message>

Description: sends your message to everyone on a certain channel on the botnet, in a form exactly like dccbroadcast does. Valid channels are 0 through 99999.

Returns: nothing

Module: core

boot <user@bot> [reason]

Description: boots a user from the partyline

Returns: nothing

Module: core

dccsimul <idx> <text>

Description: simulates text typed in by the dcc user specified. Note that in v0.9, this only simulated commands; now a command must be preceded by a '.' to be simulated.

Returns: nothing

Module: core

hand2idx <handle>

Returns: the idx (a number greater than or equal to zero) for the user given if the user is on the party line in chat mode (even if she is currently on a channel or in chat off), the file area, or in the control of a script. -1 is returned if no idx is found. If the user is on multiple times, the oldest idx is returned.

Module: core

idx2hand <idx>

Returns: handle of the user with the given idx

Module: core

valididx <idx>

Returns: 1 if the idx currently exists; 0 otherwise

Module: core

getchan <idx>

Returns: the current party line channel for a user on the party line; "0" indicates he's on the group party line, "-1" means he has chat off, and a value from 1 to 99999 is a private channel

Module: core

setchan <idx> <channel>

Description: sets a party line user's channel. The party line user is not notified that she is now on a new channel. A channel name can be used (provided it exists).

Returns: nothing

Module: core

console <idx> [channel] [console-modes]

Description: changes a dcc user's console mode, either to an absolute mode (like "mpj") or just adding/removing flags (like "+pj" or "-moc" or "+mp-c"). The user's console channel view can be changed also (as long as the new channel is a valid channel).

Returns: a list containing the user's (new) channel view and (new) console modes, or nothing if that user isn't currently on the partyline

Module: core

echo <idx> [status]

Description: turns a user's echo on or off; the status has to be a 1 or 0

Returns: new value of echo for that user (or the current value, if status was omitted)

Module: core

strip <idx> [+/-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

Returns: new strip-flags for the specified user (or the current flags, if strip-flags was omitted)

Module: core

putbot <bot-nick> <message>

Description: sends a message across the botnet to another bot. If no script intercepts the message on the other end, the message is ignored.

Returns: nothing

Module: core

putallbots <message>

Description: sends a message across the botnet to all bots. If no script intercepts the message on the other end, the message is ignored.

Returns: nothing

Module: core

killdcc <idx>

Description: kills a partyline or file area connection

Returns: nothing

Module: core

bots

Returns: list of the bots currently connected to the botnet

Module: core

botlist

Returns: a list of bots currently on the botnet. Each item in the list is a sublist with four elements: bot, uplink, version, sharing status:

bot

the bot's botnetnick

uplink

the bot the bot is connected to

version

its current numeric version

sharing

a "+" if the bot is a sharebot; "-" otherwise

Module: core

islinked <bot>

Returns: 1 if the bot is currently linked; 0 otherwise

Module: core

dccused

Returns: number of dcc connections currently in use

Module: core

dcclist [type]

Returns: a list of active connections, each item in the list is a sublist containing six elements: {<idx> <handle> <hostname> <type> {<other>} <timestamp>}

The types are: chat, bot, files, file_receiving, file_sending, file_send_pending, script, socket (these are connections that have not yet been put under 'control'), telnet, and server. The timestamp is in unixtime format.

Module: core

whom <chan>

Returns: list of people on the botnet who are on that channel. 0 is the default party line. Each item in the list is a sublist with six elements: nickname, bot, hostname, access flag ('-', '@', '+', or '*'), minutes idle, and away message (blank if the user is not away). If you specify * for channel, every user on the botnet is returned with an extra argument indicating the channel the user is on.

Module: core

getdccidle <idx>

Returns: number of seconds the dcc chat/file system/script user has been idle

Module: core

getdccaway <idx>

Returns: away message for a dcc chat user (or "" if the user is not set away)

Module: core

setdccaway <idx> <message>

Description: sets a party line user's away message and marks them away. If set to "", the user is marked as no longer away.

Returns: nothing

Module: core

connect <host> <port>

Description: makes an outgoing connection attempt and creates a dcc entry for it. A 'control' command should be used immediately after a successful 'connect' so no input is lost.

Returns: idx of the new connection

Module: core

listen <port> <type> [options] [flag]

Description: opens a listening port to accept incoming telnets; type must be one of "bots", "all", "users", "script", or "off":

listen <port> bots [mask]

Description: accepts connections from bots only; the optional mask is used to identify permitted bot names. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from.

Returns: port number

listen <port> users [mask]

Description: accepts connections from users only (no bots); the optional mask is used to identify permitted nicknames. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from.

Returns: port number

listen <port> all [mask]

Description: accepts connections from anyone; the optional mask is used to identify permitted nicknames/botnames. If the mask begins with '@', it is interpreted to be a mask of permitted hosts to accept connections from.

Returns: port number

listen <port> script <proc> [flag]

Description: accepts connections which are immediately routed to a proc. The proc is called with one parameter: the idx of the new connection. Flag may currently only be 'pub', which makes the bot allow anyone to connect.

Returns: port number

listen <port> off

Description: stop listening on a port

Returns: nothing

Module: core

dccdumpfile <idx> <filename>

Description: dumps out a file from the text directory to a dcc chat user. The flag matching that's used everywhere else works here, too.

Returns: nothing

Module: core

5. Notes module

notes <user> [numberlist]

Returns: -1 if no such user, -2 if notefile failure. If a numberlist is not specified, the number of notes stored for the user is returned. Otherwise, a list of sublists containing information about notes stored for the user is returned. Each sublist is in the format of: {<from> <timestamp> <note text>}.

Module: notes

erasenotes <user> <numberlist>

Description: erases some or all stored notes for a user. Use '-' to erase all notes.

Returns: -1 if no such user, -2 if notefile failure, 0 if no such note, or number of erased notes.

Module: notes

listnotes <user> <numberlist>

Description: lists existing notes according to the numberlist (ex: "2-4;8;16-")

Returns: -1 if no such user, -2 if notefile failure, 0 if no such note, list of existing notes.

Module: notes

storenote <from> <to> <msg> <idx>

Description: stores a note for later reading, notifies idx of any results (use idx -1 for no notify).

Returns: 0 on success; non-0 on failure

Module: notes

6. Assoc module

assoc <chan> [name]

Description: sets the name associated with a botnet channel, if you specify one

Returns: current name for that channel, if any

Module: assoc

killassoc <chan>

Description: removes the name associated with a botnet channel, if any exists. Use 'killassoc &' to kill all assocs.

Returns: nothing

Module: assoc

7. Compress module

compressfile [-level <level>] <src-file> [target-file]
uncompressfile <src-file> [target-file]

Description: compresses or un-compresses files. The level option specifies the compression mode to use when compressing. Available modes are from 0 (minimum CPU usage, minimum compression) all the way up to 9 (maximum CPU usage, maximum compression). If you don't specify the target-file, the src-file will be overwritten.

Returns: nothing

Module: compress

iscompressed <filename>

Description: determines whether <filename> is gzip compressed. Returns 1 if it is, 0 if it isn't, and 2 if some kind of error prevented the checks from succeeding.

Returns: nothing

Module: compress

8. Filesys module

setpwd <idx> <dir>

Description: changes the directory of a file system user, in exactly the same way as a 'cd' command would. The directory can be specified relative or absolute.

Returns: nothing

Module: filesys

getpwd <idx>

Returns: the current directory of a file system user

Module: filesys

getfiles <dir>

Returns: a list of files in the directory given; the directory is relative to dcc-path

Module: filesys

getdirs <dir>

Returns: a list of subdirectories in the directory given; the directory is relative to dcc-path

Module: filesys

dccsend <filename> <ircnick>

Description: attempts to start a dcc file transfer to the given nick; the filename must be specified either by full pathname or in relation to the bot's startup directory

Returns:

0

success

1

the dcc table is full (too many connections)

2

can't open a socket for the transfer

3

the file doesn't exist

4

the file was queued for later transfer, which means that person has too many file transfers going right now

5

copy-to-tmp is enabled and the file already exists in the temp directory

Module: transfer

filesend <idx> <filename> [ircnick]

Description: like dccsend, except it operates for a current filesystem user, and the filename is assumed to be a relative path from that user's current directory

Returns: 0 on failure; 1 on success (either an immediate send or a queued send)

Module: filesys

fileresend <idx> <filename> [ircnick]

Description: functions like filesend, only that it sends a DCC RESEND instead of a DCC SEND, which allows people to resume aborted file transfers if their client supports that protocol. ircII/BitchX/etc. support it; mIRC does not.

Returns: 0 on failure; 1 on success (either an immediate send or a queued send)

Module: filesys

setdesc <dir> <file> <desc>

Description: sets the description for a file in a file system directory; the directory is relative to dcc-path

Returns: nothing

Module: filesys

getdesc <dir> <file>

Returns: the description for a file in the file system, if one exists

Module: filesys

setowner <dir> <file> <handle>

Description: changes the owner for a file in the file system; the directory is relative to dcc-path

Returns: nothing

Module: filesys

getowner <dir> <file>

Returns: the owner of a file in the file system

Module: filesys

setlink <dir> <file> <link>

Description: creates or changes a linked file (a file that actually exists on another bot); the directory is relative to dcc-path

Returns: nothing

Module: filesys

getlink <dir> <file>

Returns: the link for a linked file, if it exists

Module: filesys

getfileq <handle>

Returns: list of files queued by someone; each item in the list will be a sublist with two elements: nickname the file is being sent to and the filename

Module: transfer

getfilesendtime <idx>

Returns: the unixtime value for when a file transfer started, or a negative number:

-1

no matching transfer with the specified idx was found

-2

the idx matches an entry which is not a file transfer

Module: transfer

mkdir <directory> [<required-flags> [channel]]

Description: creates a directory in the file system. Only users with the required flags may access it.

Returns:

0

success

1

can't create directory

2

directory exists but is not a directory

-3

could not open filedb

Module: filesys

rmdir <directory>

Description: removes a directory from the file system.

Returns: 0 on success; 1 on failure

Module: filesys

mv <file> <destination>

Description: moves a file from its source to the given destination. The file can also be a mask, such as /incoming/*, provided the destination is a directory.

Returns: If the command was successful, the number of files moved will be returned. Otherwise, a negative number will be returned:

-1

invalid source file

-2

invalid destination

-3

destination file exists

-4

no matches found

Module: filesys

cp <file> <destination>

Description: copies a file from its source to the given destination. The file can also be a mask, such as /incoming/*, provided the destination is a directory.

Returns: If the command was successful, the number of files copied will be returned. Otherwise, a negative number will be returned:

-1

invalid source file

-2

invalid destination

-3

destination file exists

-4

no matches found

Module: filesys

getflags <dir>

Returns: the flags required to access a directory

Module: filesys

setflags <dir> [<flags> [channel]]

Description: sets the flags required to access a directory

Returns: 0 on success; -1 or -3 on failure

Module: filesys

9. Miscellaneous commands

bind <type> <flags> <keyword/mask> [proc-name]

Description: You can use the 'bind' command to attach Tcl procedures to certain events. flags are the flags the user must have to trigger the event (if applicable). proc-name is the name of the Tcl procedure to call for this command (see below for the format of the procedure call). If the proc-name is omitted, no binding is added. Instead, the current binding is returned (if it's stackable, a list of the current bindings is returned).

Returns: name of the command that was added, or (if proc-name was omitted), a list of the current bindings for this command

Module: core

unbind <type> <flags> <keyword/mask> <proc-name>

Description: removes a previously created bind

Returns: name of the command that was removed

Module: core

binds [type/mask]

Returns: a list of Tcl binds, each item in the list is a sublist of five elements: {<type> <flags> <name> <hits> <proc>}

Module: core

logfile [<modes> <channel> <filename>]

Description: creates a new logfile, which will log the modes given for the channel listed. If no logfile is specified, a list of existing logfiles will be returned. "*" indicates all channels. You can also change the modes and channel of an existing logfile with this command. Entering a blank mode and channel ("") makes the bot stop logging there.

Returns: filename of logfile created, or, if no logfile is specified, a list of logfiles such as: {mco * eggdrop.log} {jp #lame lame.log}

Module: core

maskhost <nick!user@host> [masktype]

Description: masks the given irc hostmask, so that it can match a wider set of nick/user/host combinations. The masktypes supported are compatible with mIRC's standard types.

Available types are:

0

*!user@host

1

*!*user@host

2

*!*@host

3

*!*user@*.host

4

*!*@*.host

5

nick!user@host

6

nick!*user@host

7

nick!*@host

8

nick!*user@*.host

9

nick!*@*.host

You can also specify types from 10 to 19 which correspond to types 0 to 9, but instead of using a * wildcard to replace portions of the host, only numbers in hostnames are replaced with the '?' wildcard. Same is valid for types 20-29, but instead of '?', the '*' wildcard will be used.

Returns: masked hostmask for the string given according to the masktype.

Module: core

timer <minutes> <tcl-command>

Description: executes the given Tcl command after a certain number of minutes have passed

Returns: a timerID

Module: core

utimer <seconds> <tcl-command>

Description: executes the given Tcl command after a certain number of seconds have passed

Returns: a timerID

Module: core

timers

Returns: a list of active minutely timers. Each entry in the list contains the number of minutes left till activation, the command that will be executed, and the timerID.

Module: core

utimers

Returns: a list of active secondly timers. Each entry in the list contains the number of minutes left till activation, the command that will be executed, and the timerID.

Module: core

killtimer <timerID>

Description: removes a minutely timer from the list

Returns: nothing

Module: core

killutimer <timerID>

Description: removes a secondly timer from the list

Returns: nothing

Module: core

unixtime

Returns: a long integer which represents the number of seconds that have passed since 00:00 Jan 1, 1970 (GMT).

Module: core

duration <seconds>

Returns: the number of seconds converted into years, weeks, days, hours, minutes, and seconds. 804600 seconds is turned into 1 week 2 days 7 hours 30 minutes.

Module: core

strftime <formatstring> [time]

Returns: a formatted string of time using standard strftime format. If time is specified, the value of the specified time is used. Otherwise, the current time is used.

Module: core

ctime <unixtime>

Returns: a formatted date/time string based on the current locale settings from the unixtime string given; for example "Fri Aug 3 11:34:55 1973"

Module: core

myip

Returns: a long number representing the bot's IP address, as it might appear in (for example) a DCC request

Module: core

rand <limit>

Returns: a random integer between 0 and limit-1

Module: core

control <idx> <command>

Description: removes an idx from the party line and sends all future input to the Tcl command given. The command will be called with two parameters: the idx and the input text. The command should return 0 to indicate success and 1 to indicate that it relinquishes control of the user back to the bot. If the input text is blank (""), it indicates that the connection has been dropped. Also, if the input text is blank, never call killdcc on it, as it will fail with "invalid idx".

Returns: nothing

Module: core

sendnote <from> <to[@bot]> <message>

Description: simulates what happens when one user sends a note to another

Returns:

0

the send failed

1

the note was delivered locally or sent to another bot

2

the note was stored locally

3

the user's notebox is too full to store a note

4

a Tcl binding caught the note

5

the note was stored because the user is away

Module: core

link [via-bot] <bot>

Description: attempts to link to another bot directly. If you specify a via-bot, it tells the via-bot to attempt the link.

Returns: 1 if the link will be attempted; 0 otherwise

Module: core

unlink <bot>

Description: attempts to unlink a bot from the botnet

Returns: 1 on success; 0 otherwise

Module: core

encrypt <key> <string>

Returns: encrypted string (using the currently loaded encryption module), encoded into ASCII using base-64

Module: encryption

decrypt <key> <encrypted-base64-string>

Returns: decrypted string (using the currently loaded encryption module)

Module: encryption

encpass <password>

Returns: encrypted string (using the currently loaded encryption module)

Module: encryption

die [reason]

Description: causes the bot to log a fatal error and exit completely. If no reason is given, "EXIT" is used.

Returns: nothing

Module: core

unames

Returns: the current operating system the bot is using

Module: core

dnslookup <ip-address/hostname> <proc> [[arg1] [arg2] ... [argN]]

Description: This issues an asynchronous dns lookup request. The command will block if dns module is not loaded; otherwise it will either return immediately or immediately call the specified proc (e.g. if the lookup is already cached).

As soon as the request completes, the specified proc will be called as follows: <proc> <ipaddress> <hostname> <status> [[arg1] [arg2] ... [argN]]

status is 1 if the lookup was successful and 0 if it wasn't. All additional parameters (called arg1, arg2 and argN above) get appended to the proc's other parameters.

Returns: nothing

Module: core

md5 <string>

Returns: the 128 bit MD5 message-digest of the specified string

Module: core

callevent <event>

Description: triggers the evnt bind manually for a certain event. For example: callevent rehash.

Returns: nothing

Module: core

traffic

Returns: a list of sublists containing information about the bot's traffic usage in bytes. Each sublist contains five elements: type, in-traffic today, in-traffic total, out-traffic today, out-traffic total (in that order).

Module: core

modules

Returns: a list of sublists containing information about the bot's currently loaded modules. Each sublist contains three elements: module, version, and dependencies. Each dependency is also a sublist containing the module name and version.

Module: core

loadmodule <module>

Description: attempts to load the specified module.

Returns: "Already loaded." if the module is already loaded, "" if successful, or the reason the module couldn't be loaded.

Module: core

unloadmodule <module>

Description: attempts to unload the specified module.

Returns: "No such module" if the module is not loaded, "" otherwise.

Module: core

loadhelp <helpfile-name>

Description: attempts to load the specified help file from the help/ directory.

Returns: nothing

Module: core

unloadhelp <helpfile-name>

Description: attempts to unload the specified help file.

Returns: nothing

Module: core

reloadhelp

Description: reloads the bot's help files.

Returns: nothing

Module: core

restart

Description: rehashes the bot, kills all timers, reloads all modules, and reconnects the bot to the next server in its list.

Returns: nothing

Module: core

rehash

Description: rehashes the bot

Returns: nothing

Module: core

stripcodes <strip-flags> <string>

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

matchaddr <hostmask> <address>

Description: checks if the address matches the hostmask given. The address should be in the form nick!user@host.

Returns: 1 if the address matches the hostmask, 0 otherwise.

Module: core

matchcidr <block> <address> <prefix>

Description: performs a cidr match on the specified ip addresses. IPv6 is supported, if enabled at compile time.

Returns: 1 if the address matches the block prefix, 0 otherwise.

Module: core

matchstr <pattern> <string>

Description: checks if pattern matches string. Only two wildcards are supported: '*' and '?'. Matching is case-insensitive. This command is intended as a simplified alternative to Tcl's string match.

Returns: 1 if the pattern matches the string, 0 if it doesn't.

Module: core

10. Global variables

NOTE: All config file variables are also global.

botnick

Value: the current nickname the bot is using (for example: "Valis", "Valis0", etc.)

Module: server

botname

Value: the current nick!user@host that the server sees (for example: "Valis!valis@crappy.com")

Module: server

server

Value: the current server's real name (what server calls itself) and port bot is connected to (for example: "irc.math.ufl.edu:6667") Note that this does not nececerilly match the servers internet address.

Module: server

serveraddress

Value: the current server's internet address (hostname or IP) and port bot is connected to. This will correspond to the entry in server list (for example: "eu.undernet.org:6667"). Note that this does not necessarily match the name server calls itself.

Module: server

version

Value: current bot version "1.1.2+pl1 1010201 pl1"; first item is the text version, second item is a numerical version, and any following items are the names of patches that have been added

Module: core

numversion

Value: the current numeric bot version (for example: "1010201"). Numerical version is in the format of "MNNRRPP", where:

M

major release number

NN

minor release number

RR

sub-release number

PP

patch level for that sub-release

Module: core

uptime

Value: the unixtime value for when the bot was started

Module: core

server-online

Value: the unixtime value for when the bot connected to its current server

Module: server

lastbind

Value: the last command binding which was triggered. This allows you to identify which command triggered a Tcl proc.

Module: core

isjuped

Value: 1 if bot's nick is juped(437); 0 otherwise

Module: server

handlen

Value: the value of the HANDLEN define in src/eggdrop.h

Module: core

config

Value: the filename of the config file Eggdrop is currently using

Module: core

11. Bind

You can use the 'bind' command to attach Tcl procedures to certain events. For example, you can write a Tcl procedure that gets called every time a user says "danger" on the channel.

Some bind types are marked as "stackable". That means that you can bind multiple commands to the same trigger. Normally, for example, a bind such as 'bind msg - stop msg:stop' (which makes a msg-command "stop" call the Tcl proc "msg:stop") will overwrite any previous binding you had for then msg command "stop". With stackable bindings, like 'msgm' for example, you can bind the same command to multiple procs. When the bind is triggered, ALL of the Tcl procs that are bound to it will be called.

To remove a bind, use the 'unbind' command. For example, to remove the bind for the "stop" msg command, use 'unbind msg - stop msg:stop'.

  1. Bind types

    1. MSG

      bind msg <flags> <command> <proc>
      procname <nick> <user@host> <handle> <text>

      Description: used for /msg commands. The first word of the user's msg is the command, and everything else becomes the text argument.

      Module: server

    2. DCC

      bind dcc <flags> <command> <proc>
      procname <handle> <idx> <text>

      Description: used for partyline commands; the command is the first word and everything else becomes the text argument. The idx is valid until the user disconnects. After that, it may be reused, so be careful about storing an idx for long periods of time.

      Module: core

    3. FIL

      bind fil <flags> <command> <proc>
      procname <handle> <idx> <text>

      Description: the same as DCC, except this is triggered if the user is in the file area instead of the party line

      Module: filesys

    4. PUB

      bind pub <flags> <command> <proc>
      procname <nick> <user@host> <handle> <channel> <text>

      Description: used for commands given on a channel. The first word becomes the command and everything else is the text argument.

      Module: irc

    5. MSGM (stackable)

      bind msgm <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <text>

      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. 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 triggered by text that a MSGM bind has already handled.

      Module: server

    6. PUBM (stackable)

      bind pubm <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <text>

      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. 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 triggered by text that a PUBM bind has already handled.

      Module: irc

    7. NOTC (stackable)

      bind notc <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <text> <dest>

      Description: dest will be a nickname (the bot's nickname, 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. 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 ""}} {
          global botnick; if {$dest == ""} {set dest $botnick}
          ...
        }
      

      for compatibility.

      Module: server

    8. JOIN (stackable)

      bind join <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>

      Description: triggered by someone joining the channel. The mask in the bind is matched against "#channel nick!user@host" and can contain wildcards.

      Module: irc

    9. PART (stackable)

      bind part <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <msg>

      Description: triggered by someone leaving the channel. The mask is matched against "#channel nick!user@host" and can contain wildcards. If no part message is specified, msg will be set to "".

      New Tcl procs should be declared as

        proc partproc {nick uhost hand chan {msg ""}} { ... }
      

      for compatibility.

      Module: irc

    10. SIGN (stackable)

      bind sign <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <reason>

      Description: triggered by a signoff, or possibly by someone who got netsplit and never returned. The signoff message is the last argument to the proc. Wildcards can be used in the mask, which is matched against '#channel nick!user@host'.

      Module: irc

    11. TOPC (stackable)

      bind topc <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <topic>

      Description: triggered by a topic change. mask can contain wildcards and is matched against '#channel <new topic>'.

      Module: irc

    12. KICK (stackable)

      bind kick <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <target> <reason>

      Description: triggered when someone is kicked off the channel. The mask is matched against '#channel target reason' where the target is 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.

      Module: irc

    13. NICK (stackable)

      bind nick <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel> <newnick>

      Description: triggered when someone changes nicknames. The mask is matched against '#channel newnick' and can contain wildcards. Channel is "*" if the user isn't on a channel (usually the bot not yet in a channel).

      Module: irc

    14. MODE (stackable)

      bind mode <flags> <mask> <proc>
      proc-name <nick> <user@host> <handle> <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". 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. 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 "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 mode} { ... }
      

      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 mode {target ""}} {
          if {$target != ""} {append mode " $target"}
          mode_proc $nick $uhost $hand $chan $mode
        }
        proc mode_proc {nick uhost hand chan mode} { ... }
      

      Module: irc

    15. CTCP (stackable)

      bind ctcp <flags> <keyword> <proc>
      proc-name <nick> <user@host> <handle> <dest> <keyword> <text>

      Description: dest will be a nickname (the bot's nickname, obviously) or channel name. keyword is the ctcp command (which can contain wildcards), and text may be empty. If the proc returns 0, the bot will attempt its own processing of the ctcp command.

      Module: server

    16. CTCR (stackable)

      bind ctcr <flags> <keyword> <proc>
      proc-name <nick> <user@host> <handle> <dest> <keyword> <text>

      Description: just like ctcp, but this is triggered for a ctcp-reply (ctcp embedded in a notice instead of a privmsg)

      Module: server

    17. RAW (stackable)

      bind raw <flags> <keyword-mask> <proc>
      procname <from> <keyword> <text>

      Description: previous versions of Eggdrop required a special compile option to enable this binding, but it's now standard. The keyword is either a numeric, like "368", or a keyword, such as "PRIVMSG". from will be the server name or the source user (depending on the keyword); flags are ignored. The order of the arguments is identical to the order that the IRC server sends to the bot. The pre-processing only splits it apart enough to determine the keyword. If the proc returns 1, Eggdrop will not process the line any further (this could cause unexpected behavior in some cases).

      Module: server

    18. BOT

      bind bot <flags> <command> <proc>
      proc-name <from-bot> <command> <text>

      Description: triggered by a message coming from another bot in the botnet. The first word is the command and the rest becomes the text argument; flags are ignored.

      Module: core

    19. CHON (stackable)

      bind chon <flags> <mask> <proc>
      proc-name <handle> <idx>

      Description: when someone first enters the party-line area of the bot via dcc chat or telnet, this is triggered before they are connected to a chat channel (so, yes, you can change the channel in a 'chon' proc). mask is matched against the handle and supports wildcards. This is NOT triggered when someone returns from the file area, etc.

      Module: core

    20. CHOF (stackable)

      bind chof <flags> <mask> <proc>
      proc-name <handle> <idx>

      Description: triggered when someone leaves the party line to disconnect from the bot. mask is matched against the handle and can contain wildcards. Note that the connection may have already been dropped by the user, so don't send output to the idx.

      Module: core

    21. SENT (stackable)

      bind sent <flags> <mask> <proc>
      proc-name <handle> <nick> <path/to/file>

      Description: after a user has successfully downloaded a file from the bot, this binding is triggered. mask is matched against the handle of the user that initiated the transfer and supports wildcards. nick is the actual recipient (on IRC) of the file. The path is relative to the dcc directory (unless the file transfer was started by a script call to 'dccsend', in which case the path is the exact path given in the call to 'dccsend').

      Module: transfer

    22. RCVD (stackable)

      bind rcvd <flags> <mask> <proc>
      proc-name <handle> <nick> <path/to/file>

      Description: triggered after a user uploads a file successfully. mask is matched against the user's handle. nick is the IRC nickname that the file transfer originated from. The path is where the file ended up, relative to the dcc directory (usually this is your incoming dir).

      Module: transfer

    23. CHAT (stackable)

      bind chat <flags> <mask> <proc>
      proc-name <handle> <channel#> <text>

      Description: when a user says something on the botnet, it invokes this binding. Flags are ignored; handle could be a user on this bot ("DronePup") or on another bot ("Eden@Wilde") and therefore 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.

      Module: core

    24. LINK (stackable)

      bind link <flags> <mask> <proc>
      proc-name <botname> <via>

      Description: triggered when a bot links into the botnet. botname is the botnetnick of the bot that just linked in; via is the bot it linked through. The mask is checked against the botnetnick of the bot that linked and supports wildcards. flags are ignored.

      Module: core

    25. DISC (stackable)

      bind disc <flags> <mask> <proc>
      proc-name <botname>

      Description: triggered when a bot disconnects from the botnet for whatever reason. Just like the link bind, flags are ignored; mask is matched against the botnetnick of the bot that unlinked. Wildcards are supported in mask.

      Module: core

    26. SPLT (stackable)

      bind splt <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>

      Description: triggered when someone gets netsplit on the channel. Be aware that this may be a false alarm (it's easy to fake a netsplit signoff message on some networks); mask may contain wildcards and is matched against '#channel nick!user@host'. Anyone who is SPLT will trigger a REJN or SIGN within the next wait-split (defined in the config file) minutes.

      Module: irc

    27. REJN (stackable)

      bind rejn <flags> <mask> <proc>
      procname <nick> <user@host> <handle> <channel>

      Description: someone who was split has rejoined. mask can contain wildcards, and is matched against '#channel nick!user@host'.

      Module: irc

    28. FILT (stackable)

      bind filt <flags> <mask> <proc>
      procname <idx> <text>

      Description: party line and file system users have their text sent through filt before being processed. If the proc returns a blank string, the text is considered parsed. Otherwise, the bot will use the text returned from the proc and continue parsing that.

      Module: core

    29. NEED (stackable)

      bind need <flags> <mask> <proc>
      procname <channel> <type>

      Description: this bind is triggered on certain events, like when the bot needs operator status or the key for a channel. The types are: op, unban, invite, limit, and key; the mask is matched against '#channel type' and can contain wildcards. flags are ignored.

      Example:

      bind need - "% op" needop < handles only need op
      bind need - "*" needall < handles all needs

      Module: irc

    30. FLUD (stackable)

      bind flud <flags> <type> <proc>
      procname <nick> <user@host> <handle> <type> <channel>

      Description: any floods detected through the flood control settings (like 'flood-ctcp') are sent here before processing. If the proc returns 1, no further action is taken on the flood; if the proc returns 0, the bot will do its normal "punishment" for the flood. The flood types are: pub, msg, join, or ctcp (and can be masked to "*" for the bind); flags are ignored.

      Module: server

    31. NOTE (stackable)

      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. 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 <flags> <mask> <proc>
      proc-name <handle> <channel#> <action>

      Description: when someone does an action on the botnet, it invokes this binding. flags are ignored; the mask is matched against the text of the action and can support wildcards.

      Module: core

    33. WALL (stackable)

      bind wall <flags> <mask> <proc>
      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. 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

    34. BCST (stackable)

      bind bcst <flags> <mask> <proc>
      proc-name <botname> <channel#> <text>

      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 <flags> <mask> <proc>
      proc-name <botname> <handle> <channel#> <flag> <idx> <user@host>

      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). Flags are ignored.

      Module: core

    36. CHPT (stackable)

      bind chpt <flags> <mask> <proc>
      proc-name <botname> <handle> <idx> <channel#>

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

      Module: core

    37. TIME (stackable)

      bind time <flags> <mask> <proc>
      proc-name <minute> <hour> <day> <month> <year>

      Description: allows you to schedule 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 four characters. Flags are ignored.

      Module: core

    38. AWAY (stackable)

      bind away <flags> <mask> <proc>
      proc-name <botname> <idx> <text>

      Description: triggers when a user goes away or comes back on the botnet. text is the reason than has been specified (text is "" when returning). mask is matched against the botnet-nick of the bot the user is connected to and supports wildcards. flags are ignored.

      Module: core

    39. LOAD (stackable)

      bind load <flags> <mask> <proc>
      proc-name <module>

      Description: triggers when a module is loaded. mask is matched against the name of the loaded module and supports wildcards; flags are ignored.

      Module: core

    40. UNLD (stackable)

      bind unld <flags> <mask> <proc>
      proc-name <module>

      Description: triggers when a module is unloaded. mask is matched against the name of the unloaded module and supports wildcards; flags are ignored.

      Module: core

    41. NKCH (stackable)

      bind nkch <flags> <mask> <proc>
      proc-name <oldhandle> <newhandle>

      Description: triggered whenever a local user's handle is changed (in the userfile). mask is matched against the user's old handle and can contain wildcards; flags are ignored.

      Module: core

    42. EVNT (stackable)

      bind evnt <flags> <type> <proc>
      proc-name <type>

      Description: Description: triggered whenever one of these events happen; flags are ignored; valid events are:

      sighup

      called on a kill -HUP <pid>

      sigterm

      called on a kill -TERM <pid>

      sigill

      called on a kill -ILL <pid>

      sigquit

      called on a kill -QUIT <pid>

      save

      called when the userfile is saved

      rehash

      called just after a rehash

      prerehash

      called just before a rehash

      prerestart

      called just before a restart

      logfile

      called when the logs are switched daily

      loaded

      called when the bot is done loading

      userfile-loaded

      called after userfile has been loaded

      connect-server

      called just before we connect to an IRC server

      init-server

      called when we actually get on our IRC server

      disconnect-server

      called when we disconnect from our IRC server

      Module: core

    43. LOST (stackable)

      bind lost <flags> <mask> <proc>
      proc-name <handle> <nick> <path> <bytes-transferred> <length-of-file>

      Description: triggered when a DCC SEND transfer gets lost, such as when the connection is terminated before all data was successfully sent/received. This is typically caused by a user abort.

      Module: transfer

    44. TOUT (stackable)

      bind tout <flags> <mask> <proc>
      proc-name <handle> <nick> <path> <bytes-transferred> <length-of-file>

      Description: triggered when a DCC SEND transfer times out. This may either happen because the dcc connection was not accepted or because the data transfer stalled for some reason.

      Module: transfer

    45. OUT (stackable)

      bind out <flags> <mask> <proc>
      proc-name <queue> <text> <queued|sent>

      Description: triggered whenever output is sent to the server. Normally the event will occur twice for each line sent: once before entering a server queue and once after the message is actually sent. This allows for more flexible logging of server output and introduces the ability to cancel messages. Mask is matched against "queue status", where status is either 'queued' or 'sent'. Queues are: mode, server, help, noqueue. noqueue is only used by the putnow tcl command.

      Module: server

    46. CRON (stackable)

      bind cron <flags> <mask> <proc>
      proc-name <minute> <hour> <day> <month> <weekday>

      Description: similar to bind TIME, but the mask is evaluated as a cron expression, e.g. "16/2 */2 5-15 7,8,9 4". It can contain up to five fields: minute, hour, day, month, weekday; delimited by whitespace. Week days are represented as 0-6, except Sunday which can be either 0 or 7. Symbolic names are not supported. The bind will be triggered if the mask matches all of the fields, except that if both day and weekday are not '*', only one of them is required to match. If any number of fields are omitted at the end, the match will proceed as if they were '*'. All cron operators are supported. Please refer to the crontab manual for their meanings. Flags are ignored.

      Module: core

    47. LOG (stackable)

      bind log <flags> <mask> <proc>
      proc-name <level> <channel> <message>

      Description: triggered whenever a message is sent to a log. The mask is matched against "channel text". The level argument to the proc will contain the level(s) the message is sent to, or '*' if the message is sent to all log levels at once. If the message wasn't sent to a specific channel, channel will be set to '*'.

      Module: core

  2. Return Values

    Several bindings pay attention to the value you return from the proc (using 'return <value>'). Usually, they expect a 0 or 1, and returning an empty return is interpreted as a 0. Be aware if you omit the return statement, the result of the last Tcl command executed will be returned by the proc. This will not likely produce the results you intended (this is a "feature" of Tcl).

    Here's a list of the bindings that use the return value from procs they trigger:

    1. MSG

      Return 1 to make Eggdrop log the command as:

      (nick!user@host) !handle! command

    2. DCC

      Return 1 to make Eggdrop log the command as:

      #handle# command

    3. FIL

      Return 1 to make Eggdrop log the command as:

      #handle# files: command

    4. PUB

      Return 1 to make Eggdrop log the command as:

      <<nick>> !handle! command

    5. 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 (possibly an error message if it doesn't know how to deal with it).

    6. FILT

      Return "" to indicate the text has been processed, and the bot should just ignore it. Otherwise, it will treat the text like any other.

    7. FLUD

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

    8. RAW

      Return 1 to ask the bot not to process the server text. This can affect the bot's performance by causing it to miss things that it would normally act on -- you have been warned.

    9. CHON

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

    10. CHOF

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

    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.

    16. OUT

      Return 1 to make Eggdrop drop the message instead of sending it. Only meaningful for messages with status "queued".

12. Control procedures

Using the 'control' command, you can put a DCC connection (or outgoing TCP connection) in control of a script. All text received from the connection is sent to the proc you specify. All outgoing text should be sent with 'putdcc'.

The control procedure is called with these parameters:

procname <idx> <input-text>

This allows you to use the same proc for several connections. The idx will stay the same until the connection is dropped. After that, it will probably get reused for a later connection.

To indicate that the connection has closed, your control procedure will be called with blank text (the input-text will be ""). This is the only time it will ever be called with "" as the text, and it is the last time your proc will be called for that connection. Don't call killdcc on the idx when text is blank, it will always fail with "invalid idx".

If you want to hand control of your connection back to Eggdrop, your proc should return 1. Otherwise, return 0 to retain control.

13. TCP connections

Eggdrop allows you to make two types of TCP ("telnet") connections: outgoing and incoming. For an outgoing connection, you specify the remote host and port to connect to. For an incoming connection, you specify a port to listen on.

All of the connections are *event driven*. This means that the bot will trigger your procs when something happens on the connection, and your proc is expected to return as soon as possible. Waiting in a proc for more input is a no-no.

To initiate an outgoing connection, use:

set idx [connect <hostname> <port>]

$idx now contains a new DCC entry for the outgoing connection.

All connections use non-blocking (commonly called "asynchronous", which is a misnomer) I/O. Without going into a big song and dance about asynchronous I/O, what this means to you is:

  • assume the connection succeeded immediately

  • if the connection failed, an EOF will arrive for that idx

The only time a 'connect' will return an error is if you give it a hostname that can't be resolved (this is considered a "DNS error"). Otherwise, it will appear to have succeeded. If the connection failed, you will immediately get an EOF.

Right after doing a 'connect' call, you should set up a 'control' for the new idx (see the section above). From then on, the connection will act just like a normal DCC connection that has been put under the control of a script. If you ever return "1" from the control proc (indicating that you want control to return to Eggdrop), the bot will just close the connection and dispose of it. Other commands that work on normal DCC connections, like 'killdcc' and 'putdcc', will work on this idx, too. The 'killdcc' command will fail with "invalid idx" if you attempt to use it on a closed socket.

To create a listen port, use:

listen <port> script <proc>

Procs should be declared as:

procname <newidx>

For example:

  listen 6687 script listen:grab

  proc listen:grab {newidx} {
    control $newidx listen:control
  }

When a new connection arrives in port 6687, Eggdrop will create a new idx for the connection. That idx is sent to 'listen:grab'. The proc immediately puts this idx under control. Once 'listen:grab' has been called, the idx behaves exactly like an outgoing connection would.

The best way to learn how to use these commands is to find a script that uses them and follow it carefully. However, hopefully this has given you a good start.

14. Match characters

Many of the bindings allow match characters in the arguments. Here are the four special characters:

?

matches any single character

*

matches 0 or more characters of any type

%

matches 0 or more non-space characters (can be used to match a single word)

~

matches 1 or more space characters (can be used for whitespace between words)


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/readme.html0000664000076600007660000005737011525764164016420 0ustar simplesimple Eggdrop Documentation: Readme

Readme


Please at least SKIM this document before asking questions. In fact, READ IT if you've never successfully set up an Eggdrop bot before.

Contents

  1. Important notice
  2. What is Eggdrop?
  3. How do I get Eggdrop?
    1. How to get the latest version of Eggdrop via CVS
  4. Quick startup
  5. Upgrading
    1. Upgrading from a pre-1.3 version to 1.6
    2. Upgrading from an older 1.3/1.4/1.5/1.6 version to 1.6
  6. Command line
  7. Setting up a crontab
    1. Setting up a crontab using autobotchk
  8. Boring legal stuff
  9. Mailing list
  10. Documentation
  11. Obtaining help

1. Notice

Please read this file carefully before trying to set up Eggdrop. Also, make SURE that you select your +n (owner) users wisely! They have 100% access to your bot and account! ONLY GIVE THIS POWER TO SOMEONE YOU TRUST COMPLETELY!!

2. What is Eggdrop?

Eggdrop is the World's most popular Internet Relay Chat (IRC) bot; it is freely distributable under the GNU General Public License (GPL). Eggdrop is a feature rich program designed to be easily used and expanded upon by both novice and advanced IRC users on a variety of hardware and software platforms.

An IRC bot is a program that sits on an IRC channel and performs automated tasks while looking just like a normal user on the channel. Some of these functions include protecting the channel from abuse, allowing privileged users to gain op or voice status, logging channel events, providing information, hosting games, etc.

One of the features that makes Eggdrop stand out from other bots is module and Tcl scripting support. With scripts and modules, you can make the bot perform almost any task you want. They can do anything from preventing floods to greeting users and banning advertisers from channels.

You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods efficiently, and even link channels across multiple IRC networks. It also allows the Eggdrops share user lists, ban lists, exempt/invite lists, and ignore lists with other bots if userfile sharing is enabled. This allows users to have the same access on every bot on your botnet. It also allows the bots to distribute tasks such as opping and banning users. See Botnet Sharing and Linking for information on setting up a botnet.

Eggdrop is always being improved and adjusted because there are bugs to be fixed and features to be added (if the users demand them, and they make actually sense). In fact, it existed for several years as v0.7 - v0.9 before finally going 1.0. This version of Eggdrop is part of the 1.6 tree. A valiant effort has been made to chase down and destroy bugs.

This readme file contains information about how to get Eggdrop, command line options for Eggdrop, what you may need to do when upgrading from older versions, a list of frequently asked questions, how to set up a crontab, some boring legal stuff, info about the mailing list (a great place to ask questions, and a good place to report bugs, also), some basics about CVS usage, and some channels where you might get help with Eggdrop.

3. How to get Eggdrop

Before you can compile Eggdrop, you need to have Tcl installed on your system. Most systems should have Tcl on them by now -- you can check by trying the command "tclsh". If it works, you will be given a "%" prompt, and you can type "exit" to exit the program. This means Tcl is installed on your system. If tclsh doesn't load, then Tcl probably isn't on your system, and you will need to install it. The best ftp site for Tcl is ftp://tcl.activestate.com/pub/tcl/.

Tcl comes with the Slackware distribution of Linux. HOWEVER, the one that comes on Slackware 3.0 is goofed up and you'll have to reinstall it for yourself to get it working.

Currently, the 1.6 tree of Eggdrop is developed at eggheads.org. You can get the latest version of Eggdrop from geteggdrop.com.

You might also try www.eggheads.org for more help and information.

3a. How to get the latest version of Eggdrop via CVS

You can obtain the very latest version of Eggdrop, that is still under development, by using CVS. CVS means 'Concurrent Versions System' and is a tool for developers to always keep source code up to date. Try 'man cvs' on your shell for more information about CVS.

This is intended only for users that know a good bit about Eggdrop. Be aware that the versions of Eggdrop that you get via CVS are still being developed, and may be buggy. The Eggheads Development Team will in NO WAY take any responsibility for whatever might happen to you or your shell if you use a CVS version of Eggdrop.

To obtain Eggdrop via CVS:

  1. Log into your shell.
  2. Type 'export CVSROOT=:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot' .
  3. Type 'cvs login'.
  4. Press <enter> when prompted for a password.
  5. In your home dir, type 'cvs checkout eggdrop1.6'.
  6. In ~/eggdrop1.6, you should have a copy of the latest CVS version of Eggdrop.

Notes:

  1. You can 'cvs logout', but you don't need to.
  2. You don't need to go through this whole process every time. If you want to get a CVS version of Eggdrop at a later time, you can just 'cd ~/eggdrop1.6' and type 'cvs update -CdAP'.
  3. If you experience errors when using 'export', you might be using tclsh as a shell. If so, try using the command 'setenv' instead of 'export':

    'setenv CVSROOT :pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'

4. Quick startup

Please see Compilation and Installation of Eggdrop AFTER you finish reading this file.

5. Upgrading

5a. Upgrading from a pre-1.3 version to 1.6

BACK UP YOUR USERFILE

We can't stress this enough. If you are upgrading and you have even a slight possibility of downgrading again later, you will HAVE to back up your userfile, or you will lose it. v1.3 of Eggdrop radically changed a lot of things.

There are many major changes between v0.9, v1.0, v1.1 and v1.6, so PAY ATTENTION to this part if you have a v0.9, 1.0 or 1.1 bot currently. If you're just starting out, you can skip this section.

If you run share bots, you will need to upgrade them all at the same time because of the new userfile format. Older bots will be able to link in, but will not get or send a userfile. MAKE A NEW CONFIG FILE from the example; there are some radical changes.

If you are upgrading from 0.9/1.0 to 1.6, just redo the whole thing. Absolutely everything has changed, including the userfile and config file formats.

If you are upgrading from 1.1/1.2 to 1.6, you will likely want to redo the config file, as much as changed. BACK UP! You will need to run 'tclsh scripts/weed/<userfile> c' to convert your userfile from v3 (1.1/1.2) to v4 (1.3/1.4/1.5/1.6).

5b. Upgrading from an older 1.3/1.4/1.5/ 1.6 version to a newer 1.6 version

If you followed Compilation and Installation of Eggdrop and did a 'make install' (or 'make install DEST="path"') after 'make', this will be pretty easy. Just upload the new eggdrop1.6.x.tar.gz file to your home dir on your shell, gunzip and untar it, and type 'cd ~/eggdrop1.6.x'. Next, type './configure', 'make config' or 'make iconfig', then 'make'. Then, kill the bot ('.die' on the party line), and 'make install' to the same directory your bot is currently in. After that, you can just restart your bot. You may wish to delete the old Eggdrop executable and modules as well, especially if you have limited disk space.

You should read through the new eggdrop.conf file for all of the new options in Eggdrop 1.6.x if you are upgrading from 1.3.x or 1.4.x. You can copy and paste any of these settings into you current conf file if you do not want to use the default settings.

6. Command line

Eggdrop has some command-line options -- not many, because most things should be defined through the config file. However, sometimes you may want to start up the bot in a different mode, and the command-line options let you do that. Basically, the command line for Eggdrop is:

% eggdrop [options] [config-file]

The options available are:

-n

Don't background. Normally, Eggdrop will move itself into the background when you start it up, meaning you'll get another shell prompt, and you can do other things while the bot is running. With -n, you won't return to the shell prompt until the bot exits (which won't normally happen until it's killed). By default, -n will send all log entries to the console.

-nt

Don't background, use terminal. This is just like -n, except that instead of seeing log entries, your console will simulate a DCC chat with the bot.

-nc

Don't background, show channel info. This is just like -n, except that instead of seeing log entries, every 10 seconds your screen will clear and you will see the current channel status, sort of like "top".

-m

Create userfile. If you don't have a userfile, this will make Eggdrop create one and give owner status to the first person that introduces himself or herself to it. You'll need to do this when you first set up your bot.

-h

Show help.

-v

Show version info, then quit.

Most people never use any of the options except -m, and you usually only need to use that once.

7. Setting up a crontab

Eggdrop has become more stable with time, thanks mostly to people reporting bug details and helping find places where it crashes. However, there are still a -few- places where things aren't perfect. Few, if any, things in life are.

Also, most systems go down from time to time. These things cause your bot to disappear from IRC, and you have to restart it.

Eggdrop comes with a shell script called 'botchk' that will help keep the bot online. It will make the machine check every ten minutes to make sure your bot is still running. To use it, you have to add a line to your crontab. First, edit 'botchk' and change the directory and command line parameters so that it will be able to start up your bot. Then, add this line to your crontab:

0,10,20,30,40,50 * * * * /home/mydir/botchk

If you don't want to get e-mails from cron, use this:

0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1

Naturally, you need to change the path to the correct path for botchk. If you've never used crontab before, here is a simple way to add that line:

  1. Create a new file called 'mycron' and put the above line into it.
  2. From your shell prompt, type '% crontab mycron'.

That will create a new crontab entry for you with a line that runs botchk every ten minutes. Botchk will then restart the bot when necessary (and send you email informing you).

7a. Setting up a crontab using autobotchk

Included with your Eggdrop is a utility called 'autobotchk'. Using autobotchk is probably the fastest way of creating your botchk and adding it to crontab with just a few required steps:

  1. Type 'cp scripts/autobotchk ..'.
  2. Type './autobotchk <Eggdrop config file>'.

This will hopefully crontab your bot using the default setup. If you want a list of autobotchk options, type './autobotchk'. An example with options would be:

./autobotchk eggdrop.conf -noemail -5

This would setup crontab to run the botchk every 5 minutes and also to not send you e-mail saying that it restarted your bot.

8. Boring legal stuff

The Eggdrop bot is Copyright © by Robey Pointer. As of January, 1997, Eggdrop is distributed according to the GNU General Public License. There should be a copy of this license in the file 'COPYING'. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

As of Eggdrop 1.3.28, all changes made by the Eggheads Development Team to the Eggdrop source code and any related files are Copyright © by Eggheads Development Team. The source code will still be distributed according to the GNU General Public License as Robey Pointer did in the past.

Releases previous to 1.0m were made using a different licensing scheme. You may, at your option, use the GNU General Public License on those versions (instead of the license packaged with them) with my blessing. For any versions bearing a copyright date of 1997 or later, you have no choice -- you must use the GNU General Public License.

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 [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.

There is no warranty, implied or whatever. You use this software at your own risk, no matter what purpose you put it to.

9. Mailing list

There are currently a couple of mailing lists about Eggdrop. eggheads@eggheads.org is the one relevant for posts about Eggdrop 1.4 and up (and bug fixes, and suggestions, etc).

To subscribe to the eggheads mailing list, send e-mail to eggheads-request@eggheads.org. In the body of the message, put "subscribe eggheads". You can also go to the following url:

http://lists.eggheads.org/mailman/listinfo/eggheads

DO NOT SEND ROBEY EMAIL ABOUT EGGDROP

Robey is no longer developing the Eggdrop code, so don't bother e-mailing him. If you have a serious problem, email the eggheads mailing list and it will get to the coders.

Please, before posting to this list, see what things are like. When you do post, read over your post for readability, spelling, and grammar mistakes. Obviously, we're all human (or are we?) and we all make mistakes (heck, look at this document! ;).

Open discussion and debate is integral to change and progress. Don't flame others over mere form (grammar and spelling), or even substantive issues for that matter. Please read and follow the mailing list rules.

The eggheads@eggheads.org mailing list is not dedicated to those all too common questions we have all seen on other lists... For example:

  • "Why does my bot say this: Please edit your config file."

  • "How do I telnet my bot?"

  • "Where do I get Eggdrop for windows??????"

Technical questions, your thoughts or suggestions on new features being added to Eggdrop, things that should be removed or fixed, amazing problems that even stump the guru's, etc. are what we want to see here.

Bug reports should be sent to bugs@eggheads.org. Please read and fill out the BUG-REPORT file in the doc directory.

DO NOT SEND HTML E-MAILS TO ANY OF THE EGGHEADS.ORG MAILING LISTS. ANYONE CAUGHT SENDING HTML E-MAILS TO ONE OF THESE LISTS WILL BE REMOVED IMMEDIATELY!

10. Documentation

We're trying to keep the documentation up to date. If you feel that anything is missing here or that anything should be added, etc, please e-mail bugs@eggheads.org about it. Thank you.

11. Obtaining help

You can obtain help with Eggdrop in the following IRC channels:

If you plan to ask questions in any of the above channels, you should be familiar with and follow IRC etiquette.

Some important things to remember:

  • Don't type using CAPITAL letters, colors, or bold.
  • Don't use "!" and "?" excessively.
  • Don't /msg people without their permission.
  • Don't repeat or paste large amounts of text to the channel.

If you break these rules, you may find yourself ignored, or even kicked and/or banned from the channel.

If there are any other serious Eggdrop related channels that should be added to the above list, please let us know.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-ctcp.html0000664000076600007660000000415111525764164016656 0ustar simplesimple Eggdrop Documentation: CTCP Module

CTCP Module


This module provides the normal ctcp replies that you would expect. Without it loaded, CTCP CHAT will not work.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the CTCP module:

loadmodule ctcp

There are also some variables you can set in your config file:

set ctcp-mode 0

Set here how the ctcp module should answer ctcps. There are 3 possible operating modes:

0 Normal behavior is used.
1 The bot ignores all ctcps, except for CHAT and PING requests by users with the +o flag.
2 Normal behavior is used, however the bot will not answer more than X ctcps in Y seconds (defined by 'set flood-ctcp').

There are also several variables to help make your bot less noticeable. They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set them to values you'd like.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-notes.html0000664000076600007660000000471311525764164017061 0ustar simplesimple Eggdrop Documentation: Notes Module

Notes Module


This module provides support for storing of notes for users from each other notes between currently online users is supported in the core, this is only for storing the notes for later retrieval, direct user <-> user notes are built-in

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the notes module:

loadmodule notes

There are also some variables you can set in your config file:

set notefile "LamestBot.notes"

Set here the filename where private notes between users are stored.

set max-notes 50

Set here the maximum number of notes to allow to be stored for each user (to prevent flooding).

set note-life 60

Set here how long (in days) to store notes before expiring them.

set allow-fwd 0

Set this to 1 if you want to allow users to specify a forwarding address for forwarding notes to another account on another bot.

set notify-users 1

Set this to 1 if you want the bot to let people know hourly if they have any notes.

set notify-onjoin 1

Set this to 1 if you want the bot to let people know on join if they have any notes.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/starting.html0000664000076600007660000001345411525764164017011 0ustar simplesimple Eggdrop Documentation: Starting Out

Starting Out


Obviously the first thing you want to do is compile the bot. The README file tells you what to do and answers some frequently-asked questions about compiling. If you're in a rush and you know what you're doing, you don't have to read this at all -- the README file tells you how to quickly compile and start up the bot.

If you've read this far, then, I'll assume you have successfully compiled Eggdrop and edited the config file.

First of all, Eggdrop has some command-line options -- not many, because most things should be defined through the config file. However sometimes you may want to start up the bot in a different mode, and the command-line options let you do that. Basically, the command line for Eggdrop is:

% eggdrop <options> <config-file>

The options available are:

-n

Don't background. Normally Eggdrop will move itself into the background when you start it up, meaning you'll get another shell prompt and you can do other things while the bot is going. With -n, you won't return to the shell prompt until the bot exits (which won't normally happen until it's killed). By default, -n will send all log entries to the console.

-nt

Don't background, use terminal. This is just like -n, except that instead of seeing log entries, your console will simulate a DCC chat with the bot.

-nc

Don't background, show channel info. This is just like -n, except that instead of seeing log entries, every 10 seconds your screen will clear and you will see the current channel status, sort of like "top".

-m

Create userfile. If you don't have a userfile, this will make Eggdrop create one, and give master/owner status to the first person that introduces himself or herself to it. You'll need to do this when you first set up your bot, and never again.

-h

Show help.

-v

Show version info, then quit.

Most people never use any of the options except -m, and you only need to use that once.

It's STRONGLY recommended to run your bot from its own directory. That way upgrading to a new version is somewhat painless, and you won't have any troubles from language files and the like being in the wrong location. You can put your config file and user file in that directory, and then when you compile a new version of Eggdrop, you just have to do:

make DEST="directory" install

and it will copy all the necessary files.

The config file that comes with Eggdrop is called "eggdrop.conf.dist". You need to copy this file to "eggdrop.conf" and edit that file and change almost everything. It specifies the bot's nickname, server list, and pretty much everything else about how your bot will work. You should also rename it from "eggdrop.conf" to something resembling your bot's name, for convenience. I call mine "sisko" since my bot is "Sisko".

You can execute the script to start the bot. For example, I use:

chmod u+x sisko

to make the "sisko" script executable. Then I edited the first line of the script to say:

#!./eggdrop

which tells the operating system which program to run when executing this script. (Obviously, it needs to run Eggdrop.) If you're too lazy to do this, or just don't feel like it, you can still start up your bot this way:

eggdrop <options> <config-file>

For example:

eggdrop -nt sisko

After you've edited your config file and set the directories up the way you want them, start the bot with the -m option. That will make it create a user file. As soon as you've started up the bot, you need to go to IRC and introduce yourself to the bot. Typically this is done by sending it the /msg "hello", although many people change that greeting to something else (read the config file for more info about that).

When started with the -m option, the first person to introduce themselves to the bot will become the master/owner. You want to be that person. Once you are recognized as the owner, you have full access to the commands and abilities of the bot.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/app-weird.html0000664000076600007660000000633411525764164017045 0ustar simplesimple Eggdrop Documentation: Weird Messages That Get Logged

Weird Messages That Get Logged


Shown below are some messages that Eggdrop might log from time to time that may seem a bit strange and have meanings which may not be obvious

(!) timer drift -- spun N minutes

This is caused by one of several known things...

  • Your bot could have been swapped out of memory for a while, or for some reason the computer could have stopped letting the bot run. Once a minute, Eggdrop does a few maintenance things, including counting down any active Tcl timers. If for some reason, several minutes pass without Eggdrop being able to do this, it logs this message to let you know what happened. It's generally a bad thing, because it means that the system your bot is on is very busy, and the bot can hardly keep track of the channel very well when it gets swapped out for minutes at a time.

  • On some systems (at least Linux), if the DNS your bot is using to lookup hostnames is broken and *very* slow in responding (this can occur if the DNS server's uplink doesn't exist), then you will get 4-5 minute timer drifts continuously. This can be fixed by loading the dns module.

  • The clock on your machine has just been changed. It may have been running behind by several minutes and was just corrected.

(!) killmember(Nickname) -> nonexistant

We have yet to track this down. It's a mildly bad thing, however. It means the bot just got informed by the server that someone left the channel -- but the bot has no record of that person ever being ON the channel.

jwilkinson@mail.utexas.edu had some insight into this one:

This is not an Eggdrop bug, at least not most of the time. This is a bug in all but perhaps the very latest ircd systems. It's not uncommon during netsplits and other joins for the server to lose track of killed or collided join notices. Also, in some servers, it is possible to specify non-standard characters, such as carret symbols, which get falsely interpreted as capital letters.

When converted to lowercase, these symbols fail to get processed, and joins are not reported, although parts are.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-transfer.html0000664000076600007660000000432511525764164017554 0ustar simplesimple Eggdrop Documentation: Transfer Module

Transfer Module


This module provides DCC SEND/GET support and userfile transfer support for userfile sharing.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the transfer module:

loadmodule transfer

There are also some variables you can set in your config file:

set max-dloads 3

Set here the maximum number of simultaneous downloads to allow for each user.

set dcc-block 0

Set here the block size for dcc transfers. ircII uses 512 bytes, but admits that may be too small. 1024 is standard these days. Set this to 0 to use turbo-dcc (recommended).

set copy-to-tmp 1

Enable this setting if you want to copy files into the /tmp directory before sending them. This is useful on most systems for file stability, but if your directories are NFS mounted, it's a pain, and you'll want to set this to 0. If you are low on disk space, you may also want to set this to 0.

set xfer-timeout 30

Set here the time (in seconds) to wait before an inactive transfer times out.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-channels.html0000664000076600007660000005344311637166244017527 0ustar simplesimple Eggdrop Documentation: Channels Module

Channels Module


This module provides channel related support for the bot. Without it, you won't be able to make the bot join a channel or save channel specific userfile information.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the channels module:

loadmodule channels

There are also some variables you can set in your config file:

set chanfile"LamestBot.chan"

Enter here the filename where dynamic channel settings are stored.

set force-expire 0

Set this setting to 1 if you want your bot to expire bans/exempts/invites set by other opped bots on the channel.

set share-greet 0

Set this setting to 1 if you want your bot to share user greets with other bots on the channel if sharing user data.

set use-info 1

Set this setting to 1 if you want to allow users to store an info line.

set allow-ps 0

Set this setting to 1 if you want to allow both +p and +s channel modes to be enforced at the same time by the chanmode channel setting. Make sure your server supports +ps mixing or you may get endless mode floods.

channel add #channel { SETTINGS }

Add each static channel you want your bot to sit in using this command. There are many different possible settings you can insert into this command, which are explained below.

chanmode +/-<modes>

This setting makes the bot enforce channel modes. It will always add the +<modes> and remove the -<modes> modes.

idle-kick 0

This setting will make the bot check every minute for idle users. Set this to 0 to disable idle check.

stopnethack-mode 0

This setting will make the bot de-op anyone who enters the channel with serverops. There are seven different modes for this settings:

0 turn off
1 isoptest (allow serverop if registered op)
2 wasoptest (allow serverop if user had op before split)
3 allow serverop if isop or wasop
4 allow serverop if isop and wasop.
5 If the channel is -bitch, see stopnethack-mode 3
If the channel is +bitch, see stopnethack-mode 1
6 If the channel is -bitch, see stopnethack-mode 2
If the channel is +bitch, see stopnethack-mode 4
revenge-mode 0

This settings defines how the bot should punish bad users when revenging. There are four possible settings:

0 Deop the user.
1 Deop the user and give them the +d flag for the channel.
2 Deop the user, give them the +d flag for the channel, and kick them.
3 Deop the user, give them the +d flag for the channel, kick, and ban them.
ban-type 3

This setting defines what type of bans should eggdrop place for +k users or when revenge-mode is 3.
Available types are:

0 *!user@host
1 *!*user@host
2 *!*@host
3 *!*user@*.host
4 *!*@*.host
5 nick!user@host
6 nick!*user@host
7 nick!*@host
8 nick!*user@*.host
9 nick!*@*.host

You can also specify types from 10 to 19 which correspond to types 0 to 9, but instead of using a * wildcard to replace portions of the host, only numbers in hostnames are replaced with the '?' wildcard. Same is valid for types 20-29, but instead of '?', the '*' wildcard will be used.

ban-time 120

Set here how long temporary bans will last (in minutes). If you set this setting to 0, the bot will never remove them.

exempt-time 60

Set here how long temporary exempts will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the exempts every X minutes, but will not remove the exempt if a ban is set on the channel that matches that exempt. Once the ban is removed, then the exempt will be removed the next time the bot checks. Please note that this is an IRCnet feature.

invite-time 60

Set here how long temporary invites will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the invites every X minutes, but will not remove the invite if a channel is set to +i. Once the channel is -i then the invite will be removed the next time the bot checks. Please note that this is an IRCnet feature.

need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }

This setting will make the bot run the script enclosed in braces if it does not have ops. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting.

need-invite { putserv "PRIVMSG #lamest :let me in!" }

This setting will make the bot run the script enclosed in braces if it needs an invite to the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting.

need-key { putserv "PRIVMSG #lamest :let me in!" }

This setting will make the bot run the script enclosed in braces if it needs the key to the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting.

need-unban { putserv "PRIVMSG #lamest :let me in!" }

This setting will make the bot run the script enclosed in braces if it needs to be unbanned on the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting.

need-limit { putserv "PRIVMSG #lamest :let me in!" }

This setting will make the bot run the script enclosed in braces if it needs the limit to be raised on the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting.

flood-chan 10:60

Set here how many channel messages in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel.

flood-deop 3:10

Set here how many deops in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables deop flood protection for the channel.

flood-kick 3:10

Set here how many kicks in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables kick flood protection for the channel.

flood-join 5:60

Set here how many joins in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables join flood protection for the channel.

flood-ctcp 3:60

Set here how many channel ctcps in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood protection for the channel.

flood-nick 5:60

Set here how many nick changes in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables nick flood protection for the channel.

channel set <chan> +/-<setting>

There are many different options for channels which you can define. They can be enabled or disabled by a plus or minus in front of them.

A complete list of all available channel settings:

enforcebans

When a ban is set, kick people who are on the channel and match the ban?

dynamicbans

Only activate bans on the channel when necessary? This keeps the channel's ban list from getting excessively long. The bot still remembers every ban, but it only activates a ban on the channel when it sees someone join who matches that ban.

userbans

Allow bans to be made by users directly? If turned off, the bot will require all bans to be made through the bot's console.

dynamicexempts

Only activate exempts on the channel when necessary? This keeps the channel's exempt list from getting excessively long. The bot still remembers every exempt, but it only activates a exempt on the channel when it sees a ban set that matches the exempt. The exempt remains active on the channel for as long as the ban is still active.

userexempts

Allow exempts to be made by users directly? If turned off, the bot will require all exempts to be made through the bot's console.

dynamicinvites

Only activate invites on the channel when necessary? This keeps the channel's invite list from getting excessively long. The bot still remembers every invite, but the invites are only activated when the channel is set to invite only and a user joins after requesting an invite. Once set, the invite remains until the channel goes to -i.

userinvites

Allow invites to be made by users directly? If turned off, the bot will require all invites to be made through the bot's console.

autoop

Op users with the +o flag as soon as they join the channel? This is insecure and not recommended.

autohalfop

Halfop users with the +l flag as soon as they join the channel? This is insecure and not recommended.

bitch

Only let users with the +o flag have op on the channel?

greet

Say a user's info line when they join the channel?

protectops

Re-op a user with the +o flag if they get deopped?

protecthalfops

Re-halfop a user with the +l flag if they get dehalfopped?

protectfriends

Re-op a user with the +f flag if they get deopped?

statuslog

Log the channel status line every 5 minutes? This shows the bot's status on the channel (op, voice, etc.), The channel's modes, and the total number of members, ops, voices, regular users, and +b, +e, and +I modes on the channel. A sample status line follows:

[01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7]

revenge

Remember people who deop/kick/ban the bot, valid ops, or friends and punish them? Users with the +f flag are exempt from revenge.

revengebot

This is similar to to the 'revenge' option, but it only triggers if a bot gets deopped, kicked or banned.

autovoice

Voice users with the +v flag when they join the channel?

secret

Prevent this channel from being listed on the botnet?

shared

Share channel-related user info for this channel?

cycle

Cycle the channel when it has no ops?

dontkickops

Do you want the bot not to be able to kick users who have the +o flag, letting them kick-flood for instance to protect the channel against clone attacks?

inactive

This prevents the bot from joining the channel (or makes it leave the channel if it is already there). It can be useful to make the bot leave a channel without losing it's settings, channel-specific user flags, channel bans, and without affecting sharing.

seen

Respond to seen requests in the channel? The seen module must be loaded for this to work.

nodesynch

Allow non-ops to perform channel modes? This can stop the bot from fighting with services such as ChanServ, or from kicking IRCops when setting channel modes without having ops.

The following settings are used as default values when you .+chan #chan or .tcl channel add #chan. Look in the section above for explanation of every option.

set global-flood-chan 10:60
set global-flood-deop 3:10
set global-flood-kick 3:10
set global-flood-join 5:60
set global-flood-ctcp 3:60
set global-flood-nick 5:60

set global-chanmode "nt-likm"
set global-stopnethack-mode 0
set global-revenge-mode 0
set global-ban-time 120
set global-exempt-time 60
set global-invite-time 60

set global-chanset {

        -autoop         -autovoice
        -bitch          +cycle
        +dontkickops    +dynamicbans
        +dynamicexempts +dynamicinvites
        -enforcebans    +greet
        -inactive       -nodesynch
        -protectfriends +protectops
        -revenge        -revengebot
        -secret         -seen
        +shared         +statuslog
        +userbans       +userexempts
        +userinvites    +protecthalfops
        +autohalfop

}


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-irc.html0000664000076600007660000002250011525764164016500 0ustar simplesimple Eggdrop Documentation: IRC Module

IRC Module


This module controls the bots interaction on IRC. It allows the bot to join channels, etc. You have to load this if you want your bot to come on IRC.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the irc module:

loadmodule irc

There are also some variables you can set in your config file:

set bounce-bans 1

Set this to 1 if you want to bounce all server bans.

set bounce-exempts 0

Set this to 1 if you want to bounce all server exemptions (+e modes). This is disabled if use-exempts is disabled.

set bounce-invites 0

Set this to 1 if you want to bounce all server invitations (+I modes). This is disabled if use-invites is disabled.

set bounce-modes 0

Set this to 1 if you want to bounce all server modes.

set max-modes 30

There is a global limit for +b/+e/+I modes. This limit should be set to the same value as max-bans for networks that do not support +e/+I.

set max-bans 20

Set here the maximum number of bans you want the bot to set on a channel. Eggdrop will not place any more bans if this limit is reached. Undernet currently allows 45 bans, IRCnet allows 30, EFnet allows 100, and DALnet allows 100.

set max-exempts 20

Set here the maximum number of exempts you want Eggdrop to set on a channel. Eggdrop will not place any more exempts if this limit is reached.

set max-invites 20

Set here the maximum number of invites you want Eggdrop to set on a channel. Eggdrop will not place any more invites if this limit is reached.

set use-exempts 0
set use-invites 0

These settings should be left commented unless the default values are being overridden. By default, exempts and invites are on for EFnet and IRCnet, but off for all other large networks. This behavior can be modified with the following 2 flags. If your network doesn't support +e/+I modes then you will be unable to use these features.

set kick-fun 0

Set this to 1 if you want the bot to kick for control character/ctcp avalanches to a channel. Remember that if it does, it won't ban them. This can start kick floods.

set ban-fun 0

Set this to 1 if you want the bot to ban for control character/ctcp avalanches to a channel. This can prevent kick floods, but it also can fill the banlist.

set learn-users 0

If you want people to be able to add themselves to the bot's userlist with the default userflags (defined above in the config file) via the 'hello' msg command, set this to 1.

set wait-split 300

Set here the time (in seconds) to wait for someone to return from a netsplit (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since it's nick delay stops after 30 minutes.

set wait-info 15

Set here the time (in seconds) that someone must have been off-channel before re-displaying their info line.

set mode-buf-length 200

Set this to the maximum number of bytes to send in the arguments of modes sent to the server. Most servers default this to 200.

set opchars "@"
#set opchars "@&~"

Some IRC servers are using some non-standard op-like channel prefixes/modes. Define them here so the bot can recognize them. Just "@" should be fine for most networks. Un-comment the second line for some UnrealIRCds.

unbind msg - hello *msg:hello
bind msg - myword *msg:hello

Many IRCops find bots by seeing if they reply to 'hello' in a msg. You can change this to another word by un-commenting the these two lines and changing "myword" to the word wish to use instead of 'hello'. It must be a single word.

unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost

Many takeover attempts occur due to lame users blindly /msg ident'ing to the bot and attempting to guess passwords. We now unbind this command by default to discourage them. You can enable this command by un-commenting these two lines.

set no-chanrec-info 0

If you are so lame you want the bot to display peoples info lines even when you are too lazy to add their chanrecs to a channel, set this to 1.

NOTE: This means every user with an info line will have their info line displayed on EVERY channel they join (provided they have been gone longer than wait-info).

These were the core irc module settings. There are more settings for 'net-type' 1 and 5. net-type has to be set in the server module config section.

Use the following settings only if you set 'net-type' to 1!

set prevent-mixing 1

At the moment, the current IRCnet IRCd version (2.10) doesn't support the mixing of b, o and v modes with e and I modes. This might be changed in the future, so use 1 at the moment for this setting.

Use the following settings only if you set 'net-type' to 5!

set kick-method 1

If your network supports more users per kick command then 1, you can change this behavior here. Set this to the number of users to kick at once, or set this to 0 for all at once.

set modes-per-line 3

Some networks allow you to stack lots of channel modes into one line. They're all guaranteed to support at least 3, so that's the default. If you know your network supports more, you may want to adjust this. This setting is limited to 6, although if you want to use a higher value, you can modify this by changing the value of MODES_PER_LINE_MAX in src/chan.h and recompiling the bot.

set include-lk 1

Some networks don't include the +l limit and +k or -k key modes in the modes-per-line (see above) limitation. Set include-lk to 0 for these networks.

set use-354 0

Set this to 1 if your network uses IRCu2.10.01 specific /who requests. Eggdrop can, therefore, ask only for exactly what's needed.

set rfc-compliant 1 (Disabled by default)

If your network doesn't use rfc 1459 compliant string matching routines, set this to 0.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-server.html0000664000076600007660000003073711525764164017244 0ustar simplesimple Eggdrop Documentation: Server Module

Server Module


The server module allows the bot to connect to an IRC server.

  1. Config file settings

1. Config file settings

This module provides the core server support. You have to load this if you want your bot to come on IRC.

Put this line into your Eggdrop configuration file to load the server module:

loadmodule server

There are also some variables you can set in your config file:

set net-type 0

What is your network?

0 = Efnet
1 = IRCnet
2 = Undernet
3 = Dalnet
4 = +e/+I/max-bans 20 Hybrid
5 = Others

set nick "LamestBot"

Set the nick the bot uses on IRC, and on the botnet unless you specify a separate botnet-nick, here.

set altnick "LamestBot"

Set the alternative nick which the bot uses on IRC if the nick specified by 'set nick' is unavailable. All '?' characters will be replaced by random numbers.

set keep-nick 1

This setting makes the bot try to get his original nickname back if its primary nickname is already in use.

set realname "/msg LamestBot hello"

Set here what to display in the real-name field for the bot.

bind evnt - init-server evnt:init_server
proc evnt:init_server {type} {
   global botnick
   putquick "MODE $botnick +i-ws"
}

This is a Tcl script to be run immediately after connecting to a server.

set init-server { putserv "MODE $botnick +i-ws" }

This is a Tcl script to be run immediately after connecting to a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see Tcl Commands).

set connect-server { putlog "Connecting to server." }

This is a Tcl script to be run immediately before connecting to a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see Tcl Commands).

set disconnect-server { putlog "Disconnected from server." }

This is a Tcl script to be run immediately after disconnecting from a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see Tcl Commands).

set servers {
        you.need.to.change.this:6667
        another.example.com:7000:password

}

This is the bot's server list. The bot will start at the first server listed, and cycle through them whenever it gets disconnected. You need to change these servers to YOUR network's servers.

For example:

set servers {
  irc.netw.ork
  irc.krow.ten:6668
}

The format is: server[:port[:password]]

Both the port and password fields are optional; however, if you want to set a password you must also set a port. If a port isn't specified it will default to your default-port setting..

set default-port 6667

Set the default port which should be used if none is specified with '.jump' or in 'set servers'.

set msg-rate 2

Number of seconds to wait between transmitting queued lines to the server. Lower this value at your own risk. ircd is known to start flood control at 512 bytes/2 seconds.

set server-cycle-wait 60

This setting defines how long Eggdrop should wait before moving from one server to another on disconnect. If you set 0 here, Eggdrop will not wait at all and will connect instantly. Setting this too low could result in your bot being K:Lined.

set never-give-up 1

This settings makes the bot cycle forever through the server list until it successfully connects to one.

set server-timeout 60

Set here how long Eggdrop should wait for a response when connecting to a server before giving up and moving on to next server.

set servlimit 0

If the number of servers on the net gets below this number, the bot will jump to a new server (it will assume it's on the losing end of a netsplit). Set this to 0 to turn off. If your bot is running on any major IRC network, this should probably be turned off.

set check-stoned 1

Set this to 1 if Eggdrop should check for stoned servers? (where the server connection has died, but Eggdrop hasn't been notified yet).

set serverror-quit 1

If you want your bot to exit the server if it receives an ERROR message, set this to 1.

set max-queue-msg 300

Set here the maximum number of lines to queue to the server. If you're going to dump large chunks of text to people over IRC, you will probably want to raise this. 300 is fine for most people though.

set raw-log 0

This setting allows you the logging of raw incoming server traffic via console/log flag 'r', raw outgoing server traffic via console/log mode 'v', raw botnet traffic via console/log mode 't', and raw share traffic via console/log mode 'h'. These flags can create a large security hole, allowing people to see user passwords. This is now restricted to +n users only. Please choose your owners with care.

set quiet-reject 1

This setting makes the bot squelch the error message when rejecting a DCC CHAT, SEND or message command. Normally, Eggdrop notifies the user that the command has been rejected because they don't have access. Note that sometimes IRC server operators detect bots that way.

set flood-msg 5:60

Set here how many msgs in how many seconds from one host constitutes a flood. If you set this to 0:0, msg flood protection will be disabled.

set flood-ctcp 3:60

Set here how many ctcps in how many seconds from one host are recognized as a flood. Not specifying or using number = 0 will not check against ctcp floods.

set answer-ctcp 3

Set how many ctcps should be answered at once here.

set lowercase-ctcp 0

If you want your bot to answer lower case ctcp requests (non rfc-compliant), set this setting to 1. mIRC will do this, most other clients will not.

set trigger-on-ignore 0

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?

set double-server 0

Allow identical messages in the server queue?

set double-help 0

Allow identical messages in the help queue?

set use-penalties 1
(default on net-type 1)

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. Note: it's highly advised to turn this on!

set optimize-kicks 1

This optimizes the kick queue. It also traces nick changes and parts in the channel and changes the kick queue accordingly. There are three different options for this setting:

0 = Turn it off.
1 = Optimize the kick queue by summarizing kicks.
2 = Trace nick changes and parts on the channel and change the queue accordingly. For example, bot will not try to kick users who have already parted the channel.

There are more settings for 'net-type' 5.

Use this settings only if you set 'net-type' to 5!

set check-mode-r 1

This settings defines how umode +r is understood by Eggdrop. Some networks use +r to indicate a restricted connection. If this is your case, and you want your bot to leave restricted servers and jump to the next server on its list, then set it to 1. Please note, this setting is automatically set to 0 for net-type 0/2/3/4, and set to 1 for net-type 1.

set nick-len 9

This setting allows you to specify the maximum nick-length supported by your network. The default setting is 9. The maximum supported length by Eggdrop is 32.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/faqs.html0000664000076600007660000002526311525764164016111 0ustar simplesimple Eggdrop Documentation: Frequently Asked Questions

Frequently Asked Questions


Contents

  1. What do I do if I get the Error "User file not found"?
  2. My Eggdrop won't run; It just says "Can't find your hostname!"
  3. What the heck is Tcl?
  4. My bot dies, and the last entry in the logfile is "Received terminate signal". What does that mean, and can I prevent it?
  5. Someone else set up a bot I don't like. Are there any backdoors I can use to take their bot down?
  6. What are modules?
  7. Can I compile Eggdrop without dynamic modules?
    1. Do I still need to "loadmodule" modules?
  8. Where can I get a pre-compiled Eggdrop for my computer?
  9. I get "Makefile:3 : invalid operator" of some such thing When I try to "make"
  10. When I "tclsh scripts/weed <userfile> c" It barfs chunks at me and dies.
  11. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or "eggdrop: error in loading shared libraries / libtcl8.1.so: cannot open shared object file: No such file or directory" when I try to start my bot.
  12. I get a whole pile of "unresolved symbol 'Tcl_AppendResult'" (or some other symbol) when I try to load a module.

1. What do I do if I get the error "User file not found"?

  • Run Eggdrop with the "-m" option (i.e. "eggdrop -m eggdrop.conf").
  • Go to IRC and send "hello" to your bot (i.e. "/msg mybot hello").
  • You will become an owner on your bot. You can leave the bot running (nobody else will become an owner if they say "hello"), but in the future, don't use the "-m" option when running the bot.

2. My Eggdrop won't run; it just says "can't find your hostname!"

Your machine is set up strangely, and Eggdrop can't figure out its network hostname. You can get around this by setting the my-ip setting in the config file correctly.

3. What the heck is Tcl?

Tcl is a scripting language written by John Ousterhout. It's much better than most "built-in" script languages (like the one in ircII) and is meant to be linked with anything needing a scripting language, so I linked it with Eggdrop. Eggdrop Tcl Commands contains a list of additional Tcl commands provided by Eggdrop. There are also several example scripts in the scripts/ directory, and one in the doc directory called first_script.txt. There are also hundreds of scripts floating around on the ftp/web sites if you like working by example (which is typically the best way).

4. My bot dies and the last entry in the logfile is "received terminate signal". What does that mean and can i prevent it?

There's nothing you can do to prevent it. It means the system administrator is killing the Eggdrop process. Most of the time, it's an automatic thing that happens when the system is being rebooted, so it's harmless. If you have a crontab running, the bot will get restarted when the system is back online. Occasionally, the system administrator will kill the bot manually. For example, if he/she doesn't want bots running on the system.

5. Someone else set up a bot I don't like. Are there any backdoors I can use to take their bot down?

No, there have never been any backdoors and there never will be, so please stop asking. Every once in a while, someone finds a way to exploit a bug in Eggdrop, but we fix these bugs as soon as we find out about them. If you want to bring down someone else's bot, you will not have my/our help.

6. What are modules?

Modules are a way of adding extra features to the bot, much like Tcl scripts, without requiring the bot to be recompiled. See doc/MODULES for more info.

7. Can I compile Eggdrop without dynamic modules?

Yes, you can. If the configure script detects that your system CAN'T run modules, it will setup 'make' to link the modules in statically for you. You can choose this option yourself by using 'make static'. You can also try to compile dynamic modules on a static-only system by using 'make eggdrop'.

7a. Do I still need to 'loadmodule' modules?

YES, when you compile statically, all the modules are linked into the main executable. HOWEVER, they are not enabled until you use loadmodule to enable them, hence you get nearly the same functionality with static modules as with dynamic modules.

8. Where can i get a pre-compiled Eggdrop for my computer?

It is HIGHLY recommended AGAINST using pre-compiled Eggdrops from un-trusted sources. Eggdrop has been a regular target for hacking and crashing. Distribution of pre-compiled (binary) versions of Eggdrop are the easiest way for hackers to provide you with the easiest (and most dangerous) way of gaining access to, not only your bot, but to your computer account directly. Don't advertise your pre-compiled Eggdrop binary sites on the Eggdrop list either. =P

9. I get 'Makefile:3 :invalid operator' or some-such-thing when I try to 'make'.

Try 'gmake'.

10. When I 'tclsh scripts/weed <userfile> c' it barfs chunks at me and dies. :(

Upgrade your Tcl, you are probably using Tcl 7.5 or earlier. Some of the commands in weed require Tcl7.6 to run, so either upgrade it or remove the offending lines from you userfile manually (those starting with '.' generally) and accept the loss of that data.

11. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or "eggdrop: error in loading shared libraries / libtcl8.1.so: cannot open shared object file: No such file or directory" when I try to start my bot.

'./configure' is looking in the wrong place for Tcl; it looks like it compiled with one version of Tcl and tries to load another. Maybe your sysadmin upgraded Tcl and didn't tell you. In that case, you should just need to recompile your bot.

Maybe, when upgrading, he didn't clean the old version of Tcl, and './configure' is looking for the files in the wrong places, or trying to use different versions of tcl.h and libtcl*. Smack your admin and have him install Tcl properly. ;) You can also try:

./configure --with-tcllib=<path-to-tcl-lib> --with-tclinc=<path-to-tcl-inc>

This will tell configure where to look for the Tcl files.

Try looking for libtcl by:

ls /usr/lib/libtcl*
ls /usr/local/lib/libtcl*

Try looking for tcl.h by:

ls /usr/include/*/tcl.h
ls /usr/local/include/*/tcl.h

If everything else fails, try to install Tcl to your home dir ;) (Suggested by dw@Undernet, dw@lixom.nu).

12. I get a whole pile of "Unresolved symbol 'Tcl_AppendResult'" (or some other symbol) when I try to load a modules.

Possibility A: See section 11.

Possibility B: Some of the standard libraries have been compiled for static linking only on your machine, you have 3 options:

  1. If it's your own machine, recompile Tcl using dynamic linking by using './configure --enable-shared' when you configure Tcl (not the bot) and then remake, & reinstall.

  2. If it's not your machine, you may have to resort to 'make static' and 'make install DEST="path"' to make and install your bot.

  3. If you are of a more aggressive sense of mind, go beat the stuffing out of your admin for having lame static libraries. :)


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/botnet.html0000664000076600007660000003433511525764164016452 0ustar simplesimple Eggdrop Documentation: Botnet Sharing and Linking

Botnet Sharing and Linking


The purpose of this document is to show you what a botnet is and how it could be useful to you. It also covers botflags userfile sharing.


Contents

  1. Terms
  2. What is a botnet?
  3. Adding and linking bots
  4. Using botflags
  5. Making bots share user records

Terms

The following are some common terms used in this document:

Botnet

A botnet consists of one or more bots connected together.

Link

Link is the term used to describe a bot connecting to another bot.

Hub

A bot is described as a hub-bot if one or more bots are linked to it.

Leaf

A leaf is a non-hub bot connecting to a hub-bot. A leaf has only one other bot connected to it, its hub. Leaf bots can be assigned the "l" botflag to prevent other bots from linking to them.

Link Bot

A link-bot is a bot that is linked to another bot. It may or may not be a hub-bot.

Share

Share is the term used to describe the sharing of user records.

Share Bot

A share-bot is a bot which shares user records with one or more linked bots.

Aggressive Share

Aggressive share is a term used to describe the direction of sharing user-files. Aggressive share bots will SEND userfiles to another passive bot.

Passive Share

Passive share is a term used to describe the direction of sharing user-files. Passive share bots will accept userfiles from an aggressive share bot.

Example bottree:

     BotA
       |-+BotB
         `-+BotC

BotB is linked to a master sharebot, BotA, and a slave sharebot, BotC. BotB shares passively with [receives from] BotA and shares aggressively with [sends to] BotC.

Flags

Flags are attributes that determine what a bot can or is allowed to do. Flags can be either global (such as +s) or channel specific (such as |+s #lamest). See '.help botattr' for help with setting these flags.

s share aggressively (SEND userfile to a passive bot)
p share passively (ACCEPT userfile from an aggressive bot)
g global share (share all channels)
h hub (automatically link to this bot)
a alternate (automatically link to this bot if the hub bot can't be linked)
l leaf (bot is not allowed to link in other bots)
r reject (bot will not be allowed to link)
i isolate (isolate the party line across a bot link)
0-9 user defined flags
Address

The physical address, containing the address and port of the bot. For example: lame.org:3333. You can change a bot's address with '.chaddr <botname> <hostaddress:botport [/userport]>'.

Relay Port

The relay port number of the bot is defined in the config file. Note that you can define one port for bots and another for user connections.

Relay

A relay connection is used to relay (jump) to another bot via telnet or DCC chat. You can relay to another bot even if the remote bot is not linked. You can use ".relay <botname>" to relay to another bot.

Port

The telnet port is used by the bot to communicate with other bots and/or users. Note that you can define separate ports for user and bot connections.

What is a botnet?

A botnet consists of one or more bots linked together. This can allow bots to op each other securely, control floods efficiently, and share user lists, ban lists, exempt/invite lists, and ignore lists (if sharing is enabled).

Adding and linking bots

With the common terms out of the way, we can start with the process of linking two bots. Before you start, you need to know the address and port of each bot you wish to link. Here is an example scenario:

BotA is on lame.org listening on port 3333, and BotB is on irc.org listening on port 4444. First, you have to add each Bot to the other's userfile. On BotA, you would type '.+bot BotB irc.org:4444'. If BotB is on a common channel with BotA, BotB's hostmask is automatically added. Otherwise, you have to add the hostmask manually with the '.+host' command. On BotB, you would type '.+bot BotA lame.org:3333'.

At this point, you can link the two bots by typing '.link BotA' on BotB (or '.link BotB' on BotA). The bots will now give themselves random passwords which are not stored encrypted in the userfile. Note that you can link as many bots as you wish to your botnet.

Using botflags

Botflags are needed to assign special functions and tasks to your bots. Bot flags are set with the '.botattr' command. See '.help botattr' for help with this command. The following is a list of botflags and their functions:

"h" (hub)

If you want your bot(s) to automatically link/relink, you can assign the +h botflag each bot's hub. Note that if you set multiple bots +h, the bot only attempts to link to one.

"a" (alternate)

If your bots are, for some reason, unable to link to their hub, they will attempt to connect to an alternate hub. You can assign a bot as an alternate hub by giving it the +a botflag.

"l" (leaf)

This flag, assigned to a link bot, will prevent the link bot from linking other bots to your botnet.

"r" (reject)

If you assign this flag to a link bot, the link bot will not be allowed to link to the botnet.

"i" (isolate)

This flag isolates a link bot's partyline from the rest of the botnet. Anything said on the link bot's partyline won't appear on the rest of the botnet.

"s" (SEND userfile to)

+s - Giving a link bot this flag will make the bot share aggressively with the link bot. See 'Aggressive Share' in the 'Terms' section of this document for more information on aggressive sharing.

|s - +s bots need this flag for each channel you want to share.

"p" (ACCEPT userfile from)

Giving a link bot this flag will make the bot share passively with the link bot. See 'Passive Share' in the 'Terms' section of this document for more information on passive sharing.

"g" (global share)

This flag allows the sharing of all channels with a link bot.

"0-9" (user-defined)

These 10 flags are user-defined can be used by scripters.

Making bots share user records

Before you start preparing your bots for sharing, make sure that you've loaded the transfer and share modules. You also have to ensure that each channel you wish to share is set +shared (see '.help chanset' and '.help chaninfo').

By using specific botflags, you can cause your bot to share aggressively with some link bots, and passively with others. For sharing to work, flags must be set properly on both the passive and the aggressive bots. An aggressive bot will not share userfiles with another aggressive bot; a passive bot will not share userfiles with another passive bot.

First off, let's say we have two bots we want to link. We will call one Lamestbot, and the other Lameshare. The first thing that needs to be done is each bot needs the other bot added to it's user record. Your botnet should have a hub bot. This will have them connect automatically whenever they are started. Without a hub, you would have to manually link them with the .link command. For this situation we will make Lamestbot the hub for our small botnet. Let's also use a channel called #eggdrop as the one we want to share user channel flags with. Do the following:

On Lamestbot:

.+bot Lameshare eggdrop.com:3333 (This command adds a user record to Lamestbot for Lameshare. Lameshare is running from eggdrop.com and is on port 3333. If Lameshare were to have a separate port for users/relays we would just add a '/' and the port number, i.e. 3333/5555.)

.botattr Lameshare +s (This tells us that Lamestbot will only send user files to Lameshare; Lameshare will not send them to it.)

.botattr Lameshare |s #eggdrop (this sets up sharing of the channel flags for #eggdrop between the bots. Without this, they will not share channel flags only global flags for the users.)

On Lameshare:

.+bot Lamestbot best.com:3333/5555 (Again this will add a user on Lameshare called Lamestbot with the domain of best.com. The bot has two ports, 3333 for bot communications and 5555 for users/relays.)

.botattr Lamestbot +hp (This command sets Lamestbot as the hub and also as a passive share, which means Lameshare will accept user files from Lamestbot.

.botattr Lamestbot |s #eggdrop (This sets #eggdrop as a share channel.)

Our botnet:

     Lamestbot
       `-+Lameshare

Let's add a third bot called beldin to this scenario:

On Lamestbot:

.+bot beldin llama.com:3333

.botattr beldin s|s #eggdrop (Notice how i piped (the | character) the channel flag also saving time.)

Also note that you don't have to add beldin on Lameshare. Since they are already sharing, it was added automatically. The one thing that you should note is that no bot flags will be shared. If you set beldin as +s (Aggressive share) on the hub (Lamestbot) he will not be set on the other bots as that. The same with the channel +s flag. All other flags will be shared such as the o, f, etc. Now that we have three bots, we can also set up one as an alternate hub. The alternate hub is the bot that the bots will auto-connect to in the event the hub goes down or is unreachable.

Let's make beldin an alternate hub for our little botnet.

On Lameshare:

.botattr beldin +a

That's all there is to it. Again, since bot flags are not shared, you would have to add the bot flag +a for beldin on them all. The only ones you would not have to do this on are beldin and the hub (Lamestbot). Of course, if you had more bots, you would have to add beldin as a +a on them, but you would not do it on the hub or beldin.

Our botnet:

     Lamestbot
       |-+beldin
       `-+Lameshare

Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-uptime.html0000664000076600007660000000276611525764164017242 0ustar simplesimple Eggdrop Documentation: Uptime Module

Uptime Module


This module reports uptime statistics to http://uptime.eggheads.org. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later.

Information sent to the server includes the bot's uptime, botnet-nick, server, version, and IP address. This information is stored in a temporary logfile for debugging purposes only. The only publicly available information will be the bot's botnet-nick, version and uptime. If you do not wish for this information to be sent, comment out the 'loadmodule uptime' line in your bot's config file.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the uptime module:

loadmodule uptime


Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/install.html0000664000076600007660000001750111525764164016621 0ustar simplesimple Eggdrop Documentation: Compilation and Installation of Eggdrop

Compilation and Installation of Eggdrop


This is the quick install guide; if you have had little or no experience with UNIX or Eggdrop, READ THE README FILE NOW! This file is only for experienced users.

For more information on compiling Eggdrop, see the Compile Guide (and of course, the README FILE).


Contents

  1. What is Eggdrop?
  2. Quick startup
  3. Modules
  4. Frequently asked questions

1. What is Eggdrop?

Please, read the Readme file before attempting to set up this bot. It is NOT easy to use! This file is a quick setup guide, not a miracle worker. If you enter this file without basic Eggdrop knowledge, you will NOT leave with a working bot! Before asking ANY questions, READ THE README FILE OR YOU WILL BE BURNED TO A HORRIBLE DEATH! IF YOU DO NOT READ THAT FILE I WILL PERSONALLY WALK TO YOUR TERMINAL AND BEAT IT WITH A SMELLY SNEAKER! By the way, read the README file.

2. Quick startup

Eggdrop uses the GNU autoconfigure scripts to make things easier.

  1. Type './configure' from the Eggdrop directory. The configure script will determine how your system is set up and figure out how to correctly compile Eggdrop. It will also try to find Tcl, which is required to compile.

  2. Type either 'make config' or 'make iconfig' to determine which modules will be compiled. 'make config' compiles the default modules (everything but woobie.mod). If you want to choose which modules to compile, use 'make iconfig'.

  3. Type 'make' from the eggdrop directory, or to force a statically linked module bot, type 'make static'. Otherwise, the Makefile will compile whatever type of bot the configure script determined your system will support. Dynamic is always the better way to go if possible. There are also the 'debug' and 'sdebug' (static-debug) options, which will give more detailed output on a (highly unlikely :) crash. This will help the devlopment team track down the crash and fix the bug. Debug and sdebug will take a little longer to compile and will enlarge the binary a bit, but it's worth it if you want to support Eggdrop development.

  4. Eggdrop must be installed in a directory somewhere. This is accomplished by entering the Unix command:

  5. make install

    This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop).

    If you want to install to a different directory, use:

    make install DEST=<directory>

    For example:

    make install DEST=/home/user/otherdir

    Note that you must use full path for every file to be correctly installed.

    [The following is performed from the directory installed above.]

  6. Edit your config file completely.

  7. Start the bot with the "-m" option to create a user file, i.e. './eggdrop -m LamestBot.conf'.

  8. When starting the bot in the future, drop the "-m". If you have edited your config file correctly, you can type:

    chmod u+x <my-config-file-name>

    For example:

    chmod u+x LamestBot.conf

    From then on, you will be able to use your config file as a shell script. You can just type "./LamestBot.conf" from your shell prompt to start up your bot. For this to work, the top line of your script MUST contain the correct path to the Eggdrop executable.

  9. It's advisable to run your bot via crontab, so that it will automatically restart if the machine goes down or (heaven forbid) the bot should crash. Look at 'scripts/botchk' and 'scripts/autobotchk' for a great start with crontabbing the bot.

  10. Smile, and if you haven't already read the README file in its entirety, go take a long walk off a short pier.

3. Modules

    Modules are small pieces of code that can either be compiled into the binary or can be compiled separately into a file. This allows for a much smaller binary.

    If there are any modules that you have made or downloaded, you can add them to the bot by placing them in the /src/mod directory with a mod extension. They will be automatically compiled during make for you. They must have a valid Makefile and, of course, be compatible with the rest of the Eggdrop source.

    If you wish to add a module at a later time, follow the same steps in paragraph 2. After you have moved the appropriate files, you will only need to type 'make modules' to compile only the modules portion of the bot.

4. Frequently asked questions

What do I do if...?

READ THE README FILE!

The readme does not answer...!

READ THE README FILE AGAIN!

I still don't know how to...

MEMORIZE THE README FILE!

But...

Well, go to www.egghelp.org or www.eggheads.org and see if you can find there what you're looking for. There are also lots of IRC help channels and various mailing lists, as seen in the README FILE.

This is the end. If you read to this point, hopefully you have also read the README file. If not, then READ IT!&@#%@!

Have fun with Eggdrop!


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-filesys.html0000664000076600007660000000612111525764164017402 0ustar simplesimple Eggdrop Documentation: Filesys Module

Filesys Module


This module provides an area within the bot where users can store and manage files. With this module, the bot is useable as a file server.

  1. Config file settings

1. Config file settings

This module provides the filesys support. You have to load this if you want your users to upload and download files from your bot.

Put this line into your Eggdrop configuration file to load the filesys module:

loadmodule filesys

There are also some variables you can set in your config file:

set files-path "/home/mydir/eggdrop/filesys"

Set here the 'root' directory for the file system.

set incoming-path "/home/mydir/eggdrop/filesys/incoming"

If you want to allow uploads, set this to the directory uploads should be put into. Set this to "" if you don't want people to upload files to your bot.

set upload-to-pwd 0

If you don't want to have a central incoming directory, but instead want uploads to go to the current directory that a user is in, set this setting to 1.

set filedb-path ""

Eggdrop creates a '.filedb' file in each subdirectory of your file area to keep track of its own file system information. If you can't do that (for example, if the dcc path isn't owned by you, or you just don't want it to do that) specify a path here where you'd like all of the database files to be stored instead.

set max-file-users 20

Set here the maximum number of people that can be in the file area at once. Setting this to 0 makes it effectively infinite.

set max-filesize 1024

Set here the maximum allowable file size that will be received (in KB). Setting this to 0 makes it effectively infinite.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-share.html0000664000076600007660000000612511525764164017032 0ustar simplesimple Eggdrop Documentation: Share Module

Share Module


This module provides userfile sharing support between two directly linked bots.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the share module:

loadmodule share

There are also some variables you can set in your config file:

set allow-resync 0

When two bots get disconnected, this setting allows them to create a resync buffer which saves all changes done to the userfile during the disconnect. When they reconnect, they will not have to transfer the complete user file, but, instead, just send the resync buffer.

set resync-time 900

This setting specifies how long to hold another bots resync data before flushing it. This is a setting for allow-resync.

set private-global 0

When sharing user lists, DON'T ACCEPT global flag changes from other bots? NOTE: The bot will still send changes made on the bot, it just won't accept any global flag changes from other bots. This overrides the private-globals setting (below).

set private-globals ""

When sharing user lists, if private-global isn't set, which global flag changes from other bots should be ignored?

set private-user 0

When sharing user lists, don't accept ANY userfile changes from other bots? Paranoid people should use this feature on their hub bot. This will force all userlist changes to be made via the hub.

set override-bots 0

This setting makes the bot discard it's own bot records in favor of the ones sent by the hub. NOTE: No passwords or botflags are shared, only ports and address are added to sharing procedure. This only works with hubs that are v1.5.1 or higher.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/bans.html0000664000076600007660000001063511525764164016077 0ustar simplesimple Eggdrop Documentation: Bans, Invites, and Exempts

Bans, Invites, and Exempts


I assume that you know how bans work on IRC. Eggdrop handles bans, exempts and invites in various ways, and this file is intended to help clarify how these modes are used within the bot. From here on, 'mode' applies to all three modes (bans, exempts, and invites) unless otherwise specified. There are three types of modes:

Global modes

These modes will be active on every channel the bot monitors. Some will "expire" after a while (be removed automatically). Others are considered "permanent" and can only be removed by a master.

Channel modes

These modes are active only on one channel, and are almost always temporary modes that expire after an hour or so (depending on how long you've specified in the config file). Usually they're created by a Tcl script of some sort.

Non-bot modes

These are modes that were not placed by the bot. They can be removed by anyone on the channel. The other two types of modes are protected by the bot (unless the channel settings specify otherwise), and have to be removed via the bot.

Bans can also be either sticky or unsticky:

Sticky

These modes are usually set by a user using the ".stick" command. Modes with this attribute are attempted to be kept active on the channel at all times by the bot, even if the channel is set to use dynamic modes. Obviously, if the channel isn't set to use dynamic modes, this won't have any effect.

Un-sticky

These modes are the style that Eggdrop sets by default when a user uses one of the commands that result in a mode. This attribute means that the ban will be removed if using dynamic modes after a certain time. If a mode is "sticky" and you wish to set it to be "un-sticky", use the ".unstick" command.

Mode behavior:

Bans

If the channel is supporting dynamic bans, then the ban is set when a user with a matching hostmask joins the channel; otherwise, the modes are set at all times. On a channel with dynamic bans, the ban expires after 'ban-time' minutes (which is specified in the config file).

Exempts

If the channel is not supporting dynamic exempts, then they are set at all times. Otherwise, the exemption is set when a ban is placed whose host includes that covered by the exempt. The exempt will remain in place for at least 'exempt-time' minutes (defined in config file) or until after the corresponding ban has been removed, whichever happens last.

Invites

If the channel does not support dynamic invites, then they are set at all times. Otherwise, the invite is set when the channel is +i and a user requests an invite into the channel. The invite then remains set for 'invite-time' minutes (defined in config file) or until the channel goes -i again, whichever happens last.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-wire.html0000664000076600007660000000205011525764164016667 0ustar simplesimple Eggdrop Documentation: Wire Module

Wire Module


This module provides all the standard .wire partyline commands. It's an encrypted partyline communication tool, compatible with wire.tcl>

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the wire module:

loadmodule wire


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/features.html0000664000076600007660000000572311525764164016774 0ustar simplesimple Eggdrop Documentation: Features of Eggdrop

Features of Eggdrop


Eggdrop is the most advanced IRC robot available. It has been under development since December 1993, and unlike most other bots, it is still regularly updated. Some of its features include:

  • Completely separate channel user lists like having a separate bot for each channel.

  • A "party line" available through dcc chat or telnet, with multiple channels, giving you the ability to talk to people without being affected by netsplits.

  • A "botnet". A botnet consists of one or more bots linked together. This can allow bots to op each other securely, control floods efficiently, and share user lists, ban lists, exempt/invite lists, and ignore lists (if sharing is enabled).

  • User records are saved on disk and alterable via dcc chat. Each user can have a password (encrypted), a list of valid hostmasks, a set of access flags, etc.

  • The ability to "learn" new users (if you choose to let the bot do so) by letting users /MSG the bot "hello". The bot will grant them automatic access of whatever type you specify (or even no access at all).

  • A file system where users can upload and download files in an environment that looks and acts (for the most part) like a typical UNIX system. It also has the ability to mark files and directories as hidden -- unaccessible to people without certain user flags.

  • Console mode: you can view each channel through dcc chat or telnet, selectively looking at mode changes, joins and parts, channel talk, or any combination of the above.

  • A scripting language: commands and features can be easily added to the bot by means of the Tcl scripting language, giving you the power of TOTAL customization of your bot.

  • Module support: you can remove/add features to your bot by adding or removing modules.

NOTE:

This bot is NOT intended for users of very limited MEMORY or DISK shell accounts. The development of this latest design of Eggdrop is geared towards features and flexibility.

Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/about.html0000664000076600007660000000740211642147323016254 0ustar simplesimple Eggdrop Documentation: About Eggdrop

About Eggdrop


Eggdrop was created around December 1993 to help stop the incessant wars on #gayteen. It spawned from another bot that was in the process of being written at the time called "Unrest". The purpose of Unrest was to answer help requests from other bots. The first public release was version 0.6, and since then, it has grown into what you have before you.

Eggdrop is the World's most popular Internet Relay Chat (IRC) bot; it is freely distributable under the GNU General Public License (GPL). Eggdrop is a feature rich program designed to be easily used and expanded upon by both novice and advanced IRC users on a variety of hardware and software platforms.

An IRC bot is a program that sits on an IRC channel and performs automated tasks while looking just like a normal user on the channel. Some of these functions include protecting the channel from abuse, allowing privileged users to gain op or voice status, logging channel events, providing information, hosting games, etc.

One of the features that makes Eggdrop stand out from other bots is module and Tcl scripting support. With scripts and modules, you can make the bot perform almost any task you want. They can do anything from preventing floods to greeting users and banning advertisers from channels.

You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods efficiently, and even link channels across multiple IRC networks. It also allows the Eggdrops share user lists, ban lists, exempt/invite lists, and ignore lists with other bots if userfile sharing is enabled. This allows users to have the same access on every bot on your botnet. It also allows the bots to distribute tasks such as opping and banning users. See doc/BOTNET for information on setting up a botnet.

Eggdrop is always being improved and adjusted because there are bugs to be fixed and features to be added (if the users demand them, and they make actually sense). In fact, it existed for several years as v0.7 - v0.9 before finally going 1.0. This version of Eggdrop is part of the 1.6 tree. A valiant effort has been made to chase down and destroy bugs.

To use Eggdrop, you need:

  • Some sort of Unix account
  • A pretty good knowledge of IRC and Unix, including how to compile programs, how to read, and what DCC chat is, at absolute minimum.
  • About 5-7 MB of disk space for installation and up to 15 MB during compilation. The Eggdrop tarball is about 5.8 MB unpacked.
  • Tcl -- Eggdrop cannot compile without Tcl installed on your shell.

Before starting, ask yourself if you really need a bot. Most IRC servers allow only a handful of bots, and some forbid them outright. The reason? Too many people run bots as "toys" or as a means of destruction. If you want to use Eggdrop for destructive purposes, go ahead and erase this directory now. It's almost impossible to do what you want with this bot.


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-assoc.html0000664000076600007660000000174011525764164017036 0ustar simplesimple Eggdrop Documentation: Assoc Module

Assoc Module


This module provides assoc support, i.e. naming channels on the botnet.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the assoc module:

loadmodule assoc


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/index.html0000664000076600007660000000757611525764164016275 0ustar simplesimple Eggdrop Documentation: Index

Eggdrop Documentation Index


                       _
  ___   __ _  __ _  __| |_ __  ___  _ __
 / _ \ / _` |/ _` |/ _` | '__|/ _ \| '_ \
|  __/| (_| | (_| | (_| | |  | (_) | |_) |
 \___| \__, |\__, |\__,_|_|   \___/| .__/
       |___/ |___/                 |_|     v1.6

Welcome to Eggdrop. Please make sure that you read all the files under Installation and Setup, especially if you have never compiled or installed a bot before. Also, it is recommended that users of pre-1.6 bots at least skim-read the files for any changes that have been made.


Installation and Setup

Main Documentation

Eggdrop Core/Module Settings and Commands

Appendices


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/html/mod-woobie.html0000664000076600007660000000203311525764164017206 0ustar simplesimple Eggdrop Documentation: Woobie Module

Woobie Module


This is for demonstrative purposes only. If you are looking for starting point in writing modules, woobie is the right thing.

  1. Config file settings

1. Config file settings

Put this line into your Eggdrop configuration file to load the woobie module:

loadmodule woobie


Copyright © 1997 Robey Pointer
Copyright © 1999 - 2011 Eggheads Development Team Eggheads Development Team

eggdrop1.6.21/doc/Changes1.50000664000076600007660000005246211200432071015020 0ustar simplesimple$Id: Changes1.5,v 1.4 2009/05/07 01:07:05 tothwolf Exp $ Eggdrop Changes (since version 1.5.0) _____________________________________________________________________ 1.5.4 (August 22, 2000): - Fixed buffer overflow bug with long keys (>80 chars). Keys can now be handled and saved without length limitation. Found by: metatron, NeO-MeTaL / Patch by: Eule - H_need was being passed the wrong arguments. Patch by: Sup - Updated the help file for cmd_pls_ignore. Patch by: Sup - Updated documentation. Patch by: Wiktor - Removed declarations of USERENTRY_EMAIL and USERENTRY_URL which have been unavailable for a long time. Patch by: Tothwolf - Lagcheck broke if bot got kicked in the wrong moment. Found by: TaKeDa / Patch by: G`Quann - Removed unpopular safe_str() macro. Patch by: Tothwolf - Added a lifetime option to cmd_pls_ignore(). Found by: Sup / Patch by: guppy - The disable_modules file now allows spaces around module names. Patch by: Tothwolf - New Tcl bind: need (see tcl-commands.doc for info). Found by: xberry / Patch by: guppy - Fixed notes command broken by recent strftime changes. Found by: Sup / Patch by: stary - Added open_address_listen() to listen on specific addresses or on INADDR_ANY. Patch by: Fabian - Exporting tandbot and party from core to modules. Found by: Sup / Patch by: Sup, guppy - Minor fix of +/-chrec usage information. Patch by: Sup - Added resetting of nick_juped and channel juped flags. Patch by: drummer - Yet another minor 'Nick change' to 'Handle change' change. Patch by: Sup - Made chanset show usage info when no settings are given. Patch by: Sup - unlink, used as ghost bug work-around, only worked locally. Found by: Dude / Patch by: Fabian - Made all code use strftime() instead of home-brewn hacks to display the time in a certain format. Patch by: Tothwolf - Fixes dcc refused notices. Patch by: Sup - Updated an overlooked JOIN to follow new channel key logic. Patch by: Eule - Fixed bug where handle changes with handles longer than 15 characters crashed the bot. Patch by: Shaun Brown - 'share_newuser' failed to correctly pass on data from new users over the botnet. Patch by: TaKeDa - Doc fixes. Patch by: Sup - Updated doc/MODULES. Patch by: symbands - Slightly fixes and cleans up cmd_adduser(). Patch by: Sup - Enhanced channel key logic. Bot now first tries last set channel key when re-joining. Found by: Ben Dover / Patch by: Eule - add_bot_hostmask now uses maskhost to get the right hostmask format. Patch by: Sup - '.deluser' doesn't require the user to be on the console channel anymore. Patch by: Sup - Slightly cleaned up the transfer module and some other places in the code. Patch by: Fabian - Added 'lost' and 'tout' events as well as a new Tcl func 'getfilesendtime' to the transfer module. Patch by: Scorpius, Fabian - Lagcheck blocked the bot when it tried to (de-)op/voice a netsplit user. Now fixed. Patch by: G`Quann - Removed duplicate '.' before MOD_EXT in console.mod. Found by: RebuM / Patch by: Fabian - Added proper Cygwin detection and usage of '.dll' suffix for libraries on Cygwin systems. Patch by: RebuM, Fabian - Cleaned up server module a bit. Patch by: Fabian - Added no-host detection to adduser(). Found by: TaKeDa, Sup / Patch by: Sup - Long filenames caused 'NULL' to be displayed in directory listings. Found by: abfab / Patch by: Fabian - Changed chan->name to chan->dname in some places. Patch by: Sup - Removed version suffixes from getops and userinfo filenames. Patch by: Fabian - Using constants instead of raw telnet character-codes now. Patch by: Fabian - Some places still used nick instead of hand.. Patch by: Wiktor - Removed silence left-overs. Minor other fixes. Found by: blaster^ / Patch by: Fabian - Replace all spaces in logfilenames by underscores and changed default suffix to '.%d%b%Y'. Found by: Tothwolf / Patch by: Fabian, G`Quann - Fixed problem with lagcheck on DALnet. Found by: Lucas / Patch by: G`Quann - Removed all occurrences of private_owner from share.mod. Global owners are now shared by default, as in 1.4. Found by: MBroLad / Patch by: Fabian - Added tcl_channame2dname and tcl_chandname2name to allow Tcl scripts to support !channels. Found by: Joker / Patch by: Fabian - Removed ircu silence support. Patch by: guppy - Fixed some places which were using chan->name instead of chan->dname. This included the join bind and laston info. Found by: Wiktor, guppy / Patch by: Fabian - eggContext and friends didn't cut down filename paths. Found by: Joker / Patch by: Fabian - Upgraded sentinel1.54 to 1.55. Patch by: drummer - Extended info in patch.howto. Found by: Sup / Patch by: Wiktor - Added gmake hint on Ultrix to compiling.FAQ. Found by: Georg Schwarz / Patch by: Wiktor - Changed *.conf.dist a bit and added chnick and nick to help. Found by: Ben Dover, Lucas / Patch by: Wiktor - Moved some lines from the login procedure to the motd file. Patch by: Wiktor - Illegal definition of egg_snprintf fixed for STDC systems. Found by: Joker / Patch by: Fabian - Removed the 'BOOL FreeConsole' Cygwin hack from main.c. Found by: various / Patch by: Tothwolf - Print 'Launched' message when compiled with Cygwin. Found by: FireEgl / Patch by: Tothwolf - Use opendir() instead of fopen() in files.c. Patch by: RebuM - Use binary mode when opening userfile with Cygwin. Patch by: RebuM - Removed private-owner from config files. Patch by: Wiktor - compress.mod was missing in eggdrop.complete.conf. Found by: toot / Patch by: Wiktor - Updates NEWS file. Patch by: Wiktor 1.5.3 (May 7, 2000): - Added support for dell svr4. Fixed trigraph problems in filesys.mod/filesys.c and botnet.c (gcc2.96 problem). Patch by: SuperS - Fixed small compile warning in seen.mod/seen.c. Patch by: SuperS - Fixed snprintf definition on systems using vargs. Patch by: SuperS - lagcheck wasn't working correctly on Undernet / EFnet. Found by: mho, Lucas / Patch by: G`Quann - Added possibility to change multiple channel settings using '.chanset * +whatever'. Patch by: G`Quann - Added setting 'logfile-suffix'. The name says it all. Patch by: G`Quann - Removed some useless #define's in tclegg.h, and did some minor cleanups to egg_strcasecmp and str(n)cmp Patch by: guppy - snprintf.h used wrong declaration for non-stdarg systems. Found by: SuperS / Patch by: Fabian - Various places using strcmp should use strcasecmp or rfc_casecmp instead. Patch by: Fabian - Cleaned up minor debugging messages from dns.c. Patch by: Fabian - Under certain circumstances Eggdrop would immediately reconnect to irc servers, causing massive connect flooding. Found by: Jason Ede / Patch by: Fabian - Minor lang fix to 'cmds.c'. Patch by: Fabian - Cleaned up motd. Patch by: guppy - Filesys 'ls' command crashed on invalid directories. Found by: Flame / Patch by: Fabian - Small makefile bug fixed in src/mod/Makefile.in. Added modinfo file to assoc module. minor other fixes. Found by: G`Quann, drnet / Patch by: Fabian - max-filesize set to 0 now means unlimited file size. Found by: Wiktor / Patch by: Fabian - Made some doc/ and README improvements Found by: daimonic / Patch by: Wiktor - Now doesn't remove bogus bans set by masters anymore. Patch by: Wiktor - Moved web_docs to html to keep proper naming Patch by: Jason Ede - Added textfile substitutions to web based docs. Patch by: Tothwolf - Updated web docs to include config file settings. Includes tidying of some files by Toth. Patch by: Jason Ede, Wiktor, Tothwolf - Tcl must-be-owner caused crash because of multiple defs. Patch by: Fabian - Prefixes to source filenames caused trouble in memory debugging functions. Found by: drnet / Patch by: Fabian - compress and uncompress functions now check whether the passed filenames are actually real files. Tcl commands reworked and merged: compressfile, uncompressfile. New Tcl command to check whether a file is compressed. Found by: Wiktor / Patch by: Fabian - Updated NEWS file. fixed typo in eggdrop.simple.conf. Patch by: Wiktor - Replaced the old snprintf implementation with a new one supporting floating point format variables, such as %f. Found by: FireEgl / Patch by: Fabian - Resume support in the transfer module was not compatible with mIRC's implementation. mIRC would also do some silly stuff during communication, which is now also detected. Found by: Phoenix / Patch by: Fabian - Fixed minor memory leak in transfer module. Found by: Wiktor / Patch by: Fabian - Renamed .nick and .chnick to .handle and .chhandle. Fixed docs to reflect this change. Patch by: Wiktor - Module Makefiles contained invalid dependencies. Patch by: Fabian - Various doc updates and changes. Patch by: Wiktor - Forgot to change bzero to egg_bzero in one place. updated compile dependencies. fixed typos in src/mod/Makefile.in. Found by: G`Quann / Patch by: Fabian - The newly added docs now get correctly installed. updated compile dependencies. moved bzero, memcpy, strcasecmp and strncasecmp to the compat directory. cleaned up include paths. Patch by: Fabian - Small bug in eggmod.m4 fixed. Found by: Joker / Patch by: Fabian - Makefile and configure adjustments. vpath now works. Patch by: Fabian - Added a src/compat directory with functions needed by Eggdrop, but not provided by all systems. Found by: various / Patch by: Fabian, Tothwolf - Updated web docs for 1.5. Adjusted various text docs. Patch by: Jason Ede - Added information about -next parameter to tcl_put*. Patch by: Wiktor - Reworked, extended and updated documentation. Split up configuration file. Removed private-owner. Patch by: Wiktor - Traffic logging now uses unsigned long instead of int. Found by: Ian / Patch by: G`Quann - Exporting a few additional functions to allow modules to use user definable channel flags. Patch by: G`Quann - DNS related relay fixes. Added new socket flag SOCK_VIRTUAL to stop not yet valid sockets from being accessed in the main network loop. Patch by: drummer - Minor Makefile fixes. minor config.status tweaks. Found by: Wiktor / Patch by: Fabian - Misc aclocal.m4 changes. misc/modconfig now keeps track of known modules. unknown modules are automatically selected on running 'make config' / 'make iconfig'. 'make new-iconfig' only asks questions about newly added mods. Patch by: Fabian - Increased portability of src/mod/eggautoconf Found by: TheQ / Patch by: Fabian - Renamed aux/ to misc/ to avoid problems on win32 Found by: Lucas / Patch by: Fabian - Module names are now correctly distinguished (e.g. bseen and seen are not mixed up anymore) Found by: Wiktor / Patch by: Fabian - Tiny '.binds' fix. Patch by: David Newhall II - Adjusted share module to support more flexible user file handling functions. changed 'compress' to use that support. added mmap() support to compress. minor fixes. Patch by: Fabian - Minor fixes to the dns modules Patch by: Fabian - Minor fixes to the filesys module Patch by: Fabian - Modified .+host so normal users could use it to add hosts to their own record as they can already use .-host. Only allows hosts that don't match other users. Patch by: Jason Ede - Added module 'compress' which allows compressed user file sending; based on zlib Found by: toot / Patch by: Fabian - Changed notc bind. adjusted tcl-commands.doc appropriately. Patch by: drummer - Fixed optimize-kick code Patch by: drummer - Made a few filesys rejects more informative to the user Found by: Wiktor / Patch by: Fabian - Minor typo in filesys.mod caused misordered log entries and tiny bug caused uploaded files to get incorrect credits Found by: toot / Patch by: Fabian - configure strictly non-interactive again. module configuration now available through 'make [i]config'. aux/modconfig now does the job of src/mod/modtool. Found by: Tothwolf / Patch by: Fabian - Various portability fixes to src/mod/modtool. minor other portability fixes. Found by: Webbie, Joker / Patch by: Fabian, TheQ - The dcc cmd '.binds' now supports wildcards Found by: jay / Patch by: David Newhall II - Portability fixes to configure and modtool Found by: SuperS / Patch by: Fabian - Every module can now have it's own configure script and modules which need features not supported by the system are disabled automatically. Found by: FireEgl / Patch by: Fabian - configure supports '--disable-mod-MODULE' to disable specific modules and 'make reconfig' allows you to select modules interactively. Patch by: Fabian - make -j is now supported during module compilation. Patch by: Fabian - Updated patch.howto. also fixed small bug in irc.c. Patch by: Wiktor - Fixed a bug in the lagcheck functions and a typo. Patch by: G`Quann - need-invite/-limit/-unban/-key failed to work when the bot attempted to join a channel for the first time. Found by: Whilor, Webbie / Patch by: Fabian - Blowfish didn't re-initialize it's Tcl bindings correctly after restart. Found by: Wiktor / Patch by: Fabian - Added missing global var (isjuped) and moved md5 command to right section - tcl-commands.doc. Patch by: dw 1.5.2 (February 4, 2000): - Stopped flooding of partyline with channel juped messages. Added display to .status and a ischanjuped Tcl command. Patch by: Jason Ede - Tiny configure error caused version number search to fail Found by: Webbie / Patch by: Fabian - Unlink message now shows information about how many bots and users got unlinked with the bot. Patch by: G`Quann - Added protection to stop Eggdrop from flooding off lagged IRC servers. Add new setting use-lagcheck. Patch by: G`Quann - Cleaned up all modules and the core. unified code style. Patch by: Fabian - Added set global-stopnethack-mode. Patch by: Eule - bind notc now handles channel notices, and bind part now handles part messages. Patch by: guppy - Updated NEWS file. Patch by: Wiktor - Ignore stopnethack and wasoptest in chanfile. Found by: Ian / Patch by: Eule - Don't flood us with nick is juped msgs show it ones and in .status or $isjuped in Tcl. Patch by: dw - Added reasons to several botnet quit messages Patch by: David Newhall II - Optimized kick sending. Patch by: G`Quann - Added 'outdone' to dcc_table structure - gets called as soon as the out buffer is emptied. Use sock_has_data() to check weather one of the sock buffers is empty. Patch by: Fabian - Introduced new userfile feature system for userfile sharing Patch by: Fabian 1.5.1: - Fixed the slightly broken penalty calculation code Patch by: G`Quann - Changed the -lbind and -lresolv check-order in configure Patch by: Tothwolf - New stopnethack-mode Patch by: Eule - Small transfer fix and two contexts for share debugging Found by: Wiktor / Patch by: Fabian - Minor filesys fixes. transfer module detects empty files. Patch by: Fabian - Minor eggdrop.conf.dist fixes Patch by: Wiktor - Separate flood-nick counter to distinguish between nick and join floods. Patch by: Ian - Added setting userfile-perm to specify userfile permissions Found by: Wiktor / Patch by: Fabian - Made everything use bzero and my_memcpy instead of their variants Patch by: Fabian - Added a pub flag to the Tcl listen command Patch by: Fabian - Traffic for transfer.mod wasn't calculated correctly Patch by: G`Quann - Cleaned up irc.mod Patch by: Fabian - Commented woobie, cleaned up transfer and seen Patch by: Fabian - Added an md5 Tcl command Patch by: Olrick - .strip can now handle the bold/highlight better Patch by: dw - Missing a way to get the users handle as it is saved in the userfile. Added getuser type HANDLE Found by: Johnny Mnemonic / Patch by: dw - Fixed dns findhost() SEGV Found by: guppy / Patch by: Fabian - dnslookup now allows additional parameters that get passed to the proc later on. Patch by: Fabian - Merged those two commands into one, dnslookup Patch by: Fabian - Added async Tcl commands dnsip2host and dnshost2ip Patch by: Fabian - Minor language cleanup Patch by: Fabian - .channel was using NICKMAX instead of nick_len Patch by: toot - Missing Tcl_UntraceVar for nick-len Patch by: Fabian - Nick length now set on-the-fly Found by: various / Patch by: Fabian - +nodesynch and +greet used the same flag bit and +nodesynch was read as -nodesynch from the chanfile. Found by: toot / Patch by: Fabian - Fixed crash when sending a whois Found by: toot / Patch by: G`Quann - Added updates to the silence list in several places Patch by: Ian - Added a new channel flag nodesynch which replaces the allow_desync setting Patch by: Ian - Fixed ASSERT failure in filesys. cleanups. Found by: toot / Patch by: Fabian - Added '.traffic' command which shows traffic statistics Patch by: G`Quann - chan->name to chan->dname fixes in user definable channel flags code Patch by: G`Quann - Failed reverse lookups were taken too serious Found by: toot / Patch by: Fabian - New option 'override-bots' to define weather local bot records should be overridden by those provided by the hub. Patch by: Fabian 1.5.0: - The transfer and filesys modules now support resume and re-get to continue aborted file downloads Patch by: Fabian - Tiny botlink return value fix Found by: Ehrenberg / Patch by: Fabian - A few filesys fixes Patch by: Fabian - Not re-adding existent bans to the channel anymore Patch by: Fabian - Duplicate rejections are now delayed to allow the botnet to overcome lags Found by: Mixter / Patch by: Fabian - Adds optional -next parameter to putquick, putserv and puthelp to push messages to the front of the queue Patch by: G`Quann - Further filesys db3 engine fixes Found by: Jason Ede, dw / Patch by: Fabian - Fixes mem leak and stack corruption in udef chan settings Patch by: G`Quann - dns module should now also compile statically Patch by: Fabian - Several filesys db3 engine fixes Found by: several / Patch by: Fabian - Fixed typos, auto-ident messups throughout the source, grammatical errors in tcl-commands.doc, renamed NEWTO1.5 to NEWS, other small fixes Patch by: Tothwolf - Minor motd/telnet-banner update Patch by: Tothwolf - Minor filesys fixes Found by: guppy / Patch by: Fabian - Documented usage of the user definable channel settings Patch by: G`Quann - Adds config variables to define which commands should be stacked. Includes default settings for IRCNet and Undernet. Patch by: G`Quann - The listening socket wasn't passed on correctly during the login procedure Found by: Jason Ede / Patch by: Fabian - Rewritten filesys.mod to allow unlimited filename, description, etc. lengths. Patch by: Fabian - block_dns_ipbyhost crashed on illegal hostnames/ips Found by: Wiktor / Patch by: Fabian - Fixed tcl_console getting confused between flags and +chans. Patch by: Cybah - Userfile functions need to use chan->dname. Patch by: Cybah - Changed most of the user-side findchan() calls to findchan_by_dname() so the commands can support !chans. Patch by: Cybah - Initial !channel support. Patch by: Cybah - Optimizes irc command queue and stacks as many commands as possible Patch by: G`Quann - Added user definable channel settings Patch by: G`Quann - block_dns_hostbyip crashed on failed dns lookups Patch by: G`Quann - The transfer module now supports almost unlimited file lengths, limited only by the system's max file name length. In addition, temporary files are created in a more race safe way. Patch by: Fabian - Added penalty calculation for all commands sent to the irc server to prevent flooding (IRCnet specific) Patch by: G`Quann - Reintroduced the text/-dir, renamed telnet-banner to banner, set default config filename to eggdrop.conf, put logfiles to logs/-dir by default Patch by: rtc - Numerical hostnames are now detected Found by: guppy / Patch by: Fabian - Outgoing bot links weren't correctly initialized, autolink wasn't detecting active bot links and the dns module was still broken from the last byte order changes Patch by: Fabian - Was deleting socket 0 if server connect failed Found by: G`Quann / Patch by: Fabian - The dcc[].addr is now consistently host byte order and all async dns lookup functions accept host byte order IPs Found by: arthur2 / Patch by: Fabian - Added an asynchronous DNS request module which prevents the bot from hanging on dns lookups. Patch by: Fabian eggdrop1.6.21/doc/BOTNET0000664000076600007660000002537411525764164014246 0ustar simplesimple$Id: BOTNET,v 1.25 2011/02/13 14:19:32 simple Exp $ Botnet Sharing and Linking Last revised: June 4, 2002 _____________________________________________________________________ Botnet Sharing and Linking The purpose of this document is to show you what a botnet is and how it could be useful to you. It also covers botflags userfile sharing. Contents: 1. Terms 2. What is a botnet? 3. Adding and linking bots 4. Using botflags 5. Making bots share user records 1. Terms The following are some common terms used in this document: Botnet A botnet consists of one or more bots connected together. Link Link is the term used to describe a bot connecting to another bot. Hub A bot is described as a hub-bot if one or more bots are linked to it. Leaf A leaf is a non-hub bot connecting to a hub-bot. A leaf has only one other bot connected to it, its hub. Leaf bots can be assigned the "l" botflag to prevent other bots from linking to them. Link Bot A link-bot is a bot that is linked to another bot. It may or may not be a hub-bot. Share Share is the term used to describe the sharing of user records. Share Bot A share-bot is a bot which shares user records with one or more linked bots. Aggressive Share Aggressive share is a term used to describe the direction of sharing user-files. Aggressive share bots will SEND userfiles to another passive bot. Passive Share Passive share is a term used to describe the direction of sharing user-files. Passive share bots will accept userfiles from an aggressive share bot. Example bottree: BotA |-+BotB `-+BotC BotB is linked to a master sharebot, BotA, and a slave sharebot, BotC. BotB shares passively with [receives from] BotA and shares aggressively with [sends to] BotC. Bot Flags Flags are attributes that determine what a bot can or is allowed to do. Flags can be either global (such as +s) or channel specific (such as |+s #lamest). See '.help botattr' for help with setting these flags. The following is a list of valid bot flags: s share aggressively (SEND userfile to a passive bot) p share passively (ACCEPT userfile from an aggressive bot) g global share (share all channels) h hub (automatically link to this bot) a alternate (automatically link to this bot if the hub bot can't be linked) l leaf (bot is not allowed to link in other bots) r reject (bot will not be allowed to link) i isolate (isolate the party line across a bot link) 0-9 user defined flags Address The physical address, containing the address and port of the bot. For example: lame.org:3333. You can change a bot's address with ".chaddr ". Relay Port The relay port number of the bot is defined in the config file. Note that you can define one port for bots and another for user connections. Relay A relay connection is used to relay (jump) to another bot via telnet or DCC chat. You can relay to another bot even if the remote bot is not linked. You can use ".relay " to relay to another bot. Port The telnet port is used by the bot to communicate with other bots and/or users. Note that you can define separate ports for user and bot connections. 2. What is a botnet? A botnet consists of one or more bots linked together. This can allow bots to op each other securely, control floods efficiently, and share user lists, ban lists, exempt/invite lists, and ignore lists (if sharing is enabled). 3. Adding and linking bots With the common terms out of the way, we can start with the process of linking two bots. Before you start, you need to know the address and port of each bot you wish to link. Here is an example scenario: BotA is on lame.org listening on port 3333, and BotB is on irc.org listening on port 4444. First, you have to add each Bot to the other's userfile. On BotA, you would type '.+bot BotB irc.org:4444'. If BotB is on a common channel with BotA, BotB's hostmask is automatically added. Otherwise, you have to add the hostmask manually with the '.+host' command. On BotB, you would type '.+bot BotA lame.org:3333'. At this point, you can link the two bots by typing '.link BotA' on BotB (or '.link BotB' on BotA). The bots will now give themselves random passwords which are *not* stored encrypted in the userfile. Note that you can link as many bots as you wish to your botnet. 4. Using botflags Botflags are needed to assign special functions and tasks to your bots. Bot flags are set with the '.botattr' command. See '.help botattr' for help with this command. The following is a list of botflags and their functions: "h" (hub) If you want your bot(s) to automatically link/relink, you can assign the +h botflag each bot's hub. Note that if you set multiple bots +h, the bot only attempts to link to one. "a" (alternate) If your bots are, for some reason, unable to link to their hub, they will attempt to connect to an alternate hub. You can assign a bot as an alternate hub by giving it the +a botflag. "l" (leaf) This flag, assigned to a link bot, will prevent the link bot from linking other bots to your botnet. "r" (reject) If you assign this flag to a link bot, the link bot will not be allowed to link to the botnet. "i" (isolate) This flag isolates a link bot's partyline from the rest of the botnet. Anything said on the link bot's partyline won't appear on the rest of the botnet. "s" (SEND userfile to) +s Giving a link bot this flag will make the bot share aggressively with the link bot. See 'Aggressive Share' in section 2 of this document for more information on aggressive sharing. |s +s bots need this flag for each channel you want to share. "p" (ACCEPT userfile from) Giving a link bot this flag will make the bot share passively with the link bot. See 'Passive Share' in section 2 of this document for more information on passive sharing. "g" (global share) This flag allows the sharing of all channels with a link bot. "0-9" (user-defined) These 10 flags are user-defined can be used by scripters. 5. Making bots share user records Before you start preparing your bots for sharing, make sure that you've loaded the transfer and share modules. You also have to ensure that each channel you wish to share is set +shared (see '.help chanset' and '.help chaninfo'). By using specific botflags, you can cause your bot to share aggressively with some link bots, and passively with others. For sharing to work, flags must be set properly on both the passive and the aggressive bots. An aggressive bot will not share userfiles with another aggressive bot; a passive bot will not share userfiles with another passive bot. First off, let's say we have two bots we want to link. We will call one Lamestbot, and the other Lameshare. The first thing that needs to be done is each bot needs the other bot added to its user record. Your botnet should have a hub bot. This will have them connect automatically whenever they are started. Without a hub, you would have to manually link them with the .link command. For this situation we will make Lamestbot the hub for our small botnet. Let's also use a channel called #eggdrop as the one we want to share user channel flags with. Do the following: On Lamestbot: .+bot Lameshare eggdrop.com:3333 (This command adds a user record to Lamestbot for Lameshare. Lameshare is running from eggdrop.com and is on port 3333. If Lameshare were to have a separate port for users/relays we would just add a '/' and the port number, i.e. 3333/5555.) .botattr Lameshare +s (This tells us that Lamestbot will only send user files to Lameshare; Lameshare will not send them to it.) .botattr Lameshare |s #eggdrop (this sets up sharing of the channel flags for #eggdrop between the bots. Without this, they will not share channel flags only global flags for the users.) On Lameshare: .+bot Lamestbot best.com:3333/5555 (Again this will add a user on Lameshare called Lamestbot with the domain of best.com. The bot has two ports, 3333 for bot communications and 5555 for users/relays.) .botattr Lamestbot +hp (This command sets Lamestbot as the hub and also as a passive share, which means Lameshare will accept user files from Lamestbot. .botattr Lamestbot |s #eggdrop (This sets #eggdrop as a share channel.) Our botnet: Lamestbot `-+Lameshare Let's add a third bot called beldin to this scenario: On Lamestbot: .+bot beldin llama.com:3333 .botattr beldin s|s #eggdrop (Notice how i piped (the | character) the channel flag also saving time.) Also note that you don't have to add beldin on Lameshare. Since they are already sharing, it was added automatically. The one thing that you should note is that no bot flags will be shared. If you set beldin as +s (Aggressive share) on the hub (Lamestbot) he will not be set on the other bots as that. The same with the channel +s flag. All other flags will be shared such as the o, f, etc. Now that we have three bots, we can also set up one as an alternate hub. The alternate hub is the bot that the bots will auto-connect to in the event the hub goes down or is unreachable. Let's make beldin an alternate hub for our little botnet. On Lameshare: .botattr beldin +a That's all there is to it. Again, since bot flags are not shared, you would have to add the bot flag +a for beldin on them all. The only ones you would not have to do this on are beldin and the hub (Lamestbot). Of course, if you had more bots, you would have to add beldin as a +a on them, but you would not do it on the hub or beldin. Our botnet: Lamestbot |-+beldin `-+Lameshare _____________________________________________________________________ Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/Versions0000664000076600007660000002755411651664617015067 0ustar simplesimple$Id: Versions,v 1.9 2011/07/09 15:07:48 thommey Exp $ This file lists the release dates for most of the officially released versions of Eggdrop and notes forks, bug fix patches and maintenance patches. Some of the older versions are missing from the current archive and their exact release dates are unknown. If you happen to have a copy of an old version not in the archive available on ftp://ftp.eggheads.org please get in contact via the email lists at http://www.eggheads.org so it can be added. Version Release date Description 1.6.21 Oct 25, 2011 1.6.21 RC1 Oct 3, 2011 1.6.20 Jul 23, 2010 1.6.19+ctcpfix May 14, 2009 Fix for Secunia Advisory SA35104 / CVE-2009-1789 1.6.19 Apr 18, 2008 Fix for Secunia Advisory SA25276 / CVE-2007-2807 1.6.18 Jul 9, 2006 Major bind code function changes 1.6.17 Aug 22, 2004 1.6.16 May 31, 2004 Fix for Secunia Advisory SA10858 1.6.15 May 4, 2003 1.6.14 May 4, 2003 1.6.13 Nov 22, 2002 1.6.12 Jul 26, 2002 1.6.11 Jul 26, 2002 1.6.10 Mar 29, 2002 1.6.9 Mar 10, 2002 1.6.8 Jan 2, 2002 1.6.7 Dec 7, 2001 1.6.6 Jul 20, 2001 1.6.5 Jul 10, 2001 1.6.4 Apr 13, 2001 1.6.3 Feb 27, 2001 Eggdrop won't load as 'root' anymore 1.6.2 Jan 14, 2001 1.6.1 Nov 22, 2000 1.6.0 Nov 15, 2000 Will load with threaded Tcl now 1.5.4 Aug 22, 2000 1.5.3 May 7, 2000 Compress module added, share code moved to a module 1.5.2 Feb 4, 2000 1.5.1 1.5.0 Initial asynchronous DNS support Initial penalty calculation support Complete rewrite of filesys module Major changes to transfer module for DCC RESUME Versions 1.5.x were development test versions so their release dates overlap with 1.4.x. 1.4.5 Nov 15, 2000 1.4.4 Jul 16, 2000 1.4.3 Apr 11, 2000 1.4.2 Jan 30, 2000 1.4.1 Dec 17, 1999 Infamous "share bug" crash fixed 1.4.0 Nov 9, 1999 MD5 digest support for bot linking passwords 1.3.28 Aug 10, 1999 1.3.27 May 28, 1999 joinfloodfix bugfix patch 1.3.27 May 10, 1999 RFC1459 string matching support fixed Attempt to support Tcl 8.1+threads 1.3.26 Mar 30, 1999 1.3.25 Mar 29, 1999 1.3.25+ development continued by eggheads.org Initial RFC1459 string matching support 1.3.24i Mar 5, 1999 First Eggdrop release from eggheads.org First version with +e/+I channel mode support First version with network type support 1.3.23 Jan 2, 1999 Beldin abandons 1.3.x to focus only on 'Eggdrop2' 1.3.22 Oct 24, 1998 1.3.21 Sep 30, 1998 1.3.20 Sep 21, 1998 1.3.19 Aug 28, 1998 1.3.18 Jul 19, 1998 1.3.17 Jul 7, 1998 1.3.16 Jun 15, 1998 1.3.15 May 30, 1998 1.3.14 May 3, 1998 1.3.13 Apr 15, 1998 1.3.12 Mar 20, 1998 1.3.11 Feb 25, 1998 1.3.10 Feb 11, 1998 1.3.9 Jan 25, 1998 1.3.8 Dec 31, 1997 1.3.7 Dec 1997 1.3.6 Dec 1997 test patch, not released publicly 1.3.5 Dec 1, 1997 1.3.4 Nov 24, 1997 1.3.3 Nov 17, 1997 1.3.2 Nov 12, 1997 1.3.1 Nov 10, 1997 1.3.0 Nov 9, 1997 Beldin's initial 'Eggdrop2' development fork Beldin forked 1.3.0 for the 'Eggdrop2' bot written in C++. See the end of this file for more information on this fork. 1.3.0delta This version had no name listed in the UPDATES file. 1.3.0gamma 1.3.0beta 1.3.0pre+bel1 1.3.0pre+TG2 1.3.0pre+TG 1.3.0pre+BBub1 1.3.0pre 1.2.2+bel5 1.2.2+bel4 1.2.2+bel3 1.2.2+bel2 1.2.2+bel1 1.2.2 1.2.0+bel26 1.2.0+bel25 1.2.0+BBub5 1.2.0+bel24 1.2.0+bel23 1.2.0+kk4 1.2.0+bel22 1.2.0+kk3 1.2.0+bel21 1.2.0+bel20 1.2.0+bel19 1.2.0+bel18 1.2.0+bel17 1.2.0+bel16 1.2.0+kk2 1.2.0+bel15 1.2.0+bel14 1.2.0+bel13 1.2.0+bel12 1.2.0+bel11 1.2.0+kkdoc 1.2.0+bel10 1.2.0+BBub4 1.2.0+bel9 1.2.0+bel8 1.2.0+ident Support telnet identd verification to stop botscans 1.2.0+BBlang3 1.2.0+bel7+pop1 1.2.0+bel6 1.2.0+BBlang2 1.2.0+bel5 1.2.0+bel4 1.2.0+bel3+BBlang+kk 1.2.0+bel2+BBlang 1.2.0+bel1 1.2.0 Aug 7, 1997 alpha code, premature unofficial release Beginning of language file support The exact dates for most of the 1.2.x series are unknown. 1.2 was never intended to be a release tree but 1.2.0 was released by a 3rd party. 1.1.6+w1 Oct 3, 1999 Maintenance patch by Wild 1.1.6 Jun 17, 1999 Maintenance patch by Wild 1.1.5 Jun 29, 1997 Released by Beldin 1.1.4 Jun 22, 1997 Released by Beldin 1.1.3+pl3 Patch by Beldin 1.1.3+pl2 Patch by Beldin, EraseMe 1.1.3+pl1 Patch by EraseMe 1.1.3 Released by Beldin First version with module support 1.1.2+pl2 Patch by EraseMe 1.1.2+pl1 Jun 10, 1997 Patch by dtM, Beldin 1.1.2 Jun 6, 1997 Released by Beldin 1.1.1+pl2 Patch by Wild, Beldin 1.1.1+pl1 May 28, 1997 Patch by Beldin 1.1.1 1.1.0+pl3 Patch by Beldin 1.1.0+pl2 Patch by Wild 1.1.0+pl1 May 26, 1997 Patch by Beldin, dk 1.1.0 May 24, 1997 Released by dk 1.1alpha versions: Most of the 1.1 alpha versions were named after former US presidents. The 1.1 alpha versions prior to 'lincoln' never saw a general release and may have never even existed. (The first reference to any 1.1alpha versions prior to 'lincoln' is in one of dk's patches.) Many of the later 1.1 alphas were made available as gzip'd tar archives and patches. Release or creation dates that are known are included below. The 'a.johnson' name had been used by the lincoln +lefty1+lefty2+kin1+beldin1 patchset and was skipped for the next version, which Robey released as 'grant'. There was a naming scheme deviation after 'grant'. The next version before 'hayes' was named 'julius'. This note is from the main.c file in 'hayes': "For future reference: we deviated from the presidents because this is where Robey left mainstream development and we weren't sure whether or not to use them :)" The name 'octavian' was proposed as the next version after 'julius' but it reverted back to US presidents and 'hayes' was used instead. Three more presidential names had been proposed after 'hayes' but they were never used: 'garfield', 'arthur', and 'cleveland'. After 'hayes' the version scheme changed to 1.1.x and the next version number used was 1.1.0. 'lincoln' was the first readily available alpha version with support for channel specific user flags. hayes+pop+pl5 May 12, 1997 Patch by poptix hayes+wild+pl4 May 12, 1997 Patch by Wild hayes+bel+pl3 May 12, 1997 Patch by Beldin hayes+wild+pl2 May 9, 2007 Patch by Wild hayes+wild+pl1 May 8, 2007 Patch by Wild hayes May 7, 1997 Released by Wade julius+pl6 May 4, 2007 Patch by Wild julius+pop+pl5 May 4, 2007 Patch by poptix julius+pl4 Apr 28, 2007 Patch by Wild, poptix julius+pl3 Apr 27, 2007 Patch by dk julius+pl2 Apr 17, 1997 Patch by dk julius+pl1 Apr 14, 1997 Patch by dk julius+garbanzo Apr 7, 1997 Patch by garbanzo julius Apr 2, 1997 Released by dk, see note above grant+dk+pl3 Mar 28, 1997 Patch by dk grant+dk+pl2 Mar 25, 1997 Patch by dk grant+dk+pl1 Mar 25, 1997 Patch by dk grant+pteron+pl1 Mar 23, 1997 Patch by pteron grant+beldin4e Patch by Beldin grant+beldin4d Feb 26, 1997 Patch by Beldin grant+beldin4c Patch by Beldin grant+beldin4b Patch by Beldin grant+beldin4a Patch by Beldin grant+beldin1 Feb 18, 1997 Patch by Beldin grant+cmw+pl3 Feb 11, 1997 Patch by cmwagner grant+cmw+pl2 Feb 13, 1997 Patch by cmwagner grant+cmw+pl1 Feb 13, 1997 Patch by cmwagner grant Feb 5, 1997 Last 1.1 release by Robey a.johnson Skipped, see note above lincoln+beldin1 Jan 26, 1997 Patch by Beldin lincoln+kin1 Jan 16, 1997 Patch by Gaven Cohen lincoln+lefty2 Patch by Lefty lincoln+lefty1 Jan 10, 1997 Patch by Lefty lincoln Jan 5, 1997 Released by Robey buchanan pierce fillmore taylor polk tyler harrison vanburen jackson jq.adams monroe madison jefferson j.adams washington Version 1.0n was forked for 1.1alpha: 1.0n (Jan 6, 1997) -> 1.0o (Feb 4, 1997) -> 1.0p (Mar 16, 1997) +-> 1.1alpha 1.0t Jun 8, 1998 Released by KingKurly 1.0s Jul 14, 1997 Released by KingKurly 1.0r Jul 13, 1997 Released by KingKurly 1.0q Jun 1997 Released by KingKurly 1.0p Mar 16, 1997 Released by Wade, maintenance release 1.0o Feb 4, 1997 Last 1.0 release by Robey, maintenance release 1.0n Jan 6, 1997 Relicensed under GNU GPL, 1.0n forked for 1.1alpha 1.0m Dec 4, 1996 1.0l Nov 11, 1996 1.0k Oct 17, 1996 1.0j Oct 8, 1996 1.0i Sep 10, 1996 1.0h Aug 7, 1996 1.0g Jul 23, 1996 First version with Blowfish password encryption 1.0f Jul 6, 1996 1.0e Jul 2, 1996 1.0d Jun 12, 1996 1.0c Jun 1, 1996 1.0c-pre May 23, 1996 prerelease 1.0b May 20, 1996 1.0a May 4, 1996 1.0+p1 Apr 7, 1996 Bugfix patch 1.0 Apr 7, 1996 First release version with multi-channel support 1.0 beta Apr 3, 1996 'turtle', Bugfix patch 1.0 beta Apr 1, 1996 'turtle' 1.0 beta Mar 28, 1996 'stegosaurus' 1.0 beta Mar 25, 1996 'rabbit', First version with multi-channel support 0.9t+p2 Feb 1, 1996 Bugfix patch 0.9t+p1 Feb 1, 1996 Bugfix patch 0.9t Feb 1, 1996 0.9s Jan 27, 1996 0.9r Dec 1, 1995 0.9q Nov 10, 1995 0.9p Oct 12, 1995 0.9o Jun 8, 1995 0.9n May 21, 1995 Permanent owner config file option support 0.9m Apr 6, 1995 0.9l Mar 20, 1995 0.9k Mar 2, 1995 0.9j Feb 5, 1995 0.9i Jan 27, 1995 0.9h Jan 12, 1995 0.9g Nov 15, 1994 0.9f Oct 10, 1994 0.9e Sep 27, 1994 0.9d Sep 17, 1994 First version with Tcl support 0.9c Aug 17, 1994 0.9b Aug 3, 1994 0.9a Jul 26, 1994 0.9 Jul 23, 1994 Release dates for versions between 0.7d and 0.9 have unfortunately been lost. It is a safe assumption that these versions were released between Apr 11, 1994 and Jul 23, 1994. 0.7d Apr 11, 1994 0.7c Apr 11, 1994 0.7b Apr 7, 1994 0.7a Apr 7, 1994 0.7 Apr 4, 1994 0.6r Apr 4, 1994 0.6q Apr 2, 1994 0.6p Apr 1, 1994 0.6o Mar 31, 1994 0.6n Mar 30, 1994 0.6m Mar 28, 1994 0.6l Mar 22, 1994 0.6k Mar 17, 1994 0.6j Mar 16, 1994 0.6i Mar 14, 1994 0.6h Mar 11, 1994 0.6g Mar 10, 1994 0.6f Mar 9, 1994 0.6e Mar 7, 1994 0.6d Mar 3, 1994 0.6c Mar 2, 1994 ---------------------- Beldin's Eggdrop2 development fork: Most of these versions were development milestones and were not released publicly. The only versions readily available via FTP were 2.0.0-ALPHA, 2.0.1-BETA, and 2.1.0. 2.1.0 Mar 24, 1999 2.0.1-BETA Jan 22, 1999 2.0.0-ALPHA Jan 17, 1999 2.0.0-ALPHA19990117 2.0.0-ALPHA19990108 2.0.0-ALPHA19981225 2.0.0-ALPHA19981031 2.0.0-snap19981029 2.0.0-snap19981014 2.0.0-snap19980914 2.0.0-snap19980815 merge eggdrop 1.3.15, 1.3.16 2.0.0-snap19980609 merge eggdrop 1.3.14 2.0.0-snap19980509 merge eggdrop 1.3.13 2.0.0-snap19980416 2.0.0-snap19980404 merge eggdrop 1.3.12 2.0.0-snap19980326 2.0.0-snap19980310 merge eggdrop 1.3.11 2.0.0-snap19980225 2.0.0-snap19980217 1.5.3 merge eggdrop 1.3.10 1.5.2 merge eggdrop 1.3.9 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 Beldin's 'Eggdrop2' 1.4.x branch forked from 1.3.0 eggdrop1.6.21/doc/Changes1.60000664000076600007660000030477411651664504015051 0ustar simplesimple$Id: Changes1.6,v 1.117 2011/10/25 16:45:08 thommey Exp $ Eggdrop Changes (since version 1.6.0) _____________________________________________________________________ 1.6.21 (October 25, 2011): - Added missing read trace flag to the nick-len variable trace after being unset to make the trace be removed properly on unload. Found by: Dopsy / Patch by: pseudo # RC1 released on October 3rd, 2011. - Updated instructions for compilation under Cygwin. Updated space requirements a bit. Patch by: pseudo - Fixed an ancient bug resulting in sending uninitialized strings when sharing bot addresses. Patch by: pseudo - Altered the permission check on the pls/mns ban/exempt/invite commands from USER_MASTER to USER_OP to allow global operators to set global bans. Patch by: pjb - Made dcc_telnet_new() allow non-latin characters in new handles like other handle validation functions. Patch by: pseudo - Removed -mwin32 on Windows. It's no longer necessary and causes problems with Cygwin 1.7. Patch by: Kirben, pseudo - Moved variable declarations to conform to C89 (beginning of blocks only). Found by: Anon-e-mouse / Patch by: thommey - Documented a .+ban/+exempt/+invite feature allowing to make the hostmask sticky by prefixing the comment with '*'. Found by: Robby / Patch by: pseudo - Fixed statuslog documentation. Found by: ziplock / Patch by: pseudo - Removed the unrecognized options warning when configuring modules. - Modified -v output and .status display configure options. Patch by: pseudo - Made some corrections to the contributors list, removed a duplicate entry. Patch by: pseudo - Fixed bind cron html documention to be in sync with non-html one. Found by: 64MAAMVDH / Patch by: thommey - Fixed a bug in the mainloop for Tcl threads which is now also being used as vwait/update recursion mainloop. Patch by: thommey - Removed debug output accidentally checked in. Found by: DJStomp / Patch by: thommey - Fixed a typo in the html documentation. Found by: Johannes13 / Patch by: pseudo - Fixed the .match command help. Fixes Trac Bug #85 "dcc match command documentation" Found by: jack3 / Patch by: pseudo - Fixed a bug in the backported dns-settings patch where dns_change() would call iptostr() with inappropriate argument. Fixes Trac Bug #87 "dns-servers setting on 1.6 filled with garbage if not set" Found by: thommey / Patch by: pseudo - Partially revert changes to vwait/update. They are back to only processing Tcl events for now (fileevent/after) as handling eggdrop events turned out to require careful examination of reentrance issues. Patch by: thommey - Ran autotools. - More AC_LANG_* usage. - Work around Tcl8.5.10 bug 3371644 (strings starting with # could crash in Tcl_ConvertElement()). TCL_DONT_QUOTE_HASH can be used to work around it, as long as the string is not passed to Tcl_Eval(). Found by: Austin - Use the autoconf macros AC_LANG_PROGRAM/AC_LANG_SOURCE for sourcecode to avoid warnings in autoconf >= 2.68. Patch by: thommey - Make sure to account for null termination when using Tcl_ScanElement to generate a string representation of a list using Tcl_ConvertElement. A behavioural change in Tcl8.5.10 revealed this bug. Found by: various / Patch by: thommey - Fixed reentrance issues with the replacement Tcl notifier. It is now safe for dns callbacks to call vwait/update. Execution of Tcl snippets in do_tcl is now asynchronous and actually performed at the end of mainloop(). Found by: Ratler, various / Patch by: thommey - do_restart is now reset before actually performing a rehash or restart to ensure it doesn't try to do it again infinitely. Found by: Domino / Patch by: thommey - Clarified --with-tcl* usage in configure and mentioned tcl-dev packages. - Fixed some section numbering in doc/COMPILE-GUIDE. Patch by: thommey - Fix env(TZ) config setting to not contain a space. The space is just inserted in POSIX documentation to clarify, it must not be there. Found by: Digdilem / Patch by: thommey - Added detection of Tcl_NotifierProcs members to ensure the notifier can be replaced. Fixes compilation against Tcl 8.2 and 8.3. Found by: AlIt0 / Patch by: thommey - Fixed getudef() to return intptr_t instead of int to prevent crashes on 64-bit systems. Found by: izy` / Patch by: pseudo - Fixed dns.mod on QNX6/Mac OS X/Solaris - Rewrote dns.mod's autoconf checks to detect the resolver library properly on Darwin/Solaris. - Added -lsocket to the list of libraries searched for res_* functions, in order to support QNX6. Patch by: pseudo - Replaced most dns.mod preprocessor definitions with config variables. - Added support for user-specified dns servers and non-standard ports. This is most important for Cygwin 1.7, where the dns server list won't get initialized under some common conditions. - Added a trace to the new variable dns-servers, allowing scripts to get or set the current dns server list. - Added the servers list to the dns module information displayed by .status all Patch by: pseudo 1.6.20 (July 23, 2010): # RC2 released on July 15th, 2010. - Add sanity check to check-stoned event. Prevents eggdrop from disconnecting in case of drift timers. - Unwind all nested [vwait] calls before performing a restart. Prevents Tcl_Panic() when deleting active interpreter. - Make sure traces are looked up in the global scope. - Give eggdrop events priority over Tcl events so they can't starve it. Found by: CyBex / Patch by: thommey - Fixed a problem with channels added in the config getting deleted after the config is loaded. - The chanfile is now saved before and after rehash instead of being reloaded after. Found by: CyBex, thommey / Patch by: thommey, pseudo - Added mod-transfer.html to index.html Patch by: pseudo - Make sure tickle_WaitForEvent returns 1 when anything was done. This was not done if Tcl socket handlers were called. It is required to make Tcl_DoOneEvent() break out of its loop for vwait. - Don't use Tcl_SetServiceMode(), Tcl handles that. Found by: CyBex, horgh / Patch by: thommey - Added log_ts to the modules function table to keep modules relying on the old LOG_TS #define working. Patch by: pseudo - Restore socket_cleanup functionality, was broken by the notifier patch. - Fixed detection of eggdrop already running on startup. Found by: CyBex / Patch by: thommey # RC1 released on July 7th, 2010. - Changed the URL of gseen.mod in docs. - Fixed a minor problem with special dcc handles like (telnet), (dns), etc. Patch by: pseudo - Added a -raw argument to tcl_putdcc(). - Modified putdccraw in compat.tcl to use putdcc -raw. Patch by: pseudo - Added few contributors to the THANKS file. Patch by: pseudo - Ran misc/killwhitespace and misc/runautotools - Prevent uninitialized memory access that became visible due to the notifier overwrite. Use memmove when strcpy targets overlap. - Overwrite the Tcl notifier with our own version of it if possible. Integrates Tcl events and sockets into our own eventloop and socketlist, causing Tcl events happen without delay. It is thread-aware. - If the Tcl notifier is overwritten, don't fork() before initializing Tcl anymore. This used to be required to prevent hangs on startup. - Replace the constant max-dcc upper limit with a dynamically enlarging array that increases up to a new setting called max-socks. max-socks also limits the number of Tcl socket connections (per thread). - Added two configure checks against the Tcl library to check if it's possible to replace the notifier. Patch by: thommey - Modified compat.tcl version of time to allow accessing Tcl's time command if any arguments are passed to it. Patch by: Pixelz - Removed root uid check when compiled on Cygwin, as it was reported to cause problems for some cygwin installations, while it doesn't provide any protection, as administrator accounts appear as non-zero uids anyway. Found by: FireEgl / Patch by: pseudo - Channels added in the config are no longer static. Added access to the static flag via new channel setting, available to permanent owners only. - Removed the example channel adds from eggdrop.conf. Patch by: pseudo - Changed some eggdrop.conf settings. .set and .tcl are no longer unbound by default. - Made .+chan check if the user is permitted to set the need-* settings. Patch by: pseudo - Fixed a crash when restarting, related to bind log. Patch by: pseudo - Modified cron_match() to match Sunday as both 0 and 7. - Fixed some spelling errors. Patch by: pseudo - Added new Tcl command 'matchstr' as a simplified alternative to Tcl's string match. Found by: thommey / Patch by: pseudo - Modified the uptime module to send packets at a random interval, with per-second resolution, to reduce the peak traffic and load on the uptime server. Patch by: grnbrg - Added a configure option to set the handlen while keeping compatibility with the older method of editing eggdrop.h directly. - Added a configure option to enable dns debugging and made it default for make debug. - Removed obsolete check for broken sscanf from configure. Patch by: pseudo - Added missing mod-transfer.html Patch by: mike.ds - Added a new bind LOG triggered when text is sent to the logs. Patch by: pseudo - Fixed a bug in checking user priviledges for .chaddr on sharebots. Patch by: thommey - Added a new bind CRON as a crontab-like alternative to bind TIME. Fixes Bugzilla Bug # 477 "bind time enhancement" Patch by: pseudo - Removed some CYGWIN_HACKS that aren't needed anymore. Patch by: FireEgl - Fixed dns.mod SIGBUS crashes on 64-bit Sparc. Fixes Bugzilla Bug # 454 "Eggdrop crashes on sun sparc running debian etch" Found by: soraver / Patch by: pseudo - Got rid of some compile warnings related to passing possibly signed chars to tolower(). Patch by: pseudo - Changed the definition of the 'Function' type to avoid data loss with functions returning 64-bit types. 64-bit builds will no longer crash due to pointers being truncated to 32 bits. Created new function pointer type 'IntFunc' for use only with functions returning int. Fixes Bugzilla Bug # 485 "64-bit eggdrop builds crash on some systems" Patch by: pseudo - Fixed a minor notes.mod formatting bug when displaying dcc usage. Found by: Johannes13 / Patch by: thommey - Renamed list_delete/list_append/list_contains functions to egg_list_* due to request to avoid conflicts with MySQL headers. Found by: BarkerJr / Patch by: pseudo - Updated module versions and dependencies for the console, channels, irc and server modules. Patch by: pseudo - Don't assume cidr notation for hostmasks with slashes, unless the string portion after the slash consists only of digits. Found by: simple / Patch by: pseudo - Fixed the STRIP_ALL flag used with strip_mirc_codes() to actually work. Found by: T3256 / Patch by: pseudo - Added runtime check using Tcl_GetCurrentThread() to autodetect a threaded Tcl library when compiled and linked against Tcl 8.1 and later. - Replaced EGG_TCL_ENABLE_THREADS and EGG_TCL_CHECK_THREADS autoconf macros with EGG_TCL_CHECK_GETCURRENTTHREAD. Patch by: Tothwolf - Fixed a bug in fixfrom(), breaking userhost matching. Found by: Tothwolf, thommey - Fixed a bug in telnet autodetection, which prevented cvs bots from linking reliably with bots running older versions. Found by: FireEgl, Tothwolf Patch by: pseudo - Replaced the LOG_TS definition with a config variable "timestamp-format", defaulting to "[%H:%M:%S]". - Added support for silent backups and logfile switching with higher quiet-save values. Patch by: pseudo - Moved strict-host documentation to the core section, where it belongs and added a warning to discourage it's usage in the future. - Rewrote fixfrom() to not modify it's string argument. Fixes Bugzilla Bug # 423 "Enforcement of Non-matching Bans" Found by: BarkerJr / Patch by: pseudo - Added CIDR support to eggdrop. This includes accepting and matching b/e/I masks and user hosts in cidr notation. - Moved rfc_toupper from wild_match() to the new addr_match(). - Added two new Tcl commands - matchaddr and matchcidr to provide interface to the new internal host matching. Patch by: pseudo - Changed GetInt / GetIntFromObj's Tcl_Interp argument to NULL in tcl_resultint() to avoid an unneeded error message being stored in the interp result. Patch by: pseudo - Modified various checks to allow non-latin characters in handles. Added missing checks to tcl_adduser() and tcl_chhand(). - Added telnet autodetection to src/dcc.c. Made changes to stop interpreting telnet codes from bots. Reworked telnet handlers to properly understand and escape character 0xff in data. Fixes Bugzilla Bug # 419 "droped chars when sharing" Patch by: pseudo - Various minor docfixes. Patch by: pseudo - Updated copyright dates. Patch by: pseudo - Fixed a potential crash in read_lang() with lines > 512 characters in language files. Added support for lines of unlimited size. Patch by: pseudo - Moved console flags validation from cmd_console() to a separate function check_conflags(). - Added calls to check_dcc_attrs() / check_dcc_chanattrs in tcl_chattr() to make the behaviour consistent between all chattr functions. - Added calls to check_conflags() in check_dcc_attrs/check_dcc_chanattrs() and chon_console() in order to ensure users will not retain privileged console flags if their access gets downgraded. Fixes Bugzilla Bug # 133 ".chattr / .console bug" Found by: DarkReap1 / Patch by: pseudo - Introduced new config variable allow-ps to allow chanmode optionally enforce both +ps at the same time. Fixes Bugzilla Bug # 414 "channel modes +s and +p on ts5 network" Found by: Ofloo / Patch by: pseudo - Modified reset_chan_info() to support independent reset of various information through flags. Updated tcl_resetchan() to make use of this. - Removed redundant TOPIC requests and optimized the channel join/reset code to ask for b/e/I modes in one message. - Added safety checks after some mode bind triggers to avoid accessing freed memory and not up-to-date flag records. - Added two new Tcl commands: resetchanidle and resetchanjoin. - Modified the channel reset logic to perform live updates on the member list without deleting and readding members. Channel mode changes with the bot as a target now trigger mode binds without initial blind delays during channel join/reset. Fixes Bugzilla Bug # 385 "MODE - bug, when bot just joined the chan" Found by: gernot@rockstarvienna.com / Patch by: pseudo - Modified build_flags() to not repeat global bot flags when both bot and chan flags are requested. - Fixed tcl_botattr() and tcl_chattr() to return only bot-specific or user-specific flags respectively. Fixes Bugzilla Bug # 484 "botattr tcl command returns bot channel flags incorrectly" Found by: Pixelz / Patch by: pseudo - Make _wild_match_per more flexible with dynamic comparison functions. - Make mode binds case-sensitive for the mode change. Fixes Bug # 476. Patch by: thommey - Only whine once about the opless state of a channel. Fixes Bug # 483. Patch by: thommey - Fixed some spelling errors in the documentation. - Improved the description of the getchanjoin Tcl command in the docs. Patch by: pseudo - Modified cmd_mns_host() to allow masters use -host even if they are +d/+k. Fixes Bugzilla Bug # 446 "channel flag +d/+k prevents using of .-host even if using against others" Found by: De Kus / Patch by: pseudo - Replace deprecated Tcl result access method. Fixes Bug # 472. Patch by: thommey - Added a new bind "OUT" to server.mod. Triggered when a message is sent to the server. - Modified tcl_putnow() to support sending of multiple lines at once. - Changed tcl_putdccraw() to always return an error. It's deprecated in favor of putdcc / putnow. - Added a putdccraw replacement to scripts/compat.tcl Patch by: pseudo - Added stricter argument checking to tcl_logfile(). Fixes Bugzilla Bug # 432 "Logfile Tcl Command Lacks Validation" - Replaced a sequence of unsafe calls to strcat() with a snprintf(). Found by: Tothwolf / Patch by: pseudo - Made eggdrop log the channel name for /MSG GO commands. Fixes Bugzilla Bug # 452 "Failed GO Messages Should Include Channel Name" Found by: BarkerJr / Patch by: pseudo - Added bugreporter names for recent patches to doc/Changes1.6. Patch by: pseudo - Fixed bugs in the tcl_eggserver() and next_server() logic. Fixes Bugzilla entry #468 ".jump fails if the server list is empty, even when a server name is supplied." Found by: dan@dannet.org / Patch by: pseudo - Added a msg-rate config variable, to replace the current #define msgrate in server.mod. - Added new command [putnow] for bypassing the queueing system to be used instead of [putdccraw]. Equivalent to [putserv noqueue] in eggdrop 1.9. Patch by: pseudo - Fixed a reversed pointer check in join_notes(). Fixes Bugzilla Bug # 455 "Possible segment violation in join_notes" Found by: NML_375 / Patch by: pseudo - Made eggdrop request ban/invite exception lists when (half)opped, if getting them on join fails. Fixes Bugzilla Bug # 465 "channel exempts not loaded properly on EFNET" Found by: bugzilla@logicalsolutns.com / Patch by: pseudo - Replaced a mistaken typecast with the proper one and eliminates the last remaining compile warning. Fixes Bugzilla Bug # 450 "some warning during compile" Patch by: pseudo - Added dccwhois.tcl, quotepass.tcl and quotepong.tcl to scripts/CONTENTS. Fixes Bugzilla Bug # 480 "scripts/CONTENTS missing data" Found by: Aric / Patch by: pseudo - Updated msg/irc.help to include /MSG commands available to halfops. Fixes Bugzilla Bug # 475 "halfop and dehalfop missing from message help display" Found by: mike.ds@tiscali.co.uk / Patch by: pseudo - The KEY msg command now logs on success. Fixes Bugzilla # 482 Found by: Rickard Utgren / Patch by: Freeder - Removed blank at the end of wrong args tcl error for restart/rehash Patch by: thommey - Fixed a number of compiler warnings due to recent versions of GCC. Fixes Bugzilla Bug # 450 "some warning during compile" Found by: Stoebi / Patch by: pseudo - Fixed potential buffer overflow in readuserfile() that can occur on a leaf bot when a hub attempts to share ban/invite/exempt masks for a large number of channels that the leaf does not monitor. Fixes Bugzilla Bug # 471 "Buffer overflow in src/users.c" Found by: FireEgl / Patch by: pseudo - Updated masktype selection documentation for tcl_maskhost and ban-type. Patch by: pseudo - Added masktype selection to tcl_maskhost and ban-type configuration setting to set default banmask type for each channel. Patch by: pseudo - Added AUTHORS file that documents the developers, major contributors, and groups who've developed and maintained Eggdrop. - Added THANKS file that contains a full list of Eggdrop contributors. - Updated files to reference doc/Changes1.6 instead of doc/UPDATES1.6. Patch by: Tothwolf - Corrected and unified even more duplicate contributor names in the doc/Changes files. - Added some missing contributor names and patch information. - Further expanded 1.1.x information in doc/Versions. Patch by: Tothwolf - Fixed a remote DoS in the CTCP parsing code introduced by the servmsg.c buffer overflow patch by Nico Golde. Reference: Secunia Advisory: SA35104 Reference: CVE-2009-1789 Patch by: thommey - Added scripts/dccwhois.tcl Tcl script. This script enhances the built-in dcc '.whois' command to allow all users to '.whois' their own handle. Patch by: Tothwolf - Reverted "Allow any user to .whois their own handle." 1.6.16 changes. These changes broke '.whois' behavior in that previously a global op or channel op had full access to '.whois'. After the changes only a global op or channel master could use '.whois' on other handles. The hard coded access flag checks also made it impossible to rebind the '.whois' command with different access flags. Patch by: Tothwolf - Removed 'Maintainer:' hacks from the doc/Changes files. Switched to using '# Released by:' and '# Patch by:' for processing now. - Further expanded 1.0, 1.1alpha, and 1.1.x information. Patch by: Tothwolf - Fixed even more typos and other errors in the doc/Changes files. - Greatly expanded the 1.1alpha sections in Changes1.1 and Versions. - The 1.1alpha+lincoln and 1.1alpha+grant entries were reversed and mislabeled in Changes1.1. Patch by: Tothwolf - Fixed tons of typos and formatting problems in the doc/Changes files. - Corrected and unified lots of duplicate contributor names; Robey used lowercase names in earlier versions and Beldin tended to use camel case. - These changes will allow for semi-automated processing of the doc/Changes files to build a much more complete contributors list. Patch by: Tothwolf - Refactored channels_report() and simplified the channel status information for the .status command. Patch by: Tothwolf - Added support for irc numeric 465 ERR_YOUREBANNEDCREEP so a server ban reason (for a Kline, Gline, etc) can be seen and logged. Found by: Tothwolf / Patch by: bryand, Tothwolf - Added missing fclose() to tout_dcc_send() Fixes the socket leak in the transfer module. Found by: C4thY, various / Patch by: bryand - Added support to BADARGS macro to accept -1 for unlimited arguments. - Modified tcl_getuser(), tcl_setuser(), and tcl_channel() to use -1 for BADARGS instead of 999. - Changed FLGS to FLAGS in tell_binds() for .binds command output. Patch by: Tothwolf - Modified tell_user() to use YYYY-MM-DD ISO 8601 date format. This corrects the LAST date shown for the .whois and .match commands. Fixes Bugzilla Bug # 470 "Dates in Whois/Match Don't Show Years" Found by: BarkerJr / Patch by: Tothwolf - Added .vbottree command help section to cmds2.help. Fixes Bugzilla Bug # 464 ".help vbottree not working" Found by: Wanderer / Patch by: Tothwolf - Fixed global variable names used with Tcl_SetVar() / Tcl_VarEval() -- - Made assoc module use $_chan instead of $chan - Made tell_user() use $_user instead of $user Patch by: Tothwolf - Moved the variable declaration for tcl_maskhost() to the top of the function where it should be. The tcl_maskhost patch prevented tcl_maskhost() from compiling with many non-GCC and older GCC compilers. Found by: simple / Patch by: Tothwolf - Removed Solaris RANDMAX autoconf hack. - Added proper preprocessor checks for RANDOM_MAX and RAND_MAX. - Added autoconf tests and preprocessor checks for rand() and lrand48(). - Simplified randint macro to make it faster. - Added argument sanity checking for tcl_rand() / Tcl [rand] command. - Added min:max value sanity checking in irc.mod set_delay(). This should match the aop-delay behavior documented in eggdrop.conf now. Patch by: Tothwolf - More minor autoconf changes. - Context and ContextNote should use 'do {} while (0)' instead of '{}'. - Put Context init code into an #ifdef DEBUG_CONTEXT block. Patch by: Tothwolf - Updated doc/Versions and added more milestone information. - Misc doc updates and fixes. Patch by: Tothwolf - Added doc/Changes* files created from all the various UPDATES* files that were available. Change history after 0.7d (April 11, 1994) to 0.9 (July 23, 1994) seems to have been lost but it may eventually be located. - Added doc/Versions file that contains a list of Eggdrop versions, release dates, and other important notes in reverse chronological order. Patch by: Tothwolf - Require autoconf 2.60 now. - Added AC_PRESERVE_HELP_ORDER macro to configure.ac - Added new autoconf macros to aclocal.m4 and configure.ac: EGG_DEBUG_ENABLE EGG_DEBUG_DEFAULTS EGG_DEBUG_OPTIONS EGG_DEBUG_CFLAGS EGG_ENABLE_DEBUG_CONTEXT - Added new configure options: --enable-debug --enable-debug-mem --enable-debug-assert --enable-debug-context - Replaced ENABLE_STRIP define with DEBUG - DEBUG_CONTEXT is now defined in config.h instead of eggdrop.h - Refactored DEBUG and DEBUG_CONTEXT conditional code in main.c. - Don't default set unlimited core file size for non-debug builds. Patch by: Tothwolf - Added EGG_APPEND_VAR and EGG_CHECK_ICC autoconf macros to aclocal.m4. - Replaced autoconf 'var="$var "' with EGG_APPEND_VAR macro. - Replaced no_pipe and no_wall variable hacks with a proper test for the Intel C Compiler (icc). - Put '-pipe' in CFLAGS not CC. - Added GPL header to AH_TOP macro in configure.ac for config.h.in. - Removed unused std_args.h header check and HAVE_STD_ARGS_H conditionals. Patch by: Tothwolf - Refactored root Makefile.in variables. - Removed unnecessary '-g' flag from LD variables (-g is ignored). - Renamed DEBCFLAGS to DEBCFLGS - Moved -g3 compiler flag to DEBCFLGS variable. - Removed double quoting "`command`" in autoconf macro tests. - Changed autoconf macro 'test ! foo = bar' tests to 'test foo != bar'. Both are portable but '!=' is now more common in autoconf macros and is easier to read. Patch by: Tothwolf - Fixed EGG_PROG_HEAD_1 autoconf macro cache checking. You can't use AC_MSG_RESULT() within AC_CACHE_VAL(). - Moved --enable-strip configure check from EGG_PROG_STRIP to its own macro: EGG_ENABLE_STRIP() Patch by: Tothwolf - Bot would send 'JOIN #chan ' to the server with trailing whitespace when joining channels that didn't require a key. Found by: simple / Patch by: Tothwolf - Make check_expired_chanstuff() use DP_SERVER instead of DP_MODE for JOIN. Found by: simple / Patch by: thommey - Refactored reset_chan_info() to make it a little easier on maintainers. - Removed a useless '\r' from the dprintf() TOPIC check in reset_chan_info(). This was from the "Request topic on channel reset" patch in 1.6.18, which re-added the TOPIC check that someone needlessly removed in 1.6.7. - got_halfop() was improperly checking !me_op() to see if it should call recheck_channel(). Now it checks !me_halfop() in addition to !me_op() - Removed duplicate code in got_deop() for hidden +v / +h checking. No need to duplicate the entire test, just add 'CHANHALFOP'. Patch by: Tothwolf - Set CHAN_PEND when calling refresh_who_chan() to avoid possibly sending extra WHO requests to the server if a WHO was already sent. Found by: Tothwolf / Patch by: thommey - Always send a "WHO chname" instead of sending a "WHO nick" which doesn't have the same behaviour across all irc daemons. - Improved use_354 support as we weren't using it everywhere we could. Patch by: thommey - Minor documentation updates Patch by: skiidoo - Updated exec magic tricks in the autobotchk and weed scripts. - Check for a working 'grep -E' before resorting to 'egrep'. - Use "$0" ${1+"$@"} in place of "$0" "$@" to avoid problems with broken sh implementations that expand "$@" into a single empty argument when there are no other arguments. Patch by: Tothwolf - Make custom configure warning messages' prefix match AC_MSG_WARN. - Fixed broken EGG_TCL_CHECK_HEADER macro Tcl header 'not found' message. - Don't use "${var-x}" in place of "x$var". The use of "x$var" is more portable and standard practice in autoconf macros. - Added AC_CANONICAL_* macros to EGG_OS_VERSION in preparation to move from our old 'uname -s' and 'uname -r' hacks to a canonical triplet. Patch by: Tothwolf - Completely rewrote EGG_TCL_CHECK_THREADS autoconf macro to make the --enable-tcl-threads and --disable-tcl-threads threaded Tcl library configure options more robust. - Fixed --enable-tcl-threads configure option so it will enable threaded Tcl library support even if we don't autodetect a threaded Tcl library. - Explicitly offer both --enable-tcl-threads and --disable-tcl-threads configure options that can forcefully enable or disable threaded Tcl library support. Previously either worked but only showing --disable-tcl-threads in --help could be confusing. - Added code to print an explicit message to show if threaded Tcl library support will be enabled or not. - We no longer link against pthread library unless threaded Tcl library support is enabled. Patch by: Tothwolf - Added argument checking to randstring proc in alltools.tcl to make it a little more robust. Found by: thommey / Patch by: Tothwolf - Modified releaseprep script to run cvs2cl so we will (hopefully) have an up-to-date ChangeLog file before each release. Patch by: Tothwolf - Updated config.guess and config.sub build system triplet detection scripts to the latest versions. These were nearly 7 years old and way overdue for an update. Patch by: Tothwolf - Minor raw logging fix when the server sends the command Found by: simple / Patch by: guppy - tcl_maskhost could crash the bot Patch by: pseudo - Changed some JOINs to use DP_SERVER instead of DP_MODE Found by: Komandar / Patch by: guppy 1.6.19 (April 18, 2008): - Update the recommended Tcl version to 8.5 Patch by: guppy - Updated Copyright dates - Added [sL] and thommey to the AUTHORS file Patch by: guppy - Load blowfish by default Patch by: guppy - Added a Tcl script to handle the PONG : junk on some EFnet servers Coded by: simple, [sL], guppy - Add a simple Tcl script to handle the PASS junk on some Undernet servers Coded by: simple, [sL], guppy, Freeder - Add support for chanmode +T Patch by: thommey - CTCP parsing was broken by the servmsg.c buffer overflow patch Patch by: thommey - Fixed a couple of typos in the FEATURES file. Patch by: Tomas Szaniszlo - Fixed two potential buffer overflows in servmsg.c Reference: Secunia Advisory: SA25276 Reference: CVE-2007-2807 Found by: Bow Sineath / Patch by: Nico Golde, Wcc - Fixed compatibility problems with certain time_t implementations. Found by: various / Patch by: Tothwolf - Complete raw traffic wasn't getting logged in some cases; only the raw command itself was. Fixed. Patch by: mrBuG 1.6.18 (July 9, 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: bryand - 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: bryand - Fixed a socklist leak in net.c. Patch by: bryand - Hopefully fixed dns lockups. Found by: various / Patch by: Sven - 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(). Fixes Bugzilla Bug # 422 "channel prefix bug in src/mod/irc.mod/chan.c?" Found by: zathras3@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: winkey - 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 (August 22, 2004): - Lots of doc updates. Patch by: dollar, Wcc # RC1 released on August 2nd, 2004. - Added a "stripcodes" Tcl command. See doc/tcl-commands.doc for more information. Patch by: BarkerJr - Bot idx's should be considered valid to tcl_valididx. Found by: SteppenWolf / Patch by: Wcc - Always try to detect shared Tcl libraries before static ones. Patch by: Wcc - We now correctly differentiate the +l user flag from the +l bot flag. Found by: Joker / Patch by: Wcc, darko`` - Cleaned up modules.c and the module configure stuff quite a bit. Patch by: Wcc - Detect Tcl in $HOME/lib and $HOME/tcl/lib first, as to make it easier to allow users to override the system's Tcl version. Found by: various / Patch by: Wcc - We now support module loading under Darwin (Mac OS X) and NeXT Step. Found by: various / Patch by: Wcc - Don't try to call tcl_notes if the notes module isn't loaded. Found by: Chris Northwood / Patch by: bryand - Show a more descriptive error message when a listen socket can't be opened. Found by: various / Patch by: Wcc - Fixed Tcl encoding issues with .tcl and .set. Found by: Fabulous, Miguel Ventura / Patch by: CoderX2 - Added a set of Finnish language files and a Finnish MOTD. Patch by: Mikko Vester - time_t isn't unsigned, and therefor %lu should not be used as a conversion specifier. Patch by: bryand - Fixed a gcc warning in dcc.c. Patch by: BarkerJr - Added support for Quakenet channel modes. Patch by: thommey - Removed an invalid killsock() in dcc.c. Patch by: bryand - Fixed extra spaces being written to chan file. Patch by: bryand - Reworked 'make config' / module configure process. Found by: various / Patch by: Wcc - Op (+o) implies halfop (+l) now. Patch by: darko`` - Cleaned up and optimized rmspace() and fixfrom(). Patch by: Sup - Updated recomended Tcl version to 8.4.6. Patch by: Wcc - Fix behavior of the BCST bind. BCST is now correctly triggered for dccbroadcasts, as well as when a bot "says" something on a channel. See doc/tcl-commands.doc for more information. Found by: FireEgl / Patch by: Wingman - Remove some unneeded casts. Patch by: darko`` - Fixed performance issues with mv/cp when a lot of files are in the file area. Found by: Fabulous / Patch by: Wingman - Typo in doc/COMPILING-FAQ, It's LD_LIBRARY_PATH, not LB_LIBRARY_PATH Found by: NoPleX / Patch by: Wcc - Fix a possible issue with ident code. Found by: various / Patch by: darko`` - Don't let .tcl mkdir create duplicate filedb entries. Found by: Fabulous, Ze / Patch by: Wingman - Fixed a compile error related to varargs when using old Tcl versions. Found by: Thomas Neumayer / Patch by: Wcc - Fixed a compile error on systems that don't have socklen_t. Found by: Brad Edwards / Patch by: Wcc - Suppress configure warnings on systems that use newer versions of GNU coreutils. Patch by: Wcc 1.6.16 (May 31, 2004): # Final released on May 31, 2004. - Added back a missing alarm call (removed accidentally with IPv6). Patch by: TaKeDa - Doc updates. - Help file improvements. Patch by: Wcc - Use high-order bits for random numbers. - Cleaned up and optimized delay code in share.c. Patch by: Sup - Change Undernet nicklen to 12, as it has been changed on Undernet. Patch by: Wcc - Fix text sent to the server being terminated with "\x00\x0d\x0a" instead of just "\x0d\x0a". Patch by: Sven - Small fix to transfer.mod lang files. Patch by: winkey - More HP ANSI C fixes. Patch by: Wcc - Fixed a few warnings. We also should compile correctly with HP's ANSI C compiler now. Patch by: stdarg # RC1 released on April 9th, 2004. - Missing '\n' on language entry in notes.mod. Found by: dollar / Patch by: Wcc - Detect Tcl 8.5. Patch by: Juvenal - Fixed a crash in savechannels/loadchannels. Found by: Stu Jones / Patch by: TaKeDa - Fixed a crash in putlog() that appears when timestamps are turned off. Patch by: darko`` - Rewrote isowner() completely. Patch by: Sup - Better support for non-standard "op" prefixes (UnrealIRCD, etc.). Patch by: Sven - Terminate wire_bot[] in wire.mod, fixing a crash. Patch by: Bryan Dolan - Check for empty password in dcc_bot_check_digest(). Found by: azurIt / Patch by: daimonic - Various crash fixes: - Fixed _wild_match() to not try to read before the beginning of the mask. - Small fix to correct_handle(). - queue_server() wasn't adding messages to the queue correctly. - Fixed errors reported by valgrind in n_free() and notes module. - Fixed crash in dcc_chat regarding the filt bind. Patch by: stdarg - Don't always set SHARE_OFFERED status in check_expired_tbufs() for linking bots. Reference: Secunia Advisory: SA10858 Originally reported to Full-Disclosure by Giuseppe Caulo Patch by: Luca De Roberto, Dania Stolfi, Giuseppe Caulo - Cosmetic fixes to notes.mod. Found by: BarkerJr / Patch by: Wcc - Don't check the bot's own user record when looking for a hub/althub to link to. Found by: poptix / Patch by: bryand - Portibility and build process fixes/updates. Patch by: Wcc - Mac OS X fixes. Found by: hobb / Patch by: Wcc - Truncate passwords at 30 chars instead of 15. Found by: Ting / Patch by: Paladin - Be aware of 'cp/mv * this.file' possibility in filesys.mod. Found by: Fabulous / Patch by: stdarg - Allow any user to .whois their own handle. Found by: ZeveRoaRe RoeLt / Patch by: Wcc - Added a new EVNT type, "userfile-loaded", which is called after the bot's userfile has been loaded. Found by: Wanderer / Patch by: darko`` - Fixed a few places where chan->name was being used instead of chan->dname. Found by: Wanderer / Patch by: Wcc - hand2idx works for bots now Found by: BarkerJr / Patch by: Wcc - .stick/.unstick now works for channel masks Patch by: Sven - Properly escape IPv6 masks in write_exempts() and write_invites(). Found by: J. Lehto / Patch by: TaKeDa - Fix for nonworking 'head -1' in GNU Coreutils 5.0. Patch by: Tothwolf - ctype.h is*() functions are apparently unsafe unless recasted. Found by: Sup / Patch by: Wcc - Cosmetic updates to the build process. Patch by: Wcc - Exported oatoi() to modules since someone somewhere might find it useful. Patch by: Wcc - Fixed a bug preventing masks starting with numbers from being removed/stuck/unstuck. Found by: BarkerJr / Patch by: Wcc - Fixed the very very horrible handling of arguments by tcl_dnslookup(). Found by: Wanderer / Patch by: KuNgFo0, Wcc - Don't rejoin +inactive channels when kicked from them. This can be caused by bot-server connection lag or full queues. Patch by: BarkerJr, Eule - uname fix in msg_status; OS should display on freebsd now. Patch by: Wcc - Fixed a buffer overrun in msg_status(). Patch by: Wcc - Fixed a getdesc segfault when a file has no desc. Found by: R. Ramos / Patch by: dw - Removed IPv6 for now, will be implemented in a more proper way in an upcoming release. Found by: various / Patch by: Wcc - Cleaned up "illegal channel option" Tcl errors. Patch by: BarkerJr - .chanset accepts '*'; reflect in the docs. Found by: Darki / Patch by: Wiktor - Fixed bug 365 (missing call to check_this_user in tcl_setuser). Found by: T. Salomäki / Patch by: Eule - Description: .-ban number #channel now works correctly. Found by: R. Brooklyn / Patch by: Sven - A few minor fixes to fakemode kicks. Patch by: Sven - Made appropriate changes to accommodate for EFnet's implementation of exempts and invites. Patch by: Wcc - bind documentation updates. Found by: |SmAsH| / Patch by: Wcc - Exported strip_mirc_codes() and check_ansi() from dcc.c to modules. Found by: BarkerJr / Patch by: Wcc - H_notc used wrong handler Patch by: Paul E., stdarg - Check to make sure file we want to send exists when resuming a transfer. Found by: Fabulous / Patch by: stdarg - Removed unnecessary quiet_reject checks in msg_ident() that have been present since 1.3.0+bel17. Patch by: Tothwolf - Fixed exporting of MD5 functions to modules. Patch by: Paladin - The binary is no longer stripped unless ./configure --enable-strip is used. Found by: various / Patch by: stdarg - Small fix to n_realloc(). Patch by: tchaika - Fixed output of tcl_duration to not return extra spaces. Found by: Wanderer / Patch by: Wcc - cmd_topic works for halfops now. Patch by: stdarg - Fixed cmd_(de)voice logic. Found by: various / Patch by: stdarg - Fixed an uninitialized variable in putlog(). Found by: various / Patch by: TaKeDa - New UPDATES1.6 format to allow for longer found by/patched by fields and less wrapping of description. Patch by: Wcc 1.6.15 (May 4, 2003): - Fixed a patch.h compile error Found by: MORA / Patch by: Wcc 1.6.14 (May 4, 2003): - Added support for the IPv6 protocol Patch by: poptix, Wcc - Fixed a couple of bugs in autobotchk and made the output cleaner Patch by: guppy - Updated the logic of .fixcodes Patch by: PPSlim - Added a missing cast in tcl_rand Patch by: KuNgFo0 - Fixed getops timer handling Patch by: PPSlim - Fixed access checking in -ban, -exempt, and -invite Found by: Paladin / Patch by: Wcc - Fixed a Tcl_Merge memleak Patch by: TaKeDa - Fixed a crash related to the cd command in filesys.mod Patch by: M. Koszik - Channel keys are now handled correctly in flush_mode() Patch by: Eule - Locking a channel key/limit now enforces it from being changed as well as unset Patch by: Sven - Don't bounce our own modes Patch by: Sven - q|q users can no longer obtain a channel voice, regardless of +autovoice Patch by: Sven - Users with appropriate flags can now halfop and voice themselves Patch by: Eule - -ban now works for channel bans Patch by: Sven - -ban now removes the ban from the channel Patch by: Sven - Cleaned up the output of .status Patch by: Wcc - Added a german language file for the transfer module Patch by: Felix - Show a meaningful error message when adding an invalid channel with '.+chan' Patch by: Wcc - Don't use memcpy() and memset() directly Patch by: Wcc - Fixed a crash that can happen when the serverlist contains null strings Patch by: Sven - Added NO_HALFOP_CHANMODES and NOHALFOPS_MODES defines to chan.h to allow halfop-related mode behavior to be changed on IRCd's that implement halfops differently Patch by: Sven, Wcc - Fixed a compile error on Tru64 UNIX Found by: Shane0 / Patch by: Wcc - The WASHALFOP flag now works correctly Patch by: Sven - Kill a transfer connection after sending a TRANSFER_DCC_IGNORED notice to a user Found by: Fabulous / Patch by: Wcc - flood-pub should be flood-chan when using 'channel get' Patch by: PPSlim - '~' and '&' are now correctly recognized as a meaning a user has ops on a channel Patch by: BarkerJr - Fixed uhost buffer length Patch by: winkey - Don't use help queue for dcc sends or gets Found by: winkey / Patch by: Wcc - case-changes should be traced when the 'nick' Tcl variable is modified Patch by: Wcc - Added a set of Danish language files Patch by: TheAvatar - Fixed an out-of-bounds error in delignore() Patch by: Wcc - Argument checking for cmd_comment() and cmd_botaddr() was incorrect Found by: Tothwolf / Patch by: Wcc - GLOBAL_CHANS is now used where it should be to make changing the number of botnet channels easier Patch by: Wcc - Fixed a logic problem when reversing in got_[op|halfop]() Patch by: Wcc - User-punishing and tcl_maskhost not use matching banmasks regardless of strict-host Found by: |SmAsH| / Patch by: Wcc - Fixed a few memory leaks in the filesystem module Found by: Wcc / Patch by: stdarg - Updated recomended Tcl version to 8.3.4 and changed Tcl's url to tcl.activestate.com (also updated autoconf to 2.57) Found by: guppy / Patch by: Wcc - Merged use-console-r and debug-output into one new setting named raw-log Found by: Tothwolf / Patch by: Wcc - Backported user-defined channel strings from 1.7 Found by: Tothwolf / Patch by: Wcc - Removed enable-simul Patch by: Wcc - Fixed a cosmetic problem with cmd_pls_bot Patch by: Wcc - Fixed a crash in u_delban (bug 267) caused by trying to strcpy to an initialized pointer char Found by: Cosmo / Patch by: Wcc, BarkerJr - Use movefile() instead of copyfile() and unlink() when moving files in filesys.mod Found by: Fabulous / Patch by: Wcc - Changed EFnet's max-bans/max-modes to 25 Patch by: Wcc - Moved debug-output and use-console-r to the logging section of the config file where they belong Found by: Tothwolf / Patch by: Wcc - Don't tell users to /msg the bot hello when they don't have access if learn-users is disabled Found by: Tothwolf / Patch by: Wcc - Fixed a few header problems with time.h Patch by: Tothwolf - Cleaned up transfer.mod a bit Patch by: Wcc - Several misc code cleanups and bugfixes Patch by: M. Koszik - Files copied to /tmp from file transfers are now deleted if the transfer connection is killed (makes resends and resumes function correctly) Patch by: Wcc - Ignores are now saved if channels.mod is not loaded Found by: BarkerJr / Patch by: Wcc - Open file descriptors are now closed when the killdcc Tcl command is used on a transfer socket Found by: Fabulous / Patch by: Fabulous, Wcc - unixtime was not increased when Eggdrop was blocked during a series of in-line Tcl commands Found by: never, thommey / Patch by: Wcc - Exported getchanmode() Found by: lee / Patch by: Wcc - Removed strict-servernames -- $server is now always the server's realname and $serveraddress is it's server list entry Found by: various / Patch by: darko`` - bind NICK now gets triggered even if the nickname isn't found in any channels (when the bot's nickname changes before it joins channels) Patch by: BarkerJr - Fixed parsing of userhosts in gotwall() Patch by: darko`` - Updated UnderNet's max_bans to 45 Found by: reed / Patch by: Wcc - Config file updates Found by: various / Patch by: BarkerJr - Removed quoting support from wild_match() which fixes several bugs with '\' characters Found by: various / Patch by: Wcc, zip - Show who unlinked a bot when unlinked remotely Patch by: BarkerJr - Fixed default setting for the help-path and text-path settings Patch by: poptix - Fixed a problem in cmd_kick()/cmd_kickban() where the victim's access is checked instead of the user's Patch by: The_Dawn - Exported MD5 functions to modules Found by: Paladin / Patch by: Wcc - Exported me_voice() in irc_table Patch by: Wcc - '.say' and '.act' now allow you to send a message to a moderated channel when the bot has halfop status Patch by: Wcc 1.6.13 (November 22, 2002): - doc/MODULES updates Patch by: BarkerJr - Fixed utf-8 handling for config file strings (such as realname) Patch by: stdarg - Added a proc to alltools that returns the ordinal number for a number Patch by: Souperman - Added support for EMFILE (errno 24 - Too many files open) in neterror() Patch by: Wcc - Fixed the list format returned by tcl_channel_info() Patch by: MC_8 - Don't ban users when not going to kick in refresh_ban_kick() Patch by: Eule - Added a stacking limit for fastdeq Patch by: Eule - Made the modes-per-line limit definable in src/chan.h Patch by: Eule - [ban/exempt/invite]-time were not being saved to the channel file Patch by: BarkerJr - Halfops were not honored in flush_modes() Found by: Eule / Patch by: Wcc - Fixed cosmetic problems with logging in some irc module commands Patch by: NeoN - Exported tell_bottree() to modues Patch by: Mo-Ize - Optimized logging functions Patch by: BarkerJr - Removed eggdrop.advanced.conf and eggdrop.simple.conf Found by: various / Patch by: Wcc - Adding a missing killsock and lostdcc in eof_dcc_send() and eof_dcc_get() Found by: TaKeDa / Patch by: Eule - Fixed the logic in check_this_member() Patch by: Wcc - Made the timestamp style definable in src/eggdrop.h Patch by: BarkerJr - Added a missing return in bot_actchan() Patch by: Eule - Fixed a problem with 'connect' and 'control' where the script would abort prematurely Found by: various / Patch by: [sL] - Don't "want ops" in modeless (+) channels Patch by: BarkerJr - Tell the user to set 'my-ip' when hostname self-lookup fails Found by: guppy / Patch by: Wcc - Improved access checking in -host/+host Found by: ridens / Patch by: Wcc - Fixed a possible buffer overflow in raw_dcc_resend_send() Found by: Jerome / Patch by: Wcc - Fixed a missing escape in some regexps in misc/modconfig Patch by: darko`` - Channel set #chan chanmode $var corrupted $var in Tcl8.x Found by: [sL] / Patch by: [sL], Wcc - Don't log "joined #chan but didn't want to" in certain cases where the channel was newly removed or set inactive Patch by: blaster^ - Cosmetic changes to share_stick_[exempt/invite/ban] Patch by: Wcc - msg_key and msg_invite did not work properly for !channels Found by: J. Lehto / Patch by: TaKeDa - Show the number of hops in .trace's output Patch by: BarkerJr - Use the proper dynamic lib extention on Mac OS X Patch by: Mo-Ize - Return 5 from dccsend if the file exists in the temp directory and copy-to-tmp is enabled Patch by: Wiktor - Fixed a possible exploit in reaffirm_owners() Patch by: poptix - Friends/ops/bots are now correctly unbanned when a ban is set on a channel that matches their host Found by: KuNgFo0 / Patch by: [sL], Wcc - Compile fix for systems that do not support snprintf() Patch by: bhab - Fixed a bug where if the bot is kicked while channel information is still being received, the bot will think it's still on the channel and not rejoin Found by: various / Patch by: [sL], Wcc - Removed names parsing, as it causes many problems and was only added for compatability with an old version of unrealircd Found by: Ble / Patch by: Wcc - More broken dprintf's in irc commands Found by: [sL] / Patch by: Wcc - Fixed a broken dprintf in cmd_kick() Found by: Ble / Patch by: Wcc - Made [ban/invite/exempt]-time a channel int Patch by: Wcc - Documentation updates related to the PUBM bind Patch by: BarkerJr 1.6.12 (July 26, 2002): - Reverted the sockfix patches from 1.6.11 Patch by: Segfault 1.6.11 (July 26, 2002): - need-[limit/invite/unban/key] work now Found by: various / Patch by: Wcc - Fixed a problem with 'connect' and 'control' where the script would abort prematurely Patch by: [sL] - Improved the logic in cmd_mnsban when specifying what happen to remove and where to remove it from Patch by: Wcc - Fixed cmd_kickban so it works Patch by: Eule - Fixed a bug causing "[HH:MM] !!! OVER MAXIMUM QUEUE" to be logged to LOG_SVROUT Found by: [sL] / Patch by: [sL], Wcc - Log PINGs/PONGs sent to the server in LOG_SVROUT Patch by: Wcc - Some small changes to make Eggdrop work with Tcl 8.4b1 (it won't work with Tcl 8.4a1 or 8.4a2 anymore though) Patch by: guppy - Fixed a crash while doing .kickban -nick Found by: dork / Patch by: TaKeDa - The return values of uname() are now properly checked Patch by: Zart - Added handlen friendly code to various commands (this is a new patch to replace the handlen friendly patch reverted in 1.6.10 Patch by: Zart - Don't show +inactive channels in a remote .who Patch by: BarkerJr - Changed the .status output a bit (it includes the name of the config file now) Patch by: guppy - msg_whois should require an argument. Found by: guppy / Patch by: Wcc - Added support for halfops (channel mode +h) Patch by: Wcc - Don't allow channels containing commas to be added.. also made an error message more clear Found by: masskilla / Patch by: Wcc - Updates to doc/MODULES Patch by: BarkerJr - More doc updates Patch by: Wcc - Fix for !channels when people quit or change nicks Patch by: TaKeDa - Made all the commands use CHANMETA instead of hardcoding channel types Patch by: aXs, Eule - Added 'channel get ' (backported from 1.7) Found by: various / Patch by: stdarg, Mo-Ize - Small fix to uptime.mod that caused it to crash on startup Found by: Turner@Undernet, wheely / Patch by: guppy - uptime.mod will not unload now once loaded (this prevents you from losing your stats on a .restart .. to remove, you have to .die) Patch by: guppy - uptime.mod now sends the proper pid and also won't send garbage if the bot currently isn't on a server Patch by: guppy - Updated slennox's sentinel.tcl to the latest version Patch by: Wcc - Added support for +r on Undernet's ircu 2.10.11 Found by: guppy / Patch by: Wcc - Fixed a crash in seen.mod with long channel names Patch by: upstream - Added support for the +C channel mode (noctcp) on QuakeNet's ircu Patch by: slug 1.6.10 (March 29, 2002): - protect(ops|friends) works with +bitch now Found by: ^Baron^ / Patch by: Eule - Reverted the handlen friendly patches Patch by: guppy - Fixed a crash when trying to add an invalid chan using .+chan Found by: masskilla / Patch by: dw - nick2hand didn't return "" on a nick that wasn't in the channel Found by: various / Patch by: guppy - Fixed a few config file problems Found by: slennox / Patch by: Wcc - chattr's description in tcl-commands.doc was unclear relating to channel-specific flag changes Found by: Paladin / Patch by: Wcc - transfer.french.lang was created Patch by: NetIrc - cmd_who is now languagified! (nice word eh?) Patch by: Noyga - Made it easier to change the number of global partyline channels Patch by: Noyga - More tcl-commands.doc fixes Found by: MC_8 / Patch by: Wcc - Added some missing command options to tcl-commands.doc Found by: MC_8 / Patch by: Wcc - cd_cmd_table was missing a null entry at the end of the list Patch by: Uwe Schindler 1.6.9 (March 10, 2002): - "Detected loop: two bots exist named bot2: disconnecting bot3" sounds better than: "Detected loop: disconnecting (bot2): Disconnected bot3". Patch by: BarkerJr, Wcc - Added a few channels to the README and readme.html and made references to other docs in the html files links to their respective html files. Patch by: Wcc, sid3windr - modes-per-line is limited to a max of 6 modes per line Found by: various / Patch by: Eule - More doc fixes Patch by: Wcc - Removed an extra space from the "Writing channel file..." message Patch by: Wcc - Fixed a problem with uff not adding entries properly Patch by: Amir Shalem - Made cmd_channel, cmd_dccstat, cmd_who, cmd_whois, cmd_match handlen friendly Patch by: Boing - botlink() now safely copies the linker string Patch by: Amir Shalem - Fixed crashes relating to flushmodes Found by: various / Patch by: Eule - Tcl command modules missing in doc/tcl-commands.doc Found by: Wanderer / Patch by: dw - Users with only +x can now only login via dcc chat, they cannot use telnet Patch by: guppy - More documentation updates Patch by: Wcc - Changed how protectops and protectfriends works a bit: If the user has either glob +d or chan +d then no protection, protectfriends now only protects +f users, protectops now only protects +m and +o users Patch by: Eule, guppy - doc/compiling.FAQ now includes info about setting LD_LIBRARY_PATH Found by: various / Patch by: guppy - Fixed +protectops from reopping users with only +f and +protectfriends from reopping users with only +o Found by: Boing / Patch by: guppy - Made a few cosmetic changes to the configure script Patch by: Wcc - More plural fixes for commands and error messages Patch by: Wcc - "channel remove" will not crash the bot anymore if you are removing the channel for which the bind was called Found by: udf-xerxes@barrysworld.com / Patch by: guppy - "channel info" will properly list all user-defined settings Found by: MC_8 / Patch by: stdarg - Fixed a problem with modconfig not being found when rerunning ./configure Found by: various / Patch by: guppy - Made modconfig more portable across various bourne shell flavours Patch by: ITE - Removed gban_total, gexempt_total and ginvite_total since they were unused Patch by: Eule - configure should recognize a dynamic Tcl library now on Cygwin Patch by: TaKeDa, ITE - Fixed a crash that would happen when we disconnected from our server but did not reconnect to a server before we checked if a server was stoned Found by: dw / Patch by: guppy - Lets compile on solaris now Patch by: bhab - Update a bot's laston info when the bot unlinks Found by: BarkerJr / Patch by: TaKeDa - More cosmetic fixes to src/cmds.c Patch by: Wcc - Small cosmetic fix to cmd_store Patch by: Eule - Changed how kicking flooders works when -dontkickops flood-kick: don't punish people with +mf flood-deop: don't punish people with +mf other floods: don't punish people with +f Patch by: TaKeDa - Fixed a bug where revenge-mode > 1 wouldn't kick users if dontkickops was set Patch by: TaKeDa - Missing sanity check in check_this_member Patch by: Eule - ircu2.10.11 properly formats PART messages; however, Eggdrop did not understand them Found by: Paladinz / Patch by: guppy - Fixed a couple of cosmetic problems in cmd_pls_user Patch by: Wcc - Do not eval init-server on rehash since this variable is used for performing Tcl commands on a succesful server connection Patch by: Wcc - Couldn't introduce new users through telnet if a handle named "new" existed. Found by: masskilla / Patch by: dw - MISC_USERFCREATE1 should use origbotname instead of botnetnick Found by: sid3windr / Patch by: Wcc - Added a warning about allow-resync in the config file Patch by: Wcc - Prevent botnet flooding when adding ignores which already exist Patch by: TaKeDa - Some docs were not getting installed correctly Patch by: Wcc - [pass] should be in usage notices Patch by: Wcc - More cosmetic changes Patch by: Wcc - A bunch of little cosmetic changes Patch by: Wcc - More doc updates Patch by: Wcc - Fixed a memleak when adding users Found by: blaster^ / Patch by: Eule - More 64bit arch fixes Patch by: ITE - Lets log remote botinfo calls Patch by: BarkerJr - Update a bot's laston info when the bot links Patch by: BarkerJr - Some more remote boot fixes Found by: jedis / Patch by: guppy - hand2nick, nick2hand, handonchan, and chanlist might not always return that a user is known even if we know they are -- this has been fixed Found by: |^Raven^| / Patch by: stdarg, guppy 1.6.8 (January 2, 2002): - Removed a legacy Tcl hack that probably no one but old Eggdrop users knew about Found by: PPSlim / Patch by: guppy - More copyright updates and documentation changes Patch by: Tothwolf - Raised the kick reason length to 307 for DALnet Patch by: blaster^ - Fixed some cosmetic bugs relating to either 1 user or X users, stuff like that Patch by: Wcc - Updated slennox's sentinel.tcl to the latest version Patch by: Wcc - Updated the html docs to be in sync with the text ones Patch by: Wcc - Updated the copyright info for 2002 Patch by: Wcc - Removed the checks for ips with 0 or 255 in them Patch by: guppy - When a leaf is thinking that uses a different HANDLEN then ours log it and then drop the connection instead of just silently dropping the connection Found by: various / Patch by: guppy - Changed checkmodule to loadmodule in the configs (checkmodule still works for backwards compat) Patch by: guppy - Renamed nick-len to nicklen (nick-len still exists for backwards compat) to follow the standard that handlen uses Patch by: guppy - Updated doc/BOTNET and added doc/first_script.txt Patch by: Wcc - Removed some old debugging information Patch by: Wcc - Prevent the bot from losing channel flags when allow-resync is set Found by: various / Patch by: zip - Some small cosmetic changes Patch by: Wcc - Added handlen for scripters to get the current length of handles from src/eggdrop.h (this setting does not adjust handle lengths however) Patch by: Wcc - cmd_whom now displays a sum of all the partyline users Patch by: BarkerJr - Copyright updates Patch by: Tothwolf - Fixed tcl_boot when kicking someone on another bot without a reason from screwing up the boot reason Found by: jedis / Patch by: guppy - max-modes and max-modes are automatically set by net-type now Patch by: Wcc - origbotname was being wrongly used in some locations Patch by: guppy - Fixed a bug that prevented MODE from being sent when we get ops on a channel to retrieve the proper channel key Patch by: guppy - Don't try to open a dcc chat when people do /ctcp chat without a password set, instead send an error message Found by: VYOinLove / Patch by: guppy - Fixed a problem on Mac OS X with files being shown as bytecount/-1 Patch by: quest, stdarg - Log the remote .who command Patch by: BarkerJr - Fixed a small bug in guppy's last patch Patch by: BarkerJr - Tcl commands botisvoice, botisop, botonchan, onchansplit, isop, isvoice, and handonchan all take channel as an optional argument now Found by: various / Patch by: guppy - tcl_onchan can now be used without a channel to check all the bot's channels Found by: Abraham / Patch by: guppy - Added tcl_traffic (a modified copy of stdarg's original patch) Found by: various / Patch by: stdarg, guppy - .servers doesn't trunicate server names anymore Found by: Tothwolf / Patch by: guppy - Made cmd_modules work locally as well as remotely Found by: Wcc / Patch by: guppy - Made show_banner reset the help_subst arguments like show_motd does and if the motd isn't a regular file, just return instead of giving an error like show_banner does Patch by: guppy - tcl_jump could easily crash the bot Patch by: guppy - tcl_pushmode now accepts any irc modes instead of the standard ones Found by: various / Patch by: guppy - Made tcl_chanlist (when matching chanflags), tcl_handonchan, and tcl_nick2hand much faster Patch by: guppy - A bunch of small fixes to gotjoin, gotkick, got367, a modes-per-line calcuation, and to include_lk Patch by: Eule - Yet more documentation updates Patch by: Wcc - Documentation doesn't cover how to connect to servers with a password; documentation added to sample config files. Found by: ziffie / Patch by: bhab - Made tcl_hand2nick _a lot_ faster Found by: |^Raven^| / Patch by: guppy - More membercheck fixes for nick bans, nick +k users, -user, and -host Patch by: Eule - Only show fake alerts once every 10 seconds to prevent flooding Patch by: BarkerJr - Small make install bug related to doc cleanups Found by: DFrank / Patch by: guppy - Major cleanup of config files and related documents Patch by: Wcc - Updated doc/MODULES a bit Patch by: BarkerJr - Show the user port as users instead of telnet and the bot port as a bot port instead of a relay port Found by: RandomAPB / Patch by: Wcc - Small fix to the notes module Found by: various / Patch by: stdarg - Updated the uptime url Patch by: BarkerJr 1.6.7 (December 7, 2001): - Don't show status_log if we don't have a server Patch by: guppy - Lets make Eggdrop work on Cygwin again Found by: Wcc / Patch by: ITE - Fixed a mixed up transfer language entry that caused a crash Found by: Wcc / Patch by: guppy - Added '--disable-cc-optimization' to disable -O2 flags Found by: various / Patch by: nakee - Added a missing channel membercheck in a few commands Found by: Abraham / Patch by: Eule - tcl_newban had some silly guppy logic which caused a crash Found by: S7reaM / Patch by: guppy - Added French language files for: assoc, console, notes Patch by: Noyga - Added %n for $network to the list of motd text substitutions Patch by: Noyga - Added language support to transfer.mod Patch by: nakee - Got rid of bad language Found by: ClubCX / Patch by: guppy - Rebound some commands to proper bindings (relay, bottree, vbottree) Patch by: poptix - Made our build system work with newer autoconf versions Patch by: ITE - Make the default bot a bit more secure in regards to the ability to execute Tcl commands from the partyline Patch by: guppy - tcl_newban and tcl_newchanban didn't always add the bans Found by: various / Patch by: guppy - cmd_optimise is now cmd_optimize Patch by: Wcc - Fixed testip in alltools.tcl Patch by: Hanno - Some more doc changes Patch by: Wcc - Actually fixed stopnethack and a wasop bug Patch by: Eule - Added support for DALnet's +M chanmode Found by: various / Patch by: Wcc - Fixed +a for !channels Patch by: Lam - Fixed tcl_botattr Patch by: TaKeDa - Fixed a bogus memory leak Found by: various / Patch by: stdarg - Removed some leftovers in uptime.mod Patch by: guppy - Yet ANOTHER stupid bug. (crash in .-chan) Found by: blaster^ / Patch by: poptix - Minor changes to autobotchk (v1.09.1) Patch by: guppy - Fixed a small crash in notes.mod Found by: TaKeDa / Patch by: stdarg - Fix 'setuser PASS' from crashing Patch by: TaKeDa - stop_nethack_mode 4 oddity when a +a bot returns from a split getting a -o+o (double negating mode) Found by: boro / Patch by: bhab - Testing some better socket code (++)++ Patch by: poptix - More typo fixing in the config files Patch by: Wcc - More typo fixes Patch by: BarkerJr - Fixed several tons of spelling errors (really) Patch by: Wcc - tcl_chattr now lets you remove global flags Found by: guppy / Patch by: stdarg - Fixed some issues with utf-8 dealing with how we handle Tcl arguments Found by: various / Patch by: stdarg - Small fix to let tcl_adduser accept only a handle Patch by: Wcc - Show '#channel is active but has no ops :(' only if channel is set +statuslog. Found by: FeaRx, DarkReap1 / Patch by: Sup - Fixed up some spelling mistakes in tcl-commands.doc Patch by: Wcc - Lots of argv[] fixes that caused crashes Patch by: poptix - 'chattr hand' no longer crashes (legacy bug) Found by: DFrank / Patch by: stdarg - Finally fixed the banreason bug Patch by: poptix - Small fix for ircu servers that send 'ERROR:' instead of 'ERROR :' Found by: zip / Patch by: guppy - Don't get GO if the channel is -cycle Patch by: fuchs - Couple of small uptime.mod backports from 1.7 Patch by: guppy - Exported module_load and module_unload for modules. Found by: DrDeath / Patch by: Sup - Fixed a potential sendnote crash when the notes module is unloaded Found by: various / Patch by: stdarg - Bad pointers are evil in tcl_userlist Patch by: poptix - Re-fix adduser overflow Patch by: poptix - Don't attempt to flood check server notices Patch by: Tothwolf - Display global bans, exempts and invites even if not on a channel Patch by: Tothwolf - Removed unused "existant" check from tell_bans(), tell_exempts(), and tell_invites() Patch by: Tothwolf - Fixed buffer overflow in adduser() Patch by: Tothwolf - Fixed typo in filedb3.c: EBUG_MEM -> DEBUG_MEM Patch by: Tothwolf - Removed extra egg_bzero call from filesys.c Patch by: Tothwolf - Properly check argv[]/argc before using it Patch by: poptix - Added missing memory check for tclmisc.c Patch by: Tothwolf - New setting: pidfile (detaults to pid.botnetnick) Found by: Tothwolf / Patch by: guppy - Oops, .kickban -nick didn't work. Patch by: poptix - Backported a check for -dynamicbans to new[ban|exempt|invite] Patch by: BarkerJr - Replaced old md5 routines with new ones (backport from 1.7) Patch by: guppy - Cleaned up our Tcl information on .status (backport from 1.7) Patch by: guppy - Removed dcc-portrange since it was useless (backport from 1.7) Patch by: guppy - Show our proper user@host in cmd_status (backport from 1.7) Patch by: drummer - Proper utf-8 support Found by: various / Patch by: stdarg - Small wasop fix Patch by: TaKeDa - Fixed booting with full length handles Found by: bleah / Patch by: PPSlim - Allow wildcard CTCP binds Patch by: BarkerJr - CTCP replies go to the HELP queue.. Patch by: BarkerJr - Don't bother sending server in the uptime packets Found by: proton / Patch by: poptix - We weren't looking the user record back up on iterations on channels in the NICK bind, causing the chance of a bad pointer reference =P (stdarg gave me the idea to look =) Found by: stdarg / Patch by: poptix - Oh, look, SIGN and SPLT binds actually pass on the user record now, and allow flag bindings =P Patch by: poptix - The documentation for the need bind was slightly screwy Found by: various / Patch by: guppy - Don't check for static Tcl under Cygwin Patch by: Kirben - Helpfile says nodesync (invalid mode) instead of nodesynch. Patch by: dw - Makes .whom more handlen friendly Patch by: Zart - Fixes/Additions to command stacking Patch by: Noyga - PRIVMSGs with the same message to the same destination are no longer stacked also USERHOST/USERIP are not stacked using a comma Found by: |^Raven^| / Patch by: Noyga - Added HOOK_DIE to allow tcl_die to have a quit message. Patch by: Sup - Small resync fix Patch by: TaKeDa - Fixed tcl_md5, it was broken on Tcl 8.1+ Patch by: TaKeDa - Check whether Cygwin requires -mwin32 to support old versions of Cygwin Patch by: Kirben - Check for bind in /usr/local/bind when using Cygwin Patch by: Kirben - A banreason wasn't used in some cases. Found by: NeoN / Patch by: dw - Bot sent a useless TOPIC command to the server when it joined a channel. Found by: Noyga / Patch by: Sup - Added QNX support Patch by: SuperS - host-sanity-check had a type mismatch Patch by: stdarg - Some small fixes Patch by: Kirben - The channel file is now backed up Found by: Abraham / Patch by: Noyga - Small fix for binds and unicode characters Found by: various / Patch by: strolchi 1.6.6 (July 20, 2001): - A few minor doc updates Patch by: Paladin - Fixed a slight problem with how we export modules Found by: various / Patch by: ITE - Ignore removals are now shared properly Patch by: drummer - Got rid of remove_gunk since it was unused Patch by: drummer - Fixed a small buffer overflow in cmd_whois Found by: [joco] / Patch by: Sup - Fixed a small getops bug Patch by: LethalWP - .conf cleanups, added Tcl threaded info in DEBUG Patch by: ITE 1.6.5 (July 10, 2001): - Fixed 'make config' for some disabled_modules cases. Found by: TaKeDa / Patch by: Fabian - Readded missing std_args.h check. Patch by: Tothwolf - Removed an old ircd limit hack (legacy stuff owns) Found by: Sup / Patch by: guppy - Fixed password checks in msg commands Patch by: ejm - CTCR had the wrong args for 'uh', maybe this will break something, I doubt it. Patch by: poptix - wire.mod now checks if an encryption module is loaded Found by: FumBa / Patch by: guppy - guppy broke chattr's isowner() check Patch by: poptix - Bot op status was not shown in .channel Patch by: dw - Simplified and cleaned up variable usage and several tests in configure. Patch by: Tothwolf - Fixed broken pthreads checking. Patch by: Tothwolf - Showing 'inactive' in .status when the bot is not on the channel was a bit confusing. Also added #eggfaq@EFnet to docs. Found by: KuNgFo0 / Patch by: Sup - Added: tcl_haschanrec Found by: Abraham / Patch by: guppy - Prevent -b/-e/-I flooding by using random delays. Found by: various / Patch by: Sup - Misc cleanups in while() loops Patch by: guppy - Updated getops.tcl to v2.3 Patch by: guppy - Updated recommended Tcl version to 8.3.3 and changed the ftp site for Tcl to ftp.eggheads.org since ftp.scriptics.com can be fairly picky these days. Patch by: guppy - Don't try to use null pointers in tbuf code *duh* Patch by: guppy - Small fix to what nickname we can use when we type "new" Found by: Segfault / Patch by: guppy - We should use errno to detect EAGAIN in net.c Patch by: zip - Display the proper queue that is full instead of just DP_MODE Patch by: guppy - Changed the wording of %bantime Found by: Ben Dover / Patch by: guppy - Mount the Eggdrop directory as binary in Cygwin Patch by: Kirben - compress.mod/dns.mod now check for the compiler also Patch by: Kirben - Made server-timeout match the default value in the code. Patch by: Sup - Added few missing brackets to channels.mod/channels.h and exported remove_channel(). Found by: Amun / Patch by: Sup - Check for pthread_mutex_init as a function instead of in a library Patch by: Kirben, guppy - Detect __res_mkquery since we detect __res_init now Patch by: Kirben - Fixed empty line on LOG_SRVOUT and removed a debug-output which confused users Found by: Sup / Patch by: G`Quann - flush_inbuf and a killsock bug Patch by: G`Quann - Some access checking in msg commands Patch by: ITE - tbuf fix Patch by: guppy - Check a bit harder for pthread_mutex_init Patch by: guppy - Small fix to sscanf for libsafe systems Found by: various / Patch by: Oliver, guppy - Made srandom() use getpid() and getppid() Patch by: Sup - Added .whoami command Patch by: Sup - More utf problems, buffer overflow(s) Patch by: stdarg - More Cygwin fixes Patch by: Kirben, RebuM - Fix for dccdumpfile/dumpfile Patch by: NML_375 - Calling a proc from a bind, that modified the user record of the person that triggered the bind, could cause a crash. Patch by: poptix - Memory leak in filesys.mod, that's been there since 1.3.x Patch by: poptix - 'setflags' never accepted all the aruements, fixed. Patch by: poptix - tcl_ignorelist was showing the wrong expiration time. Found by: Tothwolf / Patch by: Sup - Info locking was broken, and .info wasn't in .help Found by: poptix / Patch by: poptix - Additions/clarifications to tcl-commands.doc Patch by: Tothwolf - getops.tcl problem due to ircnet hack support for ! channels Patch by: poptix - Don't try to relay to bots without proper address or relay-port. Patch by: Sup - Fixed .chaddr from changing the telnet-port and relay-port. Patch by: Sup - New evnt: loaded Patch by: timothy - Tcl command mkdir had wrong BADARGS (didnt allow channel flags) Patch by: poptix - When Tcl var servers was empty, we had problems. Patch by: poptix - New bugs e-mail address: bugs@eggheads.org Found by: guppy / Patch by: Sup - Added a setting for default console flags to eggdrop.simple.conf, and made console-autosave disabled by default. Patch by: Sup - New evnt: prerestart (restart is tricky) Found by: Abraham / Patch by: guppy - We now detect __res_init for glibc2.2 Found by: various / Patch by: drummer, guppy - Removed legacy /trace support for keep-nick Patch by: guppy - Fixed a little bug that will happen in September of 2001 Patch by: guppy - Show the handle when rejecting a duplicate bot connection Patch by: TaKeDa - Small fix to MSGM's bind table Patch by: fuchs - Updated the help channels in the docs. Found by: slennox / Patch by: Sup - Changed the way we check for sticky bans (saves cpu) Patch by: Eule - Fixed various formatting mistakes Patch by: Eugene - Made the IRIX5,6 and 6-64bit OS detection into one check Patch by: SuperS 1.6.4 (April 13, 2001): - Minor fixes to write_debug() function. Patch by: Sup - More German translations and some typo fixes Patch by: Eugene - Modified weed and autobotchk to find tclsh better Patch by: guppy - Fixed weed's b switch Found by: NaTaS / Patch by: ITE - When rejecting bots don't try to execute rembot() for bots that match bot's botnet-nick. Patch by: Sup - Improved the German translations Patch by: Eugene - Dcc resumes with no requested data are now ignored properly Found by: Fabulous / Patch by: guppy - Call sync() after saving the userfile Patch by: Krome - Fixed .-noteign from crashing the bot Found by: various / Patch by: Krome - Updated all the copyright info for 2001 Patch by: Wingman, guppy - modes-per-line works now when its set to 3 Patch by: Krome - Fixed channel add #chan from crashing the bot Found by: various / Patch by: Darude - Various small typo fixes Patch by: Eugene - Solaris make gcc fix Patch by: nakee - Small fix to the unicode stuff to handle Tcl > v9 Patch by: Zart - Added matchbotattr to alltools.tcl. Found by: guruz / Patch by: Sup - Removed some legacy Cygwin compatibility Patch by: Kirben - cmd_stick activates the bans now Patch by: dw - Fixed a small remote-boots issue Patch by: Abraham - Fixed the remote motd bug Patch by: ITE - Fixed a small dns.c bug with hostname resolving Found by: blaster^ / Patch by: ITE - Removed debug-tcl, since this is something noone uses and is more bloat than anything Patch by: Wingman - encrypt/decrypt with highbit character messed up the string Found by: Darude / Patch by: Darude, Wingman - Fixed rest of the problems with utf-8 characters. Found by: KingBob / Patch by: Tothwolf, Wingman 1.6.3 (February 27, 2001): - Made blowfish.mod a bit more friendly with other encryption modules and also added hooks in the core for string encryption/decryption Patch by: guppy - Fixed a memleak within the XTRA field. Found by: G`Quann / Patch by: symband - If my-ip is wrong, tell the user that as the error msg Patch by: Habeeb - Updated sentinel to v2.50 Patch by: slennox - Actually remove a ban from irc when a sharebot removes it Patch by: Jason Ede - Do not allow Eggdrop to run as root Patch by: Tothwolf - msg_hello() was unable to add users with long nicks. Also slightly cleaned up irc.mod/msgcmds.c. Found by: darkfall / Patch by: Sup - Fixed misformed notices in notes module. Corrected use of language file, and fixed lang file entry. Patch by: Jason Ede - Shutdown once getting a SIGTERM by default Patch by: Tothwolf - Improved Tcl version reporting Patch by: Tothwolf - Updated the help channels in README. Found by: Habeeb / Patch by: Sup - +revengebot no longer requires that the bot has a user-record for itself. Found by: PPSlim / Patch by: PPSlim, guppy, Fabian - Made the reserved-port setting into reserved-portrange Found by: project10 / Patch by: guppy - Added i18n support to fix our problems with Tcl Found by: various / Patch by: Tothwolf - Some minor doc fixes Patch by: PPSlim - '.note' wasn't correctly requiring a message parameter. Found by: GregMo / Patch by: Sup - Fixed it so that +d or +k users cannot remove hosts and thus circumvent auto-kick or deop Patch by: Jason Ede - Fixed cmd_binds when called with no argument Found by: GregMo / Patch by: guppy - Cleaned up Context and Assert usage in the modules Patch by: guppy 1.6.2 (January 14, 2001): - Fixed a minor typo in got432(). Found by: S Wilcox / Patch by: Sup - Fixed cmd_binds when doing '.binds all' Patch by: blaster^ - cmd_chaddr was broken thanks to a patch of mine Found by: various / Patch by: guppy - Fixed the traffic accounting code when dealing high amounts of traffic Found by: SuperS / Patch by: ITE - Made configure work properly when called with an absolute path Patch by: ITE - share.mod now uses .share.nick.unixtime.users as a temp file when recieving the userfile Found by: Ian / Patch by: Ian, guppy - Fixed XTRA info from not working Patch by: toot - Fixed my bug that made revenge-mode get set back to 1 all the time. Patch by: toot - We now understand negative limits (IRCnet allows this) Patch by: TaKeDa - Parameter missing for share.mod's status information and a uff error message. Minor optimisations elsewhere. Found by: TaKeDa / Patch by: Fabian - Removed old high character hack from readtclprog, as the actual problem is now fixed. Patch by: Fabian - Added proper support for Tcl unicode changes since 8.1. Found by: many / Patch by: Wingman - Cleaned up Context; usage in the core Patch by: guppy - Rewrote tcl_duration Patch by: guppy - More use of strncpyz and egg_snprintf in the core Patch by: guppy - Did some cleanup in tcl[user/misc/dcc].c Patch by: guppy - Added a channel option to .[un]stick and slightly cleaned up channels.mod/cmdschan.c. Patch by: Sup - Two calls to fclose() were missing in transfer.mod, causing Eggdrop to leak file descriptors. Found by: Fabulous / Patch by: Fabian - Hopefully fixed the cycle-flood problem on some EFnet servers Patch by: Eule - autovoice now uses autoop delay also Patch by: Eule - Cleaned up some language entries Patch by: Tothwolf - default-port was set in the wrong location. Patch by: Sup - Added '--disable-tcl-threads' to configure Patch by: ITE, Tothwolf 1.6.1 (November 22, 2000): - Updated KNOWN-PROBLEMS Patch by: Wiktor - Fixed a crash dealing with expired masks and a memleak in misc.c Patch by: Eule - Made revenge-mode a per-channel setting, rather than global. Patch by: toot - set quiet-save was missing in the help file. Patch by: dw - Seen module returned %s instead of nick in certain replys. Found by: suizide / Patch by: dw - Small fix for enforcebans Patch by: Eule - Do not set bans if they don't match someone in the channel and the channel is set +dynamicbans. Patch by: dw - Channel masks for unsupported channels weren't properly skipped when parsing the user-file. Found by: various / Patch by: Fabian - Now using lines with up to 500 instead of only 480 characters. Not truncating message anymore if it's longer than 500 characters and doesn't contain spaces. Patch by: Bob, Fabian - Fixed crash in expired_mask() when checking ops not present in the user-list. Found by: paran0id / Patch by: Fabian 1.6.0 (November 15, 2000): - MISC_NOUSERFILE includes the actual config filename now Found by: Paladin / Patch by: guppy - strict-host's default did not match the config default of 0 Patch by: dw - Do not force +f on masters or owners Patch by: ITE - Removed legacy code for an ircd2.9 bug Patch by: Eule - Removed the remaining lagcheck leftovers Patch by: Wiktor, guppy - Fixed an issue with enforcebans and exempts. Patch by: Eule - Upgraded sentinel.tcl to v2.00 Patch by: guppy - Fixed minor typo in status_log(). Patch by: Sup - Directly linked bots can't be removed anymore. Found by: Wiktor / Patch by: Sup - Removed 1.3.x updates from UPDATES.pre1.5 Patch by: guppy - Concated the UPDATE files Patch by: Wiktor - Using "JOIN 0" instead of explicitly leaving every channel. Patch by: Eule - New script: cmd_resolve.tcl (adds a .resolve command). Patch by: guppy - DNS module failed to handle IP address 0.0.0.0 properly. Found by: |^Raven^| / Patch by: Fabian - Detect id-channel-names used as channel names (added with .+chan) during IRC session. Found by: guruz, Evo|ver / Patch by: Fabian - Removed left-over command '.resolve' from dns.mod/dns.c. Patch by: Sup - Made '.[de]op' and '.[de]voice' get nick if it wasn't specified and added few missing flags to '.channel' output. Also slightly cleaned up irc.mod/cmdsirc.c. Patch by: Sup - Increased the length of ban reasons from 65 to 160 (I think this is what RFC1459 allows for default). Found by: ReBEL / Patch by: guppy - Moved strncpyz() macro from server.mod to a global location. Patch by: Fabian - Restricted WHO stacking to add up to a maximum of MAXPENALTY penalty seconds. Found by: TaKeDa / Patch by: Eule - Added channel specific aop-delay setting. Allows randomly delayed auto-ops, auto-ops after a certain delay and the current behaviour, i.e. immediate auto-op. Patch by: Eule - Fixed IRC_DO_CHANNEL_PART call from channels.c. Found by: Eule / Patch by: Fabian - Fixed compiler warnings about 'const' for Tcl libraries that don't declare Tcl_SetVar as taking const strings. Found by: Abraham / Patch by: Fabian - Fixed overflow in proxy_connect() for sun_firewall. Patch by: drummer - Could not remove joining channel from procs called by JOIN bind. Found by: Tothwolf / Patch by: Fabian - The filesys module did not support remotely linked files. Instead, the bot crashed in various places and didn't even attempt to save/load the link information. Found by: Fabulous / Patch by: Fabian - Removed duplicate servlimit check from irc.mod. Patch by: Eule - Added 'e' as global- and channel-flag for users exempted from the stopnethack checks. Patch by: Eule - Minor cleanup of protocol in back-ground code. Patch by: Fabian - Avoid data lossage during the start of connections, while the receiving dcc functions aren't listening yet. So now you can blindly start sending data right after connecting and depend on the OS and Eggdrop to do The Right Thing. Patch by: Fabian - Changed failure of socket() to non-fatal event. Found by: Abraham, TaKeDa / Patch by: Fabian - Fixed support for SunOS / Solaris. Found by: TheUnknown / Patch by: Fabian - Don't actually delete the bind structures immediately, use centralised garbage collector instead. Cleaned up various aspects of the bind list handling. Patch by: Fabian - Don't insist on proper domainname during hostname detection. Found by: Sup / Patch by: Fabian - Properly call PART bind when removing channel and the bot will therefore leave the channel shortly. Also slightly reworked channel removal. Found by: Sup / Patch by: Fabian - Move actual assert check back into macro, saving a function call. Patch by: Fabian - Removed small compile warning about ambigious if/else. Found by: NigtHuntr / Patch by: Fabian - Fixed and optimised ban/exempt and invite expiration code for global and channel specific masks. Found by: Abraham / Patch by: Eule - DCC send and chat requests send to channels are now ignored. Found by: Zart / Patch by: Sup - Fixed typo in irc.mod/irc.h me_op export macro. Patch by: Looser^ - Made the bot recognise modes during CHAN_PEND. Allows us to properly recognise bans/other masks and call mode binds. Patch by: Eule - Fixed get_user_by_host, which was broken for strict_host set to 0. Patch by: Eule - Slightly optimised gotnick() by replacing the call to clear_chanlist() with a specialised loop. Patch by: Eule - Instead of telnet!*@* we now use -telnet!*@* since no valid IRC nicknames can be prefixed with a dash (per RFC1459). Found by: labtec / Patch by: guppy - Added proper logics to the user{bans,exempts,invites} settings and removed the clearbansset setting. Patch by: Eule - Small typo in ismember() (added during cleanup) caused channel functions to freak out. Sigh. Found by: Abraham, DennisMV / Patch by: Fabian - flush_mode() cleanups. -{b,e,I} now sent before +{b,e,I}. used egg_strcatn to make buffer-overflow free. Patch by: Cybah - Fixed caching for Tcl configuration details. As soon as different libraries are detected, we discard cached values. Patch by: Fabian - Cleaned up style for aclocal.m4 system handling. - Added support for SunOS4. Patch by: SuperS - Caching -pipe test results for configure. Patch by: Fabian - Fixed linking for Sparc with SunOS/BSD/Linux, which caused the bot to crash under certain circumstances. Found by: various / Patch by: TheUnknown - Added use of the -pipe compiler option, to speed-up compilation. Patch by: TheUnknown - Fixed bugs in German translation, typo in doc/MODULES and lines longer than 80 characters in a few places. Patch by: Eugene - Generic cleanups. Patch by: Fabian - Fixed format-type bugs in notes.mod crashing the bot. Found by: MsingLnk / Patch by: Fabian - Added support for threaded Tcl libs by implementing the early-fork hack. Cleaner support will be possible in 1.7. Found by: various / Patch by: Fabian - Disabled cycling for +a !channels. Minor cleanups. Found by: Wiktor / Patch by: Fabian - Minor optimizations in irc.mod:chan.c. Patch by: Fabian - Checking for m->user == NULL in kick_all() and refresh_ban_kick() now. - Minor optimizations. Patch by: Eule - Removed 'SERVER SUPPORT LOADED' message. Patch by: guppy - Added missing checks around new_dcc() call. This prevents the bot from crashing under high connection load. Found by: Igmar / Patch by: Fabian - Added egg_strcatn function. Patch by: Cybah - Repositioned help-path setting in eggdrop.simple.conf so that the modules actually load the help files. Patch by: Eugene - Minor documentation fix to seen.mod help. Found by: FuzzBuster / Patch by: Fabian - transfer.mod allowed memory DoS for turbo-dcc. Found by: Karsten / Patch by: Fabian - Minor correction to the list of used flags in flag.h. Found by: Johnny Mnemonic / Patch by: Fabian - Added language support to assoc.mod, console.mod and notes.mod. - Cosmetic fix to "module loaded" message. Patch by: guppy - Removed some unneeded language macros. Patch by: guppy - Cleaned up ctcp.mod. Reordered some of the ctcp_mode checks. Patch by: guppy - Added the [pass] argument in the .jump help reference. Patch by: guppy - Added IPv6-masks support (bans/exempts/invites/ignores). Found by: Ben Dover / Patch by: Fabian - Fixed minor, newly introduced mess-up in '.chaninfo' output. Found by: Abraham / Patch by: Fabian - User defined flags weren't displayed correctly for inactive channels, which the bot hadn't joined to yet. Found by: Abraham, Kelvin / Patch by: Fabian - Fixed further places where +/-revengebot was not properly integrated or documented. Found by: Joker / Patch by: Fabian - Fixed eggdrop test-run for vpath. - Using autoconf macros for caching in aclocal.m4. - Changed -L. to -L`pwd` for libtcls < 7.4 support hack. Patch by: Fabian - Added strftime compatibility function. Patch by: Fabian - Re-added bell character to note message. This can be filtered out with the '.strip +g' command. Patch by: Eule - We now send PASS before sending NICK or USER. Patch by: Koach - Made share.mod unlink its temp userfile. Patch by: guppy, Fabian - Fixed a few format string bugs. Cleaned up style. Found by: guppy / Patch by: Fabian - Fixed crash when a received user file failed to load. Found by: Wiktor / Patch by: Fabian - compress module didn't indicate errors correctly. Found by: Wiktor / Patch by: Fabian - Unified generic int types. - Replaced my_?to?l() with ?to?l(). - Replaced obsolete macros. - Various cleanups. Patch by: Fabian - Made sure only _start function symbols were exported by modules. - Fixed channels, console, dns, irc, notes and transfer modules. - Removed unneeded data in non-debug mode from dns module compile. Patch by: Fabian - Fixed memory leak in channel key handling. - Optimized use of recheck_channel and recheck_channel_modes. Patch by: Eule - Fixed '.whois' / '.match' crash for users without laston data, caused by strftime changes. Found by: ridens / Patch by: Fabian, SuperS - finish_share() cleanups and optimizations. Patch by: Fabian - Fixed configure problems on 64bit IRIX. Patch by: SuperS - Removed connect_server() call in nuke_server() to avoid uncontrolled recursion. Found by: SuperS / Patch by: Fabian - Cleaned up resolve_success and resolve_failure DNS hooks. Patch by: Fabian - Fixed various aspects of exempt handling. Patch by: Eule - add_bot_hostmask now adds static hostmasks for bots. Found by: toot / Patch by: Sup - Minor cleanups and optimizations in the irc module. Patch by: Fabian - Included +l and +k modes in modesperline-calculation. - Added 'include-lk' setting to control this. Patch by: Eule - Fixed compatibility issues on IRIX. Added SINIX to configure. - Removed unneeded header std_args.h. Patch by: SuperS - Fixed filesys module to use NICKMAX instead of HANDLEN in one place. Patch by: FirebaII - Minor fixups in filesys module. Patch by: Fabian - Removed lagcheck feature because it caused too many problems. Patch by: G`Quann - Added meaningful error message for disabled tcl_dccsimul. Found by: Kool Cat / Patch by: Fabian - Lowered retry timeout for failed DNS requests to 10 minutes. Found by: dirtymac / Patch by: Fabian - Fixed possible memleaks related to chan->channel.key, chan->cmode[] and chan->key. Patch by: Eule - Under certain circumstances, the old user file was deleted and the new user file wasn't correctly created. Found by: various / Patch by: Fabian - Fixed crash in splitc(). Patch by: blaster^ - Removed checks for bogus masks in +ban, +exempt, and +invite. - Minor error message fixes. - Minor source cleanups. Patch by: Tothwolf - Added splitcn() to limit how many bytes get copied to first. Patch by: Cybah - Shrunk buffer size in cmd_boot(), using the new function. Patch by: Cybah - Fixed crash with handles larger than 19 characters. Patch by: Shaun Brown eggdrop1.6.21/doc/PARTYLINE0000664000076600007660000000423411525764164014612 0ustar simplesimple$Id: PARTYLINE,v 1.14 2011/02/13 14:19:32 simple Exp $ The Party Line Last revised: December 31, 2001 _____________________________________________________________________ The Party Line The most important way you will communicate with your bot is through the party line. The party line is accessible via DCC chat or telnet. It's pretty much just a miniature, lag-less IRC (see doc/BOTNET), but it also consists of a console through which you can watch channel activity and give commands. To enter the party line, DCC chat or open a telnet connection to your bot. It should ask for your password if you've set one. If you don't have one set, use the /msg PASS command to set one. The party line is actually split up into 200,000 "channels". The console is available from each channel, but you can only talk to people who are on your current channel (just like IRC). Channel 0 is the main party line, while others are typically reserved for private conversations. Channels 1-99,999 are botnet wide chat channels and any user joining that channel anywhere on the botnet will be able to chat with you. Channels *0-*99,999 are local channels (only people on the bot you are on can chat with you on these channels). Console commands start with a dot (.), similar to the slash (/) used for IRC commands. At any time, you can type ".help all" to get a list of all possible commands. To find out what a command does, use ".help ". For example: ".help channel". When you're on the party line, anything you type that doesn't start with a dot (.), a comma (,), or an apostrophe (') is considered to be broadcast to everyone else, just like talking on a channel. A message prefixed with a comma goes only to other bot owners (+n). A message prefixed with an apostrophe is sent to all users on the local bot only. You can change channels with the ".chat" command or even leave all channels with ".chat off". _____________________________________________________________________ Copyright (C) 2002 - 2011 Eggheads Development Team eggdrop1.6.21/doc/COMPILE-GUIDE0000664000076600007660000005304111642147323015156 0ustar simplesimple$Id: COMPILE-GUIDE,v 1.16 2011/10/02 20:51:31 pseudo Exp $ Eggdrop Compile Guide and FAQ Last revised: October 02, 2011 _____________________________________________________________________ Eggdrop Compile Guide and FAQ This guide may help you successfully compile Eggdrop. Suggestions are by various contributors. If you think something should be added, please send an e-mail to bugs@eggheads.org. Note that in this document, text between a '<' and a '>' should be replaced (without the '<' and '>'). NOTE: This is not a 'quick install' guide. See the INSTALL file for basic setup information. This is intended to help you compile the bot on uncommon operating systems, or work past problems encountered during compile. Contents: Compile Guide: A. Standard compile process (Linux, FreeBSD, NetBSD, OpenBSD, etc) B. HP-UX B.11.* C. Ultrix D. Mac OS X E. AIX F. IRIX G. Solaris / SunOS H. Cygwin / Windows I. Tcl Detection and Installation Frequently Asked Questions: 1. I get a lot of warnings. 2. I get a 'strip terminated with signal 6' error during compile/install, or another error related to 'strip'. 3. 'DIR' undeclared (and a whole bunch of others) (AIX 4) 4. 'fd_set' undeclared (and a whole bunch of others) (AIX 4) 5. Unresolved or undefined symbols: ldclose, ldopen, ldnshread (AIX 3) 6. Unsatisfied symbols 'shl_findsym' and 'shl_load' (HP-UX 9) 7. Compile stops at the last minute with "ld fatal signal 11"! (Linux) 8. Undefined references in net.o (Sun OS) 9. I experience problems starting the configure script (AIX/various) 10. I get a 'make: Permission denied' error when I type 'make config' or 'make' (FreeBSD / *BSD) Compile Guide This will tell you how to compile Eggdrop on various operating systems. If you have gotten Eggdrop to compile on an operating system not listed here, please let the development team know how, at eggdev@eggheads.org. Please tell us what, if any, special steps were required to compile the bot. Also, any compiler warnings/etc, and the 'config.log' and 'config.h' files would be helpful. The development team does not have access to the resources needed to test portability on uncommon operating systems, so your help is greatly appreciated. A. Standard compile process (32-bit Linux, FreeBSD, NetBSD, OpenBSD, etc.) B. HP-UX B.11.* C. Ultrix D. Mac OS X E. AIX F. IRIX G. Solaris / SunOS H. Cygwin / Windows I. Tcl Detection and Installation A. Standard compile process (32-bit Linux, FreeBSD, NetBSD, OpenBSD, etc.) 1. Type './configure' from the Eggdrop directory. Some of the options that can be given to ./configure are explained below. --enable-strip If you want to create a smaller binary, you can use this option. HOWEVER, this will remove debugging symbols and make bug reports almost completely useless, and is not recommended. If disk space is very limited, however, it might help to enable this. --with-tcllib --with-tclinc See 'I. Tcl Detection and Installation' below (at the end of this compile guide). 2. Type either 'make config', or 'make iconfig' to determine which modules will be compiled. 3. Type 'make' from the Eggdrop directory, or to force a statically linked module bot, type 'make static'. Otherwise, the Makefile will use whatever type of compile the configure script determined your system will support. Dynamic is always the better way to go if possible. You can force a dynamic build with 'make eggdrop'. There are also the 'debug' and 'sdebug' (static-debug) options, which will give more detailed output on a crash. This will help the development team track down the crash and fix the bug. Debug and sdebug will take a little longer to compile and will enlarge the binary a bit, but it's worth it if you want to support Eggdrop development. 4. Eggdrop must be installed in a directory somewhere. This is accomplished by typing 'make install'. This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop). If you want to install to a different directory, use: make install DEST= For example: make install DEST=/home/user/otherdir B. HP-UX B.11.* Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. During a linking in a dynamic build, you may experience an error such as: gcc -pipe -fPIC -shared -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o -L/usr/local/lib -ltcl8.4 -lm -ldld -lnsl md5/md5c.o compat/*.o `cat mod/mod.xlibs` /usr/ccs/bin/ld: DP relative code in file bg.o - shared library must be position independent. Use +z or +Z to recompile. collect2: ld returned 1 exit status *** Error exit code 1 If you know the cause of this error, please contact the Eggheads Development Team at eggdev@eggheads.org. Note that on HP-UX, the SHLIB_PATH environment variable should be used instead of LD_LIBRARY_PATH. C. Ultrix There are some known problems with 'make' and Eggdrop on Ultrix systems. We recommend using 'gmake' (GNU make) for this reason, as in the steps below. If your system does not have 'gmake', you can download it from: http://ftp.gnu.org/pub/gnu/make/ It can be installed in your home directory, as with Tcl, but that is beyond the scope of this document. Read the INSTALL file that comes with gmake. Following these steps should work: 1. Depending on what shell your using: bash/ksh: export LD_LIBRARY_PATH=:${LD_LIBRARY_PATH} csh/tcsh/tclsh: setenv LD_LIBRARY_PATH :${LD_LIBRARY_PATH} 2. Run the following command from your Eggdrop compilation directory (this is all one command): sh5 ./configure --with-tclinc='' --with-tcllib='' 3. Type 'gmake config' or 'gmake iconfig' to configure modules. 4. Type 'gmake'. If you experience problems during linking, or while building modules, try using 'gmake static', for a static build, instead. 5. To install Eggdrop, type 'gmake install'. This will install the Eggdrop in your home directory in a directory called 'eggdrop' (i.e. /home/user/eggdrop). If you want to install to a different directory, use: gmake install DEST= For example: gmake install DEST=/home/user/otherdir D. Mac OS X Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. To get third-party modules to compile, you may need to edit the module's Makefile and add "$(XLIBS) $(MODULE_XLIBS)" to the end of the ../../../MODULE.$(MOD_EXT) target's $(LD) line. For example: ../../../mymodule.$(MOD_EXT): ../mymodule.o $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o $(STRIP) ../../../mymodule.$(MOD_EXT) Would become: ../../../mymodule.$(MOD_EXT): ../mymodule.o $(LD) -o ../../../mymodule.$(MOD_EXT) ../mymodule.o $(XLIBS) $(MODULE_XLIBS) $(STRIP) ../../../mymodule.$(MOD_EXT) If you notice a module that requires these changes, it would probably be a good idea to let the module's developer know, so it can be fixed. Note that on Mac OS X, the DYLD_LIBRARY_PATH environment variable should be used instead of LD_LIBRARY_PATH. E. AIX Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. Note that on AIX, the LIBPATH environment variable should be used instead of LD_LIBRARY_PATH. F. IRIX Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. Note that on IRIX, the LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH environment variables should be used instead of LD_LIBRARY_PATH. G. Solaris / SunOS Follow the standard compile process in Section A. To compile dynamically (with module support), use 'make eggdrop' instead of 'make'. Note that on Solaris / SunOS, the LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 environment variables may need to be set instead of (or in addition to, to be safe) LD_LIBRARY_PATH. H. Cygwin / Windows To compile and install Eggdrop on windows, perform the steps listed below. 1. Download and install Cygwin (www.cygwin.com). Make sure to install things like GCC, zlib, autoconf, and automake. DO NOT install the Tcl provided by Cygwin's installer. After installing, open the Cygwin bash prompt. 2. Download and install TCL 8.5.9 or later. You can get Tcl for Cygwin at http://prdownloads.sourceforge.net/windrop/tcl-8.5.9.tar.gz. Extract this to the Cygwin root directory: cd / tar -zxf tcl-8.5.9.tar.gz 3. Download Eggdrop from geteggdrop.com to your home directory. This is usually something like 'C:\cygwin\home\\'. After downloading, extract the Eggdrop tarball: tar -zxf eggdrop1.6.21.tar.gz 4. Run './configure --enable-strip'. Debugging information under Windows is basically useless to the development team, and this will reduce the size of your Eggdrop binary. 5. Type either 'make config', or 'make iconfig' to determine which modules will be compiled. 6. Compile the bot using 'make eggdrop'. 7. Install the bot by typing 'make install DEST='. For example: make install DEST='C:/eggdrop/' Make sure to enclose the destination directory/folder in single quotes (''), especially if it contains spaces. 8. Perform the following commands: cd 'C://' (example: cd 'C:/eggdrop') rm modules rm eggdrop.exe mv eggdrop.exe-1.6.21 eggdrop.exe mv modules-1.6.21 modules 9. Create a 'lib' directory and copy needed libraries using the following commands. This assumes that you installed your Eggdrop in 'C:\eggdrop'. If you chose a different installation path, replace 'C:/eggdrop' in the following steps with your installation directory, replacing all '\'s with '/'s. cp /bin/cygwin1.dll 'C:/eggdrop' cp /usr/local/bin/libtcl8.5.dll 'C:/eggdrop' mkdir C:/eggdrop/lib cp -r /usr/local/lib/tcl 'C:/eggdrop/lib' cp -r /usr/local/lib/tcl8.5 'C:/eggdrop/lib' cp /bin/cygz.dll 'C:/eggdrop' (if you selected compress.mod) I. Tcl Detection and Installation If ./configure does not correctly detect the location of your Tcl library and header file, or if you experience errors related to Tcl during linking, perform these steps: 1. Depending on what shell your using: bash/ksh: export LD_LIBRARY_PATH=:${LD_LIBRARY_PATH} csh/tcsh/tclsh: setenv LD_LIBRARY_PATH :${LD_LIBRARY_PATH} Note that some OS's use a different environment variable to tell ld where to look for a library. See the notes for your specific OS above (if applicable). 2. Run the following command from your Eggdrop compilation directory (this is all one command): ./configure --with-tclinc='' --with-tcllib='' 3. Continue compiling the bot as outlined in Section A., starting with 'make config'. If you do not have Tcl installed on your system, you can compile it in your /home directory. Download Tcl from Tcl's SourceForge project page at http://www.sourceforge.net/projects/tcl/, or from ActiveState at ftp://tcl.activestate.com/pub/tcl/. Read Tcl's README file for help with compiling and installing it. After you compile Tcl, follow the steps above to allow Eggdrop to detect Tcl. Frequently Asked Questions 1. I get a lot of warnings. Warnings do not necessarily mean anything bad. As long as the compile completes, there is really nothing to worry about. Generally, we try to avoid warnings. We try to fix the warnings we are aware of. If you experience warnings, you can let us know by e-mailing bugs@eggheads.org. If you feel like fixing them yourself, please do so and send us a patch (as described in doc/PATCH_HOWTO). Thanks. 2. I get a 'strip terminated with signal 6' error during compile/install, or another error related to 'strip'. collect2: strip terminated with signal 6 [IOT/Abort trap] *** Exit 1 Stop. *** Exit 1 Stop. Don't use the --enable-strip ./configure option. 3. 'DIR' undeclared (and a whole bunch of others) (AIX 4) gcc -c -O2 -fno-strength-reduce -I.. -DHAVE_CONFIG_H filedb.c filedb.c: In function `filedb_update': filedb.c:209: `DIR' undeclared (first use this function) filedb.c:209: (Each undeclared identifier is reported only once filedb.c:209: for each function it appears in.) filedb.c:209: `dir' undeclared (first use this function) filedb.c:209: parse error before `*' filedb.c:217: warning: assignment makes pointer from integer without a cast filedb.c:218: `name' undeclared (first use this function) filedb.c:218: dereferencing pointer to incomplete type filedb.c:220: dereferencing pointer to incomplete type filedb.c:220: dereferencing pointer to incomplete type filedb.c:224: dereferencing pointer to incomplete type filedb.c:224: dereferencing pointer to incomplete type filedb.c:225: dereferencing pointer to incomplete type filedb.c:230: `s' undeclared (first use this function) filedb.c:231: `st' undeclared (first use this function) filedb.c:232: `fdb' undeclared (first use this function) filedb.c:232: `where' undeclared (first use this function) filedb.c:237: `fdb1' undeclared (first use this function) filedb.c:253: warning: assignment makes pointer from integer without a cast make: The error code from the last command is 1. The configure script didn't detect that this particular system had dirent.h and sys/dir.h. The solution is to add -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H to the Makefile's CFLGS line: CFLGS = -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H 4. 'fd_set' undeclared (and a whole bunch of others) (AIX 4) gcc -c -O2 -fno-strength-reduce -I.. -DHAVE_CONFIG_H -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H net.c net.c: In function `sockread': net.c:390: `fd_set' undeclared (first use this function) net.c:390: (Each undeclared identifier is reported only once net.c:390: for each function it appears in.) net.c:390: parse error before `fd' net.c:396: `fd' undeclared (first use this function) make: The error code from the last command is 1. Again, this seems that one of configure's components (sed, awk, or something along those lines) is broken, and configure failed to detect that this system needed sys/select.h. The solution is to add -DHAVE_SYS_SELECT_H to the Makefile's CFLGS line: CFLGS = -DHAVE_DIRENT_H -DHAVE_SYS_DIR_H -DHAVE_SYS_SELECT_H 5. Unresolved or undefined symbols: ldclose, ldopen, ldnshread (AIX 3) cc -s -o eggdrop chan.o chanprog.o chanset.o cmds.o dcc.o dccutil.o filedb.o fileq.o files.o gotdcc.o hash.o main.o match.o mem.o misc.o mode.o msgcmds.o msgnotice.o net.o tandcmd.o tandem.o tcl.o tclhash.o userrec.o users.o -L/home2/f/foster/lib -ltcl7.5 -lm 0706-317 ERROR: Unresolved or undefined symbols detected: Symbols in error (followed by references) are dumped to the load map. The -bloadmap: option will create a load map. .ldclose .ldopen .ldnshread make: 1254-004 The error code from the last command is 8. Apparently, what is happening is a library called ld is required. Either configure doesn't know it is needed, it simply can't find it, or maybe this is a unique case. The solution is to have ld linked in with the final binary. Edit your Makefile and find the line that looks something like this: GMAKE = ${MAKE} 'CC=cc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/home2/f/foster/lib -ltcl7.5 -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=ranlib' 'STRIP=-s' Add in -lld into the XLIBS assignment, like this: GMAKE = ${MAKE} 'CC=cc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=-lld -L/home2/f/foster/lib -ltcl7.5 -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=ranlib' 'STRIP=-s' 6. Unsatisfied symbols 'shl_findsym' and 'shl_load' (HP-UX 9) gcc -s -o eggdrop chan.o chanprog.o chanset.o cmds.o dcc.o dccutil.o filedb.o fileq.o files.o gotdcc.o hash.o main.o match.o mem.o misc.o mode.o msgcmds.o msgnotice.o net.o tandcmd.o tandem.o tcl.o tclhash.o userrec.o users.o -L/home/hltran/tcl/lib -ltcl7.5 -lm /bin/ld: Unsatisfied symbols: shl_findsym (code) shl_load (code) collect2: ld returned 1 exit status *** Error code 1 Stop. Upgrade to a later version of Tcl. The following should also work. Edit your Makefile and find the line that looks something like this: GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/usr/local/lib -ltcl7.5 -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP=' Add in -ldl into the XLIBS assignment, like this: GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl7.5.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=-ldl -L/usr/local/lib -ltcl7.5 -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP=' 7. Compile stops at the last minute with "ld fatal signal 11"! (Linux) This seems to be caused by a non-ELF Tcl library binary, and the compiler doesn't seem to like it. Download and install Tcl in your home directory using the steps in 'E. Tcl Detection and Installation' in the Compile Guide above. 8. Undefined references in net.o (SunOS) First Undefined Referenced Symbol In file socket net.o gethostbyname net.o accept net.o bind net.o setsockopt net.o gethostbyaddr net.o getsockname net.o gethostname net.o listen net.o connect net.o ld: fatal: Symbol referencing errors. No output written to eggdrop This seems to be caused by a few libraries not being detected by the auto-configure script; it is relatively easy to fix. Edit your Makefile. Note that yours may be slightly different than this one when it comes to the Tcl library, but here is the way it probably is: GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS= -L/usr/local/lib -ltcl -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP=' Here is what you need to change it to: GMAKE = ${MAKE} 'CC=gcc' 'AWK=awk' 'OBJS=${OBJS}' 'TCLLIBFN=tcl.a'\ 'CFLAGS=${CFLAGS}' 'XREQ=${XREQ}' 'XLIBS=-lsocket -ldl -lnsl -L/usr/local/lib -ltcl -lm'\ 'TCLLIB=${TCLLIB}' 'RANLIB=:' 'STRIP=' You are adding three libraries to be linked in: socket, dl, and nsl. This will resolve the net.o errors. 9. I experience problems starting the configure script (AIX/various) If you receive file descriptor or bad interpreter errors when attempting to run the configure script, try running 'sh configure' or 'bash configure' instead of './configure'. This problem seems to show up on many AIX machines. 10. I get a 'make: Permission denied' error when I type 'make config' or 'make' (FreeBSD / *BSD) This is caused by a bug in FreeBSD (and possibly other BSDs as well). A simple 'cd .', or changing to a different directory and then changing back, usually fixes this. _____________________________________________________________________ Copyright (C) 1997 Robey Pointer Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/0000775000076600007660000000000011651664652015156 5ustar simplesimpleeggdrop1.6.21/doc/settings/core.settings0000664000076600007660000005022211525764165017671 0ustar simplesimple$Id: core.settings,v 1.43 2011/02/13 14:19:33 simple Exp $ Eggdrop Core Settings Last revised: April 17, 2003 _____________________________________________________________________ Eggdrop Core Settings This file describes the syntax and all the settings of your Eggdrop configuration file. Please note that you don't need to set all of these variables to make your bot work properly. ##### EXECUTABLE PATH ##### The first line in an Eggdrop configuration file should contain a fully qualified path to your Eggdrop executable. It has to be implemented in the way the example shows to make the config file work as a shell script. Example: #! /path/to/eggdrop ##### BASIC SETTINGS ##### You can change the basic Eggdrop appearance and behavior in this section. set username "lamest" This setting defines the username the bot uses on IRC. This setting has no effect if an ident daemon is running on your bot's machine. set admin "Lamer " This setting defines which contact person should be shown in .status, /msg help, and other places. You really should include this information. set network "SomeIrcNetwork" This setting is used only for info to share with others on your botnet. Set this to the IRC network your bot is connected to. set timezone "EST" This setting defines which timezone is your bot in. It's used for internal routines as well as for logfile timestamping and scripting purposes. The timezone string specifies the name of the timezone and must be three or more alphabetic characters. For example, Central European Time(UTC+1) should be "CET". set offset "5" The offset setting specifies the time value to be added to the local time to get Coordinated Universal Time (UTC aka GMT). The offset is positive if the local timezone is west of the Prime Meridian and negative if it is east. The value (in hours) must be between -23 and 23. For example, if the timezone is UTC+1, the offset is -1. set env(TZ) "$timezone $offset" (disabled by default) If you don't want to use the timezone setting for scripting purposes only, but instead everywhere possible, then use this setting. set my-hostname "virtual.host.com" set my-ip "99.99.0.0" If you're using virtual hosting (your machine has more than 1 IP), you may want to specify the particular IP to bind to. You can specify either by hostname or by IP. You may also want to set the hostname here if Eggdrop has trouble detecting it when it starts up. addlang "english" If you want to have your Eggdrop messages displayed in another language, change this command to match your preferences. An alternative would be to set the environment variable EGG_LANG to that value. Languages included with Eggdrop: Danish, English, French, Finnish, German. ##### LOG FILES ##### Eggdrop is capable of logging various things, from channel chatter to partyline commands and file transfers. Logfiles are normally kept for 24 hours. Afterwards, they will be renamed to "(logfilename).yesterday". After 48 hours, they will be overwritten by the logfile of the next day. set max-logs 5 This is the maximum number of logfiles allowed. This setting can be increased; however, don't decrease it. set max-logsize 0 This is the maximum size of your logfiles. Set it to 0 to disable. This value is in kilobytes, so '550' would mean cycle logs when it reaches the size of 550 kilobytes. Note that this only works if you have keep-all-logs set to 0 (OFF). set quick-logs 0 This could be good if you have had a problem with logfiles filling your quota/hard disk or if you log +p and publish it to the web, and you need more up-to-date info. Note that this setting might increase the CPU usage of your bot (on the other hand it will decrease your RAM usage). set raw-log 0 This setting allows you the logging of raw incoming server traffic via console/log flag 'r', raw outgoing server traffic via console/log mode 'v', raw botnet traffic via console/log mode 't', and raw share traffic via console/log mode 'h'. These flags can create a large security hole, allowing people to see user passwords. This is now restricted to +n users only. Please choose your owners with care. logfile "logs/logfile" This setting tells the bot what should be logged, from where, and to which file. Logfile flags: b - information about bot linking and userfile sharing c - commands d - misc debug information h - raw share traffic j - joins, parts, quits, and netsplits on the channel k - kicks, bans, and mode changes on the channel m - private msgs, notices and ctcps to the bot o - misc info, errors, etc (IMPORTANT STUFF) p - public text on the channel r - raw incoming server traffic s - server connects, disconnects, and notices t - raw botnet traffic v - raw outgoing server traffic w - wallops (make sure the bot sets +w in init-server) x - file transfers and file-area commands Note that modes d, h, r, t, and v can fill disk quotas quickly. There are also eight user-defined levels (1-8) which can be used by Tcl scripts. Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p' are logged to whatever channel they happened on. Most other events are currently logged to every channel. You can make a logfile belong to all channels by assigning it to channel "*". Examples: logfile mco * "logs/eggdrop.log" logfile jpk #lamest "logs/lamest.log" In 'eggdrop.log', put private msgs/ctcps, commands, misc info, and errors from any channel. In 'lamest.log', log all joins, parts, kicks, bans, public chatter, and mode changes from #lamest. set log-time 1 Use this feature to timestamp entries in the log file. set timestamp-format "[%H:%M:%S]" Set the following to the timestamp for the logfile entries. Popular times might be "[%H:%M]" (hour, min), or "[%H:%M:%S]" (hour, min, sec). Read `man strftime' for more formatting options. Keep it below 32 chars. set keep-all-logs 0 If you want to keep your logfiles forever, turn this setting on. All logfiles will get the suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]". Note that your quota/hard-disk might be filled by this, so check your logfiles often and download them. set switch-logfiles-at 300 You can specify when Eggdrop should switch logfiles and start fresh. use military time for this setting. 300 is the default, and describes 03:00 (AM). set quiet-save 0 "Writing user file..." and "Writing channel file..." messages won't be logged anymore if this option is enabled. If you set it to 2, the "Backing up user file..." and "Backing up channel file..." messages will also not be logged. In addition to this, you can disable the "Switching logfiles..." and the new date message at midnight, by setting this to 3. set logfile-suffix ".%d%b%Y" If keep-all-logs is 1, this setting will define the suffix of the logfiles. The default will result in a suffix like "04May2000". "%Y%m%d" will produce the often used yyyymmdd format. Read the strftime manpages for more options. NOTE: On systems which don't support strftime, the default format will be used _always_. ##### CONSOLE ##### set console "mkcobxs" This is the default console mode. It uses the same event flags as the log files do. The console channel is automatically set to your "primary" channel, which is set in the modules section of the config file. Masters can change their console channel and modes with the '.console' command. ##### FILES AND DIRECTORIES ##### set userfile "LamestBot.user" Specify here the filename your userfile should be saved as. set pidfile "pid.LamestBot" Specify here the filename Eggdrop will save its pid to. If no pidfile is specified, pid.(botnet-nick) will be used. set sort-users 0 If you want your userfile to be sorted upon saving, enable this setting. This causes the bot to use a bit more CPU when saving the userfile. set help-path "help/" Specify here where Eggdrop should look for help files. Don't modify this setting unless you know what you're doing! set text-path "text/" Specify here where Eggdrop should look for text files. This is used for certain Tcl and DCC commands. set temp-path "/tmp" Set here a place to store temporary files. set motd "text/motd" The MOTD (Message Of The day) is displayed when people dcc chat or telnet to the bot. Look at doc/TEXT-SUBSTITUTIONS for options. set telnet-banner "text/banner" This banner will be displayed on telnet connections. Look at doc/text-substitutions.doc for options. set userfile-perm 0600 This specifies what permissions the user, channel, and notes files should be set to. The octal values are the same as for the chmod system command. To remind you: u g o u g o u g o 0600 rw------- 0400 r-------- 0200 -w------- u - user 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others Note that the default 0600 is the most secure one and should only be changed if you need your files for shell scripting or other external applications. set mod-path "modules/" This path specifies the path were Eggdrop should look for its modules. If you run the bot from the compilation directory, you will want to set this to "". If you use 'make install' (like all good kiddies do ;), this is a fine default. Otherwise, use your head :). ##### BOTNET/DCC/TELNET ##### Settings in this section should be unimportant for you until you deal with botnets (multiple Eggdrops connected together to maximize efficiency). You should read doc/BOTNET before modifying these settings. set botnet-nick "LlamaBot" (disabled by default) If you want to use a different nickname on the botnet than you use on IRC (i.e. if you're on an un-trusted botnet), un-comment this line and set it to the nick you would like to use. listen This opens a telnet port by which you and other bots can interact with the Eggdrop by telneting in. There are more options for the listen command in doc/tcl-commands.doc. Note that if you are running more than one bot on the same machine, you will want to space the telnet ports at LEAST 5 apart, although 10 is even better. Valid ports are typically anything between 1025 and 65535 assuming the port is not already in use. If you would like the bot to listen for users and bots in separate ports, use the following format: listen 3333 bots listen 4444 users If you wish to use only one port, use this format: listen 3333 all You need to un-comment this line and change the port number in order to open the listen port. You should not keep this set to 3333. set remote-boots 2 This setting defines whether or not people can boot users on the Eggdrop from other bots in your botnet. Valid settings are: 0 - allow *no* outside boots 1 - allow boots from sharebots 2 - allow any boots set share-unlinks 1 This setting prohibits Eggdrop to unlink from share bots if an remote bots tells so. set protect-telnet 0 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, in which case the connect wouldn't work anyway. set ident-timeout 5 This settings defines a time in seconds that the bot should wait before a dcc chat, telnet, or relay connection times out. set require-p 0 Define here whether or not a +o user still needs the +p flag to dcc the bot. set open-telnets 0 If you want people allow to telnet in and type 'NEW' to become a new user, set this to 1. This is similar to the 'hello' msg command. The protect-telnet setting must be set to 0 to use this. set stealth-telnets 0 If you don't want Eggdrop to identify itself as an Eggdrop on a telnet connection, set this setting to 1. Eggdrop will display 'Nickname' instead. set use-telnet-banner 0 If you want Eggdrop to display a banner when telneting in, set this setting to 1. The telnet banner is set by 'set telnet-banner'. set connect-timeout 15 This settings defines a time in seconds that the bot should wait before a dcc chat, telnet, or relay connection times out. set dcc-flood-thr 3 Specify here the number of lines to accept from a user on the partyline within 1 second before they are considered to be flooding and therefore get booted. set telnet-flood 5:60 Define here how many telnet connection attempts in how many seconds from the same host constitute a flood. The correct format is Attempts:Seconds. set paranoid-telnet-flood 1 If you want telnet-flood to apply even to +f users, set this setting to 1. set resolve-timeout 15 Set here the amount of seconds before giving up on hostname/address lookup (you might want to increase this if you are on a slow network). ##### MORE ADVANCED SETTINGS ##### set firewall "!sun-barr.ebay:3666" Set this to your socks host if your Eggdrop sits behind a firewall. If you use a Sun "telnet passthru" firewall, prefix the host with a "!". set nat-ip "127.0.0.1" If you have a NAT firewall (you box has an IP in one of the 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. 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 If you want all dcc file transfers to use a particular portrange either because you're behind a firewall, or for other security reasons, set it here. set ignore-time 15 Set the time in minutes that temporary ignores should last. set hourly-updates 00 Define here what Eggdrop considers 'hourly'. All calls to it, including such things as note notifying or userfile saving, are affected by this. Example: set hourly-updates 15 The bot will save its userfile 15 minutes past every hour. set owner "MrLame, MrsLame" Un-comment this line and set the list of owners of the bot. You NEED to change this setting. set notify-newusers "$owner" Who should a note be sent to when new users are learned? set default-flags "hp" Enter the flags that all new users should get by default. See '.help whois' on the partyline for a list of flags and their descriptions. set whois-fields "url birthday" Enter all user-defined fields that should be displayed in a '.whois'. This will only be shown if the user has one of these extra fields. You might prefer to comment this out and use the userinfo1.0.tcl script which provides commands for changing all of these. set die-on-sighup 0 Enable this setting if you want your Eggdrop to die upon receiving a SIGHUP kill signal. Otherwise, the Eggdrop will just save its userfile and rehash. set die-on-sigterm 0 Enable this setting if you want your Eggdrop to die upon receiving a SIGTERM kill signal. Otherwise, the Eggdrop will just save its userfile and rehash. unbind dcc n tcl *dcc:tcl unbind dcc n set *dcc:set Comment these two lines if you wish to enable the .tcl and .set commands. If you select your owners wisely, you should be okay enabling these. set must-be-owner 1 If you enable this setting, only permanent owners (owner setting) will be able to use .tcl and .set. Moreover, if you want to only let permanent owners use .dump, then set this to 2. unbind dcc n simul *dcc:simul Comment out this line to add the 'simul' partyline command (owners can manipulate other people on the party line). Please select owners wisely and use this command ethically! set max-dcc 50 Set here the maximum number of dcc connections you will allow. You can increase this later, but never decrease it. set allow-dk-cmds 1 Enable this setting if you want +d & +k users to use commands bound as -|-. set dupwait-timeout 5 If your Eggdrop rejects bots that actually have already disconnected from another hub, but the disconnect information has not yet spread over the botnet due to lag, use this setting. The bot will wait dupwait-timeout seconds before it checks again and then finally reject the bot. set strict-host 1 Set this to 0 if you want the bot to strip '~+-^=' characters from user@hosts before matching them. This setting is currently kept for compatibility, but will be removed from the next release. Please leave it set to 1 for now to avoid problems with your user files in the future. set cidr-support 0 Enables cidr support for b/e/I modes if set to 1. This means the bot will understand and match modes in cidr notation, and will be able to put and enforce such bans or unban itself, if banned with a cidr mask. Do NOT set this, if your network/server does not support cidr! ##### MODULES ##### After the core settings, you should start loading modules. Modules are loaded by the command "loadmodule ". Eggdrop looks for modules in the directory you specified by the module-path setting in the files and directories section. Please note that for different configurations, different modules are needed. Four examples: Channel Security Bot: This bot needs the channels, blowfish, console, dns, irc, and (if you like) ctcp modules loaded. More is not needed and makes the bot slower. Public IRC Bot: A public bot should have all modules available loaded since they provide all functions for everyday use. Secure Filesys Bot: This bot needs all normal IRC operating modules, but not the notes, seen, ctcp or share modules. Limbo Bot: A limbo bot (serves as a botnet hub outside IRC) just needs the channels, console, dns, and maybe notes or share modules loaded. Of course, blowfish needs to be loaded here, too. ##### SCRIPTS ##### The scripts section should be placed at the end of the config file. All modules should be loaded and their variables should be set at this point. source scripts/script.tcl This line loads script.tcl from the scripts directory inside your Eggdrop's directory. All scripts should be put there, although you can place them where you like as long as you can supply a fully qualified path to them. Some commonly loaded scripts are alltools.tcl and action.fix.tcl. The appropriate source lines are: source scripts/alltools.tcl source scripts/action.fix.tcl _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/CONTENTS0000664000076600007660000000342711525764165016344 0ustar simplesimple$Id: CONTENTS,v 1.16 2011/02/13 14:19:33 simple Exp $ Directory Contents - doc/settings/ Last revised: April 16, 2003 _____________________________________________________________________ Directory Contents - doc/settings core.settings All module-independent Eggdrop settings are documented here. mod.assoc Documentation for the assoc module is provided in this file. mod.blowfish Documentation for the blowfish module is provided in this file. mod.channels Documentation for the channels module is provided in this file. mod.compress Documentation for the compress module is provided in this file. mod.console Documentation for the console module is provided in this file. mod.ctcp Documentation for the ctcp module is provided in this file. mod.dns Documentation for the dns module is provided in this file. mod.filesys Documentation for the filesys module is provided in this file. mod.irc Documentation for the irc module is provided in this file. mod.notes Documentation for the notes module is provided in this file. mod.seen Documentation for the seen module is provided in this file. mod.server Documentation for the server module is provided in this file. mod.share Documentation for the share module is provided in this file. mod.transfer Documentation for the transfer module is provided in this file. mod.uptime Documentation for the uptime module is provided in this file. mod.wire Documentation for the wire module is provided in this file. mod.woobie Documentation for the woobie module is provided in this file. ________________________________________________________________________ Copyright (C) 2003 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.compress0000664000076600007660000000204411525764165017512 0ustar simplesimple$Id: mod.compress,v 1.20 2011/02/13 14:19:33 simple Exp $ Compress Module Last revised: May 27, 2004 _____________________________________________________________________ Compress Module This module provides provides support for file compression. It can be used to compress files via Tcl or to transfer the userfile compressed during the share process, saving bandwidth. This module requires: share Put this line into your Eggdrop configuration file to load the compress module: loadmodule compress There are also some variables you can set in your config file: set share-compressed 1 Allow compressed sending of user files? The user files are compressed with the compression level defined in `compress-level'. set compress-level 9 This is the default compression level used. These levels are the same as those used by GNU gzip. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.notes0000664000076600007660000000273611525764165017017 0ustar simplesimple$Id: mod.notes,v 1.19 2011/02/13 14:19:33 simple Exp $ Notes Module Last revised: January 1, 2002 _____________________________________________________________________ Notes Module This module provides support for storing of notes for users from each other. Note sending between currently online users is supported in the core, this is only for storing the notes for later retrieval. This module requires: none Put this line into your Eggdrop configuration file to load the notes module: loadmodule notes There are also some variables you can set in your config file: set notefile "LamestBot.notes" Set here the filename where private notes between users are stored. set max-notes 50 Set here the maximum number of notes to allow to be stored for each user (to prevent flooding). set note-life 60 Set here how long (in days) to store notes before expiring them. set allow-fwd 0 Set this to 1 if you want to allow users to specify a forwarding address for forwarding notes to another account on another bot. set notify-users 1 Set this to 1 if you want the bot to let people know hourly if they have any notes. set notify-onjoin 1 Set this to 1 if you want the bot to let people know on join if they have any notes. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.woobie0000664000076600007660000000115411525764165017144 0ustar simplesimple$Id: mod.woobie,v 1.18 2011/02/13 14:19:33 simple Exp $ Woobie Module Last revised: December 31, 2001 _____________________________________________________________________ Woobie Module This is for demonstrative purposes only. If you are looking for starting point in writing modules, woobie is the right thing. This module requires: none Put this line into your Eggdrop configuration file to load the woobie module: loadmodule woobie _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.dns0000664000076600007660000000343411545337065016444 0ustar simplesimple$Id: mod.dns,v 1.20 2011/04/01 11:59:49 pseudo Exp $ DNS Module Last revised: September 26, 2010 _____________________________________________________________________ DNS Module This module provides asynchronous dns support. This will avoid long periods where the bot just hangs there, waiting for a hostname to resolve, which will often let it timeout on all other connections. This module requires: none Put this line into your Eggdrop configuration file to load the dns module: loadmodule dns There are also some variables you can set in your config file: set dns-servers "8.8.8.8 8.8.4.4" In case your bot has trouble finding dns servers or you want to use specific ones, you can set them here. The value is a list of dns servers. The relative order doesn't matter. You can also specify a non-standard port. The default is to use the system specified dns servers. You don't need to modify this normally. set dns-cache 86400 Specify how long should the DNS module cache replies at maximum. The value must be in seconds. Note that it will respect the TTL of the reply and this is just an upper boundary. set dns-negcache 600 Specify how long should the DNS module cache negative replies (NXDOMAIN, DNS Lookup failed). The value must be in seconds. set dns-maxsends 4 How many times should the DNS module resend the query for a given domain if it receives no reply? set dns-retrydelay 3 Specify how long should the DNS module wait for a reply before resending the query. The value must be in seconds. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.uptime0000664000076600007660000000210311525764165017156 0ustar simplesimple$Id: mod.uptime,v 1.16 2011/02/13 14:19:33 simple Exp $ Uptime Module Last revised: January 1, 2002 _____________________________________________________________________ Uptime Module This module reports uptime statistics to http://uptime.eggheads.org. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. Information sent to the server includes the bot's uptime, botnet-nick, server, version, and IP address. This information is stored in a temporary logfile for debugging purposes only. The only publicly available information will be the bot's botnet-nick, version and uptime. If you do not wish for this information to be sent, comment out the 'loadmodule uptime' line in your bot's config file. This module requires: server Put this line into your Eggdrop configuration file to load the uptime module: loadmodule uptime _____________________________________________________________________ Copyright (C) 2001 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.ctcp0000664000076600007660000000236111525764165016612 0ustar simplesimple$Id: mod.ctcp,v 1.19 2011/02/13 14:19:33 simple Exp $ CTCP Module Last revised: February 12, 2002 _____________________________________________________________________ CTCP Module This module provides the normal ctcp replies that you would expect. Without it loaded, CTCP CHAT will not work. This module requires: server Put this line into your Eggdrop configuration file to load the ctcp module: loadmodule ctcp There are also some variables you can set in your config file: set ctcp-mode 0 Set here how the ctcp module should answer ctcps. There are 3 possible operating modes: 0: Normal behavior is used. 1: The bot ignores all ctcps, except for CHAT and PING requests by users with the +o flag. 2: Normal behavior is used, however the bot will not answer more than X ctcps in Y seconds (defined by 'set flood-ctcp'). There are also several variables to help make your bot less noticeable. They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set them to values you'd like. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.seen0000664000076600007660000000141211525764165016607 0ustar simplesimple$Id: mod.seen,v 1.19 2011/02/13 14:19:33 simple Exp $ Seen Module Last revised: January 1, 2002 _____________________________________________________________________ Seen Module This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are looking for a better and more advanced seen module, try the gseen module by G'Quann. You can find it at http://www.kreativrauschen.com/gseen.mod/. This module requires: none Put this line into your Eggdrop configuration file to load the seen module: loadmodule seen _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.filesys0000664000076600007660000000362211525764165017340 0ustar simplesimple$Id: mod.filesys,v 1.20 2011/02/13 14:19:33 simple Exp $ Filesys Module Last revised: May 26, 2004 _____________________________________________________________________ Filesys Module This module provides an area within the bot where users can store and manage files. With this module, the bot is usable as a file server. This module requires: transfer Put this line into your Eggdrop configuration file to load the filesys module: loadmodule filesys There are also some variables you can set in your config file: set files-path "/home/mydir/eggdrop/filesys" Set here the 'root' directory for the file system. set incoming-path "/home/mydir/eggdrop/filesys/incoming" If you want to allow uploads, set this to the directory uploads should be put into. Set this to "" if you don't want people to upload files to your bot. set upload-to-pwd 0 If you don't want to have a central incoming directory, but instead want uploads to go to the current directory that a user is in, set this setting to 1. set filedb-path "" Eggdrop creates a '.filedb' file in each subdirectory of your file area to keep track of its own file system information. If you can't do that (for example, if the dcc path isn't owned by you, or you just don't want it to do that) specify a path here where you'd like all of the database files to be stored instead. set max-file-users 20 Set here the maximum number of people that can be in the file area at once. Setting this to 0 makes it effectively infinite. set max-filesize 1024 Set here the maximum allowable file size that will be received (in KB). Setting this to 0 makes it effectively infinite. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.server0000664000076600007660000002006211525764165017165 0ustar simplesimple$Id: mod.server,v 1.42 2011/02/13 14:19:33 simple Exp $ Server Module Last revised: February 12, 2003 _____________________________________________________________________ Server Module This module provides the core server support. You have to load this if you want your bot to come on IRC. Not loading this is equivalent to the old NO_IRC define. This module requires: none Put this line into your Eggdrop configuration file to load the server module: loadmodule server There are also some variables you can set in your config file: set net-type 0 What is your network? 0 = EFnet 1 = IRCnet 2 = Undernet 3 = DALnet 4 = +e/+I/max-bans 20 Hybrid 5 = Others set nick "LamestBot" Set the nick the bot uses on IRC, and on the botnet unless you specify a separate botnet-nick, here. set altnick "L?m?stB?t" Set the alternative nick which the bot uses on IRC if the nick specified by 'set nick' is unavailable. All '?' characters will be replaced by random numbers. set keep-nick 1 This setting makes the bot try to get his original nickname back if its primary nickname is already in use. set realname "/msg LamestBot hello" Set here what to display in the real-name field for the bot. bind evnt - init-server evnt:init_server proc evnt:init_server {type} { global botnick putquick "MODE $botnick +i-ws" } This is a Tcl script to be run immediately after connecting to a server. set init-server { putquick "MODE $botnick +i-ws" } This is a Tcl script to be run immediately after connecting to a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see doc/tcl-commands.doc). set connect-server { putlog "Connecting to server." } This is a Tcl script to be run immediately before connecting to a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see doc/tcl-commands.doc). set disconnect-server { putlog "Disconnected from server." } This is a Tcl script to be run immediately after disconnecting from a server. It is limited to 120 characters, and is depriciated due to the EVNT bind (see doc/tcl-commands.doc). set servers { you.need.to.change.this:6667 another.example.com:7000:password } This is the bot's server list. The bot will start at the first server listed, and cycle through them whenever it gets disconnected. You need to change these servers to YOUR network's servers. The format is: server[:port[:password]] Both the port and password fields are optional; however, if you want to set a password you must also set a port. If a port isn't specified it will default to your default-port setting. set default-port 6667 Set the default port which should be used if none is specified with '.jump' or in 'set servers'. set msg-rate 2 Number of seconds to wait between transmitting queued lines to the server. Lower this value at your own risk. ircd is known to start flood control at 512 bytes/2 seconds. set server-cycle-wait 60 This setting defines how long Eggdrop should wait before moving from one server to another on disconnect. If you set 0 here, Eggdrop will not wait at all and will connect instantly. Setting this too low could result in your bot being K:Lined. set never-give-up 1 This settings makes the bot cycle forever through the server list until it successfully connects to one. set server-timeout 60 Set here how long Eggdrop should wait for a response when connecting to a server before giving up and moving on to next server. set servlimit 0 If the number of servers on the net gets below this number, the bot will jump to a new server (it will assume it's on the losing end of a netsplit). Set this to 0 to turn off. If your bot is running on any major IRC network, this should probably be turned off. set check-stoned 1 Set this to 1 if Eggdrop should check for stoned servers? (where the server connection has died, but Eggdrop hasn't been notified yet). set serverror-quit 1 If you want your bot to exit the server if it receives an ERROR message, set this to 1. set max-queue-msg 300 Set here the maximum number of lines to queue to the server. If you're going to dump large chunks of text to people over IRC, you will probably want to raise this. 300 is fine for most people though. set quiet-reject 1 This setting makes the bot squelch the error message when rejecting a DCC CHAT, SEND or message command. Normally, Eggdrop notifies the user that the command has been rejected because they don't have access. Note that sometimes IRC server operators detect bots that way. set flood-msg 5:60 Set here how many msgs in how many seconds from one host constitutes a flood. If you set this to 0:0, msg flood protection will be disabled. set flood-ctcp 3:60 Set here how many ctcps in how many seconds from one host are recognized as a flood. Not specifying or using number = 0 will not check against ctcp floods. set answer-ctcp 3 Set how many ctcps should be answered at once here. set lowercase-ctcp 0 If you want your bot to answer lower case ctcp requests (non rfc- compliant), set this setting to 1. mIRC will do this, most other clients will not. set trigger-on-ignore 0 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? set double-server 0 Allow identical messages in the server queue? set double-help 0 Allow identical messages in the help queue? set use-penalties 1 (default on net-type 1) This enables Eggdrop's penalty calculation. Every command Eggdrop sends to the IRC server raises its 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. Note: it's highly advised to turn this on! set optimize-kicks 1 This optimizes the kick queue. It also traces nick changes and parts in the channel and changes the kick queue accordingly. There are three different options for this setting: 0 = Turn it off. 1 = Optimize the kick queue by summarizing kicks. 2 = Trace nick changes and parts on the channel and change the queue accordingly. For example, bot will not try to kick users who have already parted the channel. ATTENTION: Setting 2 is very CPU intensive. There are more settings for 'net-type' 5. net-type 5 specific features: Attention: Use this settings *only* if you set 'net-type' to 5! set check-mode-r 1 This settings defines how umode +r is understood by Eggdrop. Some networks use +r to indicate a restricted connection. If this is your case, and you want your bot to leave restricted servers and jump to the next server on its list, then set it to 1. Please note, this setting is automatically set to 0 for net-type 0/2/3/4, and set to 1 for net-type 1. set nick-len 9 This setting allows you to specify the maximum nick-length supported by your network. The default setting is 9. The maximum supported length by Eggdrop is 32. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.assoc0000664000076600007660000000106011525764165016764 0ustar simplesimple$Id: mod.assoc,v 1.18 2011/02/13 14:19:33 simple Exp $ Assoc Module Last revised: January 1, 2002 _____________________________________________________________________ Assoc Module This module provides assoc support, i.e. naming channels on the botnet. This module requires: none Put this line into your Eggdrop configuration file to load the assoc module: loadmodule assoc _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.irc0000664000076600007660000001466611525764165016451 0ustar simplesimple$Id: mod.irc,v 1.27 2011/02/13 14:19:33 simple Exp $ IRC Module Last revised: August 21, 2004 _____________________________________________________________________ IRC Module This module controls the bots interaction on IRC. It allows the bot to join channels, etc. You have to load this if you want your bot to come on irc. This module requires: server, channels Put this line into your Eggdrop configuration file to load the irc module: loadmodule irc There are also some variables you can set in your config file: set bounce-bans 1 Set this to 1 if you want to bounce all server bans. set bounce-exempts 0 Set this to 1 if you want to bounce all server exemptions (+e modes). This is disabled if use-exempts is disabled. set bounce-invites 0 Set this to 1 if you want to bounce all server invitations (+I modes). This is disabled if use-invites is disabled. set bounce-modes 0 Set this to 1 if you want to bounce all server modes. set max-modes 30 There is a global limit for +b/+e/+I modes. This limit should be set to the same value as max-bans for networks that do not support +e/+I. set max-bans 30 Set here the maximum number of bans you want the bot to set on a channel. Eggdrop will not place any more bans if this limit is reached. Undernet currently allows 45 bans, IRCnet allows 30, EFnet allows 100, and DALnet allows 100. set max-exempts 20 Set here the maximum number of exempts you want Eggdrop to set on a channel. Eggdrop will not place any more exempts if this limit is reached. set max-invites 20 Set here the maximum number of invites you want Eggdrop to set on a channel. Eggdrop will not place any more invites if this limit is reached. set use-exempts 0 set use-invites 0 These settings should be left commented unless the default values are being overridden. By default, exempts and invites are on for EFnet and IRCnet, but off for all other large networks. This behavior can be modified with the following 2 flags. If your network doesn't support +e/+I modes then you will be unable to use these features. set kick-fun 0 Set this to 1 if you want the bot to kick for control character/ctcp avalanches to a channel. Remember that if it does, it won't ban them. This can start kick floods. set ban-fun 0 Set this to 1 if you want the bot to ban for control character/ctcp avalanches to a channel. This can prevent kick floods, but it also can fill the banlist. set learn-users 0 If you want people to be able to add themselves to the bot's userlist with the default userflags (defined above in the config file) via the 'hello' msg command, set this to 1. set wait-split 600 Set here the time (in seconds) to wait for someone to return from a netsplit (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since its nick delay stops after 30 minutes. set wait-info 180 Set here the time (in seconds) that someone must have been off-channel before re-displaying their info line. set mode-buf-length 200 Set this to the maximum number of bytes to send in the arguments of modes sent to the server. Most servers default this to 200. unbind msg - hello *msg:hello bind msg - myword *msg:hello Many IRCops find bots by seeing if they reply to 'hello' in a msg. You can change this to another word by un-commenting thse two lines and changing "myword" to the word wish to use instead of'hello'. It must be a single word. unbind msg - ident *msg:ident unbind msg - addhost *msg:addhost Many takeover attempts occur due to lame users blindly /msg ident'ing to the bot and attempting to guess passwords. We now unbind this command by default to discourage them. You can enable this command by un-commenting these two lines. set opchars "@" #set opchars "@&~" Some IRC servers are using some non-standard op-like channel prefixes/modes. Define them here so the bot can recognize them. Just "@" should be fine for most networks. Un-comment the second line for some UnrealIRCds. set no-chanrec-info 0 If you are so lame you want the bot to display peoples info lines, even when you are too lazy to add their chanrecs to a channel, set this to 1. *NOTE* This means *every* user with an info line will have their info line displayed on EVERY channel they join (provided they have been gone longer than wait-info). These were the core irc module settings. There are more settings for 'net-type' 1 and 5. net-type has to be set in the server module config section. Use the following settings only if you set 'net-type' to 1! set prevent-mixing 1 At the moment, the current IRCnet IRCd version (2.10) doesn't support the mixing of b, o and v modes with e and I modes. This might be changed in the future, so use 1 at the moment for this setting. Use the following settings only if you set 'net-type' to 5! set kick-method 1 If your network supports more users per kick command then 1, you can change this behavior here. Set this to the number of users to kick at once, or set this to 0 for all at once. set modes-per-line 3 Some networks allow you to stack lots of channel modes into one line. They're all guaranteed to support at least 3, so that's the default. If you know your network supports more, you may want to adjust this. This setting is limited to 6, although if you want to use a higher value, you can modify this by changing the value of MODES_PER_LINE_MAX in src/chan.h and recompiling the bot. set include-lk 1 Some networks don't include the +l limit and +k or -k key modes in the modes-per-line (see above) limitation. Set include-lk to 0 for these networks. set use-354 0 Set this to 1 if your network uses IRCu2.10.01 specific /who requests. Eggdrop can, therefore, ask only for exactly what's needed. set rfc-compliant 1 If your network doesn't use rfc 1459 compliant string matching routines, set this to 0. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.blowfish0000664000076600007660000000142011525764165017471 0ustar simplesimple$Id: mod.blowfish,v 1.19 2011/02/13 14:19:33 simple Exp $ Blowfish Module Last revised: January 28, 2003 _____________________________________________________________________ Blowfish Module Eggdrop can encrypt your userfile, so users can have secure passwords. Please note that when you change your encryption method later (i.e. using other modules like a md5 module), you can't use your current userfile anymore. Eggdrop will not start without an encryption module. This module requires: none Put this line into your Eggdrop configuration file to load the blowfish module: loadmodule blowfish _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.share0000664000076600007660000000411511525764165016762 0ustar simplesimple$Id: mod.share,v 1.20 2011/02/13 14:19:33 simple Exp $ Share Module Last revised: November 27, 2003 _____________________________________________________________________ Share Module This module provides userfile sharing support between two directly linked bots. This module requires: transfer, channels Put this line into your Eggdrop configuration file to load the share module: loadmodule share There are also some variables you can set in your config file: set allow-resync 0 When two bots get disconnected, this setting allows them to create a resync buffer which saves all changes done to the userfile during the disconnect. When they reconnect, they will not have to transfer the complete user file, but, instead, just send the resync buffer. set resync-time 900 This setting specifies how long to hold another bots resync data before flushing it. This is a setting for allow-resync. set private-global 0 When sharing user lists, DON'T ACCEPT global flag changes from other bots? NOTE: The bot will still send changes made on the bot, it just won't accept any global flag changes from other bots. This overrides the private-globals setting (below). set private-globals "mnot" When sharing user lists, if private-global isn't set, which global flag changes from other bots should be ignored? set private-user 0 When sharing user lists, don't accept ANY userfile changes from other bots? Paranoid people should use this feature on their hub bot. This will force all userlist changes to be made via the hub. set override-bots 0 This setting makes the bot discard its own bot records in favor of the ones sent by the hub. NOTE: No passwords or botflags are shared, only ports and address are added to sharing procedure. This only works with hubs that are v1.5.1 or higher. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.channels0000664000076600007660000003257711525764165017470 0ustar simplesimple$Id: mod.channels,v 1.27 2011/02/13 14:19:33 simple Exp $ Channels Module Last revised: February 12, 2003 _____________________________________________________________________ Channels Module This module provides channel related support for the bot. Without it, you won't be able to make the bot join a channel or save channel specific userfile information. This module requires: none Put this line into your Eggdrop configuration file to load the channels module: loadmodule channels There are also some variables you can set in your config file: set chanfile "LamestBot.chan" Enter here the filename where dynamic channel settings are stored. set force-expire 0 Set this setting to 1 if you want your bot to expire bans/exempts/invites set by other opped bots on the channel. set share-greet 0 Set this setting to 1 if you want your bot to share user greets with other bots on the channel if sharing user data. set use-info 1 Set this setting to 1 if you want to allow users to store an info line. set allow-ps 0 Set this setting to 1 if you want to allow both +p and +s channel modes to be enforced at the same time by the chanmode channel setting. Make sure your server supports +ps mixing or you may get endless mode floods. channel add #channel { SETTINGS } Add each static channel you want your bot to sit in using this command. There are many different possible settings you can insert into this command, which are explained below. 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. stopnethack-mode 0 This setting will make the bot de-op anyone who enters the channel with serverops. There are seven different modes for this settings: 0 turn off 1 isoptest (allow serverop if registered op) 2 wasoptest (allow serverop if user had op before split) 3 allow serverop if isop or wasop 4 allow serverop if isop and wasop. 5 If the channel is -bitch, see stopnethack-mode 3 If the channel is +bitch, see stopnethack-mode 1 6 If the channel is -bitch, see stopnethack-mode 2 If the channel is +bitch, see stopnethack-mode 4 revenge-mode 0 This settings defines how the bot should punish bad users when revenging. There are four possible settings: 0 Deop the user. 1 Deop the user and give them the +d flag for the channel. 2 Deop the user, give them the +d flag for the channel, and kick them. 3 Deop the user, give them the +d flag for the channel, kick, and ban them. ban-type 3 This setting defines what type of bans should eggdrop place for +k users or when revenge-mode is 3. Available types are: 0 *!user@host 1 *!*user@host 2 *!*@host 3 *!*user@*.host 4 *!*@*.host 5 nick!user@host 6 nick!*user@host 7 nick!*@host 8 nick!*user@*.host 9 nick!*@*.host You can also specify types from 10 to 19 which correspond to types 0 to 9, but instead of using a * wildcard to replace portions of the host, only numbers in hostnames are replaced with the '?' wildcard. Same is valid for types 20-29, but instead of '?', the '*' wildcard will be used. ban-time 120 Set here how long temporary bans will last (in minutes). If you set this setting to 0, the bot will never remove them. exempt-time 60 Set here how long temporary exempts will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the exempts every X minutes, but will not remove the exempt if a ban is set on the channel that matches that exempt. Once the ban is removed, then the exempt will be removed the next time the bot checks. Please note that this is an IRCnet feature. invite-time 60 Set here how long temporary invites will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the invites every X minutes, but will not remove the invite if a channel is set to +i. Once the channel is -i then the invite will be removed the next time the bot checks. Please note that this is an IRCnet feature. aop-delay (minimum:maximum) This is used for autoop, autohalfop, autovoice. If an op or voice joins a channel while another op or voice is pending, the bot will attempt to put both modes on one line. aop-delay 0 No delay is used. aop-delay X An X second delay is used. aop-delay X:Y A random delay between X and Y is used. need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" } This setting will make the bot run the script enclosed in braces if it does not have ops. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting. need-invite { putserv "PRIVMSG #lamest :let me in!" } This setting will make the bot run the script enclosed in braces if it needs an invite to the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting. need-key { putserv "PRIVMSG #lamest :let me in!" } This setting will make the bot run the script enclosed in braces if it needs the key to the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting. need-unban { putserv "PRIVMSG #lamest :let me in!" } This setting will make the bot run the script enclosed in braces if it needs to be unbanned on the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting. need-limit { putserv "PRIVMSG #lamest :let me in!" } This setting will make the bot run the script enclosed in braces if it needs the limit to be raised on the channel. This must be shorter than 120 characters. If you use scripts like getops.tcl or botnetop.tcl, you don't need to set this setting. flood-chan 15:60 Set here how many channel messages in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel. flood-deop 3:10 Set here how many deops in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables deop flood protection for the channel. flood-kick 3:10 Set here how many kicks in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables kick flood protection for the channel. flood-join 5:60 Set here how many joins in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables join flood protection for the channel. flood-ctcp 3:60 Set here how many channel ctcps in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood protection for the channel. flood-nick 5:60 Set here how many nick changes in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables nick flood protection for the channel. channel set +/- There are many different options for channels which you can define. They can be enabled or disabled by a plus or minus in front of them. A complete list of all available channel settings: enforcebans When a ban is set, kick people who are on the channel and match the ban? dynamicbans Only activate bans on the channel when necessary? This keeps the channel's ban list from getting excessively long. The bot still remembers every ban, but it only activates a ban on the channel when it sees someone join who matches that ban. userbans Allow bans to be made by users directly? If turned off, the bot will require all bans to be made through the bot's console. dynamicexempts Only activate exempts on the channel when necessary? This keeps the channel's exempt list from getting excessively long. The bot still remembers every exempt, but it only activates a exempt on the channel when it sees a ban set that matches the exempt. The exempt remains active on the channel for as long as the ban is still active. userexempts Allow exempts to be made by users directly? If turned off, the bot will require all exempts to be made through the bot's console. dynamicinvites Only activate invites on the channel when necessary? This keeps the channel's invite list from getting excessively long. The bot still remembers every invite, but the invites are only activated when the channel is set to invite only and a user joins after requesting an invite. Once set, the invite remains until the channel goes to -i. userinvites Allow invites to be made by users directly? If turned off, the bot will require all invites to be made through the bot's console. autoop Op users with the +o flag as soon as they join the channel? This is insecure and not recommended. autohalfop Halfop users with the +l flag as soon as they join the channel? This is insecure and not recommended. bitch Only let users with the +o flag have op on the channel? greet Say a user's info line when they join the channel? protectops Re-op a user with the +o flag if they get deopped? protecthalfops Re-halfop a user with the +l flag if they get dehalfopped? protectfriends Re-op a user with the +f flag if they get deopped? statuslog Log the channel status line every 5 minutes? This shows the bot's status on the channel (op, voice, etc.), the channel's modes, and the number of +m/+o/+v/+n/+b/+e/+I users on the channel. A sample status line follows: [01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7] revenge Remember people who deop/kick/ban the bot, valid ops, or friends and punish them? Users with the +f flag are exempt from revenge. revengebot This is similar to to the 'revenge' option, but it only triggers if a bot gets deopped, kicked or banned. autovoice Voice users with the +v flag when they join the channel? secret Prevent this channel from being listed on the botnet? shared Share channel-related user info for this channel? cycle Cycle the channel when it has no ops? dontkickops Do you want the bot not to be able to kick users who have the +o flag, letting them kick-flood for instance to protect the channel against clone attacks? inactive This prevents the bot from joining the channel (or makes it leave the channel if it is already there). It can be useful to make the bot leave a channel without losing its settings, channel-specific user flags, channel bans, and without affecting sharing. seen Respond to seen requests in the channel? The seen module must be loaded for this to work. nodesynch Allow non-ops to perform channel modes? This can stop the bot from fighting with services such as ChanServ, or from kicking IRCops when setting channel modes without having ops. static Allow only permanent owners to remove the channel? The following settings are used as default values when you .+chan #chan or .tcl channel add #chan. Look in the section above for explanation of every option. set global-flood-chan 15:60 set global-flood-deop 3:10 set global-flood-kick 3:10 set global-flood-join 5:60 set global-flood-ctcp 3:60 set global-flood-nick 5:60 set global-chanmode "nt-likm" set global-stopnethack-mode 0 set global-revenge-mode 0 set global-ban-time 120 set global-exempt-time 60 set global-invite-time 60 set global-chanset { -autoop -autovoice -bitch +cycle +dontkickops +dynamicbans +dynamicexempts +dynamicinvites -enforcebans +greet -inactive -nodesynch -protectfriends +protectops -revenge -revengebot -secret -seen +shared -statuslog +userbans +userexempts +userinvites +protecthalfops +autohalfop -static } _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.transfer0000664000076600007660000000266611525764165017515 0ustar simplesimple$Id: mod.transfer,v 1.20 2011/02/13 14:19:33 simple Exp $ Transfer Module Last revised: January 1, 2002 _____________________________________________________________________ Transfer Module The transfer module provides DCC SEND/GET support and userfile transfer support for userfile sharing. This module requires: none Put this line into your Eggdrop configuration file to load the transfer module: loadmodule transfer There are also some variables you can set in your config file: set max-dloads 3 Set here the maximum number of simultaneous downloads to allow for each user. set dcc-block 0 Set here the block size for dcc transfers. ircII uses 512 bytes, but admits that may be too small. 1024 is standard these days. Set this to 0 to use turbo-dcc (recommended). set copy-to-tmp 1 Enable this setting if you want to copy files into the /tmp directory before sending them. This is useful on most systems for file stability, but if your directories are NFS mounted, it's a pain, and you'll want to set this to 0. If you are low on disk space, you may also want to set this to 0. set xfer-timeout 30 Set here the time (in seconds) to wait before an inactive transfer times out. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.console0000664000076600007660000000210211525764165017314 0ustar simplesimple$Id: mod.console,v 1.18 2011/02/13 14:19:33 simple Exp $ Console Module Last revised: January 1, 2002 _____________________________________________________________________ Console Module This module provides storage of console settings when you exit the bot or type .store on the partyline. This module requires: none Put this line into your Eggdrop configuration file to load the console module: loadmodule console There are also some variables you can set in your config file: set console-autosave 1 Save users console settings automatically? Otherwise, they have to use the .store command. set force-channel 0 If a user doesn't have any console settings saved, which channel do you want them automatically put on? set info-party 0 Enable this setting if a user's global info line should be displayed when they join a botnet channel. _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/doc/settings/mod.wire0000664000076600007660000000116011525764165016623 0ustar simplesimple$Id: mod.wire,v 1.18 2011/02/13 14:19:33 simple Exp $ Wire Module Last revised: July 24, 2004 _____________________________________________________________________ Wire Module This module provides all the standard .wire partyline commands. It is an encrypted partyline communication tool, compatible with wire.tcl. This module requires: encryption Put this line into your Eggdrop configuration file to load the wire module: loadmodule wire _____________________________________________________________________ Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/configure0000775000076600007660000077774411651664652014512 0ustar simplesimple#! /bin/sh # From configure.ac Revision: 1.43 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for Eggdrop 1.6.21. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 - 2011 Eggheads Development Team ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and bugs@eggheads.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Eggdrop' PACKAGE_TARNAME='eggdrop' PACKAGE_VERSION='1.6.21' PACKAGE_STRING='Eggdrop 1.6.21' PACKAGE_BUGREPORT='bugs@eggheads.org' PACKAGE_URL='' ac_unique_file="src/eggdrop.h" ac_default_prefix=\${HOME}/eggdrop # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_list= ac_subst_vars='LTLIBOBJS LIBOBJS MOD_UPDIR DEST EGGVERSION DEBCFLGS CFLGS TCL_LIBS TCL_REQS TCLINCFN TCLINC TCLLIBFN TCLLIB SHLIB_STRIP SHLIB_CC SHLIB_LD MOD_STRIP MOD_CC MOD_LD MODULE_XLIBS MOD_EXT DEFAULT_MAKE target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build UNAME BASENAME AWK STRIP HEAD_1 LN_S RANLIB SET_MAKE INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM EGGEXEC EGREP GREP CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC egg_ac_parameters target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_strip with_tcllib with_tclinc enable_debug enable_debug_assert enable_debug_mem enable_debug_dns enable_debug_context with_handlen ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # 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.21 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/eggdrop] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of Eggdrop 1.6.21:";; esac cat <<\_ACEOF Optional Features and Packages: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --enable-strip enable stripping of binaries --with-tcllib=PATH full path to Tcl library (e.g. /usr/lib/libtcl8.5.so) --with-tclinc=PATH full path to Tcl header (e.g. /usr/include/tcl.h) --enable-debug enable generic debug code (default for 'make debug') --disable-debug disable generic debug code --enable-debug-assert enable assert debug code (default for 'make debug') --disable-debug-assert disable assert debug code --enable-debug-mem enable memory debug code (default for 'make debug') --disable-debug-mem disable memory debug code --enable-debug-dns enable dns.mod debug messages (default for 'make debug') --disable-debug-dns disable dns.mod debug messages --enable-debug-context enable context debug code (default) --disable-debug-context disable context debug code --with-handlen=VALUE set the maximum length a handle on the bot can be Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF Eggdrop configure 1.6.21 generated by GNU Autoconf 2.68 Copyright (C) 2010 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 - 2011 Eggheads Development Team _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## -------------------------------- ## ## Report this to bugs@eggheads.org ## ## -------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including # INCLUDES, setting cache variable VAR accordingly. ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (sizeof ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES # --------------------------------------------- # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR # accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $as_decl_name #ifdef __cplusplus (void) $as_decl_use; #else (void) $as_decl_name; #endif #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 config.log <<_ACEOF 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.21, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in misc "$srcdir"/misc; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in misc \"$srcdir\"/misc" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" # Print start message { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: This is Eggdrop's GNU configure script." >&5 $as_echo "This is Eggdrop's GNU configure script." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: It's going to run a bunch of tests to hopefully make your compile" >&5 $as_echo "It's going to run a bunch of tests to hopefully make your compile" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: work without much twiddling." >&5 $as_echo "work without much twiddling." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } egg_ac_parameters= ac_prev= for ac_arg in $ac_configure_args; do if test -n "$ac_prev"; then ac_prev= continue fi case $ac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; *) egg_ac_parameters="$egg_ac_parameters $ac_arg" ;; esac done cat >>confdefs.h <<_ACEOF #define EGG_AC_ARGS "$egg_ac_parameters" _ACEOF # Check for a working C compiler ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$cross_compiling" = x; then cat << 'EOF' >&2 configure: error: This system does not appear to have a working C compiler. A working C compiler is required to compile Eggdrop. EOF exit 1 fi # These 3 need to be done before any AC_COMPILE_IFELSE()'s. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_strerror+:} false; then : break fi done if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi # Check C compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc" >&5 $as_echo_n "checking for icc... " >&6; } if ${egg_cv_var_cc_icc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if !(defined(__ICC) || defined(__ECC) || defined(__INTEL_COMPILER)) "Toto, I've a feeling we're not in Kansas anymore." #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : egg_cv_var_cc_icc="yes" else egg_cv_var_cc_icc="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_cc_icc" >&5 $as_echo "$egg_cv_var_cc_icc" >&6; } if test "$egg_cv_var_cc_icc" = yes; then ICC="yes" else ICC="no" fi if test "$GCC" = yes && test "$ICC" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands -pipe" >&5 $as_echo_n "checking whether the compiler understands -pipe... " >&6; } if ${egg_cv_var_ccpipe+:} false; then : $as_echo_n "(cached) " >&6 else ac_old_CC="$CC" CC="$CC -pipe" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return(0); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : egg_cv_var_ccpipe="yes" else egg_cv_var_ccpipe="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CC="$ac_old_CC" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_ccpipe" >&5 $as_echo "$egg_cv_var_ccpipe" >&6; } if test "$egg_cv_var_ccpipe" = yes; then if test "x-pipe" != x; then if test "x$CFLAGS" = x; then CFLAGS="-pipe" else CFLAGS="$CFLAGS -pipe" fi fi fi fi if test "$GCC" = yes && test "$ICC" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands -Wall" >&5 $as_echo_n "checking whether the compiler understands -Wall... " >&6; } if ${egg_cv_var_ccwall+:} false; then : $as_echo_n "(cached) " >&6 else ac_old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return(0); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : egg_cv_var_ccwall="yes" else egg_cv_var_ccwall="no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$ac_old_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_ccwall" >&5 $as_echo "$egg_cv_var_ccwall" >&6; } if test "$egg_cv_var_ccwall" = yes; then if test "x-Wall" != x; then if test "x$CFLAGS" = x; then CFLAGS="-Wall" else CFLAGS="$CFLAGS -Wall" fi fi fi fi # Check for executable extension. EGGEXEC="eggdrop" if test "x$EXEEXT" != x; then EGGEXEC="eggdrop${EXEEXT}" fi # Checks for programs. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi cat << 'EOF' > conftest.head a b c EOF for ac_prog in 'head -n 1' 'head -1' 'sed 1q'; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_prog works" >&5 $as_echo_n "checking whether $ac_prog works... " >&6; } if ${ac_cv_prog_HEAD_1+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$HEAD_1"; then # Let the user override the test. ac_cv_prog_HEAD_1="$HEAD_1" else if test `cat conftest.head | $ac_prog` = a; then ac_cv_prog_HEAD_1="$ac_prog" fi fi fi if test -n "$ac_cv_prog_HEAD_1"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } break else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi done if test "x$ac_cv_prog_HEAD_1" = x; then cat << 'EOF' >&2 configure: error: This system seems to lack a working 'head -1' or 'head -n 1' command. A working 'head -1' (or equivalent) command is required to compile Eggdrop. EOF exit 1 fi rm -f conftest.head HEAD_1="$ac_cv_prog_HEAD_1" # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$STRIP" = x; then STRIP=touch fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done if test "x$AWK" = x; then cat << 'EOF' >&2 configure: error: This system seems to lack a working 'awk' command. A working 'awk' command is required to compile Eggdrop. EOF exit 1 fi # Extract the first word of "basename", so it can be a program name with args. set dummy basename; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_BASENAME+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$BASENAME"; then ac_cv_prog_BASENAME="$BASENAME" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_BASENAME="basename" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi BASENAME=$ac_cv_prog_BASENAME if test -n "$BASENAME"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASENAME" >&5 $as_echo "$BASENAME" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$BASENAME" = x; then cat << 'EOF' >&2 configure: error: This system seems to lack a working 'basename' command. A working 'basename' command is required to compile Eggdrop. EOF exit 1 fi # Extract the first word of "uname", so it can be a program name with args. set dummy uname; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_UNAME+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$UNAME"; then ac_cv_prog_UNAME="$UNAME" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_UNAME="uname" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi UNAME=$ac_cv_prog_UNAME if test -n "$UNAME"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNAME" >&5 $as_echo "$UNAME" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Check if we will strip the binary # Do this *before* EGG_CHECK_OS # Check whether --enable-strip was given. if test "${enable_strip+set}" = set; then : enableval=$enable_strip; enable_strip="$enableval" else enable_strip="no" fi if test "$enable_strip" = yes; then cat << 'EOF' >&2 configure: WARNING: Stripping the executable, while saving some disk space, will make bug reports nearly worthless. If Eggdrop crashes and you wish to report a bug, you will need to recompile with stripping disabled. EOF else STRIP="touch" fi # Checks for system libraries. # FIXME: this needs to be fixed so that it works on IRIX if test "$IRIX" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Skipping library tests because they CONFUSE IRIX." >&5 $as_echo "$as_me: WARNING: Skipping library tests because they CONFUSE IRIX." >&2;} else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 $as_echo_n "checking for socket in -lsocket... " >&6; } if ${ac_cv_lib_socket_socket+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_socket=yes else ac_cv_lib_socket_socket=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 $as_echo "$ac_cv_lib_socket_socket" >&6; } if test "x$ac_cv_lib_socket_socket" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lnsl" >&5 $as_echo_n "checking for connect in -lnsl... " >&6; } if ${ac_cv_lib_nsl_connect+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char connect (); int main () { return connect (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nsl_connect=yes else ac_cv_lib_nsl_connect=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_connect" >&5 $as_echo "$ac_cv_lib_nsl_connect" >&6; } if test "x$ac_cv_lib_nsl_connect" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSL 1 _ACEOF LIBS="-lnsl $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -ldns" >&5 $as_echo_n "checking for gethostbyname in -ldns... " >&6; } if ${ac_cv_lib_dns_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldns $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dns_gethostbyname=yes else ac_cv_lib_dns_gethostbyname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dns_gethostbyname" >&5 $as_echo "$ac_cv_lib_dns_gethostbyname" >&6; } if test "x$ac_cv_lib_dns_gethostbyname" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDNS 1 _ACEOF LIBS="-ldns $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tan in -lm" >&5 $as_echo_n "checking for tan in -lm... " >&6; } if ${ac_cv_lib_m_tan+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char tan (); int main () { return tan (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_tan=yes else ac_cv_lib_m_tan=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_tan" >&5 $as_echo "$ac_cv_lib_m_tan" >&6; } if test "x$ac_cv_lib_m_tan" = xyes; then : EGG_MATH_LIB="-lm" fi # This is needed for Tcl libraries compiled with thread support { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthread" >&5 $as_echo_n "checking for pthread_mutex_init in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_mutex_init=yes else ac_cv_lib_pthread_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthread_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthread_pthread_mutex_init" = xyes; then : ac_cv_lib_pthread_pthread_mutex_init="yes" ac_cv_lib_pthread="-lpthread" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __pthread_mutex_init in -lpthread" >&5 $as_echo_n "checking for __pthread_mutex_init in -lpthread... " >&6; } if ${ac_cv_lib_pthread___pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char __pthread_mutex_init (); int main () { return __pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread___pthread_mutex_init=yes else ac_cv_lib_pthread___pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread___pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthread___pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthread___pthread_mutex_init" = xyes; then : ac_cv_lib_pthread_pthread_mutex_init="yes" ac_cv_lib_pthread="-lpthread" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthreads" >&5 $as_echo_n "checking for pthread_mutex_init in -lpthreads... " >&6; } if ${ac_cv_lib_pthreads_pthread_mutex_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthreads $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_mutex_init (); int main () { return pthread_mutex_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthreads_pthread_mutex_init=yes else ac_cv_lib_pthreads_pthread_mutex_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_mutex_init" >&5 $as_echo "$ac_cv_lib_pthreads_pthread_mutex_init" >&6; } if test "x$ac_cv_lib_pthreads_pthread_mutex_init" = xyes; then : ac_cv_lib_pthread_pthread_mutex_init="yes" ac_cv_lib_pthread="-lpthreads" else ac_fn_c_check_func "$LINENO" "pthread_mutex_init" "ac_cv_func_pthread_mutex_init" if test "x$ac_cv_func_pthread_mutex_init" = xyes; then : ac_cv_lib_pthread_pthread_mutex_init="yes" ac_cv_lib_pthread="" else ac_cv_lib_pthread_pthread_mutex_init="no" fi fi fi fi if test "$SUNOS" = yes; then # For suns without yp { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ldl" >&5 $as_echo_n "checking for main in -ldl... " >&6; } if ${ac_cv_lib_dl_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_main=yes else ac_cv_lib_dl_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_main" >&5 $as_echo "$ac_cv_lib_dl_main" >&6; } if test "x$ac_cv_lib_dl_main" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi else if test "$HPUX" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDLD 1 _ACEOF LIBS="-ldld $LIBS" fi fi fi fi # Test the OS and set the module linking settings. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if ${ac_cv_target+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- { $as_echo "$as_me:${as_lineno-$LINENO}: checking system type" >&5 $as_echo_n "checking system type... " >&6; } if ${egg_cv_var_system_type+:} false; then : $as_echo_n "(cached) " >&6 else egg_cv_var_system_type=`$UNAME -s` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_system_type" >&5 $as_echo "$egg_cv_var_system_type" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking system release" >&5 $as_echo_n "checking system release... " >&6; } if ${egg_cv_var_system_release+:} false; then : $as_echo_n "(cached) " >&6 else egg_cv_var_system_release=`$UNAME -r` fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_system_release" >&5 $as_echo "$egg_cv_var_system_release" >&6; } MODULES_OK="yes" MOD_EXT="so" DEFAULT_MAKE="eggdrop" LOAD_METHOD="dl" WEIRD_OS="yes" UNKNOWN_OS="no" MODULE_XLIBS="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking module loading capabilities" >&5 $as_echo_n "checking module loading capabilities... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } for ac_header in dl.h dlfcn.h loader.h rld.h mach-o/dyld.h mach-o/rld.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in dlopen load NSLinkModule shl_load rld_load do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Note to other maintainers: # Bourne shell has no concept of "fall through" case "$egg_cv_var_system_type" in BSD/OS) if test `echo "$egg_cv_var_system_release" | cut -d . -f 1` = 2; then MODULES_OK="no" fi ;; CYGWI*) WEIRD_OS="no" MOD_EXT="dll" ;; HP-UX) LOAD_METHOD="shl" ;; dell) # do nothing ;; IRIX) # do nothing ;; Ultrix) # No dlopen() or similar on Ultrix. We can't use modules. MODULES_OK="no" ;; BeOS) # We don't yet support BeOS's dynamic linking interface. MODULES_OK="no" ;; Linux) WEIRD_OS="no" ;; Lynx) # do nothing ;; QNX) # do nothing # QNX (recent versions at least) support dlopen(). ;; OSF1) case `echo "$egg_cv_var_system_release" | cut -d . -f 1` in 1.*) LOAD_METHOD="loader" ;; esac ;; SunOS) if test `echo "$egg_cv_var_system_release" | cut -d . -f 1` = 5; then # We've had quite a bit of testing on Solaris. WEIRD_OS="no" else # SunOS 4 $as_echo "#define DLOPEN_1 1" >>confdefs.h fi ;; *BSD) # FreeBSD/OpenBSD/NetBSD all support dlopen() and have had plenty of # testing with Eggdrop. WEIRD_OS="no" ;; Darwin) # We should support Mac OS X (at least 10.1 and later) now. # Use rld on < 10.1. if test "$ac_cv_func_NSLinkModule" = no; then LOAD_METHOD="rld" fi LOAD_METHOD="dyld" BUNDLE="" for bundlepath in "/lib" "/usr/lib" "/usr/local/lib"; do { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bundle1.o in ${bundlepath}" >&5 $as_echo_n "checking for bundle1.o in ${bundlepath}... " >&6; } if test -r "${bundlepath}/bundle1.o"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } BUNDLE="${bundlepath}/bundle1.o" break else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi done if test "x$BUNDLE" = x; then cat << 'EOF' >&2 configure: WARNING: bundle1.o cannot be located. A module build might not compile correctly. EOF fi if test "x$BUNDLE" != x; then if test "x$MODULE_XLIBS" = x; then MODULE_XLIBS="$BUNDLE" else MODULE_XLIBS="$MODULE_XLIBS $BUNDLE" fi fi ;; *) 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 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" else # QNX apparently supports dlopen()... Fallthrough. if test -r /cmds; then UNKNOWN_OS="yes" MODULES_OK="no" fi fi ;; esac if test "$MODULES_OK" = yes; then $as_echo "#define MODULES_OK 1" >>confdefs.h case $LOAD_METHOD in dl) $as_echo "#define MOD_USE_DL 1" >>confdefs.h ;; shl) $as_echo "#define MOD_USE_SHL 1" >>confdefs.h ;; dyld) $as_echo "#define MOD_USE_DYLD 1" >>confdefs.h ;; loader) $as_echo "#define MOD_USE_LOADER 1" >>confdefs.h ;; rld) $as_echo "#define MOD_USE_RLD 1" >>confdefs.h ;; esac else DEFAULT_MAKE="static" fi if test "$WEIRD_OS" = yes; then # Default to "make static" for 'weird' operating systems. Will print a # note at the end of configure explaining. This way, Eggdrop should compile # "out of the box" on most every operating system we know of, and they can # do a "make eggdrop" if they want to use(/try to use) module support. - Wcc DEFAULT_MAKE="static" fi cat >>confdefs.h <<_ACEOF #define EGG_MOD_EXT "$MOD_EXT" _ACEOF MOD_CC="$CC" MOD_LD="$CC" MOD_STRIP="$STRIP" SHLIB_CC="$CC" SHLIB_LD="$CC" SHLIB_STRIP="$STRIP" LINUX="no" IRIX="no" SUNOS="no" HPUX="no" EGG_CYGWIN="no" case "$egg_cv_var_system_type" in BSD/OS) case `echo "$egg_cv_var_system_release" | cut -d . -f 1` in 2) # do nothing ;; 3) MOD_CC="shlicc" MOD_LD="shlicc" if test "$STRIP" != touch; then MOD_STRIP="$STRIP -d" fi SHLIB_LD="shlicc -r" SHLIB_STRIP="touch" ;; *) if test "$STRIP" != touch; then MOD_STRIP="$STRIP -d" fi SHLIB_CC="$CC -export-dynamic -fPIC" SHLIB_LD="$CC -shared -nostartfiles" ;; esac ;; CYGWI*) SHLIB_LD="$CC -shared" MOD_CC="$CC" MOD_LD="$CC" EGG_CYGWIN="yes" if test "$EGG_CYGWIN" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/binmode.o" >&5 $as_echo_n "checking for /usr/lib/binmode.o... " >&6; } if test -r /usr/lib/binmode.o; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } if test "x/usr/lib/binmode.o" != x; then if test "x$LIBS" = x; then LIBS="/usr/lib/binmode.o" else LIBS="$LIBS /usr/lib/binmode.o" fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the directory Eggdrop is installed into is mounted in binary mode." >&5 $as_echo "$as_me: WARNING: Make sure the directory Eggdrop is installed into is mounted in binary mode." >&2;} fi fi $as_echo "#define CYGWIN_HACKS 1" >>confdefs.h ;; HP-UX) HPUX="yes" if test "$CC" = cc; then # HP-UX ANSI C Compiler. MOD_LD="$CC +z" SHLIB_CC="$CC +z" else # GCC MOD_LD="$CC -fPIC -shared" SHLIB_CC="$CC -fPIC" fi SHLIB_LD="ld -b" ;; dell) SHLIB_STRIP="touch" MOD_LD="$CC -lelf -lucb" ;; IRIX) SHLIB_LD="ld -n32 -shared -rdata_shared" IRIX="yes" SHLIB_STRIP="touch" ;; Ultrix) SHLIB_STRIP="touch" DEFAULT_MAKE="static" SHELL="/bin/sh5" ;; SINIX*) SHLIB_STRIP="touch" SHLIB_CC="cc -G" ;; BeOS) # do nothing ;; Linux) LINUX="yes" MOD_LD="$CC" SHLIB_CC="$CC -fPIC" SHLIB_LD="$CC -shared -nostartfiles" ;; Lynx) # do nothing ;; QNX) SHLIB_LD="ld -shared" $as_echo "#define QNX_HACKS 1" >>confdefs.h ;; OSF1) case `echo "$egg_cv_var_system_release" | cut -d . -f 1` in V*) # Digital OSF uses an ancient version of gawk if test "$AWK" = gawk; then AWK="awk" fi SHLIB_LD="ld -shared -expect_unresolved \"'*'\"" SHLIB_STRIP="touch" ;; 1.0|1.1|1.2) SHLIB_LD="ld -R -export :" ;; 1.*) SHLIB_CC="$CC -fpic" SHLIB_LD="ld -shared" ;; esac $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h $as_echo "#define STOP_UAC 1" >>confdefs.h ;; SunOS) if test `echo "$egg_cv_var_system_release" | cut -d . -f 1` = 5; then # Solaris if test -n "$GCC"; then SHLIB_CC="$CC -fPIC" SHLIB_LD="$CC -shared" else SHLIB_CC="$CC -KPIC" SHLIB_LD="$CC -G -z text" fi else # SunOS 4 SUNOS="yes" SHLIB_LD="ld" SHLIB_CC="$CC -PIC" fi ;; *BSD) # FreeBSD/OpenBSD/NetBSD SHLIB_CC="$CC -fPIC" SHLIB_LD="ld -Bshareable -x" ;; Darwin) # Mac OS X SHLIB_CC="$CC -fPIC" SHLIB_LD="ld -bundle -undefined error" $as_echo "#define BIND_8_COMPAT 1" >>confdefs.h ;; *) if test -r /mach; then # At this point, we're guessing this is NeXT Step. $as_echo "#define BORGCUBES 1" >>confdefs.h else if test -r /cmds; then # Probably QNX. SHLIB_LD="ld -shared" SHLIB_STRIP="touch" fi fi ;; esac # Checks for header files. if test "$ac_cv_header_stdc" = no; then cat << 'EOF' >&2 configure: error: Your system must support ANSI C Header files. These are required for the language support. Sorry. EOF exit 1 fi ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi for ac_header in arpa/inet.h fcntl.h limits.h locale.h netdb.h netinet/in.h stdio.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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" if test "x$ac_cv_type_intptr_t" = xyes; then : $as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h else for ac_type in 'int' 'long int' 'long long int'; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat >>confdefs.h <<_ACEOF #define intptr_t $ac_type _ACEOF ac_type= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test -z "$ac_type" && break done fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include #include <$ac_cv_struct_tm> " if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_ZONE 1 _ACEOF fi if test "$ac_cv_member_struct_tm_tm_zone" = yes; then $as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h else ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include " if test "x$ac_cv_have_decl_tzname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TZNAME $ac_have_decl _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 $as_echo_n "checking for tzname... " >&6; } if ${ac_cv_var_tzname+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if !HAVE_DECL_TZNAME extern char *tzname[]; #endif int main () { return tzname[0][0]; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_var_tzname=yes else ac_cv_var_tzname=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 $as_echo "$ac_cv_var_tzname" >&6; } if test $ac_cv_var_tzname = yes; then $as_echo "#define HAVE_TZNAME 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t" >&5 $as_echo_n "checking for socklen_t... " >&6; } if ${egg_cv_socklen_t+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : egg_cv_socklen_t="cross" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include #include int main () { socklen_t test = 55; if (test != 55) return(1); return(0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : egg_cv_socklen_t="yes" else egg_cv_socklen_t="no" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_socklen_t" >&5 $as_echo "$egg_cv_socklen_t" >&6; } if test "$egg_cv_socklen_t" = yes; then $as_echo "#define HAVE_SOCKLEN_T 1" >>confdefs.h fi # Check the sizes of various types. # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } if ${ac_cv_sizeof_int+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } if ${ac_cv_sizeof_short+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (short) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_short=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 $as_echo "$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF # Checks for functions and their arguments. for ac_func in clock dprintf fsync getdtablesize getrusage inet_aton isascii mbrlen memcpy memset random rand lrand48 rename setpgid sigaction sigemptyset snprintf strcasecmp strncasecmp strdup uname vsnprintf do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/select.h sys/socket.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for select" >&5 $as_echo_n "checking types of arguments for select... " >&6; } if ${ac_cv_func_select_args+:} false; then : $as_echo_n "(cached) " >&6 else for ac_arg234 in 'fd_set *' 'int *' 'void *'; do for ac_arg1 in 'int' 'size_t' 'unsigned long int' 'unsigned int'; do for ac_arg5 in 'struct timeval *' 'const struct timeval *'; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #ifdef HAVE_SYS_SELECT_H # include #endif #ifdef HAVE_SYS_SOCKET_H # include #endif int main () { extern int select ($ac_arg1, $ac_arg234, $ac_arg234, $ac_arg234, $ac_arg5); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_select_args="$ac_arg1,$ac_arg234,$ac_arg5"; break 3 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done done done # Provide a safe default value. : "${ac_cv_func_select_args=int,int *,struct timeval *}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_select_args" >&5 $as_echo "$ac_cv_func_select_args" >&6; } ac_save_IFS=$IFS; IFS=',' set dummy `echo "$ac_cv_func_select_args" | sed 's/\*/\*/g'` IFS=$ac_save_IFS shift cat >>confdefs.h <<_ACEOF #define SELECT_TYPE_ARG1 $1 _ACEOF cat >>confdefs.h <<_ACEOF #define SELECT_TYPE_ARG234 ($2) _ACEOF cat >>confdefs.h <<_ACEOF #define SELECT_TYPE_ARG5 ($3) _ACEOF rm -f conftest* for ac_func in vprintf do : ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" if test "x$ac_cv_func_vprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VPRINTF 1 _ACEOF ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" if test "x$ac_cv_func__doprnt" = xyes; then : $as_echo "#define HAVE_DOPRNT 1" >>confdefs.h fi fi done if test "$ac_cv_func_vprintf" = no; then cat << 'EOF' >&2 configure: error: Your system does not have the vprintf/vsprintf/sprintf libraries. These are required to compile almost anything. Sorry. EOF exit 1 fi for ac_func in strftime do : ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" if test "x$ac_cv_func_strftime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRFTIME 1 _ACEOF else # strftime is in -lintl on SCO UNIX. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 $as_echo_n "checking for strftime in -lintl... " >&6; } if ${ac_cv_lib_intl_strftime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strftime (); int main () { return strftime (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_strftime=yes else ac_cv_lib_intl_strftime=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 $as_echo "$ac_cv_lib_intl_strftime" >&6; } if test "x$ac_cv_lib_intl_strftime" = xyes; then : $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h LIBS="-lintl $LIBS" fi fi done for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; const char *cdata2; int i, pagesize; int fd, fd2; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 2; if (write (fd, data, pagesize) != pagesize) return 3; close (fd); /* Next, check that the tail of a page is zero-filled. File must have non-zero length, otherwise we risk SIGBUS for entire page. */ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd2 < 0) return 4; cdata2 = ""; if (write (fd2, cdata2, 1) != 1) return 5; data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); if (data2 == MAP_FAILED) return 6; for (i = 0; i < pagesize; ++i) if (*(data2 + i)) return 7; close (fd2); if (munmap (data2, pagesize)) return 8; /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 12; if (read (fd, data3, pagesize) != pagesize) return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 14; close (fd); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt # Tcl version to recommend if no Tcl is found, and the site where it can be # found for download. tclrecommendver="8.5.X" tclrecommendsite="ftp://tcl.activestate.com/pub/tcl/tcl8_5/" # Tcl library filename prefixes, suffixes, and search paths. 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.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 \ /usr/pkg/lib /beos/system/include /beos/devel/include $HOME" # We save the cache (if used) here to speed things up if we can't find Tcl. cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache # Misc Tcl checks. # Check whether --with-tcllib was given. if test "${with_tcllib+set}" = set; then : withval=$with_tcllib; tcllibname="$withval" fi # Check whether --with-tclinc was given. if test "${with_tclinc+set}" = set; then : withval=$with_tclinc; tclincname="$withval" fi WARN=0 # Make sure either both or neither $tcllibname and $tclincname are set if test "x$tcllibname" != x; then if test "x$tclincname" = x; then WARN=1 tcllibname="" TCLLIB="" TCLINC="" fi else if test "x$tclincname" != x; then WARN=1 tclincname="" TCLLIB="" TCLINC="" fi fi if test "$WARN" = 1; then cat << 'EOF' >&2 configure: WARNING: You must specify both --with-tcllib and --with-tclinc for either to work. configure will now attempt to autodetect both the Tcl library and header. EOF fi WARN=0 # Make sure either both or neither $TCLLIB and $TCLINC are set if test "x$TCLLIB" != x; then if test "x$TCLINC" = x; then WARN=1 WVAR1=TCLLIB WVAR2=TCLINC TCLLIB="" fi else if test "x$TCLINC" != x; then WARN=1 WVAR1=TCLINC WVAR2=TCLLIB TCLINC="" fi fi if test "$WARN" = 1; then cat << EOF >&2 configure: WARNING: Environment variable $WVAR1 was set, but I did not detect ${WVAR2}. Please set both TCLLIB and TCLINC correctly if you wish to use them. configure will now attempt to autodetect both the Tcl library and header. EOF fi # Look for Tcl library: if $tcllibname is set, check there first if test "x$tcllibname" != x; then if test -f "$tcllibname" && test -r "$tcllibname"; then TCLLIB=`echo $tcllibname | sed 's%/[^/][^/]*$%%'` TCLLIBFN=`$BASENAME $tcllibname | cut -c4-` TCLLIBEXT=".`echo $TCLLIBFN | $AWK '{j=split($1, i, "."); print i[j]}'`" TCLLIBFNS=`$BASENAME $tcllibname $TCLLIBEXT | cut -c4-` else cat << EOF >&2 configure: WARNING: The file '$tcllibname' given to option --with-tcllib is not valid. Specify the full path including the file name (e.g. /usr/lib/libtcl8.5.so) configure will now attempt to autodetect both the Tcl library and header. EOF tcllibname="" tclincname="" TCLLIB="" TCLLIBFN="" TCLINC="" TCLINCFN="" fi fi # Look for Tcl header: if $tclincname is set, check there first if test "x$tclincname" != x; then if test -f "$tclincname" && test -r "$tclincname"; then TCLINC=`echo $tclincname | sed 's%/[^/][^/]*$%%'` TCLINCFN=`$BASENAME $tclincname` else cat << EOF >&2 configure: WARNING: The file '$tclincname' given to option --with-tclinc is not valid. Specify the full path including the file name (e.g. /usr/include/tcl.h) configure will now attempt to autodetect both the Tcl library and header. EOF tcllibname="" tclincname="" TCLLIB="" TCLLIBFN="" TCLINC="" TCLINCFN="" fi fi # Look for Tcl library: if $TCLLIB is set, check there first if test "x$TCLLIBFN" = x && test "x$TCLLIB" != x; then if test -d "$TCLLIB"; then for tcllibfns in $tcllibnames; do for tcllibext in $tcllibextensions; do if test -r "${TCLLIB}/lib${tcllibfns}${tcllibext}"; then TCLLIBFN="${tcllibfns}${tcllibext}" TCLLIBEXT="$tcllibext" TCLLIBFNS="$tcllibfns" break 2 fi done done fi if test "x$TCLLIBFN" = x; then cat << 'EOF' >&2 configure: WARNING: Environment variable TCLLIB was set, but incorrectly. Please set both TCLLIB and TCLINC correctly if you wish to use them. configure will now attempt to autodetect both the Tcl library and header. EOF TCLLIB="" TCLLIBFN="" TCLINC="" TCLINCFN="" fi fi # Look for Tcl header: if $TCLINC is set, check there first if test "x$TCLINCFN" = x && test "x$TCLINC" != x; then if test -d "$TCLINC"; then for tclheaderfn in $tclheadernames; do if test -r "${TCLINC}/${tclheaderfn}"; then TCLINCFN="$tclheaderfn" break fi done fi if test "x$TCLINCFN" = x; then cat << 'EOF' >&2 configure: WARNING: Environment variable TCLINC was set, but incorrectly. Please set both TCLLIB and TCLINC correctly if you wish to use them. configure will now attempt to autodetect both the Tcl library and header. EOF TCLLIB="" TCLLIBFN="" TCLINC="" TCLINCFN="" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl library" >&5 $as_echo_n "checking for Tcl library... " >&6; } # Attempt autodetect for $TCLLIBFN if it's not set if test "x$TCLLIBFN" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: using ${TCLLIB}/lib${TCLLIBFN}" >&5 $as_echo "using ${TCLLIB}/lib${TCLLIBFN}" >&6; } else for tcllibfns in $tcllibnames; do for tcllibext in $tcllibextensions; do for tcllibpath in $tcllibpaths; do if test -r "${tcllibpath}/lib${tcllibfns}${tcllibext}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ${tcllibpath}/lib${tcllibfns}${tcllibext}" >&5 $as_echo "found ${tcllibpath}/lib${tcllibfns}${tcllibext}" >&6; } TCLLIB="$tcllibpath" TCLLIBFN="${tcllibfns}${tcllibext}" TCLLIBEXT="$tcllibext" TCLLIBFNS="$tcllibfns" break 3 fi done done done fi # Show if $TCLLIBFN wasn't found if test "x$TCLLIBFN" = x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl header" >&5 $as_echo_n "checking for Tcl header... " >&6; } # Attempt autodetect for $TCLINCFN if it's not set if test "x$TCLINCFN" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: using ${TCLINC}/${TCLINCFN}" >&5 $as_echo "using ${TCLINC}/${TCLINCFN}" >&6; } else for tclheaderpath in $tclheaderpaths; do for tclheaderfn in $tclheadernames; do if test -r "${tclheaderpath}/${tclheaderfn}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ${tclheaderpath}/${tclheaderfn}" >&5 $as_echo "found ${tclheaderpath}/${tclheaderfn}" >&6; } TCLINC="$tclheaderpath" TCLINCFN="$tclheaderfn" break 2 fi done done # FreeBSD hack ... if test "x$TCLINCFN" = x; then for tcllibfns in $tcllibnames; do for tclheaderpath in $tclheaderpaths; do for tclheaderfn in $tclheadernames; do if test -r "${tclheaderpath}/${tcllibfns}/${tclheaderfn}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ${tclheaderpath}/${tcllibfns}/${tclheaderfn}" >&5 $as_echo "found ${tclheaderpath}/${tcllibfns}/${tclheaderfn}" >&6; } TCLINC="${tclheaderpath}/${tcllibfns}" TCLINCFN="$tclheaderfn" break 3 fi done done done fi fi if test "x$TCLINCFN" = x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Tcl system has changed" >&5 $as_echo_n "checking whether the Tcl system has changed... " >&6; } egg_tcl_changed="yes" egg_tcl_id="${TCLLIB}:${TCLLIBFN}:${TCLINC}:${TCLINCFN}" if test "$egg_tcl_id" != ":::"; then egg_tcl_cached="yes" if ${egg_cv_var_tcl_id+:} false; then : $as_echo_n "(cached) " >&6 else egg_cv_var_tcl_id="$egg_tcl_id" egg_tcl_cached="no" fi if test "$egg_tcl_cached" = yes; then if test "x$egg_cv_var_tcl_id" = "x$egg_tcl_id"; then egg_tcl_changed="no" else egg_cv_var_tcl_id="$egg_tcl_id" fi fi fi if test "$egg_tcl_changed" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Both TCLLIBFN & TCLINCFN must be set, or we bail TCL_FOUND=0 if test "x$TCLLIBFN" != x && test "x$TCLINCFN" != x; then TCL_FOUND=1 # Check Tcl's version if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_version fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl version" >&5 $as_echo_n "checking for Tcl version... " >&6; } if ${egg_cv_var_tcl_version+:} false; then : $as_echo_n "(cached) " >&6 else egg_cv_var_tcl_version=`grep TCL_VERSION $TCLINC/$TCLINCFN | $HEAD_1 | $AWK '{gsub(/\"/, "", $3); print $3}'` fi if test "x$egg_cv_var_tcl_version" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_tcl_version" >&5 $as_echo "$egg_cv_var_tcl_version" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 $as_echo "not found" >&6; } TCL_FOUND=0 fi # Check Tcl's patch level (if available) if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_patch_level fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl patch level" >&5 $as_echo_n "checking for Tcl patch level... " >&6; } if ${egg_cv_var_tcl_patch_level+:} false; then : $as_echo_n "(cached) " >&6 else eval "egg_cv_var_tcl_patch_level=`grep TCL_PATCH_LEVEL $TCLINC/$TCLINCFN | $HEAD_1 | $AWK '{gsub(/\"/, "", $3); print $3}'`" fi if test "x$egg_cv_var_tcl_patch_level" != x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $egg_cv_var_tcl_patch_level" >&5 $as_echo "$egg_cv_var_tcl_patch_level" >&6; } else egg_cv_var_tcl_patch_level="unknown" { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5 $as_echo "unknown" >&6; } fi fi # Check if we found Tcl's version if test "$TCL_FOUND" = 0; then cat << 'EOF' >&2 configure: error: Tcl cannot be found on this system. Eggdrop requires Tcl and the Tcl development files to compile. If you already have Tcl installed on this system, make sure you also have the development files (common package names include 'tcl-dev' and 'tcl-devel'). If I just wasn't looking in the right place for it, re-run ./configure using the --with-tcllib='/path/to/libtcl.so' and --with-tclinc='/path/to/tcl.h' options. See doc/COMPILE-GUIDE's 'Tcl Detection and Installation' section for more information. EOF exit 1 fi # Is this version of Tcl too old for us to use ? TCL_VER_PRE70=`echo $egg_cv_var_tcl_version | $AWK '{split($1, i, "."); if (i[1] < 7) print "yes"; else print "no"}'` if test "$TCL_VER_PRE70" = yes; then cat << EOF >&2 configure: error: Your Tcl version is much too old for Eggdrop to use. You should download and compile a more recent version. The most reliable current version is $tclrecommendver and can be downloaded from ${tclrecommendsite}. See doc/COMPILE-GUIDE's 'Tcl Detection and Installation' section for more information. EOF exit 1 fi # Set variables for Tcl library tests TCL_TEST_LIB="$TCLLIBFNS" TCL_TEST_OTHERLIBS="-L$TCLLIB $EGG_MATH_LIB" if test "x$ac_cv_lib_pthread" != x; then TCL_TEST_OTHERLIBS="$TCL_TEST_OTHERLIBS $ac_cv_lib_pthread" fi if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_free fi # Check for Tcl_Free() as_ac_Lib=`$as_echo "ac_cv_lib_$TCL_TEST_LIB''_Tcl_Free" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl_Free in -l$TCL_TEST_LIB" >&5 $as_echo_n "checking for Tcl_Free in -l$TCL_TEST_LIB... " >&6; } if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$TCL_TEST_LIB $TCL_TEST_OTHERLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Tcl_Free (); int main () { return Tcl_Free (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : egg_cv_var_tcl_free="yes" else egg_cv_var_tcl_free="no" fi if test "$egg_cv_var_tcl_free" = yes; then $as_echo "#define HAVE_TCL_FREE 1" >>confdefs.h fi if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_getcurrentthread fi # Check for Tcl_GetCurrentThread() as_ac_Lib=`$as_echo "ac_cv_lib_$TCL_TEST_LIB''_Tcl_GetCurrentThread" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl_GetCurrentThread in -l$TCL_TEST_LIB" >&5 $as_echo_n "checking for Tcl_GetCurrentThread in -l$TCL_TEST_LIB... " >&6; } if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$TCL_TEST_LIB $TCL_TEST_OTHERLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Tcl_GetCurrentThread (); int main () { return Tcl_GetCurrentThread (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : egg_cv_var_tcl_getcurrentthread="yes" else egg_cv_var_tcl_getcurrentthread="no" fi if test "$egg_cv_var_tcl_getcurrentthread" = yes; then $as_echo "#define HAVE_TCL_GETCURRENTTHREAD 1" >>confdefs.h # Add pthread library to $LIBS if we need it for threaded Tcl if test "x$ac_cv_lib_pthread" != x; then if test "x$ac_cv_lib_pthread" != x; then if test "x$LIBS" = x; then LIBS="$ac_cv_lib_pthread" else LIBS="$LIBS $ac_cv_lib_pthread" fi fi fi fi if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_getthreaddata fi # Check for Tcl_GetThreadData() as_ac_Lib=`$as_echo "ac_cv_lib_$TCL_TEST_LIB''_Tcl_GetThreadData" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl_GetThreadData in -l$TCL_TEST_LIB" >&5 $as_echo_n "checking for Tcl_GetThreadData in -l$TCL_TEST_LIB... " >&6; } if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$TCL_TEST_LIB $TCL_TEST_OTHERLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Tcl_GetThreadData (); int main () { return Tcl_GetThreadData (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : egg_cv_var_tcl_getthreaddata="yes" else egg_cv_var_tcl_getthreaddata="no" fi if test "$egg_cv_var_tcl_getthreaddata" = yes; then $as_echo "#define HAVE_TCL_GETTHREADDATA 1" >>confdefs.h fi if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_setnotifier fi # Check for Tcl_SetNotifier() as_ac_Lib=`$as_echo "ac_cv_lib_$TCL_TEST_LIB''_Tcl_SetNotifier" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl_SetNotifier in -l$TCL_TEST_LIB" >&5 $as_echo_n "checking for Tcl_SetNotifier in -l$TCL_TEST_LIB... " >&6; } if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$TCL_TEST_LIB $TCL_TEST_OTHERLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Tcl_SetNotifier (); int main () { return Tcl_SetNotifier (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : egg_cv_var_tcl_setnotifier="yes" else egg_cv_var_tcl_setnotifier="no" fi if test "$egg_cv_var_tcl_setnotifier" = yes; then $as_echo "#define HAVE_TCL_SETNOTIFIER 1" >>confdefs.h fi if test "$egg_tcl_changed" = yes; then unset egg_cv_var_tcl_notifier_init fi # Check for Tcl_NotifierProcs member initNotifierProc ac_fn_c_check_member "$LINENO" "Tcl_NotifierProcs" "initNotifierProc" "ac_cv_member_Tcl_NotifierProcs_initNotifierProc" "#include \"$TCLINC/$TCLINCFN\" " if test "x$ac_cv_member_Tcl_NotifierProcs_initNotifierProc" = xyes; then : egg_cv_var_tcl_notifier_init="yes" else egg_cv_var_tcl_notifier_init="no" fi if test "$egg_cv_var_tcl_notifier_init" = yes; then $as_echo "#define HAVE_TCL_NOTIFIER_INIT 1" >>confdefs.h fi if test "$EGG_CYGWIN" = yes; then TCL_REQS="${TCLLIB}/lib${TCLLIBFN}" TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB" else if test "$TCLLIBEXT" != ".a"; then TCL_REQS="${TCLLIB}/lib${TCLLIBFN}" TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB" else # Set default make as static for unshared Tcl library if test "$DEFAULT_MAKE" != static; then cat << 'EOF' >&2 configure: WARNING: Your Tcl library is not a shared lib. configure will now set default make type to static. EOF DEFAULT_MAKE="static" fi # Are we using a pre 7.4 Tcl version ? TCL_VER_PRE74=`echo $egg_cv_var_tcl_version | $AWK '{split($1, i, "."); if (((i[1] == 7) && (i[2] < 4)) || (i[1] < 7)) print "yes"; else print "no"}'` if test "$TCL_VER_PRE74" = no; then # Was the --with-tcllib option given ? if test "x$tcllibname" != x; then TCL_REQS="${TCLLIB}/lib${TCLLIBFN}" TCL_LIBS="${TCLLIB}/lib${TCLLIBFN} $EGG_MATH_LIB" else TCL_REQS="${TCLLIB}/lib${TCLLIBFN}" TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB" fi else cat << EOF >&2 configure: WARNING: Your Tcl version ($egg_cv_var_tcl_version) is older than 7.4. There are known problems, but we will attempt to work around them. EOF TCL_REQS="libtcle.a" TCL_LIBS="-L`pwd` -ltcle $EGG_MATH_LIB" fi fi fi ac_config_commands="$ac_config_commands replace-if-changed" # Debug options # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; enable_debug="$enableval" else enable_debug="auto" fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; enable_debug="$enableval" else enable_debug="auto" fi # Check whether --enable-debug-assert was given. if test "${enable_debug_assert+set}" = set; then : enableval=$enable_debug_assert; enable_debug_assert="$enableval" else enable_debug_assert="auto" fi # Check whether --enable-debug-assert was given. if test "${enable_debug_assert+set}" = set; then : enableval=$enable_debug_assert; enable_debug_assert="$enableval" else enable_debug_assert="auto" fi # Check whether --enable-debug-mem was given. if test "${enable_debug_mem+set}" = set; then : enableval=$enable_debug_mem; enable_debug_mem="$enableval" else enable_debug_mem="auto" fi # Check whether --enable-debug-mem was given. if test "${enable_debug_mem+set}" = set; then : enableval=$enable_debug_mem; enable_debug_mem="$enableval" else enable_debug_mem="auto" fi # Check whether --enable-debug-dns was given. if test "${enable_debug_dns+set}" = set; then : enableval=$enable_debug_dns; enable_debug_dns="$enableval" else enable_debug_dns="auto" fi # Check whether --enable-debug-dns was given. if test "${enable_debug_dns+set}" = set; then : enableval=$enable_debug_dns; enable_debug_dns="$enableval" else enable_debug_dns="auto" fi # Check whether --enable-debug-context was given. if test "${enable_debug_context+set}" = set; then : enableval=$enable_debug_context; enable_debug_context="$enableval" else enable_debug_context="auto" fi # Check whether --enable-debug-context was given. if test "${enable_debug_context+set}" = set; then : enableval=$enable_debug_context; enable_debug_context="$enableval" else enable_debug_context="auto" fi # Defaults: # make: 'eggdrop' or 'static' default_std_debug="no" default_std_debug_assert="no" default_std_debug_mem="no" default_std_debug_context="yes" default_std_debug_dns="no" # make: 'debug' or 'sdebug' default_deb_debug="yes" default_deb_debug_assert="yes" default_deb_debug_mem="yes" default_deb_debug_context="yes" default_deb_debug_dns="yes" if test "$DEFAULT_MAKE" = eggdrop || test "$DEFAULT_MAKE" = static; then default_debug="$default_std_debug" default_debug_assert="$default_std_debug_assert" default_debug_mem="$default_std_debug_mem" default_debug_context="$default_std_debug_context" default_debug_dns="$default_std_debug_dns" else default_debug="$default_deb_debug" default_debug_assert="$default_deb_debug_assert" default_debug_mem="$default_deb_debug_mem" default_debug_context="$default_deb_debug_context" default_debug_dns="$default_deb_debug_dns" fi debug_options="debug debug_assert debug_mem debug_dns" debug_cflags_debug="-g3 -DDEBUG" debug_cflags_debug_assert="-DDEBUG_ASSERT" debug_cflags_debug_mem="-DDEBUG_MEM" debug_cflags_debug_dns="-DDEBUG_DNS" debug_stdcflags_debug="" debug_stdcflags_debug_assert="" debug_stdcflags_debug_mem="" debug_stdcflags_debug_dns="" debug_debcflags_debug="" debug_debcflags_debug_assert="" debug_debcflags_debug_mem="" debug_debcflags_debug_dns="" for enable_option in $debug_options; do eval enable_value=\$enable_$enable_option # Check if either --enable- or --disable- was used if test "$enable_value" != auto; then # Make sure an invalid option wasn't passed as --enable-=foo if test "$enable_value" != yes && test "$enable_value" != no; then opt_name=`echo $enable_option | sed 's/_/-/g'` eval opt_default=\$default_$enable_option { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Invalid option '$enable_value' passed to --enable-${opt_name}, defaulting to '$opt_default'" >&5 $as_echo "$as_me: WARNING: Invalid option '$enable_value' passed to --enable-${opt_name}, defaulting to '$opt_default'" >&2;} eval enable_$enable_option="auto" fi fi if test "$enable_value" = auto; then # Note: options generally should not end up in both std and deb but # there may be options in the future where this behavior is desired. if test `eval echo '${'default_std_$enable_option'}'` = yes; then eval `echo debug_stdcflags_$enable_option`=\$debug_cflags_$enable_option fi if test `eval echo '${'default_deb_$enable_option'}'` = yes; then eval `echo debug_debcflags_$enable_option`=\$debug_cflags_$enable_option fi else if test "$enable_value" = yes; then # If option defaults to 'yes' for debug, always put it in stdcflags # when the option is forced on because someone may want it enabled # for a non-debug build. if test `eval echo '${'default_deb_$enable_option'}'` = yes; then eval `echo debug_stdcflags_$enable_option`=\$debug_cflags_$enable_option else # option defaulted to 'no' so put it in debcflags eval `echo debug_debcflags_$enable_option`=\$debug_cflags_$enable_option fi fi fi done for cflg_option in $debug_options; do eval stdcflg_value=\$debug_stdcflags_$cflg_option if test "x$stdcflg_value" != x; then if test "x$CFLGS" = x; then CFLGS="$stdcflg_value" else CFLGS="$CFLGS $stdcflg_value" fi fi eval debcflg_value=\$debug_debcflags_$cflg_option if test "x$debcflg_value" != x; then if test "x$DEBCFLGS" = x; then DEBCFLGS="$debcflg_value" else DEBCFLGS="$DEBCFLGS $debcflg_value" fi fi done # Disable debug symbol stripping if compiled with --enable-debug # This will result in core dumps that are actually useful. if test "x$debug_stdcflags_debug" != x; then STRIP="touch" MOD_STRIP="touch" SHLIB_STRIP="touch" fi # Check if either --enable-debug-context or --disable-debug-context was used if test "$enable_debug_context" != auto; then # Make sure an invalid option wasn't passed as --enable-debug-context=foo if test "$enable_debug_context" != yes && test "$enable_debug_context" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Invalid option '$enable_debug_context' passed to --enable-debug-context, defaulting to '$default_debug_context'" >&5 $as_echo "$as_me: WARNING: Invalid option '$enable_debug_context' passed to --enable-debug-context, defaulting to '$default_debug_context'" >&2;} enable_debug_context="$default_debug_context" fi else enable_debug_context="$default_debug_context" fi if test "$enable_debug_context" = yes; then $as_echo "#define DEBUG_CONTEXT 1" >>confdefs.h else cat << 'EOF' >&2 configure: WARNING: You have disabled context debugging. Eggdrop will not be able to provide context information if it crashes. Bug reports without context are less helpful when tracking down bugs. EOF fi # Let the user set the handlen with a configure option # Check whether --with-handlen was given. if test "${with_handlen+set}" = set; then : withval=$with_handlen; if test -n $withval && test $withval -ge 9 && test $withval -le 32; then cat >>confdefs.h <<_ACEOF #define EGG_HANDLEN $withval _ACEOF else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Invalid handlen given (must be a number between 9 and 32), defaulting to 9." >&5 $as_echo "$as_me: WARNING: Invalid handlen given (must be a number between 9 and 32), defaulting to 9." >&2;} fi fi # Substitute Makefile variables. EGGVERSION=`grep 'char.egg_version' $srcdir/src/main.c | $AWK '{gsub(/(\"|\;)/, "", $4); print $4}'` egg_version_num=`echo $EGGVERSION | $AWK 'BEGIN {FS = "."} {printf("%d%02d%02d", $1, $2, $3)}'` cat >>confdefs.h <<_ACEOF #define EGG_VERSION $egg_version_num _ACEOF if test "x$DEST" = x; then DEST=\${prefix} fi case "$srcdir" in [\\/]* | ?:[\\/]*) MOD_UPDIR="" ;; *) MOD_UPDIR="../" ;; esac ac_config_commands="$ac_config_commands catch-make-rebuild" # Create Makefiles ac_config_files="$ac_config_files Makefile doc/Makefile scripts/Makefile src/Makefile src/compat/Makefile src/md5/Makefile src/mod/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Eggdrop $as_me 1.6.21, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ Eggdrop config.status 1.6.21 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # egg_tclinc="$TCLINC" egg_tclincfn="$TCLINCFN" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "replace-if-changed") CONFIG_COMMANDS="$CONFIG_COMMANDS replace-if-changed" ;; "catch-make-rebuild") CONFIG_COMMANDS="$CONFIG_COMMANDS catch-make-rebuild" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/compat/Makefile") CONFIG_FILES="$CONFIG_FILES src/compat/Makefile" ;; "src/md5/Makefile") CONFIG_FILES="$CONFIG_FILES src/md5/Makefile" ;; "src/mod/Makefile") CONFIG_FILES="$CONFIG_FILES src/mod/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "replace-if-changed":C) egg_replace_file="lush.h" cat > conftest.out << EOF /* Ignore me but do not erase me. I am a kludge. */ #include "${egg_tclinc}/${egg_tclincfn}" EOF if test -f "$egg_replace_file" && cmp -s conftest.out $egg_replace_file; then echo "lush.h is unchanged" else echo "creating lush.h" mv conftest.out $egg_replace_file fi rm -f conftest.out ;; "catch-make-rebuild":C) if test -f .modules; then $srcdir/misc/modconfig --top_srcdir="$srcdir/src" Makefile fi ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi # Display configure end message { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: Operating System: $egg_cv_var_system_type $egg_cv_var_system_release" >&5 $as_echo "Operating System: $egg_cv_var_system_type $egg_cv_var_system_release" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } if test "$UNKNOWN_OS" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: WARNING:" >&5 $as_echo "WARNING:" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unknown Operating System: $egg_cv_var_system_type $egg_cv_var_system_release" >&5 $as_echo " Unknown Operating System: $egg_cv_var_system_type $egg_cv_var_system_release" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: Module support has been disabled for this build." >&5 $as_echo " Module support has been disabled for this build." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: Please let us know what type of system this is by e-mailing" >&5 $as_echo " Please let us know what type of system this is by e-mailing" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: bugs@eggheads.org. The output of uname -a, and some other basic" >&5 $as_echo " bugs@eggheads.org. The output of uname -a, and some other basic" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: information about the OS should be included." >&5 $as_echo " information about the OS should be included." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } else if test "$WEIRD_OS" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: WARNING:" >&5 $as_echo "WARNING:" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: The operating system you are using has not yet had a great" >&5 $as_echo " The operating system you are using has not yet had a great" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: deal of testing with Eggdrop. For this reason, this compile" >&5 $as_echo " deal of testing with Eggdrop. For this reason, this compile" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: will default to \"make static\"." >&5 $as_echo " will default to \"make static\"." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: To enable module support, type \"make eggdrop\" instead of just" >&5 $as_echo " To enable module support, type \"make eggdrop\" instead of just" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"make\" after you run \"make config\" (or \"make iconfig\")." >&5 $as_echo " \"make\" after you run \"make config\" (or \"make iconfig\")." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: As we have not done a sufficient amount of testing on this" >&5 $as_echo " As we have not done a sufficient amount of testing on this" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: OS, your feedback is greatly appreciated. Please let us know" >&5 $as_echo " OS, your feedback is greatly appreciated. Please let us know" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: at bugs@eggheads.org if there are any problems compiling with" >&5 $as_echo " at bugs@eggheads.org if there are any problems compiling with" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: module support, or if you got it to work :)" >&5 $as_echo " module support, or if you got it to work :)" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: If you experience any problems compiling Eggdrop, please read the" >&5 $as_echo "If you experience any problems compiling Eggdrop, please read the" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: compile guide, found in doc/COMPILE-GUIDE." >&5 $as_echo "compile guide, found in doc/COMPILE-GUIDE." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: Type 'make config' to configure the modules, or type 'make iconfig'" >&5 $as_echo "Type 'make config' to configure the modules, or type 'make iconfig'" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: to interactively choose which modules to compile." >&5 $as_echo "to interactively choose which modules to compile." >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } eggdrop1.6.21/language/0000775000076600007660000000000011651664652014334 5ustar simplesimpleeggdrop1.6.21/language/core.french.lang0000664000076600007660000003674711103216135017371 0ustar simplesimple# core.french.lang # core language messages for eggdrop # # $Id: core.french.lang,v 1.34 2008/11/02 03:19:57 tothwolf Exp $ # General stuff 0x001,Utilisation 0x002,A échoué.\n # MODES_ 0x130,Créé 0x131,utilisé dernièrement 0x132,inactif 0x133,placé par 0x135,non actif sur 0x137,non actif 0x138,non placé par le bot # BANS_ 0x104,Bans globaux 0x106,Bans spécifiques au canal 0x109,Utilisez '.bans all' pour voir la liste complète 0x10a,Annulation du ban # EXEMPTS_ 0x114,Exceptions globales 0x116,Exceptions spécifiques au canal 0x119,Utilisez '.exempts all' pour voir la liste complète 0x11a,Annulation de l'exception # INVITES_ 0x124,Invitations globales 0x126,Invitations spécifiques au canal 0x129,Utilisez '.invites all' pour voir la liste complète 0x12a,Annulation de l'invitation # MOD_ 0x200,Déjà chargé. 0x201,Ne peut pas déterminer le répertoire courant. 0x202,Aucune fonction de démarrage définie. 0x204,Requis par un autre module 0x205,Aucune fonction de fermeture 0x206,Module déchargé: 0x207,Aucun module de ce nom 0x209,Erreur pendant le chargement du module: 0x20a,Erreur pendant le déchargement du module: 0x20b,Ne peut pas charger les modules 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é. 0x20f,Module chargé: %s \t\t(avec support internationnal) 0x210,Module chargé: %s # USERF_ 0x400,Transfert de la liste utilisateurs terminé; liste prise en compte 0x402,NE PEUT PAS LIRE LA NOUVELLE LISTE UTILISATEURS 0x403,Ne peut vous envoyer la liste utilisateurs (erreur interne) 0x404,Personne ne correspond à ces critères 0x405,Ancienne liste utilisateurs, utilisez 'tclsh scripts/weed c' pour la convertir 0x406,Format de liste utilisateurs invalide. 0x407,Enregistrement utilisateur corrompu 0x408,Enregistrement utilisateur en double 0x409,Mot de passe corrompu pour: 0x40a,Ban(s) ignoré(s) pour le(s) canal(aux): 0x40b,Ecriture de la liste utilisateurs... 0x40c,ERREUR pendant l'écriture de la liste utilisateurs. 0x40d,ERREUR pendant l'écriture de la liste utilisateurs à transférer. 0x40e,Création de la liste utilisateurs inutile--ignorée 0x40f,Relecture de la configuration... 0x410,Je ne connais personne de ce nom.\n 0x411,Aucun enregistrement pour cet utilisateur. 0x412,Sauvegarde de la liste utilisateurs... 0x413,Echec de la connexion; interruption du transfert de la liste utilisateurs. 0x414,Demande de partage (ancienne version) par 0x415,Demande de partage désuète 0x416,Liste utilisateurs rejetée par # MISC_ 0x500,a expiré 0x501,au total 0x502,Supprimé 0x504,sur 0x505,Recherche 0x506,je laisse tomber d'abord 0x507,(plus de %d résultats; liste tronquée)\n 0x508,--- Trouvé %d résultat%s.\n 0x509,Commande ambiguë.\n 0x50a,Quoi? Essayez '.help'\n 0x50b,Liaisons de commande:\n 0x50c,Redémarrage... 0x50d,s 0x50e,Rotation des fichiers de log... 0x512,inactif 0x513,ABSENT 0x516,Déconnecté 0x517,bot non valide 0x518,Boucle détectée: déconnection 0x51a,de 0x51b,périmé 0x51c,rejeté 0x51d,imposteur 0x51e,j'essaie 0x51f,Fichier MOTD: 0x520,Aucun fichier MOTD. 0x521,Utilisez: 0x522,:[/] 0x526,en suspens 0x527,je ne suis pas op 0x529,arrière plan 0x52a,mode terminal 0x52b,mode statut 0x52c,mode log 0x52d,En ligne depuis 0x52e,Cache hit 0x52f,librairie Tcl: 0x530,Les nouveaux utilisateurs obtiennent les drapeaux 0x531,annonce 0x532,Proprietaire(s) permanent(s) 0x534,FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR) 0x535,LISTE UTILISATEURS NON TROUVEE! (essayez './eggdrop -m %s' pour en créer une)\n 0x536,DEMARRAGE DU BOT EN MODE CREATION DE LISTE UTILISATEURS.\n\ Faites un Telnet sur le bot et entrez 'NEW' comme surnom. 0x537,OU allez sur IRC et: /msg %s hello\n 0x538,Le bot vous reconnaitra alors comme maître. 0x539,LA LISTE UTILISATEURS EXISTE DEJA (enlevez le '-m') 0x53a,NE PEUT PAS ECRIRE DANS LE REPERTOIRE TEMPORAIRE 0x53b,Ne peut pas recharger la liste utilisateurs! 0x53c,La liste utilisateurs est innexistante! 0x53e,%B (%E)\n\nEntrez votre surnom.\n 0x53f,Rotation du fichier log %s, taille maximale depassée (%d) 0x540,\nSurnom.\n 0x541,Dernier message repété %d fois.\n 0x542,bloqué 0x543,No free sockets available. 0x544,Tcl version: 0x545,header version # IRC_ 0x600,Banni 0x601,Vous êtes banni 0x602,Tentative de Ban sur moi-même--évitée. 0x603,c'était drôle, refaites-le encore une fois! 0x604,Salut 0x605,Au revoir 0x606,Vous êtes banni, goober. 0x607,NOTICE %s :Ton nick était trop longue, j'ai du le changer à '%s'.\n 0x608,Présenté à 0x609,site public 0x60a,NOTICE %s :Salut %s! Je suis %s, un bot eggdrop.\n 0x60b,NOTICE %s :Je vais vous reconnaître par votre hostmask '%s' à partir de maintenant.\n 0x60c,Etant donné que vous venez d'un site IRC public, vous devriez 0x60d,toujours utiliser ce surnom quand vous me parlez. 0x60e,VOUS ETES MAINTENANT LE PROPRIETAIRE DE CE BOT 0x60f,Installation du bot terminée, le premier maître est %s 0x610,Bienvenue sur Eggdrop! =] 0x611,présenté à %s de %s 0x612,Vous avez un mot de passe de défini. 0x613,Vous n'avez pas de mot de passe de défini. 0x615,Vous avez déjà un mot de passe de défini. 0x616,Employez au moins 6 caractères. 0x617,Mot de passe défini: 0x618,Mot de passe incorrect. 0x619,Nouveau mot de passe: 0x61a,Vous êtes sur un site public; vous n'avez pas accès à IDENT. 0x61b,NOTICE %s :Vous n'êtes pas %s, vous êtes %s.\n 0x61c,Accès refusé. 0x61d,Je vous reconnais là. 0x61e,Hostmask ajouté 0x620,Actuellement: 0x621,Maintenant: 0x622,Pour l'enlever: 0x624,Votre ligne de renseignements est verrouillée 0x625,Retrait de votre ligne de renseignements sur 0x626,Retrait de votre ligne de renseignements. 0x627,Vous n'avez aucuns renseignements sur 0x628,Vous n'avez aucuns renseignements. 0x629,Je ne contrôle pas ce canal. 0x62a,Reinitialisation des renseignements du canal. 0x62b,Changement de serveur... 0x62c,Le canal est actuellement caché. 0x62d,Maintenant sur le canal 0x62e,N'est jamais venu sur l'un de mes canaux. 0x62f,Vu la dernière fois à 0x630,Vous n'êtes pas enregistré ; présentez vous d'abord. 0x631,Aucune aide. 0x632,Aucune aide disponible là-dessus. # 0x633 - unused 0x634,Pas sur ce canal en ce moment. 0x635,Je récupère mon surnom (%s) 0x636,Le serveur me dit que mon surnom est invalide. 0x637,SURNOM EN UTILISATION: Essai de '%s' 0x638,Ne peut pas changer de surnom sur %s. Mon surnom est-il interdit? 0x639,Surnom bloqué 0x63a,Le canal %s est bloqué. :( 0x63b,%s dit que je ne suis pas enregistré, essai du suivant. 0x63c,Vous avez un serveur incorrect. 0x63d,Flood de @%s! Placement en ignorance! 0x63f,Flood de JOIN de @%s! Interdiction. 0x640,Flood de canal de %s -- je le kick 0x641,Essai du serveur 0x642,La requête DNS a échoué 0x643,Echec de la connexion à 0x644,Le serveur ne répond plus; changement... 0x645,Déconnecté de 0x646,Aucun serveur actuellement. 0x647,La file d'attente des modes est à 0x648,La file d'attente des serveurs est à 0x649,La file d'attente d'aide est à # 0x64a - unused # 0x64b - unused 0x64c,Traitement du canal 0x64d,Canal 0x64e,Je désire le canal 0x64f,Sujet du canal 0x650,+o en suspens -- Je lag 0x651,-o en suspens -- Je lag 0x652,kick en suspens 0x653,FAUX OPERATEUR DONNE PAR LE SERVEUR 0x654,Fin de renseigements du canal. 0x655,Kick massif, va t'asseoir dans un coin 0x656,Ban annulé 0x657,Hmm, info sur les modes d'un canal sur lequel je ne suis pas 0x658,...et merci d'avoir joué. 0x659,Changement de serveur (j'ai besoin de %d serveurs, je n'en ai que %d) 0x65a,changement de serveur 0x65b,Je suis sur trop de canaux--ne peut rejoindre: %s 0x65c,Le canal est plein--ne peut rejoindre: %s 0x65d,Le canal est réservé aux invités--ne peut rejoindre: %s 0x65e,Banni sur le canal--ne peut rejoindre: %s 0x65f,Le serveur dit que je ne suis pas sur le canal: %s 0x660,Mauvaise clé--ne peut rejoindre: %s 0x661,NOTICE %s :Toutes les commandes sont accessibles par /MSG. Pour la liste complète, /MSG %s help Cya!\n 0x662,NOTICE %s :Je ne vous reconnais pas de cet hôte.\n 0x663,NOTICE %s :Soit vous utilisez le nick de quelqu'un d'autre, soit vous devez taper: /MSG %s IDENT (mot de passe)\n 0x664,NOTICE %s :En tant que maître, vous devez vraiment définir un mot de passe: avec /MSG %s pass .\n 0x665,NOTICE %s :La majorité des commandes est accessible en DCC chat. Dorénavant, vous n'avez plus besoin de l'option -m quand vous démarrez le bot. Amusez-vous bien !!\n 0x666,Ceci est l'interface telnet de %s, un bot eggdrop.\nN'en abusez pas, et elle sera ouverte également à tous vos amis.\n 0x667,Maintenant vous devez trouver un nick à utiliser sur le bot,\net un mot de passe, ainsi personne ne peut prétendre être vous.\nRetenez les! 0x668,Dorénavant, vous n'avez plus besoin d'utiliser l'option -m pour démarrer le bot.\nAmusez-vous bien !! 0x669,Flood de connexions telnet de %s! On ignore! 0x66a,Banni: 0x66b,avalanche de surnom 0x66c,touches pas à mon pote 0x66d,...pas la peine de revenir. 0x66e,Retour au surnom alternatif %s 0x66f,ne deope pas mes amis ! 0x670,Exception enlevée 0x671,Invitation enlevée 0x672,Flood de SURNOM de @%s! Banni. 0x673,flood de surnoms # EGG_ 0x700,Usage: eggdrop [options] [config-file]\n\n\ Options:\n\ -n Don't background; send all log entries to console.\n\ -nc Don't background; display channel stats every 10 seconds.\n\ -nt Don't background; use terminal to simulate DCC chat.\n\ -m Create userfile.\n\ -h Show this help.\n\ -v Show version info, then quit.\n\n 0x701,Je détecte que %s est s'exécute déjà depuis ce répertoire.\n 0x702,Si ce n'est pas le cas, supprimez '%s'\n 0x703,* Attention! Impossible d'écrire le fichier %s!\n # USER_ 0x800, (est un op global) 0x801, (est un bot) 0x802, (est un maître) # CHAN_ 0x900,Aucun canal de ce nom défini 0x902,* Changement de mode sur %s pour le non-existant %s! 0x903,Deop en masse sur %s par %s 0x904,Deop en masse. Va t'asseoir dans un coin. 0x907,Oops. Quelqu'un m'a fait rejoindre %s... j'en pars... 0x908,Changement de mode par un faux op sur %s! Annulation... 0x909,Abus d'un op mal gagné par serveur 0x90a,Changement de mode par un non-op sur %s! Annulation... 0x90b,Abus d'une désynchronisation 0x90c,flood 0xa00,Aucun ignoré 0xa01,Actuellement, j'ignore 0xa02,Je n'ignore plus 0xb00,Ce bot n'est pas là.\n 0xb01,C'est un bot. Vous ne pouvez laisser de notes à un bot.\n 0xb02,est absent 0xb07,Une note est arrivée pour vous 0xb08,Message stocké 0xb18,L'arrêt du bot commence.... 0xb19,Aucun utilisateur de ce nom 0xb1a,Aucuns canaux 0xb1b,Membres de la party line: 0xb1c,Bots connectés 0xb1d,Autres personnes sur le bot 0xb1f,Tentative de liaison à 0xb20,Non en ligne; note enregistrée. 0xb21,La boite à messages est pleine, désolé. 0xb22,est absent; note stockée. 0xb23,Note envoyée à 0xb24,Déconnecté de: 0xb25,Personnes sur le canal 0xb26,Ne peut me relier là 0xb27,Ne peux me délier 0xb28,Boucle détectée 0xb29,Annonce de lien incorrect de 0xb2b,Reste deconnecté 0xb2c,Lié à 0xb2d,Lien illégal par un leaf 0xb2e,Vous êtes supposés être un leaf! 0xb2f,Bot rejeté 0xb30,Vieux bot détecté (non-supporté) 0xb31,Résultat de trace 0xb32,n'existe pas 0xb33,Les boots distants ne sont pas autorisés. 0xb34,Je ne peux virer le propriétaire du bot. 0xb35,TRANSFERT DE FICHIER REJETE 0xb37,Utilisateurs à travers le botnet 0xb38,Party line 0xb39,Canal local 0xb3a,Utilisateurs du canal 0xb3b,Aucun bot relié. 0xb3c,Aucunes informations de trace: 0xb3d,L'arborescence est trop complexe! 0xb3e,Déconnexion de tous les bots... 0xb3f,Tentative de terminer le lien à 0xb40,Plus aucun essai de lien avec: 0xb41,Dénouage du lien avec 0xb42,Délié de: 0xb43,Non connecté à ce bot. 0xb44,Vidange de la table des bots et des assocs... 0xb45,n'est pas un bot connu. 0xb46,Me relier à moi même? Heh mon garcon, un grand jour pour Freud. 0xb47,Ce bot est déja connecté. 0xb48,Adresse de port telnet invalide:port enregistré pour 0xb49,Liaison avec 0xb4a,Ne peut trouver d'utilisateur à relayer! 0xb4b,Liaison impossible avec 0xb4c,Faire un relais sur moi-même? Quel est l'intérêt?! 0xb4d,Connexion à 0xb4e,(Tapez *BYE* seul sur une ligne pour abandonner.) 0xb4f,Abandon de la tentative de relais à 0xb50,Vous êtes maintenant de retour sur 0xb51,Relais abandonné: 0xb53,Perte de la connexion DCC avec 0xb54,Abandon de la tentative de relais à 0xb55,Succès!\n\nMAINTENANT CONNECTE AU BOT RELAIS 0xb56,(Vous pouvez taper *BYE* pour fermer la connexion prématurément.) 0xb57,Liaison relais: 0xb58,a quitté la party line. 0xb59,Liaison relais terminée 0xb5a,ABANDON DE LA CONNEXION RELAIS.\nVous êtes de retour sur 0xb5b,a rejoint la party line. 0xb5c,Abandon de la liaison de relais à 0xb5d,Arrêt de la connexion à 0xb5e,Relais cassé 0xb5f,Ping timeout 0xb60,celà ne ressemble pas à un comportement de leaf 0xb61,Abandon du bot 0xb62,Connection en cours à ce bot. 0xc00,Je n'accepte pas les DCC chats des étrangers. 0xc01,DCC chat refusé (aucun accès) 0xc02,Aucun accès 0xc03,Vous devez avoir défini un mot de passe. 0xc04,DCC chat refusé (pas de mot de passe) 0xc05,DCC chat refusé (+x mais pas de système de fichiers) 0xc07,Trop de personnes sont dans le système de fichier pour l'instant. 0xc0c,Désolé, trop de connexions DCC. 0xc0d,Connexions DCC pleines: %s %s (%s!%s) 0xc19,Echec de la connexion 0xc1a,Echec de la connexion DCC 0xc1c,Entrez votre mot de passe. 0xc1d,%s a été enlevé de force pour flood.\n 0xc1e,-=- poof -=-\n 0xc1f,Vous avez été viré de %s par %s%s%s\n 0xc20,%s viré %s de la party line%s%s 0xc21,DCC chat refusé (port invalide) 0xc22,DCC port invalide 0xd00,Pas d'interaction avec IRC. # BOTNET 0xe00,Faux message rejeté 0xe01,Lié à 0xe02,Mauvais bot--je voulais %s, et j'ai eu %s 0xe03,a quitté la 0xe04,a rejoint la 0xe05,est maintenant absent 0xe06,n'est plus absent 0xe07,Changement de surnom: # dcc.c Messages 0xe08,Rejet de la liaison de %s 0xe09,Relié à %s. 0xe0a,Echec lors de la liaison avec %s. 0xe0b,Mauvais mot de passe lors de la tentative de connexion à %s. 0xe0c,Mot de passe requis pour se connecter à %s. 0xe0d,ERREUR lors de la liaison avec %s: %s 0xe0e,Bot perdu: %s 0xe0f,Timeout: liaison au bot %s à %s:%d 0xe10,connecté: %s (%s/%d) 0xe11,Mot de passe incorrect: [%s]%s/%d 0xe12,Négatif, Houston.\n 0xe13,*** %s a rejoint la party line.\n 0xe14,Connexion DCC perdue avec %s (%s/%d) 0xe15,Mot de passe timeout lors du dcc chat: [%s]%s 0xe16,Connexion DCC fermée (%s!%s) 0xe17,Echec de la tentative de TELNET en cours (%s) 0xe18,Refus %s/%d (mauvais port source) # 0xe19 - unused 0xe1a,Refus %s (mauvais hostname) 0xe1b,Connexion telnet: %s/%d 0xe1c,Echec de l'ident pour %s: %s 0xe1d,(!) Port d'écoute %d est brusquement mort. 0xe1e,Refus %s (mauvais surnom) 0xe1f,Refus %s (ce n'est pas un bot) 0xe20,Refus %s (ce n'est pas un utilisateur) 0xe21,Refus %s (invalide handle: %s) 0xe22,Connexion telnet refusée depuis %s (doublon) 0xe23,Refus [%s]%s (aucun mot de passe) 0xe24,Connexion telnet perdue vers %s/%d 0xe25,Ident timeout lors du telnet: %s 0xe26,Installation du bot complète, le premier maître est %s 0xe27,Nouvel utilisateur via telnet: [%s]%s/%d 0xe28,Perte du nouvel utilisateur telnet (%s/%d) 0xe29,Perte du nouvel utilisateur telnet %s (%s/%d) 0xe2a,Timeout sur le nouvel utilisateur telnet: %s/%d 0xe2b,Timeout sur le nouvel utilisateur telnet: [%s]%s/%d 0xe2c,Erreur tcl [%s]: %s 0xe2d,*** ATTENTION: DEAD SOCKET (%d) OF TYPE %s UNTRAPPED 0xe2e,Connexion perdue pendant l'ident [%s/%d] 0xe2f,Timeout/EOF ident connection 0xe30,Lost ident wait telnet socket!! 0xe31,Telnet refusé: %s, aucun accès 0xe32,Refus de la connexion telnet de %s (essai avec mon surnom botnet) 0xe33,Connexion telnet de %s perdue pendant la vérification des doublons eggdrop1.6.21/language/core.german.lang0000664000076600007660000004132711103216135017363 0ustar simplesimple# core.english.lang # core language messages for eggdrop # # Original by C_Olli oliver.vogel@gmx.net (Bei Verbesserungsvorschlaegen # bitte email an mich) # Modified by Michael for 1.3.25. # Modified by rtc for 1.4.0 # # $Id: core.german.lang,v 1.37 2008/11/02 03:19:57 tothwolf Exp $ # General stuff 0x001,Gebrauch 0x002,Fehlgeschlagen.\n # MODES_ 0x130,Erstellt 0x131,letzter Gebrauch 0x132,inaktiv 0x133,gesetzt von 0x135,nicht aktiv auf 0x137,nicht aktiv 0x138,nicht vom Bot gesetzt # BANS_ 0x104,Globale Banns 0x106,Channelspezifische Banns fuer 0x109,Per '.bans all' kann man die komplette Liste anschauen 0x10a,Ich banne nicht laenger # EXEMPTS_ 0x114,Globale Ausnahmen 0x116,Channelspezifische Ausnahmen fuer 0x119,Per '.exempts all' kann man die komplette Liste anschauen 0x11a,Ich mache nicht laenger eine Ausnahme fuer # Invites 0x124,Global Einladungen 0x126,Channelspezifische Einladungen fuer 0x129,Per '.invites all' kann man die komplette Liste anschauen 0x12a,Ausgeladen wurde # MOD_ 0x200,Bereits geladen. 0x201,Aktuelles Verzeichnis kann nicht bestimmt werden. 0x202,Keine Startfunktion definiert. 0x204,Wird von einem anderen Modul benoetigt 0x205,Keine Selbstvernichtung 0x206,Modul entfernt: 0x207,Kein solches Modul 0x209,Fehler beim Laden des Moduls: 0x20a,Fehler beim Entfernen des Moduls: 0x20b,Kann keine Module laden 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 0x20e,Dateisystem-Modul nicht geladen. 0x20f,Modul geladen: %-16s (mit Sprach-Unterstuetzung) 0x210,Modul geladen: %-16s # USERF_ 0x400,Uebertragung der Benutzerliste vollstaendig; dazu uebergegangen 0x402,ICH KANN DIE NEUE BENUTZERDATEI NICHT LESEN! 0x403,Ich kann die Benutzerdatei nicht schicken (interner Fehler) 0x404,Ich kann keinen passenden Eintrag finden 0x405,Alte Benutzerdatei, bitte mit 'tclsh scripts/weed c' konvertieren 0x406,Ungueltiges Format der Benutzerdatei. 0x407,Beschaedigter Benutzerdatensatz 0x408,Doppelter Benutzerdatensatz 0x409,Passwort konnte nicht zurueckgesetzt werden fuer 0x40a,Ignorierte Banns fuer den/die channel(s): 0x40b,Schreibe Benutzerdatei... 0x40c,FEHLER beim Schreiben der Benutzerdatei. 0x40d,FEHLER beim Schreiben der Benutzerdatei, die zur Uebertragung vorgesehen war. 0x40e,Erstellung einer Benutzerdatei nicht notwendig -- Wird uebersprungen 0x40f,Lade neu... 0x410,Ich kenne niemanden mit diesem Namen.\n 0x411,Kein Benutzerdatensatz. 0x412,Erstelle Sicherungskopie der Benutzerdatei... 0x413,Verbindung fehlgeschlagen; Uebertragung der Benutzerdatei abgebrochen. 0x414,Veraltete Anfrage zum Benutzerdatei-Sharing von 0x415,Veraltete Anfrage zum Benutzerdatei-Sharing 0x416,Benutzerdatei wurde abgewiesen von # MISC_ 0x500,abgelaufen 0x501,Insgesamt 0x502,Geloescht 0x504,auf 0x505,Vergleiche 0x506,ueberspringe die ersten 0x507,(mehr als %d Treffer; Liste abgeschnitten)\n # Sprachspezifischer Muell in []: 0x508,--- %d Treffer gefunden [%s].\n 0x509,Mehrdeutiger Befehl.\n 0x50a,Wie bitte? Du brauchst Hilfe ('.help')\n 0x50b,Kommandoverknuepfungen:\n 0x50c,Starte neu... 0x50d,es 0x50e,Wechsle Logdateien... 0x512,untaetig 0x513,ABWESEND # Ueberarbeiten, brauche kontext: 0x516,Verbindung getrennt 0x517,ungueltiger Bot 0x518,Ring entdeckt: trenne Verbindung 0x51a,von 0x51b,veraltet 0x51c,abgewiesen 0x51d,Aufdraenger 0x51e,versuche 0x51f,MOTD-Datei: 0x520,Keine MOTD-Datei. 0x521,Benutze: 0x522,:[/] 0x526,dauert noch 0x527,will op-status 0x529,Hintergrund 0x52a,Pseudo-Telnet 0x52b,Statusdisplay-Modus 0x52c,Log-Modus 0x52d,Online seit 0x52e,Cache-Trefferrate 0x52f,Tcl Bibliothek: 0x530,Neue Benutzer bekommen folgende Flags 0x531,Benachrichtigung 0x532,Permanente Botbesitzer(s) 0x534,KONFIGURATIONSDATEI NICHT GELADEN (NICHT GEFUNDEN ODER FEHLER) 0x535,BENUTZERDATEI NICHT GEFUNDEN! (probier mal './eggdrop -m %s', das erstellt eine)\n 0x536,STARTE DEN BOT IM BENUTZERDATEI-ERSTELLUNGS-MODUS.\n\ Baue eine Telnetverbindung zu dem Bot auf und gib 'NEW' als Deinen Nickname ein. 0x537,ODER gehe ins IRC und: /msg %s hello\n 0x538,Dies macht Dich zum Master des Bots. 0x539,BENUTZERDATEI EXISTIERT BEREITS (bitte das '-m' weglassen) 0x53a,KANN NICHT IN DAS TEMPORAERE VERZEICHNIS SCHREIBEN 0x53b,Kann die Benutzerdatei nicht neu laden! 0x53c,Benutzerdatei fehlt! 0x53e,%B (%E)\n\nBitte gib Deinen Nickname ein:\n 0x53f,Rotiere Logdatei %s da groesser als max-logsize (%d) 0x540,\nNickname.\n 0x541,Die letzte Meldung wiederholte sich %d mal.\n 0x543,Keine freien Sockets verfuegbar. 0x544,Tcl version: 0x545,header version # IRC_ 0x600,gebannt 0x601,Du bist gebannt 0x602,Wollte mich selbst bannen -- gerade noch abgewendet. 0x603,das war ein Spass, machen wir's doch nochmal! 0x604,Hallo 0x605,Auf Wiedersehen 0x606,Du bist gebannt, mein Lieber. 0x607,NOTICE %s :Dein Nick ist zu lange und wurde deshalb in '%s' umgewandelt.\n 0x608,Bekanntschaft gemacht mit 0x609,kein eigener Client 0x60a,NOTICE %s :Hallo %s! Ich bin %s, ein Eggdrop Bot.\n 0x60b,NOTICE %s :Ich erkenne Dich von nun an anhand Deiner Hostmask '%s'.\n 0x60c,Da Du keinen eigenen Client benutzt, bedeutet das, dass Du 0x60d,immer diesen Nickname benutzen solltest, wenn Du mit mir chattest. 0x60e,DU BIST VON NUN AN DER BESITZER DIESES BOTS 0x60f,Botinstallation vollstaendig, der erste Master ist %s 0x610,Willkommen zu Eggdrop! =] 0x611,Bekanntschaft gemacht mit %s von %s 0x612,Du hast ein Passwort. 0x613,Du hast kein Passwort. 0x615,Du hast bereits ein Passwort eingestellt. 0x616,Bitte benutze mindestens 6 Zeichen. 0x617,Passwort gesetzt auf: 0x618,Falsches Passwort. 0x619,Passwort geaendert zu: 0x61a,Du hast keinen eigenen Client; Du kannst IDENT nicht benutzen. 0x61b,NOTICE %s :Du bist nicht %s, Du bist %s.\n 0x61c,Zugriff verweigert. 0x61d,Ich erkenne Dich dort. 0x61e,Habe Hostmask hinzugefuegt: 0x620,Im Moment: 0x621,Jetzt: 0x622,Um sie zu entfernen: 0x624,Deine Info-Zeile ist gesperrt. 0x625,Habe Deine Info-Zeile entfernt fuer 0x626,Habe Deine Info-Zeile entfernt. 0x627,Du hast keine Info gesetzt fuer 0x628,Du hast keine Info gesetzt. 0x629,Ich ueberwache diesen Channel nicht. 0x62a,Setze Channelinfo zurueck. 0x62b,Springe auf anderen Server... 0x62c,Channel ist im Moment versteckt. 0x62d,Momentan auf auf dem Channel 0x62e,Nie einen meiner Channels betreten. 0x62f,Zuletzt gesehen am 0x630,Ich kenne Dich nicht, bitte stell Dich mir zuerst vor. 0x631,Keine Hilfe. 0x632,Keine Hilfe dazu verfuegbar. # 0x633 - unused 0x634,Im Moment nicht auf diesem Channel. 0x635,Wechsele zurueck zu Nickname %s 0x636,Server sagt mein Nickname sei ungueltig. 0x637,NICKNAME BELEGT: Probiere '%s' 0x638,Kann meinen nicknamen nicht auf %s aendern. Ist mein Nickname gesperrt? 0x639,Nickname wurde jupiterisiert 0x63a,Channel %s ist jupiterisiert. :( 0x63b,%s sagt ich sei nicht registriert, ich probiere den naechsten. 0x63c,Du hast einen hirnamputierten Server. 0x63d,Flood von @%s! Wird ab sofort ignoriert! 0x63f,JOIN flood von @%s! Wird gebannt. 0x640,Channel flood von %s -- wird gekickt. 0x641,Versuche Server 0x642,DNS-Anfrage gescheitert 0x643,Verbindung fehlgeschlagen zu 0x644,Server ist eingeschlafen; springe auf den naechsten... 0x645,Verbindung getrennt von 0x646,Im Moment kein Server. 0x647,Mode-Queue ist bei 0x648,Server-Queue ist bei 0x649,Hilfe-Queue ist bei # 0x64a - unused # 0x64b - unused 0x64c,Bearbeite Channel 0x64d,Channel #need context 0x64e,Erbitte Channel 0x64f,Thema auf dem Channel # verspaetet? 0x650,verspaetetes +o -- Lahme Verbindung 0x651,verspaetetes -o -- Lahme Verbindung 0x652,verspaeteter kick #need context 0x653,VOM SERVER ERTEILER SCHEIN-CHANOP 0x654,Ende der Channel Informationen. 0x655,Massen-kick, ab in die Ecke 0x656,Entfernter Bann 0x657,Hmm, Mode-Information von einem Channel auf dem ich nicht bin 0x658,...und danke, dass Du mitgespielt hast. 0x659,Springe auf naechsten Server (will %d Server, jedoch nur %d vorhanden) 0x65a,Wechsele Server 0x65b,Bin auf zu vielen Channels -- kann %s nicht betreten 0x65c,Channel ueberfuellt -- kann %s nicht betreten 0x65d,Channel nur auf Einladung -- kann %s nicht betreten 0x65e,Vom channel verbannt -- kann %s nicht betreten 0x65f,Server meint, ich sei nicht auf dem Channel: %s 0x660,Falscher Schluessel -- kann %s nicht betreten 0x661,NOTICE %s :Alle Befehle erfolgen via /MSG. Fuer eine vollstaendige Liste, /MSG %s help CU!\n 0x662,NOTICE %s :Ich erkenne Dich nicht mit diesem Host.\n 0x663,NOTICE %s :Entweder Du benutzt den Nicknamen von jemand anders oder Du musst eingeben: /MSG %s IDENT (passwort)\n 0x664,NOTICE %s :Als Master solltest Du nun wirklich ein Passwort setzen: mit /MSG %s pass .\n 0x665,NOTICE %s :Alle wichtigen Befehle werden per DCC Chat eingegeben. Von nun an brauchst Du nicht mehr die -m Option zu verwenden wenn Du den Bot startest. Viel Spass !!!\n 0x666,Dies ist die Telnet-Schnittstelle zu %s, einem Eggdrop Bot.\nMissbrauche sie nicht, and sie wird auch allen Deinen Freunden offenstehen.\n 0x667,Du musst Dir jetzt einen Nickname aussuchen, den Du auf dem Bot benutzt\nund ein Passwort, damit niemand sonst vorgeben kann, er sei Du.\nBitte behalte an beides! 0x668,Von nun an brauchst Du nicht mehr die -m Option zu verwenden wenn Du den Bot startest.\nViel Spass !!! 0x669,Telnet-Verbindungsaufbau-Flood von %s! Wird ab sofort ignoriert! 0x66a,Gebannt: 0x66b,join Flood 0x66c,schmeiss meine Freunde nicht hier raus, mein Lieber 0x66d,...und komm nicht zurueck. 0x66e,wechsle zurueck zum altnick %s 0x66f,deop meine Freunde nicht, mein Lieber 0x670,Ausnahme entfernt 0x671,Einladung entfernt 0x672,NICK flood von @%s! Wird gebannt. 0x673,nick Flood # EGG_ 0x700,Usage: eggdrop [options] [config-file]\n\n\ Options:\n\ -n Don't background; send all log entries to console.\n\ -nc Don't background; display channel stats every 10 seconds.\n\ -nt Don't background; use terminal to simulate DCC chat.\n\ -m Create userfile.\n\ -h Show this help.\n\ -v Show version info, then quit.\n\n 0x701,%s scheint in diesem Verzeichnis bereits zu laufen.\n 0x702,Loesche '%s' wenn das nicht stimmt\n 0x703,* Warnung! Konnte Datei %s nicht schreiben! 0x800, (ist ein globaler Op) 0x801, (ist ein Bot) 0x802, (ist ein Master) 0x900,Kein solcher Channel definiert 0x902,* Mode Wechsel auf %s fuer nicht existierenden %s! 0x903,Massen-deop auf %s von %s 0x904,Massen-deop. Ab in die Ecke. 0x907,Oops. Irgendjemand hat mich dazu veranlasst %s zu betreten... schnell raus da... 0x908,Modewechsel von schein-op auf %s! Mache das wieder rueckgaengig... 0x909,Missbrauch von faelschlich erhaltenen Server-ops... 0x90a,Modewechsel von nicht-op auf %s! Mache das wieder rueckgaengig... 0x90b,Missbrauch eines Desync 0x90c,Flood 0xa00,keine ignorierten User 0xa01,Im Moment werden ignoriert 0xa02,Ignoriere nicht mehr 0xb00,Dieser Bot ist nicht hier.\n 0xb01,Das ist ein Bot. Du kannst einem Bot keine Nachrichten hinterlassen.\n 0xb02,ist weg 0xb07,Eine Nachricht fuer Dich kam an 0xb08,Nachricht gespeichert 0xb18,Bot wird heruntergefahren.... 0xb19,Kein solcher Benutzer 0xb1a,Keine Channels 0xb1b,Im Moment auf der Partyline: 0xb1c,Verbundene Bots 0xb1d,Andere Leute auf dem Bot 0xb1f,Versuche Verbindung herzustellen zu 0xb20,Nicht online; Nachricht gespeichert. 0xb21,Nachrichtenkorb ist volll, tut mir leid. 0xb22,ist nicht da; Nachricht gespeichert. 0xb23,Nachricht gesendet an 0xb24,Verbindung getrennt von: 0xb25,User auf Channel 0xb26,Kann keine Verbindung dorthin herstellen 0xb27,Kann die Verbindung nicht trennen zu 0xb28,Ring entdeckt 0xb29,Falsche Verbindungsmitteilung von 0xb2b,Verbindung getrennt zu den verbliebenen 0xb2c,Verbunden mit 0xb2d,Illegale Verbindung vom Leaf 0xb2e,Du solltest ein Leaf sein! 0xb2f,Weise Bot ab 0xb30,Aelterer Bot entdeckt (nicht unterstuetzt) 0xb31,Ergebnis der Rueckverfolgung 0xb32,existiert nicht 0xb33,Rauswuerfe durch Leute von anderen Bots aus sind nicht erlaubt. 0xb34,Kann den Besitzer des Bots nicht rauswerden. 0xb35,DATEIUEBERTRAGUNG ABGEWIESEN 0xb37,Benutzer im Botnet 0xb38,Partyline 0xb39,Lokaler Channel 0xb3a,Benutzer auf Channel 0xb3b,Keine Bots angebunden. 0xb3c,Keine Rueckverfungungs-Information fuer: 0xb3d,Baum zu komplex! 0xb3e,Trenne Verbindung zu allen Bots... 0xb3f,Verbindungsaufbau wurde abgebrochen mit 0xb40,Versuche nicht laenger zu verbinden: 0xb41,Trenne Verbindung zu 0xb42,Verbindung getrennt zu: 0xb43,Nicht mit diesem Bot verbunden. #Hae? 0xb44,Smooshing Bot-Tabellen und assocs... 0xb45,ist kein bekannter Bot. 0xb46,Zu mir selbst eine Verbindung aufbauen? Mein Junge, Sigmund Freud haette seine Freude. 0xb47,Dieser Bot ist bereits angebunden. 0xb48,Kein Telnet Port gespeichert fuer 0xb49,Verbindung wird hergestellt mit 0xb4a,Kann den Benutzer zur Weiterleitung nicht finden! 0xb4b,Konnte keine Verbindung aufbauen zu 0xb4c,Weiterleitung zu mir selbst? Was zum Teufel soll der Sinn davon sein?! 0xb4d,Baue Verbindung auf zu 0xb4e,(schreibe in eine eigene Zeile *BYE* um abzubrechen.) 0xb4f,Breche Weiterleitungsversuch ab zu 0xb50,Du bist wieder auf 0xb51,Weiterleitung abgebrochen: 0xb53,DCC-Verbindung verloren zu 0xb54,Breche Weiterleitungsversuch ab zu 0xb55,Erfolg!\n\nDU BIST NUN VERBUNDEN MIT DEM BOT 0xb56,(Du kannst *BYE* eingeben, um die Verbindung vorzeitig zu trennen.) 0xb57,Weitergeleitete Verbindung: 0xb58,hat die Partyline verlassen. 0xb59,Hat die weitergeleitete Verbindung beendet 0xb5a,WEITERGELEITETE VERBINDUNG BEENDET.\nDu bist jetzt wieder auf 0xb5b,hat die Partyline wieder betreten. 0xb5c,Breche weitergeleitete Verbindung ab zu 0xb5d,Breche die Verbindung ab zu 0xb5e,Relais kaputt 0xb5f,Ping reagiert nicht 0xb60,Unleafiges Verhalten 0xb61,Verbindung getrennt zu Bot 0xb62,Verbindung mit diesem Bot wird bereits hergestellt. 0xc00,Ich nehme keine DCC Chats von Fremden an. 0xc01,DCC Chat abgewiesen (kein Zugriff) 0xc02,Kein Zugriff 0xc03,Du must ein Passwort gesetzt haben. 0xc04,DCC Chat abgewiesen (kein Passwort) 0xc05,DCC Chat abgewiesen (+x aber kein Dateisystem) 0xc07,Im Moment sind zu viele Benutzer im Dateisystem. 0xc0c,Sorry, zu viele DCC Verbindungen. 0xc0d,DCC Verbindungen ueberfuellt: %s %s (%s!%s) 0xc19,Verbindung nicht zustandegekommen 0xc1a,DCC Verbindung nicht zustandegekommen 0xc1c,Gib Dein Passwort ein. 0xc1d,%s wurde gewaltsam entfernt wegen Flood.\n 0xc1e,-=- poof -=-\n 0xc1f,Du wurdest von dem %s runtergeworfen von %s%s%s\n 0xc20,%s hat %s aus der Partyline rausgeschmissen%s%s 0xc21,DCC Chat abgewiesen (falscher Port) 0xc22,DCC-Port ungueltig 0xd00,In der Schwebe (keine Verbindung zum IRC) # BOTNET 0xe00,Gefaelschte Nachricht abgewiesen 0xe01,Verbunden mit 0xe02,Falscher Bot -- wollte %s, bekam %s 0xe03,verliess die 0xe04,betrat die 0xe05,ist ab sofort abwesend 0xe06,ist nicht laenger weg 0xe07,Nickwechsel: # Text aus dcc.c 0xe08,Verbindung zu %s wird zurueckgewiesen 0xe09,Verbunden mit %s. 0xe0a,Verbindung zu %s fehlgeschlagen. 0xe0b,Falsches Passwort beim Verbindungsaufbau mit %s. 0xe0c,Zum Verbindungsaufbau mit %s wird ein Passwort benoetigt. 0xe0d,FEHLER beim Verbindungsaufbau mit %s: %s 0xe0e,Bot verlohren: %s 0xe0f,Zeitueberschreitung: Verbindungsaufbau mit Bot %s bei %s:%d 0xe10,Eingeloggt: %s (%s/%d) 0xe11,Falsches Passwort: [%s]%s/%d 0xe12,Negativ, Houston.\n 0xe13,*** %s hat die partyline betreten.\n 0xe14,DCC connection zu %s (%s/%d) verloren 0xe15,Zeitueberschreitung bei der Passworteingabe im dcc chat: [%s]%s 0xe16,DCC-Verbindung geschlossen (%s!%s) 0xe17,Einkommende TELNET-Verbindung fehlgeschlagen (%s) 0xe18,Verbindung zu %s/%d zurueckgewiesen (falscher Quellport) # 0xe19 - unused 0xe1a,Verbindung zu %s zurueckgewiesen (falscher hostname) 0xe1b,Telnet-Verbindung: %s/%d 0xe1c,Ident fehlgeschlagen fuer %s: %s 0xe1d,(!) Port %d fuer einkommende Verbindungen ohne meine Erlaubnis verstorben. 0xe1e,%s zurueckgewiesen (falscher Nick) 0xe1f,%s zurueckgewiesen (kein Bot) 0xe20,%s zurueckgewiesen (kein Benutzer) 0xe21,%s zurueckgewiesen (ungueltiger nick: %s) 0xe22,Telnet-Verbindung von %s zurueckgewiesen (doppelt) 0xe23,[%s]%s zurueckgewiesen (kein passwort) 0xe24,Telnet-Verbindung zu to %s/%d verloren 0xe25,Zeitueberschreitung der Ident-Anforderung beim Telnet: %s 0xe26,Bot-Installation fertig, der erste Master ist %s 0xe27,Neuer Benutzer per Telnet: [%s]%s/%d 0xe28,Neuen Telnet-Benutzer verloren (%s/%d) 0xe29,Neuen Telnet-Benutzer verloren %s (%s/%d) 0xe2a,Zeitueberschreitung beim neuen Telnet-Benutzer: %s/%d 0xe2b,Zeitueberschreitung beim neuen Telnet-Benutzer: [%s]%s/%d 0xe2c,Tcl-Fehler [%s]: %s 0xe2d,*** VORSICHT: TOD EINES SOCKETS (%d), TYP %s WURDE NICHT ABGEFANGEN 0xe2e,Telnet-Verbindung waehrend des Ident-Vorgangs verloren [%s/%d] 0xe2f,Zeitueberschreitung/EOF bei der Ident-Verbindung 0xe30,Ident-Socket beim Wartern auf die Antwort verloren!! 0xe31,Telnet verweigert: %s, Kein Zugriff 0xe32,Telnet-Verbindung von %s zurueckgewiesen (versuchte, meinen botnetnick zu benutzen) 0xe33,Telnet-Verbindung von %s waerend Kontrolle auf Duplikat verloren eggdrop1.6.21/language/core.finnish.lang0000664000076600007660000003440611103216135017550 0ustar simplesimple# core.finnish.lang # core kieli viestit eggdroppiin # # $Id: core.finnish.lang,v 1.3 2008/11/02 03:19:57 tothwolf Exp $ # Yleinen tavara 0x001,Käytössä 0x002,Hylätty.\n # MOODIT_ 0x130,Luotu 0x131,viimeksi käytetty 0x132,toimeton 0x133,asetettu 0x135,ei aktiivinen 0x137,ei aktiivinen 0x138,ei asetettu botille # BANNIT_ 0x104,Globaaliset bannit 0x106,Kanva bannit 0x109,Käytä komentoa '.bans all' nähdäksesi kokonais listan 0x10a,Ei pitkiä banneja # EXEMPTIT_ 0x114,Globaaliset exemptit 0x116,Kanva exemptit 0x119,Käytä komentoa '.exempts all' nähdäksesi kokonais listan 0x11a,Ei pitkiä exemptejä # INVITESIT_ 0x124,Globaaliset invitesit 0x126,Kanava invitesit 0x129,Käytä komentoa '.invites all' nähdäksesi kokonais listan 0x12a,No longer inviting # MODUULIT_ 0x200,Valmiiksi ladattu. 0x201,Ei pysty kiinnittämään nykyistä kansiota. 0x202,Ei aloitettavaa funktiota määritetty. 0x204,Tarvitaan toinen moduuli 0x205,Ei suljettavaa funktiota 0x206,Moduuli suljettu: 0x207,Ei kyseistä moduulia 0x209,Virhe ladatessa moduulia: 0x20a,Virhe suljettaessa moduulia: 0x20b,Ei pysty lataamaan moduulia 0x20c,Lamaantunut moduuli; Täällä on muisti vuoto! 0x20d,Sinulla on asennettu moduuli, mutta ei ole valittua kryptausta\n\ moduulille, etsi vakio config tiedostosta tietoa.\n 0x20e,Tiedostojärjestelmä moduulia ei ladattu. 0x20f,Moduuli ladattu: %-16s (kieli tuella) 0x210,Moduuli ladattu: %-16s # KÄYTTÄJÄTIEDOSTO_ 0x400,Käyttäjälistan siirto suoritettu; vaihdetaan yli 0x402,EI PYSTY LUKEMAAN UUTTA KÄYTTÄJÄTIEDOSTOA 0x403,Ei pysty lähettämään käyttäjätiedostoa sinulle (paikallinen virhe) 0x404,Ei pysty löytämään yhtään mikä vastaisi tätä 0x405,Vanha käyttäjätiedosto, käytä 'tclsh scripts/weed c' muunokseen 0x406,Virheellinen käyttäjätiedosto formaatti. 0x407,Vääristetty käyttäjä taltio 0x408,Kopioidaan käyttäjä taltio 0x409,pilattu salasana palautettu 0x40a,Ei huomioida salattuja kanavi(a): 0x40b,Kirjoitetaan käyttäjä tiedostoa... 0x40c,ERROR kirjoitettaessa käyttäjätiedostoa. 0x40d,ERROR kirjoitettaessa käyttäjätiedostoa siirtoon. 0x40e,Käyttäjätiedoston luonti ei tarpeellinen--ohitetaan 0x40f,Päivitetään... 0x410,En tiedä ketään tämän nimistä.\n 0x411,Ei kyseistä käyttäjä taltiota. 0x412,Varmuuskopioidaan käyttäjätiedostoa... 0x413,Hyjätty yhteys; peruutetaan käyttäjätiedoston siirto. 0x414,Vanhan tyylinen jako anomus 0x415,Vanhentunut jako pyyntö 0x416,Käyttäjätiedosto hylätty # SEKALAISTA_ 0x500,päättynyt 0x501,Yhteensä 0x502,Poistetut 0x504,on 0x505,Käy 0x506,ohitetaan ensimmäinen 0x507,(enemmän kuin %d käyvää; lista katkaistu)\n 0x508,--- Löydetty %d vastaavaa%s.\n 0x509,Epäselvä komento.\n 0x50a,Mitä? Sinä tarvitset '.help' komentoa\n 0x50b,Komento sidottu:\n 0x50c,Käynnistetään uudelleen... 0x50d,es 0x50e,Vaihdetaan logitiedostoja... 0x512,varattu 0x513,POISSA 0x516,Katkaistu 0x517,virheellinen botti 0x518,Tunnistetaan loopia: kaksi bottia on nimetty 0x51a,sta 0x51b,ulkopäivitetty 0x51c,evätty 0x51d,petkuttaja 0x51e,yritetään 0x51f,MOTD tiedosto: 0x520,Ei MOTD tiedostoa. 0x521,Käytä: 0x522,:[/] 0x526,avoin 0x527,tarvitaan opit 0x529,taustalla 0x52a,terminaali moodi 0x52b,tila moodi 0x52c,pitkä vedos moodi 0x52d,Paikalla 0x52e,Kätkö 0x52f,Tcl kirjasto: 0x530,Uusi käyttäjän saatava merkki 0x531,tiedottaa 0x532,Pysyvä(t) omistaja(t) 0x534,CONFIG TIEDOSTO EI LADATTU (EI LÖYDY, TAI VIRHE) 0x535,KÄYTTÄJÄTIEDOSTOA EI LÖYDY! (yritä './eggdrop -m %s' luodaksesi yksi)\n 0x536,KÄYNNISTETÄÄN BOTTI KÄYTTÄJÄTIEDOSTON LUONTI MOODISSA.\n\ Telnettaa botille ja syötä 'UUSI' kuin sinun nickkisi. 0x537,TAI mene IRCC:iin ja syötä komento: /msg %s hello\n 0x538,Tämä tekee että botti tunnistaa sinut mertarikseen. 0x539,KÄYTTÄJÄTIEDOSTO VALMIIKSI LUOTU (poista '-m') 0x53a,EI PYSTY KIRJOITTAMAAN TEMP HAKEMISTOA 0x53b,Ei pysty ladata uudelleen käyttäjä tiedostoa! 0x53c,Käyttäjätiedosto hukassa! 0x53e,%B (%E)\n\nSyötä tähän sinun nickkisi.\n 0x53f,Kierrätetään logitiedostoa %s, maksimi-logikoko (%d) 0x540,\nNickki.\n 0x541,Viimeinen viesti toistettu %d aika(a).\n 0x542,juped 0x543,Ei vapaita kohtia saatavilla. 0x544,Tcl versio: 0x545,pää versio # IRC_ 0x600,Bannattu 0x601,Olet bannattu 0x602,Haluan bannata itseni--poikkeama. 0x603,tämä on hauskaa, tehdään se uudestaan! 0x604,Hei 0x605,Heippa 0x606,Olet bannattu, tahmassa. 0x607,NOTICE %s :Sinun nickkisi on liian pitkä sentähden se on lyhennetty '%s'.\n 0x608,Esitellä 0x609,yleinen sijainti 0x60a,NOTICE %s :Hei %s! Olen %s, eggdrop botti.\n 0x60b,NOTICE %s :Tunnistan sinun hostmaskisi '%s' nyt.\n 0x60c,Koska tulit yhteiseltä irc sijainnilta, tämä meinaa että sinun pitäisi 0x60d,aina käyttää tätä nickkiä kun puhut minulle. 0x60e,OLET NYT TÄMÄN BOTIN OMISTAJA 0x60f,Botti asennus onnistunut, ensimmäinen mestari on %s 0x610,Tervetuloa Eggdroppiin! =] 0x611,Ensiesitelmä %s %s 0x612,Sinä olet asettanut salasanan. 0x613,Et ole asettanut salasanaa. 0x615,Olet jo asettanut salasanan. 0x616,Käytä vähintään 6 merkkiä. 0x617,Salasana asetettu: 0x618,Virheellinen salasana. 0x619,Salasana vaihdettu: 0x61a,Olet yhtenäinen; et voi IDENT. 0x61b,NOTICE %s :Et ole %s, olet %s.\n 0x61c,Pääse estetty. 0x61d,Hyväksyn sinut. 0x61e,hostmask lisätty 0x620,Nyt: 0x621,Nyt: 0x622,Poista se: 0x624,Inforivisi on lukittu 0x625,Inforivisi poistettu 0x626,Inforivisi poistettu. 0x627,Sinulla ei ole asetettu infoa 0x628,Et ole asettanut infoa. 0x629,En tarkkaile tätä kanavaa. 0x62a,Alustetaan kanava info. 0x62b,Hypätään serverille... 0x62c,Kanava on nyt piilotettu. 0x62d,Nyt kanavalla 0x62e,Koskaan nähnyt kanavaa. 0x62f,Viimeksi nähnyt 0x630,En tunne sinua; esittele itsesi ensin. 0x631,Ei apua. 0x632,Ei apua saatavilla tästä. # 0x633 - käyttämätön 0x634,Ei kanavalla juuri nyt. 0x635,Vaihdetaan takaisin nickki %s 0x636,Serveri sanoo, minun nickkini on viallinen. 0x637,NICKKI KÄYTÖSSÄ: Yritetään '%s' 0x638,Ei pystytä vaihtamaan nickkiä %s. Onko minun nickkini bannattu? 0x639,Nickki on juped 0x63a,Kanava %s on juped. :( 0x63b,%s sanoo En ole rekisteröitynyt, yritetään uudestaan. 0x63c,Serveri sanoo, emme ole rekisteröityneet vielä.. 0x63d,Floodaamista @%s! Asetetaan ignore! 0x63f,JOIN floodaamista @%s! Bannattu. 0x640,Kanava floodaamista %s -- kickataan 0x641,Yritetään serveriä 0x642,DNS tarkistus epäonnistui 0x643,Yhditäminen epäonnistui 0x644,Serveri "jäätynyt"; mennään mutustelemaan... 0x645,Katkaistaan 0x646,Ei nykyistä serveriä. 0x647,Moodi queue on nyt 0x648,Serveri queue on nyt 0x649,Auto queue on nyt # 0x64a - ei käytössä # 0x64b - ei käytössä 0x64c,Tapahtuma kanava 0x64d,Kanava 0x64e,Halutaan kanava 0x64f,Kanava otsikko 0x650,pyydetään +o -- Olen jumissa 0x651,pyydetään -o -- Olen jumissa 0x652,pyydetään kickiä 0x653,VÄÄRÄ KANAVAOP ANNETTU SERVERILTÄ 0x654,Kanava info loppu. 0x655,lauma kick, mene istumaan nurkkaan 0x656,banni poistettu 0x657,Hmm, moodi info kanavalla En ole 0x658,...ja kiitos sinulle pelaamisesta. 0x659,Hypätään servereille (tarvitaan %d servereitä, on vain %d) 0x65a,vaihdetaan servereitä 0x65b,Olen liian monella kanavalla--en voi liittyä: %s 0x65c,Kanava täynnä--en voi liittyä: %s 0x65d,Kanava vain inviteille--en voi liittyä: %s 0x65e,Bannattu kanavalta--en voi liittyä: %s 0x65f,Serveri sanoo En ole kanavalla: %s 0x660,Huono avain--en voi liittyä: %s 0x661,NOTICE %s :Kaikki komennot on tehtävä /MSG lla. Täydellinen lista komennoista, /MSG %s help Heippa!\n 0x662,NOTICE %s :En hyväksy tätä hostia.\n 0x663,NOTICE %s :Olet käyttämässä jotain muuta nickkiä tai tarvitset komennon: /MSG %s IDENT (password)\n 0x664,NOTICE %s :Masteri, tarvit todella asettaa salasanan: with /MSG %s pass .\n 0x665,NOTICE %s :Kaikki tärkeät komennot ovat käytössä dcc chatssa. Juuri nyt et tarvitse käyttää -m asetusta kun käynnistät botin. Nauti !!!\n 0x666,Tämä telnetti on liitetty %s, eggdroppi bottiin.\nÄlä herjaa sitä, ja se aukeaa kaikille ystävillesi myös.\n 0x667,Saat nyt valita nickkin käyttääksesi bottia,\nja salasanaa ei kukaan voi uskotella sinulta.\nMuista molemmat! 0x668,Juuri nyt et tarvitse käyttää -m asetusta kun käynnistät botin.\nNauti !! 0x669,Telnetti yhteys floodaaminen %s! Ei välitetä! 0x66a,Bannattu: 0x66b,joini floodi 0x66c,älä kickkii ystäviäni, oksastaja 0x66d,...ja älä tule takaisin. 0x66e,Vaihdettu takaisin kakkosnickki %s 0x66f,älä deoppaa ystäviäni, oksastaja 0x670,exempti poistettu 0x671,Invite poistettu 0x672,NICK floodi @%s! Bannattu. 0x673,nickki floodi # EGG_ 0x700,Usage: eggdrop [options] [config-file]\n\n\ Options:\n\ -n Don't background; send all log entries to console.\n\ -nc Don't background; display channel stats every 10 seconds.\n\ -nt Don't background; use terminal to simulate DCC chat.\n\ -m Create userfile.\n\ -h Show this help.\n\ -v Show version info, then quit.\n\n 0x701,Tunnistan %s valmiiksi päällä tässä kansiossa.\n 0x702,Jos tämä ei ole korjattu, poista '%s'\n 0x703,* Varoitus! Ei pysty kirjoittamaan %s tiedostoa!\n # KÄYTTÄJÄ_ 0x800, (on globaalinen oppi) 0x801, (on botti) 0x802, (on masteri) # KANAVA_ 0x900,Ei kyseistä kanavaa tunnistettu 0x902,* Moodi vaihdettu %s olemattomaan %s! 0x903,Kasa deopattu %s %s 0x904,Kasa deopattu. Mene istumaan nurkkaan. 0x907,Hups. Joku sai minut liittymään %s... lähdetään... 0x908,Moodi vaihdettu väärän opin %s takia! Käännetään... 0x909,Haukutaan sairaat serveri opit 0x90a,Moodi vaihdettu väärän kanavaopin %s takia! Käännetään... 0x90b,Haukutaan epäsynkkaaja 0x90c,floodaaminen 0xa00,Ei ignooreja 0xa01,Nykyisiä ignooreja 0xa02,Ei pitkiä ignooreja 0xb00,Tämä botti ei ole täällä.\n 0xb01,Tämä on botti. Et voi jättää viestejä botille.\n 0xb02,on poissa 0xb07,Ei saapuvia sinulle 0xb08,Viesti varastossa 0xb18,Botin selkuminen aloitettu.... 0xb19,Ei kyseistä käyttäjää 0xb1a,ei kanavia 0xb1b,Party linen jäsenet: 0xb1c,Botit yhdistetty 0xb1d,Muita ihmisiä botilla 0xb1f,Yritetään linkittää 0xb20,Ei paikalla; viesti varastoitu. 0xb21,Viestilaatikko täynnä, anteeksi. 0xb22,on poissa; viesti varastoitu. 0xb23,Viesti lähetetty 0xb24,Katkaistu: 0xb25,Ihmisiä kanavalla 0xb26,Ei pysty linkittämään tähän 0xb27,Ei pysty unlinkittämään 0xb28,Loop tunnistettu 0xb29,Outo linkki viesti 0xb2b,Katkaistu jäljellä 0xb2c,Linkitetty 0xb2d,Laiton linkki selattu 0xb2e,Olet tuettu olemaan selattu! 0xb2f,Hylätään botti 0xb30,Vanhempi botti tunnistettu (ei tuettu) 0xb31,Jäljitetään vastausta 0xb32,ei ole olemassa 0xb33,Remote bootit eivät ole sallituja. 0xb34,Ei pysty boottaamaan botin omistajaa. 0xb35,TIEDOSTON SIIRTO HYLÄTTY 0xb37,Käyttähät ovat ristissä botnetissä 0xb38,Party line 0xb39,Paikallinen kanava 0xb3a,Käyttäjät kanavalla 0xb3b,Ei botteja linkitetty. 0xb3c,Ei infoa jäljitetty: 0xb3d,Puu liian monimutkainen! 0xb3e,Unlinkitetään kaikki botit... 0xb3f,Linkki tapetaan yrityksestä 0xb40,Ei pitkään yritetä linkkiä: 0xb41,Rikotaan linkki 0xb42,Unlinkitetty: 0xb43,Ei yhdistetty tätä bottia. 0xb44,Smooshing botti tasot ja associt... 0xb45,ei ole tunnettu botti. 0xb46,Linkitetään itseni kanssa? Oh poika, Fredillä ei ole pelto päivä. 0xb47,Tämä botti on jo valmiiksi yhdistetty. 0xb48,Väärä telnet osoite:portti varastoitu 0xb49,Linkitetty 0xb4a,Ei pysty löytämään käyttäjä viestiä! 0xb4b,Ei pysty linkittämään 0xb4c,Viestitä itsesi kanssa? Mikä MAA tämän ovi tehdä?! 0xb4d,Yhdistetty 0xb4e,(Komento *BYE* poistuu rivillä itsestään.) 0xb4f,Katkaistaan relay pyyntö 0xb50,Olet nyt palannut 0xb51,Relay katkaistu: 0xb53,Dcc yhteys hukattu 0xb54,Tiputetaan relay pyyntö 0xb55,Onnistui!\n\nNYT RELAY BOTTIIN ON YHDISTETY 0xb56,(Voit käyttää komentoa *BYE* enenaikaiseen yhteyden sulkemiseen.) 0xb57,Relay linkki: 0xb58,Lähdettiin party linelta. 0xb59,Relay linkki lopetettu 0xb5a,RELAY YHTEYS TIPUTETTU.\nOlet palannut nyt takaisin 0xb5b,palataan takaisin party linelle. 0xb5c,Tiputetaan relay linkki 0xb5d,Katkaistaan yhteys 0xb5e,Relay rikki 0xb5f,Pinggi kadotettu 0xb60,unleaflike käytös 0xb61,Tiputettiin botti 0xb62,Tämä botti on jo valmiiksi linkitetty. 0xc00,En salli DCC chatteja oudoille. 0xc01,Evätään DCC chatti (ei pääsyä) 0xc02,Ei pääsyä 0xc03,Sinulla täytyy olla salasana asetettu. 0xc04,Evätään DCC chatti (ei salasanaa) 0xc05,Evätään DCC chatti (+x mutta ei tiedosto alue) 0xc07,Liian moni ihminen on tiedosto alueella juuri nyt. 0xc0c,Sori, liian monta DCC yhteyttä. 0xc0d,DCC yhteydet täynnä: %s %s (%s!%s) 0xc19,yhdistäminen epäonnistui 0xc1a,DCC yhdistyminen epäonnistui 0xc1c,Syötä salasana. 0xc1d,%s on väkivalloin poistettu floodaamasta.\n 0xc1e,-=- pöh -=-\n 0xc1f,Et ole bootannut %s %s%s%s\n 0xc20,%s bootattu %s party line%s%s 0xc21,Evätty DCC chatti (väärä portti) 0xc22,DCC väärä portti 0xd00,Floating in limbo (ei IRC vuorovaikutus) # BOTNET 0xe00,Vale viesti hylätty 0xe01,Linkitetty 0xe02,Väärä botti--halutaan %s, saada %s 0xe03,on lähtenyt 0xe04,on liittynyt 0xe05,on nyt poissa 0xe06,ei ole pitkään poissa 0xe07,Nickki vaihdettu: # dcc.c viestit 0xe08,Linkki hylätään %s 0xe09,Linkitetty %s. 0xe0a,Linkitys epäonnistui %s. 0xe0b,Huono salasana yritykseen yhdistää %s. 0xe0c,Salasana vaaditaan yhdistämiseen %s. 0xe0d,VIRHE linkityksessä %s: %s 0xe0e,Botti kadotettu: %s 0xe0f,Aikalisä: botti linkitetty %s %s:%d 0xe10,Päästy sisään: %s (%s/%d) 0xe11,Huono Salasana: [%s]%s/%d 0xe12,Tämä on negatiivinen, Houston.\n 0xe13,*** %s on liittynyt party linelle.\n 0xe14,Dcc yhteys hukattu %s (%s/%d) 0xe15,Salasana vanheni dcc chatissa: [%s]%s 0xe16,DCC yhteys suljettu (%s!%s) 0xe17,TELNET yhdistäminen epäonnistui (%s) 0xe18,Evätään %s/%d (huono src portti) # 0xe19 - ei käytössä 0xe1a,Evätään %s (huono hostname) 0xe1b,Telnet yhteys: %s/%d 0xe1c,Ident epäonnistui %s: %s 0xe1d,(!) Kuunnellaan porttia %d äkisti kuoli. 0xe1e,Evätään %s (huono nickki) 0xe1f,Evätään %s (ei botti) 0xe20,Evätään %s (ei käyttäjä) 0xe21,Evätään %s (virheellinen kahva: %s) 0xe22,Evätään telnet yhteys %s (kaksois) 0xe23,Evätään [%s]%s (ei salasanaa) 0xe24,Kadotettiin telnet yhteys %s/%d 0xe25,Ident kadotettu telnetissä: %s 0xe26,Botti asennettu onnistuneesti, ensimmäinen mestari on %s 0xe27,Uusi käyttäjä telnetissä: [%s]%s/%d 0xe28,Uusi telnet käyttäjä kadotettu (%s/%d) 0xe29,Uusi telnet käyttäjä kadotettu %s (%s/%d) 0xe2a,Uusi telnet käyttäjä tiputettu: %s/%d 0xe2b,Uusi telnet käyttäjä tiputettu: [%s]%s/%d 0xe2c,Tcl virhe [%s]: %s 0xe2d,*** HUOMIO: KUOLLUT SOCKET (%d) TYYPISSÄ %s EI VANGITTU 0xe2e,Kadotetaan yhteys silläaikaa kun identitettiin [%s/%d] 0xe2f,Kadotettu/EOF ident yhteys 0xe30,Kadotettu ident odotus telnet socketti!! 0xe31,Evätty telnet: %s, Ei pääsyä 0xe32,Evätään telnet yhteys %s (yritä käyttää minun botnetnickkiäni) 0xe33,Telnet yhteys hukattu %s silläaikaa kun tarkistettiin tuplausta eggdrop1.6.21/language/core.danish.lang0000664000076600007660000003335511103216135017362 0ustar simplesimple# core.danish.lang # core language messages for eggdrop # # $Id: core.danish.lang,v 1.12 2008/11/02 03:19:57 tothwolf Exp $ # General stuff 0x001,Brug 0x002,Fejlede.\n # MODES_ 0x130,Oprettet 0x131,sidst brugt 0x132,inaktiv 0x133,placeret af 0x135,ikke aktiv på 0x137,ikke aktiv 0x138,ikke placeret af bot # BANS_ 0x104,Globale bans 0x106,Kanal bans på 0x109,Brug '.bans all' for at se den totale liste 0x10a,Banner ikke længere # EXEMPTS_ 0x114,Globale exempts 0x116,Kanal exempts på 0x119,Brug '.exempts all' for at se den totale liste 0x11a,Banundtager ikke længere # INVITES_ 0x124,Globale invites 0x126,Kanal invites på 0x129,Brug '.invites all' for at se den totale liste 0x12a,Inviter ikke længere # MOD_ 0x200,Allerede indlæst. 0x201,Kan ikke bestemme nuværrende bibliotek. 0x202,Ingen startfunktion angivet. 0x204,Krævet af et andet modul 0x205,Ingen lukkefunktion 0x206,Modul fjernet: 0x207,Modul findes ikke 0x209,Fejl under indlæsning af modul: 0x20a,Fejl under fjernelse af module: 0x20b,Kan ikke indlæse modulet 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. 0x20f,Modul loadet: %-16s (med sprog support) 0x210,Modul loadet: %-16s # USERF_ 0x400,Brugerliste overførsel fuldført; skiftet 0x402,KAN IKKE LÆSE NY BRUGERFIL 0x403,Kan ikke sende brugerfil til dig (intern fejl) 0x404,Kan ikke finde nogen, som matcher det 0x405,Gammel brugerfil, brug 'tclsh scripts/weed c' for at konvertere 0x406,Ugyldigt brugerfilsformat. 0x407,Korrupt bruger optegnelse 0x408,Dublet bruger optegnelse 0x409,Korrupt password reset på 0x40a,Ignorede masker for kanal(erne): 0x40b,Skriver brugerfil... 0x40c,FEJL under skrivning af brugerfil. 0x40d,FEJL under skrivning af brugertil til overførsel. 0x40e,Brugerfiloprettelse ikke nødvendig--springer over 0x40f,Rehasher... 0x410,Jeg kender ingen ved det navn.\n 0x411,Ingen bruger optegnelse. 0x412,Laver backup af brugerfil... 0x413,Forbindelsen fejlede; afbryder brugerfilsoverførsel. 0x414,Gammel type delingsforespørgsel af 0x415,Forældet delingsforespørgsel 0x416,Brugerfil afvist af # MISC_ 0x500,udløbet 0x501,Total 0x502,Slettet 0x504,på 0x505,Matcher 0x506,skipper første 0x507,(mere end %d som matcher; listen er afkortet)\n 0x508,--- Fandt %d som matcher%s.\n 0x509,Flertydig kommando.\n 0x50a,Hvad? Brug for '.help'\n 0x50b,Kommando bindings:\n 0x50c,Genstarter... 0x50d,es 0x50e,Skifter logfiler... 0x512,idle 0x513,VÆK 0x516,Afbrudt 0x517,ugyldig bot 0x518,Lykke opdaget: to bots eksisterer navngivet 0x51a,fra 0x51b,forældet 0x51c,afvist 0x51d,falsk/bedrager 0x51e,prøver 0x51f,MOTD fil: 0x520,Ingen MOTD fil. 0x521,Brug: 0x522,:[/] 0x526,afventende 0x527,ønsker ops 0x529,baggrund 0x52a,terminal mode 0x52b,status mode 0x52c,log dump mode 0x52d,Online for 0x52e,Cache hit 0x52f,Tcl bibliotek: 0x530,Nye brugere for flags 0x531,underrette 0x532,Permanente ejer(e) 0x534,CONFIG FIL IKKE LOADET (IKKE FUNDET ELLER FEJL) 0x535,BRUGERFIL IKKE FUNDET! (prøv './eggdrop -m %s' for at lave en)\n 0x536,STARTER BOTTEN I BRUGERFILOPRETTELSES MODE.\n\ Telnet botten og skriv 'NEW' som dit nick.\n 0x537,ELLER gå på IRC og skriv: /msg %s hello\n 0x538,Dette vil få botten til at genkende dig som master. 0x539,BRUGERFIL FINDES ALLEREDE (brug ikke '-m') 0x53a,KAN IKKE SKRIVE TIL TEMP BIBLIOTEK 0x53b,Kan ikke genindlæse brugerfil! 0x53c,Brugerfil mangler! 0x53e,%B (%E)\n\nSkriv venligst dit nick.\n 0x53f,Skifter logfil %s, over max-logsize (%d) 0x540,\nNick.\n 0x541,Sidste besked gentaget %d gange\n 0x542,juped 0x543,Ingen ledige sockets tilgængelig. 0x544,Tcl version: 0x545,header version # IRC_ 0x600,Banned 0x601,Du er banned 0x602,Ville banne mig selv--afviger. 0x603,det var sjovt, lad os gøre det igen! 0x604,Hej 0x605,Farveller 0x606,Du er banned. 0x607,NOTICE %s :Dit nick var for langt og derfor blev det afkortet til '%s'.\n 0x608,Introduceret til 0x609,almindeligt/fælles site 0x60a,NOTICE %s :Hej %s! Jeg er %s, en Eggdrop bot.\n 0x60b,NOTICE %s :Jeg genkender dig på hostmasken '%s' fra nu af.\n 0x60c,Da du kommer fra et almindeligt/fælles irc site, betyder dette at du bør 0x60d,brug altid dette nick når du snakker til mig. 0x60e,DU ER NU EJER AF DENNE BOT 0x60f,Bot installation fuldført, første master er%s 0x610,Velkommen til Eggdrop! =] 0x611,introduceret til %s fra %s 0x612,Du har sat et password. 0x613,Du har ikke sat et password. 0x615,Du har allerede sat et password. 0x616,Brug venligst mindst 6 tegn. 0x617,Password sat til: 0x618,Forkert password. 0x619,Password skiftet til: 0x61a,Du er på et almindeligt/fælles site; Du kan ikke IDENT. 0x61b,NOTICE %s :Du er ikke %s, du er %s.\n 0x61c,Adgang nægtet. 0x61d,Jeg genkender dig her. 0x61e,Hostmask tilføjet 0x620,For øjeblikket: 0x621,Nu: 0x622,For at fjerne den: 0x624,Din info linie er låst 0x625,Fjernede din info linie på 0x626,Fjernede din info linie. 0x627,Du har ingen info sat på 0x628,Du har ingen info sat. 0x629,Jeg overvåger ikke den kanal. 0x62a,Resetter kanal info. 0x62b,Skifter servere... 0x62c,Kanalen er for øjeblikket skjult. 0x62d,Nu på kanalen 0x62e,Har aldrig joinet en af mine kanaler. 0x62f,Sidst set (at) 0x630,Jeg kender dig ikke; Venligst introducer dig selv først. 0x631,Ingen hjælp. 0x632,Ingen hjælp tilgængelig til det. # 0x633 - unused 0x634,Er ikke på den kanal lige nu. 0x635,Skifter tilbage til nicket %s 0x636,Serveren siger, at mit nick er ugyldigt. 0x637,NICK OPTAGET: Prøver '%s' 0x638,Kan ikke skifte nick på %s. Er mit nick banned? 0x639,Nick er blevet juped 0x63a,Kanal %s er juped. :( 0x63b,%s siger, at jeg ikke er registreret, prøver den næste. 0x63c,Serveren siger, at vi ikke er registreret endnu.. 0x63d,Flood fra @%s! Smider på ignore! 0x63f,JOIN flood fra @%s! Banner. 0x640,Kanal flood fra %s -- kicker 0x641,Prøver server 0x642,DNS lookup fejlede 0x643,Kunne ikke forbindes til 0x644,Server frøs; skifter... 0x645,Afbrudt fra 0x646,For øjeblikket ingen server. 0x647,Modekø er på 0x648,Serverkø er på 0x649,Hjælpekø er på # 0x64a - unused # 0x64b - unused 0x64c,Behandler kanal 0x64d,Kanal 0x64e,Ønsker kanal 0x64f,Kanal Topic 0x650,afventende +o -- Jeg lagger 0x651,afventende -o -- Jeg lagger 0x652,afventende kick 0x653,FALSK CHANOP GIVET AF SERVER 0x654,Slut på kanal info. 0x655,mass kick, go sit in a corner 0x656,Fjernede ban 0x657,Hmm, mode info fra en kanal jeg ikke er på 0x658,...and thank you for playing. 0x659,Skifter servere (kræver %d servere, har kun %d) 0x65a,skifter server 0x65b,Jeg er på for mange kanaler--kan ikke joine: %s 0x65c,Kanalen er fuld--kan ikke joine: %s 0x65d,Kanalen er invite only--kan ikke joine: %s 0x65e,Banned fra kanalen--kan ikke joine: %s 0x65f,Serveren siger jeg ikke er på kanalen: %s 0x660,Forkert key--Kan ikke joine: %s 0x661,NOTICE %s :Alle kommandoer bruges via /MSG. For en komplet liste, /MSG %s help Ses!\n 0x662,NOTICE %s :Jeg genkender dig ikke fra den host.\n 0x663,NOTICE %s :Enten bruger du en andens nick, ellers skal du skrive: /MSG %s IDENT (password)\n 0x664,NOTICE %s :Som en master bør du virkelig have sat et password med: /MSG %s pass .\n 0x665,NOTICE %s :Alle vigtigere kommandoer bruges fra DCC chat. Fra nu af, behøver du ikke længere at starte botten med -m. Enjoy !!!\n 0x666,Dette er telnet brugerfladen på %s, en eggdrop bot.\nMisbrug det ikke, og det vil også være åbent for alle dine venner.\n 0x667,Du skal nu vælge et nick at bruge på botten,\nog et password, så ingen andre kan give sig ud for at være dig.\nVenligst husk begge dele! 0x668,Fra nu af, behøver du ikke at starte botten med -m.\nEnjoy !! 0x669,Telnet forbindelses flood fra %s! Smider på ignore! 0x66a,Bannet: 0x66b,join flood 0x66c,kick ikke mine venner 0x66d,...og kom ikke tilbage. 0x66e,Skifter tilbage til altnick %s 0x66f,deop ikke mine venner 0x670,Fjernede exempt/fritagelse 0x671,Fjernede invite 0x672,NICK flood fra @%s! Banner. 0x673,nick flood # EGG_ 0x700,Usage: eggdrop [options] [config-file]\n\n\ Options:\n\ -n Don't background; send all log entries to console.\n\ -nc Don't background; display channel stats every 10 seconds.\n\ -nt Don't background; use terminal to simulate DCC chat.\n\ -m Create userfile.\n\ -h Show this help.\n\ -v Show version info, then quit.\n\n 0x701,Jeg observerer, at %s allerede kører fra dette bibliotek.\n 0x702,Hvis dette er forkert, slet %s\n 0x703,* Advarsel! Kunne ikke skrive filen %s!\n # USER_ 0x800, (er en global op) 0x801, (er en bot) 0x802, (er en master) # CHAN_ 0x900,Ingen sådan kanal defineret 0x902,* Mode skifte på %s for ikke-eksisterende %s! 0x903,Masse deop på %s af %s 0x904,Mass deop. Go sit in a corner. 0x907,Oops. Nogen fik mig til at joine %s... smutter... 0x908,Mode skifte af falsk op på %s! Modsætter... 0x909,Misbruger ulovligt server ops 0x90a,Mode skifte af ikke-chanop på %s! Modsætter... 0x90b,Misbruger desync 0x90c,flood 0xa00,Ingen ignoreringer 0xa01,Ignorerer lige nu 0xa02,Ignorerer ikke længere 0xb00,Den bot er her ikke.\n 0xb01,Det er en bot. Du kan ikke sende notitser til en bot.\n 0xb02,er væk 0xb07,Notits til dig er ankommet 0xb08,Besked gemt 0xb18,Bot nedlukning begyndt.... 0xb19,Ingen bruger fundet 0xb1a,Ingen kanaler 0xb1b,Party line medlemmer: 0xb1c,Bots forbundet 0xb1d,Andre mennesker på botten 0xb1f,Forsøger at linke 0xb20,Ikke online; notits gemt. 0xb21,Notitsboks er fyldt, desværre. 0xb22,er væk, notits gemt. 0xb23,Notits sendt til 0xb24,Afbrudt fra: 0xb25,Mennesker på kanalen 0xb26,Kan ikke linke dertil 0xb27,Kan ikke afbryde link 0xb28,Lykke fundet 0xb29,Falsk link notits fra 0xb2b,Disconnected left 0xb2c,Linket til 0xb2d,Ugyldigt link a af leaf bot 0xb2e,Du skal være en leaf bot! 0xb2f,Afviser bot 0xb30,Ældre bot fundet (usupporteret) 0xb31,Sporingsresultat 0xb32,eksisterer ikke 0xb33,Fjerne spark er ikke tilladt. 0xb34,Kan ikke sparke bot ejeren af. 0xb35,FILOVERFØRSEL AFVIST 0xb37,Brugere på tværs af botnettet 0xb38,Party line 0xb39,Lokal kanal 0xb3a,Bruger på kanalen 0xb3b,Ingen bots linket. 0xb3c,Ingen sporingsinfo på: 0xb3d,Træ for komplekst! 0xb3e,Afbryder links til alle bots... 0xb3f,Dræbte link forsøg til 0xb40,Forsøger ikke længere at linke: 0xb41,Afbryder link med 0xb42,Afbrudt link fra: 0xb43,Ikke forbundet til den bot. 0xb44,Smooshing bot tables and assocs... 0xb45,er ikke en kendt bot. 0xb46,Link til mig selv? Hvad har du gang i?! 0xb47,Den bot er allerede forbundet. 0xb48,Ugyldig telnet adresse:port gemt for 0xb49,Linker til 0xb4a,Kan ikke finde bruger til relay! 0xb4b,Kunne ikke linke til 0xb4c,Relay til mig selv? Hvad skal det gøre godt for?! 0xb4d,Forbinder til 0xb4e,(Skriv *BYE* på en linie for sig selv for at afbryde.) 0xb4f,Afbryder relay forsøg til 0xb50,Du er nu tilbage på 0xb51,Relay afbrudt: 0xb53,Mistede dcc forbindelse til 0xb54,Dropper relay forsøg til 0xb55,Succes!\n\nNU FORBUNDET TIL RELAY BOT 0xb56,(Du kan skrive *BYE* for at forhaste lukningen af forbindelsen.) 0xb57,Relay link: 0xb58,har forladt party line. 0xb59,Stoppede relay link 0xb5a,RELAY FORBINDELSE DROPPET.\nDu er nu tilbage på 0xb5b,genjoinede party line. 0xb5c,Lukker relay link til 0xb5d,Afbryder forbindelsen til 0xb5e,Relay brudt 0xb5f,Ping timeout 0xb60,ikke-leaf-lignende opførsel 0xb61,Mistede bot 0xb62,Linker allerede til den bot. 0xc00,Jeg accepterer ikke DCC chat fra fremmede. 0xc01,Afviste DCC chat (ingen adgang) 0xc02,Ingen adgang 0xc03,Du skal have sat et password. 0xc04,Afviste DCC chat (intet password) 0xc05,Afviste DCC chat (+x men intet filområde) 0xc07,For mange mennesker er i filområdet lige nu. 0xc0c,Desværre, for mange DCC forbindelser 0xc0d,DCC forbindelser fyldte: %s %s (%s!%s) 0xc19,Kunne ikke forbinde 0xc1a,DCC forbindelse fejlede 0xc1c,Skriv dit password. 0xc1d,%s er blevet tvunget væk for at floode.\n 0xc1e,-=- poof -=-\n 0xc1f,Du er blevet sparket af %s af %s%s%s\n 0xc20,%s sparkede %s af party line%s%s 0xc21,Afviste DCC chat (ugyldig port) 0xc22,DCC ugyldig port 0xd00,Floating in limbo (ingen IRC interaction) # BOTNET 0xe00,Falsk besked afvist 0xe01,Linket til 0xe02,Forkert bot--ønskede %s, fik %s 0xe03,har forladt 0xe04,har forladt 0xe05,er nu væk 0xe06,er ikke længere væk 0xe07,Nick Skifte: # dcc.c Messages 0xe08,Afviste link fra %s 0xe09,Linket til %s. 0xe0a,Fejlede link til %s. 0xe0b,Ugyldigt password ved forbindelsesforsøg til %s. 0xe0c,Password kræver for forbindelse til %s. 0xe0d,FEJL ved linkning %s: %s 0xe0e,Mistede Bot: %s 0xe0f,Timeout: bot link til %s ved %s:%d 0xe10,Logget ind: %s (%s/%d) 0xe11,Ugyldigt Password: [%s]%s/%d 0xe12,Negative on that, Houston.\n 0xe13,*** %s har joinet party line.\n 0xe14,Mistede dcc forbindelsen to %s (%s/%d) 0xe15,Password timeout ved dcc chat: [%s]%s 0xe16,DCC forbindelse lukket (%s!%s) 0xe17,Fejlede indgående TELNET (%s) 0xe18,Afviste %s/%d (ugyldig kilde port) # 0xe19 - unused / ubrugt 0xe1a,Afviste %s (ugyldigt hostname) 0xe1b,Telnet forbindelse: %s/%d 0xe1c,Ident fejlede for %s: %s 0xe1d,(!) Listening port %d pludselig død. 0xe1e,Afviste %s (ugyldigt nick) 0xe1f,Afviste %s (non-bot) 0xe20,Afviste %s (non-bruger) 0xe21,Afviste %s (ugyldigt handle: %s) 0xe22,Afviste telnet forbindelse fra %s (dublet) 0xe23,Afviste [%s]%s (intet password) 0xe24,Mistede telnet forbindelsen til %s/%d 0xe25,Ident timeout ved telnet: %s 0xe26,Bot installation fuldført, Første mater er %s 0xe27,Ny bruger via telnet: [%s]%s/%d 0xe28,Mistede ny telnet bruger (%s/%d) 0xe29,Mistede ny telnet bruger %s (%s/%d) 0xe2a,Timeout ved ny telnet bruger: %s/%d 0xe2b,Timeout ved ny telnet bruger [%s]%s/%d 0xe2c,Tcl fejl [%s]: %s 0xe2d,*** ATTENTION: DEAD SOCKET (%d) OF TYPE %s UNTRAPPED 0xe2e,Mistede forbindelsen under identing [%s/%d] 0xe2f,Timeout/EOF ident forbindelse 0xe30,Mistede ident wait telnet socket!! 0xe31,Afviste telnet: %s, Ingen Adgang 0xe32,Afviste telnet forbindelse fra %s (forsøg på at bruge mit botnetnick) 0xe33,Mistede telnet forbindelse fra %s mens der blev tjekket for dubletter eggdrop1.6.21/language/core.english.lang0000664000076600007660000003226011271066152017547 0ustar simplesimple# core.english.lang # core language messages for eggdrop # # $Id: core.english.lang,v 1.47 2009/10/25 15:19:06 pseudo Exp $ # General stuff 0x001,Usage 0x002,Failed.\n # MODES_ 0x130,Created 0x131,last used 0x132,inactive 0x133,placed by 0x135,not active on 0x137,not active 0x138,not placed by bot # BANS_ 0x104,Global bans 0x106,Channel bans for 0x109,Use '.bans all' to see the total list 0x10a,No longer banning # EXEMPTS_ 0x114,Global exempts 0x116,Channel exempts for 0x119,Use '.exempts all' to see the total list 0x11a,No longer ban exempting # INVITES_ 0x124,Global invites 0x126,Channel invites for 0x129,Use '.invites all' to see the total list 0x12a,No longer inviting # MOD_ 0x200,Already loaded. 0x201,Can't determine current directory. 0x202,No start function defined. 0x204,Needed by another module 0x205,No close function 0x206,Module unloaded: 0x207,No such module 0x209,Error loading module: 0x20a,Error unloading module: 0x20b,Can't load modules 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. 0x20f,Module loaded: %-16s (with lang support) 0x210,Module loaded: %-16s # USERF_ 0x400,Userlist transfer complete; switched over 0x402,CAN'T READ NEW USERFILE 0x403,Can't send userfile to you (internal error) 0x404,Can't find anyone matching that 0x405,Old userfile, use 'tclsh scripts/weed c' to convert 0x406,Invalid userfile format. 0x407,Corrupt user record 0x408,Duplicate user record 0x409,Corrupted password reset for 0x40a,Ignored masks for channel(s): 0x40b,Writing user file... 0x40c,ERROR writing user file. 0x40d,ERROR writing user file to transfer. 0x40e,Userfile creation not necessary--skipping 0x40f,Rehashing... 0x410,I don't know anyone by that name.\n 0x411,No such user record. 0x412,Backing up user file... 0x413,Failed connection; aborted userfile transfer. 0x414,Old style share request by 0x415,Antiquated sharing request 0x416,User file rejected by # MISC_ 0x500,expired 0x501,Total 0x502,Erased 0x504,on 0x505,Matching 0x506,skipping first 0x507,(more than %d matches; list truncated)\n 0x508,--- Found %d match%s.\n 0x509,Ambiguous command.\n 0x50a,What? You need '.help'\n 0x50b,Command bindings:\n 0x50c,Restarting... 0x50d,es 0x50e,Switching logfiles... 0x512,idle 0x513,AWAY 0x516,Disconnected 0x517,invalid bot 0x518,Detected loop: two bots exist named 0x51a,from 0x51b,outdated 0x51c,rejected 0x51d,imposter 0x51e,trying 0x51f,MOTD file: 0x520,No MOTD file. 0x521,Use: 0x522,
:[/] 0x526,pending 0x527,need ops 0x529,background 0x52a,terminal mode 0x52b,status mode 0x52c,log dump mode 0x52d,Online for 0x52e,Cache hit 0x52f,Tcl library: 0x530,New users get flags 0x531,notify 0x532,Permanent owner(s) 0x534,CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR) 0x535,USER FILE NOT FOUND! (try './eggdrop -m %s' to make one)\n 0x536,STARTING BOT IN USERFILE CREATION MODE.\n\ Telnet to the bot and enter 'NEW' as your nickname. 0x537,OR go to IRC and type: /msg %s hello\n 0x538,This will make the bot recognize you as the master. 0x539,USERFILE ALREADY EXISTS (drop the '-m') 0x53a,CAN'T WRITE TO TEMP DIR 0x53b,Can't reload user file! 0x53c,User file is missing! 0x53e,%B (%E)\n\nPlease enter your nickname.\n 0x53f,Cycling logfile %s, over max-logsize (%d) 0x540,\nNickname.\n 0x541,Last message repeated %d time(s).\n 0x542,juped 0x543,No free sockets available. 0x544,Tcl version: 0x545,header version # IRC_ 0x600,Banned 0x601,You are banned 0x602,Wanted to ban myself--deflected. 0x603,that was fun, let's do it again! 0x604,Hi 0x605,Goodbye 0x606,You're banned, goober. 0x607,NOTICE %s :Your nick was too long and therefore it was truncated to '%s'.\n 0x608,Introduced to 0x609,common site 0x60a,NOTICE %s :Hi %s! I'm %s, an eggdrop bot.\n 0x60b,NOTICE %s :I'll recognize you by hostmask '%s' from now on.\n 0x60c,Since you come from a common irc site, this means you should 0x60d,always use this nickname when talking to me. 0x60e,YOU ARE THE OWNER ON THIS BOT NOW 0x60f,Bot installation complete, first master is %s 0x610,Welcome to Eggdrop! =] 0x611,introduced to %s from %s 0x612,You have a password set. 0x613,You don't have a password set. 0x615,You already have a password set. 0x616,Please use at least 6 characters. 0x617,Password set to: 0x618,Incorrect password. 0x619,Password changed to: 0x61a,You're at a common site; you can't IDENT. 0x61b,NOTICE %s :You're not %s, you're %s.\n 0x61c,Access denied. 0x61d,I recognize you there. 0x61e,Added hostmask 0x620,Currently: 0x621,Now: 0x622,To remove it: 0x624,Your info line is locked 0x625,Removed your info line on 0x626,Removed your info line. 0x627,You have no info set on 0x628,You have no info set. 0x629,I don't monitor that channel. 0x62a,Resetting channel info. 0x62b,Jumping servers... 0x62c,Channel is currently hidden. 0x62d,Now on channel 0x62e,Never seen on channel. 0x62f,Last seen at 0x630,I don't know you; please introduce yourself first. 0x631,No help. 0x632,No help available on that. # 0x633 - unused 0x634,Not on that channel right now. 0x635,Switching back to nick %s 0x636,Server says my nickname is invalid. 0x637,NICK IN USE: Trying '%s' 0x638,Can't change nickname on %s. Is my nickname banned? 0x639,Nickname has been juped 0x63a,Channel %s is juped. :( 0x63b,%s says I'm not registered, trying next one. 0x63c,The server says we are not registered yet.. 0x63d,Flood from @%s! Placing on ignore! 0x63f,JOIN flood from @%s! Banning. 0x640,Channel flood from %s -- kicking 0x641,Trying server 0x642,DNS lookup failed 0x643,Failed connect to 0x644,Server got stoned; jumping... 0x645,Disconnected from 0x646,No server currently. 0x647,Mode queue is at 0x648,Server queue is at 0x649,Help queue is at # 0x64a - unused # 0x64b - unused 0x64c,Processing channel 0x64d,Channel 0x64e,Desiring channel 0x64f,Channel Topic 0x650,pending +o -- I'm lagged 0x651,pending -o -- I'm lagged 0x652,pending kick 0x653,FAKE CHANOP GIVEN BY SERVER 0x654,End of channel info. 0x655,mass kick, go sit in a corner 0x656,Removed ban 0x657,Hmm, mode info from a channel I'm not on 0x658,...and thank you for playing. 0x659,Jumping servers (need %d servers, only have %d) 0x65a,changing servers 0x65b,I'm on too many channels--can't join: %s 0x65c,Channel full--can't join: %s 0x65d,Channel invite only--can't join: %s 0x65e,Banned from channel--can't join: %s 0x65f,Server says I'm not on channel: %s 0x660,Bad key--can't join: %s 0x661,NOTICE %s :All commands are done via /MSG. For the complete list, /MSG %s help Cya!\n 0x662,NOTICE %s :I don't recognize you from that host.\n 0x663,NOTICE %s :Either you are using someone else's nickname or you need to type: /MSG %s IDENT (password)\n 0x664,NOTICE %s :As master you really need to set a password: with /MSG %s pass .\n 0x665,NOTICE %s :All major commands are used from DCC chat. From now on, you don't need to use the -m option when starting the bot. Enjoy !!!\n 0x666,This is the telnet interface to %s, an eggdrop bot.\nDon't abuse it, and it will be open for all your friends, too.\n 0x667,You now get to pick a nick to use on the bot,\nand a password so nobody else can pretend to be you.\nPlease remember both! 0x668,From now on, you don't need to use the -m option to start the bot.\nEnjoy !! 0x669,Telnet connection flood from %s! Placing on ignore! 0x66a,Banned: 0x66b,join flood 0x66c,don't kick my friends, bud 0x66d,...and don't come back. 0x66e,Switching back to altnick %s 0x66f,don't deop my friends, bud 0x670,Removed exempt 0x671,Removed invite 0x672,NICK flood from @%s! Banning. 0x673,nick flood # EGG_ 0x700,Usage: eggdrop [options] [config-file]\n\n\ Options:\n\ -h help\n\ -n Don't background; send all log entries to console.\n\ -nc Don't background; display channel stats every 10 seconds.\n\ -nt Don't background; use terminal to simulate DCC chat.\n\ -m Create userfile.\n\ -h Show this help.\n\ -v Show version info, then quit.\n\n 0x701,I detect %s already running from this directory.\n 0x702,If this is incorrect, erase the '%s'\n 0x703,* Warning! Could not write %s file!\n # USER_ 0x800, (is a global op) 0x801, (is a bot) 0x802, (is a master) # CHAN_ 0x900,No such channel defined 0x902,* Mode change on %s for nonexistent %s! 0x903,Mass deop on %s by %s 0x904,Mass deop. Go sit in a corner. 0x907,Oops. Someone made me join %s... leaving... 0x908,Mode change by fake op on %s! Reversing... 0x909,Abusing ill-gained server ops 0x90a,Mode change by non-chanop on %s! Reversing... 0x90b,Abusing desync 0x90c,flood 0xa00,No ignores 0xa01,Currently ignoring 0xa02,No longer ignoring 0xb00,That bot isn't here.\n 0xb01,That's a bot. You can't leave notes for a bot.\n 0xb02,is away 0xb07,Note arrived for you 0xb08,Stored message 0xb18,Bot shut down beginning.... 0xb19,No such user 0xb1a,no channels 0xb1b,Party line members: 0xb1c,Bots connected 0xb1d,Other people on the bot 0xb1f,Attempting to link 0xb20,Not online; note stored. 0xb21,Notebox is full, sorry. 0xb22,is away; note stored. 0xb23,Note sent to 0xb24,Disconnected from: 0xb25,People on channel 0xb26,Can't link there 0xb27,Can't unlink 0xb28,Loop detected 0xb29,Bogus link notice from 0xb2b,Disconnected left 0xb2c,Linked to 0xb2d,Illegal link by leaf 0xb2e,You are supposed to be a leaf! 0xb2f,Rejecting bot 0xb30,Older bot detected (unsupported) 0xb31,Trace result 0xb32,doesn't exist 0xb33,Remote boots are not allowed. 0xb34,Can't boot the bot owner. 0xb35,FILE TRANSFER REJECTED 0xb37,Users across the botnet 0xb38,Party line 0xb39,Local channel 0xb3a,Users on channel 0xb3b,No bots linked. 0xb3c,No trace info for: 0xb3d,Tree too complex! 0xb3e,Unlinking all bots... 0xb3f,Killed link attempt to 0xb40,No longer trying to link: 0xb41,Breaking link with 0xb42,Unlinked from: 0xb43,Not connected to that bot. 0xb44,Smooshing bot tables and assocs... 0xb45,is not a known bot. 0xb46,Link to myself? Oh boy, Freud would have a field day. 0xb47,That bot is already connected up. 0xb48,Invalid telnet address:port stored for 0xb49,Linking to 0xb4a,Can't find user for relay! 0xb4b,Could not link to 0xb4c,Relay to myself? What on EARTH would be the point?! 0xb4d,Connecting to 0xb4e,(Type *BYE* on a line by itself to abort.) 0xb4f,Aborting relay attempt to 0xb50,You are now back on 0xb51,Relay aborted: 0xb53,Lost dcc connection to 0xb54,Dropping relay attempt to 0xb55,Success!\n\nNOW CONNECTED TO RELAY BOT 0xb56,(You can type *BYE* to prematurely close the connection.) 0xb57,Relay link: 0xb58,left the party line. 0xb59,Ended relay link 0xb5a,RELAY CONNECTION DROPPED.\nYou are now back on 0xb5b,rejoined the party line. 0xb5c,Dropping relay link to 0xb5d,Breaking connection to 0xb5e,Relay broken 0xb5f,Ping timeout 0xb60,unleaflike behavior 0xb61,Dropped bot 0xb62,Already linking to that bot. 0xc00,I don't accept DCC chats from strangers. 0xc01,Refused DCC chat (no access) 0xc02,No access 0xc03,You must have a password set. 0xc04,Refused DCC chat (no password) 0xc05,Refused DCC chat (+x but no file area) 0xc07,Too many people are in the file area right now. 0xc0c,Sorry, too many DCC connections. 0xc0d,DCC connections full: %s %s (%s!%s) 0xc19,Failed to connect 0xc1a,DCC connection failed 0xc1c,Enter your password. 0xc1d,%s has been forcibly removed for flooding.\n 0xc1e,-=- poof -=-\n 0xc1f,You've been booted from the %s by %s%s%s\n 0xc20,%s booted %s from the party line%s%s 0xc21,Refused DCC chat (invalid port) 0xc22,DCC invalid port 0xd00,Floating in limbo (no IRC interaction) # BOTNET 0xe00,Fake message rejected 0xe01,Linked to 0xe02,Wrong bot--wanted %s, got %s 0xe03,has left the 0xe04,has joined the 0xe05,is now away 0xe06,is no longer away 0xe07,Nick Change: # dcc.c Messages 0xe08,Rejecting link from %s 0xe09,Linked to %s. 0xe0a,Failed link to %s. 0xe0b,Bad password on connect attempt to %s. 0xe0c,Password required for connection to %s. 0xe0d,ERROR linking %s: %s 0xe0e,Lost Bot: %s 0xe0f,Timeout: bot link to %s at %s:%d 0xe10,Logged in: %s (%s/%d) 0xe11,Bad Password: [%s]%s/%d 0xe12,Negative on that, Houston.\n 0xe13,*** %s has joined the party line.\n 0xe14,Lost dcc connection to %s (%s/%d) 0xe15,Password timeout on dcc chat: [%s]%s 0xe16,DCC connection closed (%s!%s) 0xe17,Failed TELNET incoming (%s) 0xe18,Refused %s/%d (bad src port) # 0xe19 - unused 0xe1a,Refused %s (bad hostname) 0xe1b,Telnet connection: %s/%d 0xe1c,Ident failed for %s: %s 0xe1d,(!) Listening port %d abruptly died. 0xe1e,Refused %s (bad nick) 0xe1f,Refused %s (non-bot) 0xe20,Refused %s (non-user) 0xe21,Refused %s (invalid handle: %s) 0xe22,Refused telnet connection from %s (duplicate) 0xe23,Refused [%s]%s (no password) 0xe24,Lost telnet connection to %s/%d 0xe25,Ident timeout on telnet: %s 0xe26,Bot installation complete, first master is %s 0xe27,New user via telnet: [%s]%s/%d 0xe28,Lost new telnet user (%s/%d) 0xe29,Lost new telnet user %s (%s/%d) 0xe2a,Timeout on new telnet user: %s/%d 0xe2b,Timeout on new telnet user: [%s]%s/%d 0xe2c,Tcl error [%s]: %s 0xe2d,*** ATTENTION: DEAD SOCKET (%d) OF TYPE %s UNTRAPPED 0xe2e,Lost connection while identing [%s/%d] 0xe2f,Timeout/EOF ident connection 0xe30,Lost ident wait telnet socket!! 0xe31,Denied telnet: %s, No Access 0xe32,Refused telnet connection from %s (tried using my botnetnick) 0xe33,Lost telnet connection from %s while checking for duplicate eggdrop1.6.21/logs/0000775000076600007660000000000011651664652013515 5ustar simplesimpleeggdrop1.6.21/logs/CONTENTS0000664000076600007660000000063711525764165014703 0ustar simplesimple$Id: CONTENTS,v 1.11 2011/02/13 14:19:33 simple Exp $ Directory Contents - logs/ Last revised: August 08, 2004 _____________________________________________________________________ Directory Contents - logs/ This is a good place to put your logfiles. _____________________________________________________________________ Copyright (C) 2001 - 2011 Eggheads Development Team eggdrop1.6.21/config.h.in0000664000076600007660000003010711637166244014573 0ustar simplesimple/* config.h.in. Generated from configure.ac by autoheader. */ /* * Copyright (C) 1997 Robey Pointer * Copyright (C) 1999 - 2011 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. */ #ifndef _EGG_CONFIG_H #define _EGG_CONFIG_H /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define if running on Mac OS X with dns.mod. */ #undef BIND_8_COMPAT /* Define if running on NeXT Step. */ #undef BORGCUBES /* Define to use Eggdrop's snprintf functions regardless of HAVE_SNPRINTF. */ #undef BROKEN_SNPRINTF /* Define if running under Cygwin. */ #undef CYGWIN_HACKS /* Define for context debugging. */ #undef DEBUG_CONTEXT /* Define if running on SunOS 4.0. */ #undef DLOPEN_1 /* Arguments passed to configure */ #undef EGG_AC_ARGS /* Define the maximum length of handles on the bot. */ #undef EGG_HANDLEN /* Defines the extension of Eggdrop modules. */ #undef EGG_MOD_EXT /* Defines the current Eggdrop version. */ #undef EGG_VERSION /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the `clock' function. */ #undef HAVE_CLOCK /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `dlopen' function. */ #undef HAVE_DLOPEN /* Define to 1 if you have the header file. */ #undef HAVE_DL_H /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ #undef HAVE_DOPRNT /* Define to 1 if you have the `dprintf' function. */ #undef HAVE_DPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC /* Define to 1 if you have the `getdtablesize' function. */ #undef HAVE_GETDTABLESIZE /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the `getrusage' function. */ #undef HAVE_GETRUSAGE /* Define to 1 if you have the `inet_aton' function. */ #undef HAVE_INET_ATON /* Define to 1 if the system has the type `intptr_t'. */ #undef HAVE_INTPTR_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the `dld' library (-ldld). */ #undef HAVE_LIBDLD /* Define to 1 if you have the `dns' library (-ldns). */ #undef HAVE_LIBDNS /* Define to 1 if you have the `nsl' library (-lnsl). */ #undef HAVE_LIBNSL /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define to 1 if you have the `load' function. */ #undef HAVE_LOAD /* Define to 1 if you have the header file. */ #undef HAVE_LOADER_H /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the `lrand48' function. */ #undef HAVE_LRAND48 /* Define to 1 if you have the header file. */ #undef HAVE_MACH_O_DYLD_H /* Define to 1 if you have the header file. */ #undef HAVE_MACH_O_RLD_H /* Define to 1 if you have the `mbrlen' function. */ #undef HAVE_MBRLEN /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the `NSLinkModule' function. */ #undef HAVE_NSLINKMODULE /* Define to 1 if you have the `rand' function. */ #undef HAVE_RAND /* Define to 1 if you have the `random' function. */ #undef HAVE_RANDOM /* Define to 1 if you have the `rename' function. */ #undef HAVE_RENAME /* Define to 1 if you have the header file. */ #undef HAVE_RLD_H /* Define to 1 if you have the `rld_load' function. */ #undef HAVE_RLD_LOAD /* Define to 1 if you have the `setpgid' function. */ #undef HAVE_SETPGID /* Define to 1 if you have the `shl_load' function. */ #undef HAVE_SHL_LOAD /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define to 1 if you have the `sigemptyset' function. */ #undef HAVE_SIGEMPTYSET /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the `socklen_t' type. */ #undef HAVE_SOCKLEN_T /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* 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 /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the `strftime' function. */ #undef HAVE_STRFTIME /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strncasecmp' function. */ #undef HAVE_STRNCASECMP /* Define to 1 if `tm_zone' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_DIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILE_H /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_NDIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_RUSAGE_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define for Tcl that has Tcl_Free() (7.5p1 and later). */ #undef HAVE_TCL_FREE /* Define for Tcl that has Tcl_GetCurrentThread() (8.1a2 and later). */ #undef HAVE_TCL_GETCURRENTTHREAD /* Define for Tcl that has Tcl_GetThreadData() (8.1a2 and later). */ #undef HAVE_TCL_GETTHREADDATA /* Define for Tcl that has the Tcl_NotifierProcs struct member initNotifierProc (8.4 and later). */ #undef HAVE_TCL_NOTIFIER_INIT /* Define for Tcl that has Tcl_SetNotifier() (8.2b1 and later). */ #undef HAVE_TCL_SETNOTIFIER /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ #undef HAVE_TM_ZONE /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ #undef HAVE_TZNAME /* Define to 1 if you have the `uname' function. */ #undef HAVE_UNAME /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF /* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define if modules will work on your system. */ #undef MODULES_OK /* Define if modules should be loaded using the dl*() functions. */ #undef MOD_USE_DL /* Define if modules should be loaded using the NS*() functions. */ #undef MOD_USE_DYLD /* Define if modules should be loaded using the ldr*() and *load() functions. */ #undef MOD_USE_LOADER /* Define if modules should be loaded using the rld_*() functions. */ #undef MOD_USE_RLD /* Define if modules should be loaded using the shl_*() functions. */ #undef MOD_USE_SHL /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if running under QNX. */ #undef QNX_HACKS /* Define to the type of arg 1 for `select'. */ #undef SELECT_TYPE_ARG1 /* Define to the type of args 2, 3 and 4 for `select'. */ #undef SELECT_TYPE_ARG234 /* Define to the type of arg 5 for `select'. */ #undef SELECT_TYPE_ARG5 /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if running on OSF/1 platform. */ #undef STOP_UAC /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to the type of a signed integer type wide enough to hold a pointer, if such a type exists, and if the system does not define it. */ #undef intptr_t /* Define to `int' if does not define. */ #undef pid_t /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile #endif /* !_EGG_CONFIG_H */ eggdrop1.6.21/FEATURES0000664000076600007660000000466711525764164013726 0ustar simplesimple$Id: FEATURES,v 1.25 2011/02/13 14:19:32 simple Exp $ Features of Eggdrop Last revised: June 05, 2002 _____________________________________________________________________ Features of Eggdrop Eggdrop is the most advanced IRC robot available. It has been under development since December 1993, and unlike most other bots, it is still regularly updated. Some of its features include: * Completely separate channel user lists like having a separate bot for each channel. * A "party line" available through dcc chat or telnet, with multiple channels, giving you the ability to talk to people without being affected by netsplits. * A "botnet". A botnet consists of one or more bots linked together. This can allow bots to op each other securely, control floods efficiently, and share user lists, ban lists, exempt/invite lists, and ignore lists (if sharing is enabled). * User records are saved on disk and alterable via dcc chat. Each user can have a password (encrypted), a list of valid hostmasks, a set of access flags, etc. * The ability to "learn" new users (if you choose to let the bot do so) by letting users /MSG the bot "hello". The bot will grant them automatic access of whatever type you specify (or even no access at all). * A file system where users can upload and download files in an environment that looks and acts (for the most part) like a typical UNIX system. It also has the ability to mark files and directories as hidden -- unaccessible to people without certain user flags. * Console mode: you can view each channel through dcc chat or telnet, selectively looking at mode changes, joins and parts, channel talk, or any combination of the above. * A scripting language: commands and features can be easily added to the bot by means of the Tcl scripting language, giving you the power of TOTAL customization of your bot. * Module support: you can remove/add features to your bot by adding or removing modules. NOTE: This bot is NOT intended for users of very limited MEMORY or DISK shell accounts. The development of this latest design of Eggdrop is geared towards features and flexibility. _____________________________________________________________________ Copyright (C) 1997 Robey Pointer Copyright (C) 2000 - 2011 Eggheads Development Team eggdrop1.6.21/disabled_modules0000664000076600007660000000063107477045756016004 0ustar simplesimple# 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 $ # # Note: # - Lines which start with a '#' character are ignored. # - Every module name needs to be on its own line # Woobie only serves as an example for module programming. No need to # compile it for normal bots ... woobie eggdrop1.6.21/ChangeLog0000664000076600007660000151225711651664652014340 0ustar simplesimple2011-10-25 10:45 thommey * THANKS, doc/Changes1.6, src/patch.h, src/mod/server.mod/server.c: Added missing read trace flag to the nick-len variable trace after being unset to make the trace be removed properly on unload. 2011-10-02 14:51 pseudo * doc/: ABOUT, COMPILE-GUIDE, Changes1.6, html/about.html, html/compiling.html: Updated instructions for compilation under Cygwin. Updated space requirements a bit. 2011-10-02 14:11 pseudo * doc/Changes1.6, src/patch.h, src/mod/share.mod/share.c: Fixed an ancient bug resulting in sending uninitialized strings when sharing bot addresses. 2011-10-02 12:25 pseudo * THANKS, doc/Changes1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: Altered the permission check on the pls/mns ban/exempt/invite commands from USER_MASTER to USER_OP to allow global operators to set global bans. 2011-10-02 12:21 pseudo * doc/Changes1.6, src/dcc.c, src/patch.h: Made dcc_telnet_new() allow non-latin characters in new handles like other handle validation functions. 2011-10-02 11:34 pseudo * aclocal.m4, configure, doc/Changes1.6, src/patch.h: Removed -mwin32 on Windows. It's no longer necessary and causes problems with Cygwin 1.7. 2011-09-23 14:31 thommey * THANKS, aclocal.m4, config.h.in, configure, eggdrop.conf, doc/Changes1.6, doc/html/mod-channels.html, src/bg.c, src/chanprog.c, src/main.c, src/mod/Makefile.in, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/channels.help, src/mod/compress.mod/configure, src/mod/dns.mod/configure: backport some 1.8 changes 2011-09-19 08:38 thommey * doc/: Changes1.6, html/tcl-commands.html: backport 1.8 docfix in the html tcl-commands for bind cron 2011-09-09 15:37 thommey * doc/Changes1.6, src/patch.h, src/tcl.c: Fixed a bug in the mainloop for Tcl threads which is now also being used as vwait/update recursion mainloop. 2011-08-15 12:16 thommey * THANKS, doc/Changes1.6, src/mem.c: Removed debug output accidentally checked in. 2011-08-13 16:44 pseudo * doc/: Changes1.6, html/tcl-commands.html: Fixed a typo in the html documentation. 2011-08-08 17:45 pseudo * doc/Changes1.6, help/cmds2.help: Fixed the .match command help. 2011-08-08 16:37 pseudo * doc/Changes1.6, src/patch.h, src/mod/dns.mod/dns.c: Fixed a bug in the backported dns-settings patch where dns_change() would call iptostr() with inappropriate argument. 2011-07-31 14:15 thommey * doc/Changes1.6, src/patch.h, src/tcl.c, src/tclhash.h: Partially revert changes to vwait/update. 2011-07-20 04:54 thommey * config.h.in, configure, doc/Changes1.6: Ran autotools. 2011-07-20 04:54 thommey * aclocal.m4, doc/Changes1.6: More AC_LANG_* usage. 2011-07-20 04:50 thommey * aclocal.m4, configure.ac, doc/Changes1.6, src/patch.h, src/mod/channels.mod/channels.c: Work around Tcl8.5.10 bug 3371644. Use the autoconf macros AC_LANG_PROGRAM/AC_LANG_SOURCE. 2011-07-09 09:07 thommey * THANKS, aclocal.m4, config.h.in, configure.ac, eggdrop.conf, doc/COMPILE-GUIDE, doc/Changes1.6, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/Versions, doc/tcl-commands.doc, doc/html/app-textsub.html, doc/html/compiling.html, doc/html/patch-howto.html, doc/html/tcl-commands.html, src/Makefile.in, src/dns.c, src/eggdrop.h, src/main.c, src/main.h, src/mem.c, src/misc.c, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/tcl.c, src/tclegg.h, src/tclhash.c, src/compat/Makefile.in, src/compat/compat.h, src/compat/strdup.c, src/compat/strdup.h, src/md5/Makefile.in, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/configure.ac, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure.ac, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: Backport changes from 1.8. Set eggdrop version to 1.6.21. 2011-04-01 06:22 pseudo * doc/Changes1.6, src/patch.h, src/mod/channels.mod/udefchan.c: Fixed getudef() to return intptr_t instead of int to prevent crashes on 64-bit systems. Backport of the 1.8 patch. 2011-04-01 06:10 pseudo * aclocal.m4, config.h.in, configure, doc/Changes1.6, src/eggdrop.h, src/patch.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac: Fixed dns.mod on QNX6/Mac OS X/Solaris. Rewrote dns.mod's autoconf checks to detect the resolver library properly on Darwin/Solaris/QNX6. Backport of the 1.8 patch. 2011-04-01 05:59 pseudo * eggdrop.conf, doc/Changes1.6, doc/html/mod-dns.html, doc/settings/mod.dns, src/patch.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c: Replaced most dns.mod preprocessor definitions with config variables. Added support for user-specified dns servers and non-standard ports. Backport of the 1.8 patch. 2011-02-13 08:19 simple * AUTHORS, CONTENTS, FEATURES, INSTALL, NEWS, README, THANKS, aclocal.m4, config.h.in, configure, configure.ac, doc/ABOUT, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/USERS, doc/Versions, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-transfer.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/killwhitespace, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: Freshened Copyrights to 2011 2010-07-12 10:18 thommey * doc/Changes1.6, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: Add sanity check to check-stoned event. Prevents eggdrop from disconnecting in case of drift timers. 2010-07-12 09:40 thommey * doc/Changes1.6, src/main.c, src/net.c, src/proto.h, src/tcl.c, src/tclhash.h: Unwind all nested [vwait] calls before performing a restart. Prevents Tcl_Panic() when deleting active interpreter. Make sure traces are looked up in the global scope. Give eggdrop events priority over Tcl events so they can't starve it. 2010-07-10 08:54 pseudo * src/mod/channels.mod/: channels.c, channels.h, cmdschan.c, tclchan.c: Channels weren't read from the chanfile. 2010-07-09 17:29 pseudo * doc/Changes1.6, src/patch.h, src/mod/channels.mod/channels.c: Fixed a problem with channels added in the config getting deleted after the config is loaded. The chanfile is now saved before and after rehash instead of being reloaded after. 2010-07-09 11:21 pseudo * doc/: Changes1.6, html/index.html: Added mod-transfer.html to index.html 2010-07-09 09:33 thommey * doc/Changes1.6, src/main.c, src/net.c, src/tcl.c: Make sure tickle_WaitForEvent returns 1 when anything was done. This was not done if Tcl socket handlers were called. It is required to make Tcl_DoOneEvent() break out of its loop for vwait. Don't use Tcl_SetServiceMode(), Tcl handles that. 2010-07-08 13:23 pseudo * doc/Changes1.6, src/modules.c, src/patch.h, src/mod/module.h: Added log_ts to the modules function table to keep modules relying on the old LOG_TS #define working. 2010-07-07 15:05 thommey * doc/Changes1.6, src/main.c: Restore socket_cleanup functionality, was broken by the notifier patch. 2010-07-07 10:25 thommey * doc/Changes1.6, src/main.c, src/patch.h: Fixed detection of eggdrop already running on startup. 2010-07-05 06:07 pseudo * eggdrop.conf, doc/Changes1.6, doc/MODULES, doc/html/mod-seen.html, doc/settings/mod.seen, src/userrec.c: Changed the URL of gseen.mod in docs. Fixed a minor problem with special dcc handles like (telnet), (dns), etc. 2010-07-02 15:56 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, scripts/compat.tcl, src/patch.h, src/tcldcc.c: Added a -raw argument to tcl_putdcc(). Modified putdccraw in compat.tcl to use putdcc -raw 2010-07-02 09:41 pseudo * THANKS, doc/Changes1.6: Added few contributors to the THANKS file 2010-07-01 13:02 thommey * AUTHORS, doc/Changes1.6: Added CVE references to the Changes file, added simple to AUTHORS 2010-07-01 12:09 thommey * AUTHORS, THANKS: More anticipation of the (usually automatically generated) THANKS and AUTHORS file 2010-07-01 12:05 thommey * THANKS: Fixed some stuff in the THANKS file. I know this should be autogenerated, but manual fixing is better than no fixing. 2010-07-01 10:10 thommey * configure, doc/Changes1.6, src/cmds.c, src/match.c, src/tclmisc.c, src/tcluser.c, src/userrec.c, src/mod/channels.mod/cmdschan.c, src/mod/compress.mod/configure, src/mod/dns.mod/configure, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/tclirc.c, src/mod/uptime.mod/uptime.c: Ran misc/killwhitespace and misc/runautotools 2010-06-30 15:12 thommey * doc/Changes1.6, src/net.c, src/patch.h: Prevent uninitialized memory access that became visible due to the notifier overwrite. Use memmove when strcpy targets overlap. 2010-06-29 09:52 thommey * aclocal.m4, config.h.in, configure, configure.ac, eggdrop.conf, doc/Changes1.6, doc/html/egg-core.html, help/core.help, help/set/cmds1.help, src/bg.c, src/botnet.c, src/chanprog.c, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/main.c, src/main.h, src/misc.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/mod/module.h, src/mod/dns.mod/coredns.c, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c: Overwrite the Tcl notifier with our own version of it if possible. Integrate Tcl events and sockets into our own eventloop and socketlist. Don't fork() before initializing Tcl anymore with overwritten notifier. Replace max-dcc with a dynamically enlarging array, limited by the new setting max-socks. Add two configure checks against the Tcl library to check if the notifier can be replaced. 2010-06-28 15:13 thommey * doc/Changes1.6, scripts/compat.tcl, src/patch.h: Modified compat.tcl version of time to allow accessing Tcl's time command if any arguments are passed to it. 2010-06-26 14:26 pseudo * doc/Changes1.6, src/main.c, src/patch.h: Removed root uid check when compiled on Cygwin, as it was reported to cause problems for some cygwin installations, while it doesn't provide any protection, as administrator accounts appear as non-zero uids anyway. 2010-06-17 14:44 simple * THANKS: Added 'simple' and 'rfc' to the THANKS file 2010-03-24 07:14 pseudo * eggdrop.conf, doc/Changes1.6, doc/settings/mod.channels, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help: Channels added in the config are no longer static. Added access to the static flag via new channel setting, available to permanent owners only. Removed the example channel adds from eggdrop.conf. 2010-03-23 09:25 pseudo * eggdrop.conf, doc/Changes1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: Changed some eggdrop.conf settings. .set and .tcl are no longer unbound by default. Made .+chan check if the user is permitted to set the need-* settings. 2010-03-21 14:41 pseudo * doc/Changes1.6, src/patch.h, src/tclhash.c: Fixed a crash when restarting, related to bind log. 2010-03-18 09:19 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/match.c, src/patch.h, src/tclmisc.c: Modified cron_match() to match Sunday as both 0 and 7. Fixed some spelling errors. 2010-03-14 12:34 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/tclmisc.c: Added new Tcl command 'matchstr' as a simplified alternative to Tcl's string match. 2010-03-14 12:30 pseudo * doc/Changes1.6, src/patch.h, src/mod/uptime.mod/uptime.c: Added Brian Greenberg's patch to randomize the uptime update interval. 2010-03-14 12:21 pseudo * Makefile.in, aclocal.m4, config.h.in, configure, configure.ac, doc/Changes1.6, src/eggdrop.h, src/patch.h: Added a configure option to set the handlen Added a configure option to enable dns debugging and made it default for make debug. Removed obsolete check for broken sscanf from configure. 2010-03-13 16:49 pseudo * doc/: Changes1.6, html/mod-transfer.html: Added missing mod-transfer.html. Thanks to mike.ds 2010-03-08 14:52 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/misc.c, src/patch.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c: Added a new bind LOG triggered when text is sent to the logs. 2010-03-08 10:01 thommey * doc/Changes1.6, src/cmds.c: Fixed a bug in checking user priviledges for .chaddr on sharebots. 2010-03-08 05:18 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/main.c, src/match.c, src/patch.h, src/proto.h, src/tclegg.h, src/tclhash.c, src/tclhash.h: Added a new bind CRON as a crontab-like alternative to bind TIME. 2010-02-20 12:33 pseudo * doc/Changes1.6, src/main.c, src/patch.h: Removed some CYGWIN_HACKS that aren't needed anymore. 2010-02-18 07:11 pseudo * doc/Changes1.6, src/patch.h, src/mod/dns.mod/coredns.c: Fixed dns.mod SIGBUS crashes on 64-bit Sparc. Fixes Bugzilla Bug # 454 "Eggdrop crashes on sun sparc running debian etch" 2010-02-18 07:03 pseudo * doc/Changes1.6, src/chanprog.c, src/cmds.c, src/patch.h, src/mod/channels.mod/cmdschan.c: Got rid of some compile warnings related to passing possibly signed chars to tolower(). 2010-02-18 03:52 pseudo * config.h.in, configure, configure.ac, doc/Changes1.6, src/botcmd.c, src/cmds.c, src/cmdt.h, src/eggdrop.h, src/flags.h, src/main.h, src/modules.c, src/modules.h, src/patch.h, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/mod/module.h, src/mod/assoc.mod/assoc.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/msgcmds.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c, src/mod/wire.mod/wire.c: Changed the definition of the 'Function' type to avoid data loss with functions returning 64-bit types. 64-bit builds will no longer crash due to pointers being truncated to 32 bits. Created new function pointer type 'IntFunc' for use only with functions returning int. Fixes Bugzilla Bug # 485 "64-bit eggdrop builds crash on some systems" 2010-02-09 08:51 thommey * doc/Changes1.6, src/patch.h, src/mod/notes.mod/notes.c, src/mod/notes.mod/language/notes.danish.lang, src/mod/notes.mod/language/notes.english.lang, src/mod/notes.mod/language/notes.finnish.lang, src/mod/notes.mod/language/notes.french.lang, src/mod/notes.mod/language/notes.german.lang: Fixed a minor notes.mod formatting bug when displaying dcc usage. 2010-02-07 11:21 pseudo * doc/Changes1.6, src/modules.c, src/patch.h, src/tcluser.c, src/userent.c, src/users.c, src/users.h, src/mod/module.h, src/mod/channels.mod/tclchan.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c: Renamed list_delete/list_append/list_contains functions to egg_list_* due to request to avoid conflicts with MySQL headers. 2010-02-06 03:20 pseudo * doc/Changes1.6, src/mod/channels.mod/channels.c, src/mod/console.mod/console.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/server.mod/server.c: Updated module versions and dependencies for the console, channels, irc and server modules. 2010-02-04 07:56 simple * src/eggdrop.h: Fixed a small spelling mistake, and some caps consistency. 2010-02-03 02:58 pseudo * doc/Changes1.6, src/match.c, src/patch.h: Don't assume cidr notation for hostmasks with slashes, unless the string portion after the slash consists only of digits. 2010-01-26 03:39 pseudo * eggdrop.conf, doc/Changes1.6, src/eggdrop.h: Fixed the STRIP_ALL flag used with strip_mirc_codes() to actually work. 2010-01-25 21:12 tothwolf * aclocal.m4, config.h.in, configure, configure.ac, doc/COMPILE-GUIDE, doc/Changes1.6, doc/html/compiling.html, src/bg.c, src/chanprog.c, src/main.c, src/patch.h, src/tcl.c, src/tclegg.h: Added runtime check using Tcl_GetCurrentThread() to autodetect a threaded Tcl library when compiled and linked against Tcl 8.1 and later. Replaced EGG_TCL_ENABLE_THREADS and EGG_TCL_CHECK_THREADS autoconf macros with EGG_TCL_CHECK_GETCURRENTTHREAD. 2010-01-25 14:11 pseudo * doc/Changes1.6, src/dcc.c, src/patch.h, src/userrec.c: Fixed a fixfrom() bug, breaking userhost matching. Fixed a bug in telnet autodetection, which prevented cvs bots from linking reliably with bots running older versions. 2010-01-23 12:34 tothwolf * config.h.in: * Regenerated config.h.in with autoheader 2010-01-15 13:51 pseudo * eggdrop.conf, doc/Changes1.6, doc/html/egg-core.html, doc/settings/core.settings, help/core.help, help/set/cmds1.help, src/eggdrop.h, src/main.c, src/misc.c, src/patch.h, src/tcl.c, src/mod/channels.mod/channels.c: Replaced the LOG_TS definition with a config variable "timestamp-format", defaulting to "[%H:%M:%S]". Added support for silent backups and logfile switching with higher quiet-save values. Patch by: pseudo 2010-01-10 16:28 pseudo * eggdrop.conf, doc/Changes1.6, doc/html/egg-core.html, doc/html/mod-server.html, doc/settings/core.settings, doc/settings/mod.server, help/set/cmds1.help, src/patch.h, src/userrec.c, src/mod/server.mod/help/set/server.help: Moved strict-host documentation to the core section, where it belongs and added a warning to discourage it's usage in the future. Rewrote fixfrom() to not modify it's string argument. Fixes Bugzilla Bug # 423 "Enforcement of Non-matching Bans" Found by: BarkerJr / Patch by: pseudo 2010-01-07 07:48 pseudo * eggdrop.conf, doc/Changes1.6, doc/tcl-commands.doc, doc/html/egg-core.html, doc/html/tcl-commands.html, doc/settings/core.settings, help/set/cmds1.help, src/match.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/tclmisc.c, src/userent.c, src/userrec.c, src/users.c, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/userchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: Added CIDR support to eggdrop. This includes accepting and matching b/e/I masks and user hosts in cidr notation. Moved rfc_toupper from wild_match() to the new addr_match(). Added two new Tcl commands - matchaddr and matchcidr to provide interface to the new internal host matching. Patch by: pseudo 2010-01-04 12:38 pseudo * doc/Changes1.6, src/tcl.c: Changed GetInt / GetIntFromObj's Tcl_Interp argument to NULL in tcl_resultint() to avoid an unneeded error message being stored in the interp result. Patch by: pseudo 2010-01-04 07:15 pseudo * README, doc/Changes1.6, src/botcmd.c, src/cmds.c, src/dcc.c, src/eggdrop.h, src/tcldcc.c, src/tcluser.c, src/mod/irc.mod/cmdsirc.c, src/patch.h: Modified various checks to allow non-latin characters in handles. Added missing checks to tcl_adduser() and tcl_chhand(). Added telnet autodetection to src/dcc.c. Made changes to stop interpreting telnet codes from bots. Reworked telnet handlers to properly understand and escape character 0xff in data. Fixes Bugzilla Bug # 419 "droped chars when sharing" Patch by: pseudo 2010-01-03 08:48 pseudo * README, doc/Changes1.6, doc/tcl-commands.doc, doc/html/readme.html, doc/html/tcl-commands.html: Various minor docfixes. Patch by: pseudo 2010-01-03 07:27 pseudo * AUTHORS, CONTENTS, FEATURES, INSTALL, NEWS, README, THANKS, aclocal.m4, config.h.in, configure, configure.ac, doc/ABOUT, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/Changes1.6, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/USERS, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/killwhitespace, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: Updated copyright dates Patch by: pseudo 2009-12-24 04:31 pseudo * doc/Changes1.6, src/language.c, src/patch.h: Fixed a potential crash in read_lang() with lines > 512 characters in language files. Added support for lines of unlimited size. Patch by: pseudo 2009-12-16 11:56 tothwolf * README: * Fixed another link for geteggdrop.com 2009-12-16 11:55 tothwolf * doc/: COMPILE-GUIDE, html/compiling.html, html/readme.html: * Fixed links for geteggdrop.com 2009-11-26 03:32 pseudo * doc/Changes1.6, help/cmds1.help, src/cmds.c, src/modules.c, src/patch.h, src/proto.h, src/tcluser.c, src/userrec.c, src/users.c, src/mod/module.h, src/mod/console.mod/console.c: Moved console flags validation from cmd_console() to a separate function check_conflags(). Added calls to check_dcc_attrs() / check_dcc_chanattrs in tcl_chattr() to make the behaviour consistent between all chattr functions. Added calls to check_conflags() in check_dcc_attrs/check_dcc_chanattrs() and chon_console() in order to ensure users will not retain privileged console flags if their access gets downgraded. Fixes Bugzilla Bug # 133 ".chattr / .console bug" Found by: DarkReap1 / Patch by: pseudo 2009-11-23 03:42 pseudo * eggdrop.conf, doc/Changes1.6, doc/html/mod-channels.html, doc/settings/mod.channels, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/help/set/channels.help: Introduced new config variable allow-ps to allow chanmode optionally enforce both +ps at the same time. Fixes Bugzilla Bug # 414 "channel modes +s and +p on ts5 network" Found by: Ofloo / Patch by: pseudo 2009-11-21 17:12 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/chan.h, src/misc.c, src/modules.c, src/patch.h, src/mod/channels.mod/channels.h, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/irc.mod/help/msg/irc.help, src/mod/server.mod/tclserv.c: Modified reset_chan_info() to support independent reset of various information through flags. Updated tcl_resetchan() to make use of this. Removed redundant TOPIC requests and optimized the channel join/reset code to ask for b/e/I modes in one message. Added safety checks after some mode bind triggers to avoid accessing freed memory and not up-to-date flag records. Added two new Tcl commands: resetchanidle and resetchanjoin. Modified the channel reset logic to perform live updates on the member list without deleting and readding members. Channel mode changes with the bot as a target now trigger mode binds without initial blind delays during channel join/reset. Fixes Bugzilla Bug # 385 "MODE - bug, when bot just joined the chan" Found by: gernot@rockstarvienna.com / Patch by: pseudo 2009-11-15 07:10 pseudo * doc/Changes1.6, src/cmds.c, src/flags.c, src/patch.h, src/tcluser.c: Modified build_flags() to not repeat global bot flags when both bot and chan flags are requested. Fixed tcl_botattr() and tcl_chattr() to return only bot-specific or user-specific flags respectively. Fixes Bugzilla Bug # 484 "botattr tcl command returns bot channel flags incorrectly" Found by: Pixelz / Patch by: pseudo 2009-10-31 09:18 thommey * doc/Changes1.6, src/match.c, src/patch.h: updated patch.h, changed _wild_match_per behaviour 2009-10-31 08:43 thommey * doc/Changes1.6, src/match.c, src/proto.h, src/tclegg.h, src/tclhash.c, src/mod/module.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h: Make mode binds case-sensitive for the mode change. Fixes Bug # 476. 2009-10-30 10:02 thommey * doc/Changes1.6, src/chan.h, src/patch.h, src/mod/irc.mod/irc.c: Only whine once about the opless state of a channel. Fixes Bug # 483 2009-10-25 09:19 pseudo * README, eggdrop.conf, doc/ABOUT, doc/COMPILE-GUIDE, doc/Changes1.6, doc/TRICKS, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-tricks.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/readme.html, doc/html/tcl-commands.html, doc/man1/eggdrop.1, doc/settings/core.settings, help/set/cmds1.help, language/core.english.lang, src/mod/transfer.mod/language/transfer.english.lang: Fixed some spelling errors in the documentation. Improved the description of the getchanjoin Tcl command in the docs. Patch by: pseudo 2009-10-25 04:57 pseudo * doc/Changes1.6, src/cmds.c, src/patch.h: Modified cmd_mns_host() to allow masters use -host even if they are +d/+k. Fixes Bugzilla Bug # 446 "channel flag +d/+k prevents using of .-host even if using against others" Found by: De Kus / Patch by: pseudo 2009-10-12 08:10 thommey * doc/Changes1.6, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dns.c, src/main.c, src/misc.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/users.c, src/mod/server.mod/server.c: Replace deprecated Tcl result access method. Fixes Bug # 472. 2009-10-09 16:24 pseudo * doc/Changes1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, scripts/compat.tcl, src/patch.h, src/tcldcc.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c: Added a new bind "OUT" to server.mod. Triggered when a message is sent to the server. Modified tcl_putnow() to support sending multiple lines at once. Changed tcl_putdccraw() to always return an error. It's deprecated in favor of putdcc / putnow. Added a putdccraw replacement to scripts/compat.tcl Patch by: pseudo 2009-10-09 05:16 pseudo * doc/Changes1.6, src/tclmisc.c: Added stricter argument checking to tcl_logfile(). Fixes Bugzilla Bug # 432 "Logfile Tcl Command Lacks Validation" Replaced a sequence of unsafe calls to strcat() with a snprintf(). Found by: TothWolf / Patch by: pseudo 2009-10-02 05:16 pseudo * doc/Changes1.6, src/patch.h, src/mod/irc.mod/msgcmds.c: Made eggdrop log the channel name for /MSG GO commands. Fixes Bugzilla Bug # 452 "Failed GO Messages Should Include Channel Name" Found by: BarkerJr / Patch by: pseudo 2009-10-02 03:47 pseudo * doc/Changes1.6: Added bugreporter names for recent patches to doc/Changes1.6. Patch by: pseudo 2009-10-01 15:33 pseudo * doc/Changes1.6, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: Fixed bugs in the tcl_eggserver() and next_server() logic. Fixes Bugzilla entry #468 ".jump fails if the server list is empty, even when a server name is supplied." Found by: Dan / Patch by: pseudo 2009-10-01 09:52 pseudo * eggdrop.conf, doc/Changes1.6, doc/tcl-commands.doc, doc/html/mod-server.html, doc/html/tcl-commands.html, doc/settings/mod.server, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/tclserv.c, src/mod/server.mod/help/server.help, src/mod/server.mod/help/set/server.help: Added a msg-rate config variable, to replace the current #define msgrate in server.mod. Added new command [putnow] for bypassing the queueing system to be used instead of [putdccraw]. Equivalent to [putserv noqueue] in eggdrop 1.9. Patch by: pseudo 2009-10-01 09:24 pseudo * doc/Changes1.6, src/patch.h, src/mod/notes.mod/notes.c: Fixed a reversed pointer check in join_notes(). Fixes Bugzilla Bug # 455: "Possible segment violation in join_notes" Patch by: pseudo 2009-10-01 09:02 pseudo * doc/Changes1.6, src/patch.h, src/mod/irc.mod/chan.c: Made eggdrop request ban/invite exception lists when (half)opped, if getting them on join fails. Fixes Bugzilla Bug # 465 "channel exempts not loaded properly on EFNET" Patch by: pseudo 2009-10-01 08:56 pseudo * doc/Changes1.6, src/patch.h, src/tclmisc.c: Replaced a mistaken typecast with the proper one and eliminates the last remaining compile warning. Fixes Bugzilla Bug # 450 "some warning during compile" Patch by: pseudo 2009-10-01 08:50 pseudo * doc/Changes1.6, scripts/CONTENTS, src/patch.h: Added dccwhois.tcl, quotepass.tcl and quotepong.tcl to scripts/CONTENTS Fixes Bugzilla Bug # 480 "scripts/CONTENTS missing data" Patch by: pseudo 2009-10-01 08:38 pseudo * doc/Changes1.6, src/patch.h, src/mod/irc.mod/help/msg/irc.help: Updated msg/irc.help to include /MSG commands available to halfops. Fixes Bugzilla Bug # 475 "halfop and dehalfop missing from message help display" Patch by: pseudo 2009-09-22 14:30 thommey * doc/Changes1.6, src/patch.h, src/mod/irc.mod/msgcmds.c: The KEY msg command now logs on success. Fixes Bugzilla # 482 Found by: Rickard Utgren / Patch by: Freeder 2009-09-21 18:09 thommey * doc/Changes1.6, src/patch.h, src/tcldcc.c: Removed blank at the end of wrong args tcl error for restart/rehash 2009-05-16 08:16 tothwolf * doc/Changes1.6, src/botcmd.c, src/chanprog.c, src/dns.c, src/net.c, src/patch.h, src/tcl.c, src/tclmisc.c, src/userent.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/notes.c, src/mod/server.mod/server.c: Fixed a number of compiler warnings due to recent versions of GCC. Fixes Bugzilla Bug # 450 "some warning during compile" Patch by: pseudo 2009-05-16 07:16 tothwolf * doc/Changes1.6, src/patch.h, src/users.c: Fixed potential buffer overflow in readuserfile() that can occur on a leaf bot when a hub attempts to share ban/invite/exempt masks for a large number of channels that the leaf does not monitor. Fixes Bugzilla Bug # 471 "Buffer overflow in src/users.c" Found by: FireEgl / Patch by: pseudo 2009-05-16 05:25 tothwolf * eggdrop.conf, doc/Changes1.6, doc/tcl-commands.doc, doc/html/mod-channels.html, doc/html/tcl-commands.html, doc/settings/mod.channels, src/mod/channels.mod/help/chaninfo.help: Updated masktype selection documentation for tcl_maskhost and ban-type. Patch by: pseudo 2009-05-07 16:01 tothwolf * eggdrop.conf, doc/Changes1.6, doc/tcl-commands.doc, doc/html/mod-channels.html, doc/html/tcl-commands.html, doc/settings/mod.channels, src/chan.h, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c: Added masktype selection to tcl_maskhost and ban-type configuration setting to set default banmask type for each channel. Patch by: pseudo 2009-05-06 20:35 tothwolf * AUTHORS, THANKS: Updated dates 2009-05-06 19:18 tothwolf * AUTHORS, CONTENTS, NEWS, README, THANKS, doc/AUTHORS, doc/CONTENTS, doc/Changes1.6, doc/Makefile.in, doc/PATCH-HOWTO, doc/html/authors.html, doc/html/index.html, doc/html/news.html, doc/html/patch-howto.html, doc/man1/eggdrop.1, misc/newversion: Added AUTHORS file that documents the developers, major contributors, and groups who've developed and maintained Eggdrop. Added THANKS file that contains a full list of Eggdrop contributors. Updated files to reference doc/Changes1.6 instead of doc/UPDATES1.6. 2009-05-06 19:07 tothwolf * doc/: Changes0.9, Changes1.0, Changes1.1, Changes1.2, Changes1.3, Changes1.4, Changes1.5, Changes1.6, Versions: * Corrected and unified even more duplicate contributor names in the doc/Changes files. * Added some missing contributor names and patch information. * Further expanded 1.1.x information in doc/Versions. 2009-05-06 13:17 tothwolf * doc/Changes1.6, src/patch.h, src/mod/server.mod/servmsg.c: * Fixed another bug in the CTCP parsing code introduced by the servmsg.c buffer overflow patch in 1.6.19. Patch by: thommey 2009-05-06 12:11 tothwolf * scripts/Makefile.in: Added dccwhois.tcl to install target 2009-01-21 21:12 tothwolf * eggdrop.conf, doc/Changes1.6, scripts/dccwhois.tcl: Added scripts/dccwhois.tcl Tcl script. This script enhances the built-in dcc '.whois' command to allow all users to '.whois' their own handle. 2009-01-21 20:14 tothwolf * doc/Changes1.6, src/cmds.c: Reverted "Allow any user to .whois their own handle." 1.6.16 changes. These changes broke '.whois' behavior in that previously a global op or channel op had full access to '.whois'. After the changes only a global op or channel master could use '.whois' on other handles. The hard coded access flag checks also made it impossible to rebind the '.whois' command with different access flags. 2008-11-29 08:39 tothwolf * doc/: Changes0.6, Changes0.7, Changes0.9, Changes1.0, Changes1.1, Changes1.2, Changes1.3, Changes1.4, Changes1.5, Changes1.6, Versions: Removed 'Maintainer:' hacks from the doc/Changes files. Switched to using '# Released by:' and '# Patch by:' for processing now. Further expanded 1.0, 1.1alpha, and 1.1.x information. 2008-11-18 19:47 tothwolf * doc/: Changes0.6, Changes0.7, Changes0.9, Changes1.0, Changes1.1, Changes1.6, Versions: Fixed even more typos and other errors in the doc/Changes files. Greatly expanded the 1.1alpha sections in Changes1.1 and Versions. The 1.1alpha+lincoln and 1.1alpha+grant entries were reversed and mislabeled in Changes1.1. 2008-11-16 00:33 tothwolf * doc/: Changes0.6, Changes0.7, Changes0.9, Changes1.0, Changes1.1, Changes1.2, Changes1.3, Changes1.4, Changes1.5, Changes1.6, Versions: Fixed tons of typos and formatting problems in the doc/Changes files. Corrected and unified tons of duplicate contributor names; Robey used lowercase names in earlier versions and Beldin tended to use camel case. These changes will allow for semi-automated processing of the doc/Changes files to build a much more complete contributors list. 2008-11-01 21:19 tothwolf * doc/Changes1.6, language/core.danish.lang, language/core.english.lang, language/core.finnish.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/mod/channels.mod/channels.c, src/mod/server.mod/servmsg.c: Refactored channels_report() and simplified the channel status information for the .status command. 2008-11-01 17:23 tothwolf * doc/Changes1.6, src/mod/server.mod/servmsg.c: Added support for irc numeric 465 ERR_YOUREBANNEDCREEP so a server ban reason (for a Kline, Gline, etc) can be seen and logged. Found by: Tothwolf / Patch by: bryand, Tothwolf 2008-11-01 16:02 tothwolf * doc/Changes1.6, src/mod/transfer.mod/transfer.c: Added missing fclose() to tout_dcc_send() Fixes the socket leak in the transfer module. Found by: C4thY (and others) / Patch by: bryand 2008-11-01 14:41 tothwolf * doc/Changes1.6, help/cmds1.help, language/core.english.lang, src/chan.h, src/tclegg.h, src/tclhash.c, src/tcluser.c, src/mod/channels.mod/tclchan.c: Added support to BADARGS macro to accept -1 for unlimited arguments. Modified tcl_getuser(), tcl_setuser(), and tcl_channel() to use -1 for BADARGS instead of 999. Changed FLGS to FLAGS in tell_binds() for .binds command output. 2008-10-31 18:40 tothwolf * doc/Changes1.6, src/users.c: Modified tell_user() to use YYYY-MM-DD ISO 8601 date format. This corrects the LAST date shown for the .whois and .match commands. Fixes Bugzilla Bug # 470 "Dates in Whois/Match Don't Show Years" Found by: BarkerJr / Patch by: Tothwolf 2008-10-31 17:55 tothwolf * doc/Changes1.6, help/cmds2.help: Added .vbottree command help section to cmds2.help. Fixes Bugzilla Bug # 464 ".help vbottree not working" Found by: wanderer / Patch by: Tothwolf 2008-10-31 16:07 tothwolf * doc/Changes1.6, src/cmds.c, src/tcldcc.c, src/users.c: Fixed global variable names used with Tcl_SetVar() / Tcl_VarEval() -- Made assoc module use $_chan instead of $chan Made tell_user() use $_user instead of $user 2008-10-31 12:10 tothwolf * doc/: Changes1.6, Versions: Make it clear that SA25276 was fixed. 2008-07-11 17:29 tothwolf * doc/Changes1.6, src/mod/irc.mod/tclirc.c: Moved the variable declaration for tcl_maskhost() to the top of the function where it should be. FireEgl's tcl_maskhost patch prevented tcl_maskhost() from compiling with many non-GCC and older GCC compilers. Found by: simple / Patch by: Tothwolf 2008-07-11 06:48 tothwolf * src/tclmisc.c: Let's see if this works a little better... 2008-07-10 04:56 tothwolf * aclocal.m4, config.h.in, configure, configure.ac, doc/Changes1.6, src/eggdrop.h, src/main.c, src/main.h, src/tclmisc.c, src/mod/irc.mod/chan.c: Removed Solaris RANDMAX autoconf hack. Added proper preprocessor checks for RANDOM_MAX and RAND_MAX. Added autoconf tests and preprocessor checks for rand() and lrand48(). Simplified randint macro to make it faster. Added argument sanity checking for tcl_rand() / Tcl [rand] command. Added min:max value sanity checking in irc.mod set_delay(). This should match the aop-delay behavior documented in eggdrop.conf now. 2008-07-10 04:06 tothwolf * aclocal.m4, configure, configure.ac, doc/Changes1.6, src/eggdrop.h, src/main.c, src/proto.h, src/mod/module.h, src/mod/channels.mod/cmdschan.c: More minor autoconf changes. Context and ContextNote should use 'do {} while (0)' instead of '{}'. Put Context init code into an #ifdef DEBUG_CONTEXT block. 2008-07-10 03:22 tothwolf * eggdrop.conf, doc/Changes1.2, doc/Changes1.3, doc/Changes1.6, doc/Versions: Updated doc/Versions and added more milestone information. Misc doc updates and fixes. 2008-07-08 02:18 tothwolf * doc/Makefile.in: Fixed a few minor Makefile things 2008-07-04 20:32 tothwolf * doc/Changes1.6: I knew I missed something... 2008-07-04 20:15 tothwolf * doc/UPDATES1.6: UPDATES1.6 -> Changes1.6 2008-07-04 20:14 tothwolf * doc/: Changes0.6, Changes0.7, Changes0.9, Changes1.0, Changes1.1, Changes1.2, Changes1.3, Changes1.4, Changes1.5, Changes1.6, Versions: Added doc/Changes* files created from all the various UPDATES* files that were available. Change history after 0.7d (April 11, 1994) to 0.9 (July 23, 1994) seems to have been lost but it may eventually be located. Added doc/Versions file that contains a list of Eggdrop versions, release dates, and other important notes in reverse chronological order. 2008-07-03 21:25 tothwolf * configure, doc/UPDATES1.6: UPDATES1.6 didn't commit the first time for some reason. 2008-07-03 21:17 tothwolf * Makefile.in, aclocal.m4, config.h.in, configure, configure.ac, src/eggdrop.h, src/main.c: Require autoconf 2.60 now. Added AC_PRESERVE_HELP_ORDER macro to configure.ac Added new autoconf macros to aclocal.m4 and configure.ac: EGG_DEBUG_ENABLE EGG_DEBUG_DEFAULTS EGG_DEBUG_OPTIONS EGG_DEBUG_CFLAGS EGG_ENABLE_DEBUG_CONTEXT Added new configure options: --enable-debug --enable-debug-mem --enable-debug-assert --enable-debug-context Replaced ENABLE_STRIP define with DEBUG DEBUG_CONTEXT is now defined in config.h instead of eggdrop.h Refactored DEBUG and DEBUG_CONTEXT conditional code in main.c. Don't default set unlimited core file size for non-debug builds. 2008-07-03 20:41 tothwolf * aclocal.m4, config.h.in, configure, configure.ac, doc/UPDATES1.6, src/main.h, src/compat/snprintf.c: Added EGG_APPEND_VAR and EGG_CHECK_ICC autoconf macros to aclocal.m4. Replaced autoconf 'var="$var "' with EGG_APPEND_VAR macro. Replaced no_pipe and no_wall variable hacks with a proper test for the Intel C Compiler (icc). Put '-pipe' in CFLAGS not CC. Added GPL header to AH_TOP macro in configure.ac for config.h.in. Removed unused std_args.h header check and HAVE_STD_ARGS_H conditionals. 2008-07-03 19:52 tothwolf * Makefile.in, aclocal.m4, configure, configure.ac, doc/UPDATES1.6, src/main.c: Refactored root Makefile.in variables. Removed unnecessary '-g' flag from LD variables (-g is ignored). Renamed DEBCFLAGS to DEBCFLGS Moved -g3 compiler flag to DEBCFLGS variable. Removed double quoting "`command`" in autoconf macro tests. Changed autoconf macro 'test ! foo = bar' tests to 'test foo != bar'. Both are portable but '!=' is now more common in autoconf macros and is easier to read. 2008-07-02 01:31 tothwolf * aclocal.m4, configure, configure.ac, doc/UPDATES1.6: Fixed EGG_PROG_HEAD_1 autoconf macro cache checking. You can't use AC_MSG_RESULT() within AC_CACHE_VAL(). Moved --enable-strip configure check from EGG_PROG_STRIP to it's own macro: EGG_ENABLE_STRIP() 2008-06-30 18:20 tothwolf * doc/UPDATES1.6, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/server.mod/servmsg.c: Bot would send 'JOIN #chan ' to the server with trailing whitespace when joining channels that didn't require a key. Found by: simple - Patch by: Tothwolf 2008-06-30 13:12 tothwolf * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: Make the JOIN in check_expired_chanstuff() use DP_SERVER instead of DP_MODE to prevent the bot from sending multiple JOIN requests. Found by: simple - Patch by: thommey 2008-06-30 12:45 tothwolf * doc/UPDATES1.6, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: Refactored reset_chan_info() to make it a little easier on maintainers. Removed a useless '\r' from the dprintf() TOPIC check in reset_chan_info(). This was from the "Request topic on channel reset" patch in 1.6.18, which re-added the TOPIC check that someone needlessly removed in 1.6.7. got_halfop() was improperly checking !me_op() to see if it should call recheck_channel(). Now it checks !me_halfop() in addition to !me_op() Removed duplicate code in got_deop() for hidden +v / +h checking. No need to duplicate the entire test, just add 'CHANHALFOP'. 2008-06-30 10:41 tothwolf * doc/UPDATES1.6, src/mod/irc.mod/mode.c: set CHAN_PEND when calling refresh_who_chan() to avoid possibly sending extra WHO requests to the server if a WHO was already sent. Found by: Tothwolf - Patch by: thommey 2008-06-29 10:39 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c: added thommey's whofix patch 2008-06-23 16:50 tothwolf * doc/html/tcl-commands.html: Add missing anchor for uncompressfile Patch by: skiidoo 2008-06-22 10:17 tothwolf * doc/UPDATES1.6: Let's put these in the right order... 2008-06-21 12:24 guppy * doc/UPDATES1.6: oops, skiidoo did those doc patches not thommey! sorry skiidoo 2008-06-20 21:50 guppy * doc/html/tcl-commands.html, src/patch.h: thommey added anchors to the html version of tcl-commands.doc 2008-06-20 21:49 guppy * doc/ABOUT, doc/UPDATES1.6, doc/html/about.html, doc/html/authors.html, src/patch.h: some doc updates 2008-06-18 04:12 tothwolf * doc/UPDATES1.6, scripts/autobotchk, scripts/weed: Updated exec magic tricks in the autobotchk and weed scripts. Check for a working 'grep -E' before resorting to 'egrep'. Use "$0" ${1+"$@"} in place of "$0" "$@" to avoid problems with broken sh implementations that expand "$@" into a single empty argument when there are no other arguments. 2008-06-18 03:42 tothwolf * aclocal.m4, configure: Fixed broken EGG_TCL_CHECK_HEADER macro Tcl header 'not found' message. Don't use "${var-x}" in place of "x$var". The use of "x$var" is more portable and standard practice in autoconf macros. Added AC_CANONICAL_* macros to EGG_OS_VERSION in preparation to move from our old 'uname -s' and 'uname -r' hacks to a canonical triplet. 2008-06-18 01:36 tothwolf * aclocal.m4, configure: Make custom configure warning messages' prefix match AC_MSG_WARN. 2008-06-18 00:03 tothwolf * aclocal.m4, config.h.in, configure, doc/UPDATES1.6: Completely rewrote EGG_TCL_CHECK_THREADS autoconf macro to make --enable-tcl-threads and --disable-tcl-threads threaded Tcl library configure options more robust. Fixed --enable-tcl-threads configure option so it will enable threaded Tcl library support even if we don't autodetect a threaded Tcl library. Explicitly offer both --enable-tcl-threads and --disable-tcl-threads configure options that can forcefully enable or disable threaded Tcl library support. Previously either worked but only showing --disable-tcl-threads in --help could be confusing. Added code to print an explicit message to show if threaded Tcl library support will be enabled or not. We no longer link against pthread library unless threaded Tcl library support is enabled. 2008-06-17 05:13 tothwolf * doc/UPDATES1.6, scripts/alltools.tcl: Added argument checking to randstring proc in alltools.tcl to make it a little more robust. 2008-06-17 04:49 tothwolf * doc/UPDATES1.6, misc/releaseprep: Modified releaseprep script to run cvs2cl so we will (hopefully) have an up-to-date ChangeLog file before each release. 2008-06-17 04:15 tothwolf * doc/UPDATES1.6, misc/config.guess, misc/config.sub: Updated config.guess and config.sub build system triplet detection scripts to the latest versions from http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree;hb=HEAD These were nearly 7 years old and way overdue for an update. 2008-06-16 23:46 tothwolf * doc/UPDATES1.6: [no log message] 2008-04-29 19:07 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: minor raw logging fix 2008-04-29 11:29 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: tcl_maskhost could crash the bot, fixed by FireEgl 2008-04-28 17:54 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/server.mod/servmsg.c: Quakenet has an auto-invite flag which in some cases could cause a bot to flood off the server, hopefully this fixes that problem 2008-04-19 08:57 guppy * configure, configure.ac, doc/COMPILE-GUIDE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/UPDATES1.6, doc/html/app-textsub.html, doc/html/compiling.html, doc/html/patch-howto.html, doc/html/tcl-commands.html, misc/newversion, src/main.c, src/patch.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac: and so starts 1.6.20 2008-02-18 16:25 guppy * configure, configure.ac, doc/UPDATES1.6, src/patch.h: updated the recommended TCL version 2008-02-16 15:40 guppy * CONTENTS, FEATURES, INSTALL, NEWS, README, aclocal.m4, configure, configure.ac, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/UPDATES1.6, doc/USERS, doc/WEIRD-MESSAGES, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/killwhitespace, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: update the Copyright dates 2008-02-16 14:15 guppy * eggdrop.conf, doc/UPDATES1.6, src/patch.h: a couple small config changes 2008-02-16 00:00 guppy * eggdrop.conf, doc/UPDATES1.6, scripts/Makefile.in, scripts/quotepong.tcl, src/patch.h: added the quotepong.tcl 2008-02-10 20:28 guppy * eggdrop.conf, scripts/Makefile.in, scripts/quotepass.tcl: a couple of small fixes to the quotepass.tcl script 2008-02-10 19:43 guppy * scripts/quotepass.tcl: stdarg != sl, sl is not nearly as sexy 2008-02-10 19:23 guppy * scripts/quotepass.tcl: and the script for the previous commit 2008-02-10 19:22 guppy * eggdrop.conf, doc/UPDATES1.6: added a simple TCL for some silly Undernet servers 2008-02-04 20:36 guppy * doc/UPDATES1.6: a little too much text in the UPDATES1.6 2008-02-04 18:19 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: Add support for Quakenet's chanmode +T 2008-02-04 18:14 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: Applied the CTCP fix patch 2007-11-19 01:24 wcc * src/patch.h: * patch.h to make Windrop CVS guys happy ;) 2007-10-17 02:03 wcc * configure, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Ran misc/runautotools. 2007-10-17 02:02 wcc * configure.ac, doc/COMPILE-GUIDE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/html/app-textsub.html, doc/html/compiling.html, doc/html/patch-howto.html, doc/html/tcl-commands.html, src/main.c, src/mod/compress.mod/configure.ac, src/mod/dns.mod/configure.ac: * 1.6.18 -> 1.6.19. Aparently we never did this. Oops, my bad :/ Thanks to kirben for noticing. 2007-10-17 01:55 wcc * FEATURES, doc/UPDATES1.6, doc/html/features.html: - Fixed a couple of typos in the FEATURES file. * Patch by: Tomas Szaniszlo 2007-10-17 01:52 wcc * doc/AUTHORS: * Added Kevin Lynn / wayhigh to doc/AUTHORS. Kevin Lynn wrote: > Back when Robey was developing the original eggdrop, I was the admin for > all machines at connected.com (including hebron, goshen, etc.) that gave > Robey an account without limitations and helped do a fair amount of > alpha/beta testing for the early bot versions. > > I'd love to be included in the authors file as I feel I certainly > contributed back in the early days. > > Thank you, > Kevin Lynn aka. wayhigh > 2007-10-17 01:42 wcc * doc/UPDATES1.6, src/mod/server.mod/servmsg.c: - Fixed two buffer overflows in servmsg.c. * Found by: Bow Sineath - Patch by: Nico Golde / Wcc 2007-10-17 00:42 wcc * src/mod/server.mod/server.c: * Fixed a typo in server.c. Thanks to Domino Mizuno. 2007-04-20 22:38 wcc * CONTENTS, FEATURES, INSTALL, NEWS, README, aclocal.m4, configure, configure.ac, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/USERS, doc/WEIRD-MESSAGES, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/killwhitespace, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: * 2007 Copyright; 4 months late! 2006-11-20 08:09 tothwolf * configure, configure.ac, src/tcldcc.c: * Updated recommended Tcl version. * Fixed typo from long time_t changes. 2006-11-20 05:38 tothwolf * aclocal.m4, config.h.in, doc/UPDATES1.6, src/Makefile.in, src/dcc.c, src/patch.h, src/tcldcc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/filesys.mod/filesys.c, src/mod/seen.mod/seen.c: * Fixed compatibility problems with certain time_t implementations. 2006-08-21 11:40 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: - Complete raw traffic wasn't getting logged in some cases; only the raw command itself was. Fixed. * Patch by: mrBuG 2006-07-09 16:14 wcc * doc/UPDATES1.6: * Update doc/UPDATES1.6 for release. 2006-07-09 16:02 wcc * configure: * Ran misc/runautotools. Release ready in a few minutes. 2006-07-09 16:00 wcc * config.h.in, configure, configure.ac, misc/config.guess, misc/config.sub, src/proto.h: * Revert to old config.guess / config.sub. It was causing problems on a few OS's. I just want to get 1.6.18 out, so I'll stick this back in as soon as it is. 2006-05-28 19:56 wcc * doc/UPDATES1.6, misc/config.guess, misc/config.sub, src/patch.h, src/mod/filesys.mod/filesys.c: * Use the latest config.guess / config.sub. * Found by: SiD3WiNDR - Patch by: Wcc 2006-05-21 14:31 wcc * configure: * Ran misc/runautotools. 2006-05-21 14:31 wcc * configure.ac, doc/UPDATES1.6, src/patch.h: * Look for Tcl in /lib64 and /usr/lib64. * Patch by: Kuja 2006-04-14 16:18 wcc * doc/AUTHORS: * AUTHORS updates. 2006-04-05 09:11 wcc * configure, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Forgot to misc/runautotools after copyright updates. 2006-04-05 08:49 wcc * doc/UPDATES1.6: * Fixed incorrect patch author in UPDATES1.6. 2006-04-03 11:42 guppy * doc/UPDATES1.6: updated the release date of RC1 2006-03-28 18:52 wcc * doc/AUTHORS: * Added lordares to AUTHORS. 2006-03-28 18:47 wcc * doc/AUTHORS: * Fixed a typo in authors. Thanks reed. 2006-03-28 04:02 wcc * doc/UPDATES1.6: * Release prep. 2006-03-28 03:09 wcc * doc/AUTHORS: * Added Sven Trenkel to the AUTHORS file :) If anyone else thinks they are missing, please let me know. 2006-03-27 20:35 wcc * doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/killwhitespace, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/Makefile.in, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: * Copyright updates. 2006-03-27 00:48 wcc * CONTENTS, COPYING, FEATURES, INSTALL, NEWS, README, aclocal.m4, configure, configure.ac, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/USERS, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1: * 2006 copyright updates (finally). 2005-12-09 03:29 wcc * configure, src/compat/Makefile.in, src/md5/Makefile.in, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: * Ran misc/runautotools and misc/makedepend. 2005-12-09 03:24 wcc * aclocal.m4, configure.ac, src/patch.h: * Fixed a few spelling errors in ./configure. Thanks to shortybsd@EFnet. 2005-12-01 15:51 wcc * doc/UPDATES1.6, src/patch.h, src/compat/snprintf.c: * Fixed a type conversion problem in snprintf.c causing Eggdrop to not compile on OSF1. * Found by: Joker - Patch by: Wcc 2005-11-28 11:23 wcc * src/: dcc.c, patch.h: * Small code-formatting fix... was bugging me. 2005-11-17 12:03 wcc * src/patch.h: * Ooops, accidentially committed some "cleanups" changes I forgot I had made :). This was just fixing a few minor little things that appear to have been accidentially reverted when Toth's notes changes went in. 2005-11-17 11:58 wcc * doc/UPDATES1.6, src/botmsg.c, src/flags.c, src/patch.h, src/tcl.c, src/tclegg.h, src/tclhash.c, src/users.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/server.c: * WTF is Max OS? 2005-11-16 23:21 tothwolf * src/tclhash.c: * Synchronized working tree tclhash.c with CVS. * Removed redundant Tcl_SetVar() lastbind that was from a submitted patch. 2005-11-14 22:56 wcc * src/patch.h: * Grr; forgot patch.h. 2005-11-14 22:52 wcc * configure, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Looks like I forgot to run misc/runautotools. EggCheck to the rescue again! 2005-10-20 19:56 wcc * configure.ac, doc/UPDATES1.6, src/patch.h: - Detect NetBSD Tcl in /usr/pkg/lib and /usr/pkg/include. * Found by: mish - Patch by: Wcc Thanks mish :) 2005-10-15 18:03 wcc * doc/html/egg-core.html, doc/html/mod-server.html, src/patch.h: * No ' in HTML docs! :) 2005-09-04 21:38 wcc * language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/main.c, src/patch.h: * Fixed the stagnant-module warning in main.c from possibly not displaying if uptime or encryption are last in the module list. * We had two variables named 'xx' in main(). Not a good idea. I don't like single-letter variable names anyway... makes things unclear. 2005-09-04 12:53 wcc * doc/UPDATES1.6, src/botnet.c, src/patch.h: - Fixed possibility of referencing a NULL pointer in rembot(). * Patch by: lordares 2005-08-31 20:23 wcc * src/: patch.h, mod/server.mod/server.c: - A couple of cleanups in ctcp_DCC_CHAT(). * Patch by: lordares 2005-08-29 19:52 wcc * src/: patch.h, mod/irc.mod/cmdsirc.c: - No need to fill the buffers at the end of the cmd_[de]voice() functions. * Patch by: lordares 2005-08-29 17:44 wcc * doc/UPDATES1.6, src/eggdrop.h, src/patch.h: - Added a missing param cast for dcc_table.timeout. * Patch by: lordares 2005-08-28 23:16 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c: - Fixed a memleak / other nasty stuff when MODES_PER_LINE_MAX != 6. * Patch by: lordares 2005-08-28 22:48 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h: - Fixed putlog() of an uninitialized (and incorrect) variable in dcc_telnet_hostresolved(). * Patch by: lordares 2005-08-28 22:39 wcc * misc/killwhitespace, src/botcmd.c, src/tclhash.c, src/compat/strftime.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/compress.mod/tclcompress.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/servmsg.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c: * Added and ran misc/killwhitespace. 2005-08-28 21:51 wcc * eggdrop.conf, doc/html/egg-core.html, doc/settings/core.settings, help/set/cmds1.help, src/patch.h: * More doc synching. 2005-08-28 21:45 wcc * eggdrop.conf, doc/html/egg-core.html, doc/settings/core.settings, help/set/cmds1.help, src/patch.h: * Backported a couple of doc changes from 1.7. 2005-08-20 15:27 wcc * doc/UPDATES1.6, src/main.c, src/patch.h, src/mod/uptime.mod/uptime.c: * UPDATES entry for dns.mod Mac OS X fix... it appears to fix the problem. Thanks to Netscrape @ EFNet for testing this out. Apparently we still have some problems with the latest OS X betas in channels.mod, but I'll send a separate e-mail about that soon. * Use newsplit() instead of splitc(.., ' ') in uptime.mod for consistency. This also stops some valgrind bitching =P. 2005-08-15 20:11 wcc * config.h.in, configure, src/patch.h: * Ran misc/runautotools. 2005-08-15 20:09 wcc * aclocal.m4: * dns.mod should work on Mac OS X now. This will get a changelog entry and stuff once it is a verified fix. 2005-07-31 11:37 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, help/set/cmds1.help, src/patch.h, src/mod/server.mod/servmsg.c: - Corrected nat-ip setting documentation. * Found by: BarkerJr - Patch by: Wcc 2005-07-31 01:23 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: Rest of patch... oops. - Don't allow realname to be blank or whitespace. * Found by: Jesse M - Patch by: BarkerJr / Wcc 2005-07-31 01:01 wcc * eggdrop.conf, src/patch.h, src/mod/channels.mod/tclchan.c, src/mod/server.mod/servmsg.c: * Fixed previous commit so it won't break scripts. Thanks to lordares. 2005-07-31 00:32 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: - Fixed an error in channel get. You can now, correctly, do a channel get #channel stopnethack-mode. * Found by: Chris Northwood - Patch by: Wcc 2005-07-30 20:23 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: - The pushmode command should work properly for bans now. * Patch by: thommey TEST ME. 2005-07-30 20:18 wcc * doc/UPDATES1.6, src/patch.h, src/tclhash.c: - Apparently we broke lastbind. * Found by: bUrN - Patch by: thommey 2005-07-23 16:13 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: - Request topic on channel reset. * Found by: De Kus - Patch by: Darko 2005-05-30 16:44 wcc * src/patch.h: * Forgot patch.h... 2005-05-30 16:43 wcc * doc/UPDATES1.6, src/mod/share.mod/share.c: - Fixed a situation where noshare could be set to 1 and never restored. * Fixed by: lordares Someone please test this or at least look over it more carefully. We don't want another "AHH ALL MY USERS LOST THEIR GLOBAL FLAGS" sharing bug. 2005-05-30 16:09 wcc * doc/UPDATES1.6, src/net.c, src/patch.h: - Fixed a socklist leak in net.c. * Fixed by: lordares 2005-04-15 21:01 wcc * doc/UPDATES1.6, src/dns.c, src/main.c, src/net.c, src/patch.h: - Hopefully fixed dns lockups. * Found by: various - Patch by: Sven Trenkel 2005-02-08 10:30 tothwolf * README, doc/html/readme.html: * Who??? Robey, thats who! :P 2005-02-08 10:13 tothwolf * doc/UPDATES1.6, src/botmsg.c, src/patch.h: - 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 2005-02-08 00:51 tothwolf * src/net.c: - Corrected missing part of the copyright for net.c. 2005-02-07 19:09 tothwolf * src/patch.h: - Probably should run misc/addpatch... 2005-02-07 19:08 tothwolf * doc/UPDATES1.6, src/cmds.c, src/cmdt.h, src/dccutil.c, src/main.h, src/proto.h, src/tcl.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/mod/filesys.mod/filesys.c: - 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 2005-02-07 18:14 tothwolf * src/net.c: - Corrected copyright header for net.c. (I thought I did this years ago when I did all the others...) 2005-02-04 08:15 tothwolf * eggdrop.conf, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/mod-server.html, doc/html/tcl-commands.html, doc/settings/mod.server, src/patch.h, src/tclegg.h, src/tclhash.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/help/server.help, src/mod/server.mod/help/set/server.help: - 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 2005-02-03 12:18 tothwolf * configure: * Odd... 2005-02-03 12:13 tothwolf * configure: * Regenerated configure script. 2005-02-03 12:07 tothwolf * configure.ac, doc/UPDATES1.6, src/patch.h: - Check for Tcl 8.5 before older versions. * Patch by: Tothwolf 2005-02-03 09:34 tothwolf * doc/UPDATES1.6, src/flags.c, src/misc.c, src/tclhash.c, src/mod/irc.mod/chan.c, src/mod/server.mod/servmsg.c: - 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 2005-02-02 10:53 tothwolf * eggdrop.conf: * Don't load compat.tcl by default in example eggdrop.conf. 2005-02-02 09:32 tothwolf * doc/: tcl-commands.doc, html/tcl-commands.html: * More documentation corrections. 2005-02-01 18:02 tothwolf * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/tclegg.h, src/tclhash.c: - Allow wildcard matching and stacking for note binds. (I thought this was fixed 5 years ago...) * Patch by: Tothwolf 2005-01-27 21:26 wcc * FEATURES, doc/man1/eggdrop.1, scripts/action.fix.tcl, scripts/ques5.tcl, src/main.c, src/patch.h: * A couple more Copyright updates. 2005-01-25 12:08 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: - Use CHANMETA to define valid channel prefixes in gotmsg(). * Found by: zathras3 at hotmail.com - Patch by: Wcc 2005-01-22 01:22 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c: - Fix for problems created when loading long user-defined channel setting names from the channel file. * Patch by: Stream 2005-01-20 15:03 wcc * doc/UPDATES1.6, help/cmds2.help, src/patch.h: - Help file update related to sharing. * Patch by: Shawn888, slennox 2005-01-20 14:50 wcc * config.h.in, configure, src/patch.h: * Ran misc/runautotools. 2005-01-20 14:45 wcc * aclocal.m4, doc/UPDATES1.6, src/main.h, src/patch.h: - Fix for randint() on Solaris / SunOS. * Patch by: Mikael Hedberg 2005-01-06 20:25 tothwolf * doc/: tcl-commands.doc, html/tcl-commands.html: * Corrections to MODE binding documentation. 2005-01-03 14:03 paladin * configure, src/mod/compress.mod/configure, src/mod/dns.mod/configure: Run misc/runautotools because of changes to aclocal.m4 and configure.ac files 2005-01-03 14:01 paladin * CONTENTS, INSTALL, NEWS, README, aclocal.m4, configure, configure.ac, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/COMPILE-GUIDE, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/UPDATES1.6, doc/USERS, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, misc/addpatch, misc/makedepend, misc/modconfig, misc/newversion, misc/releaseprep, misc/runautotools, scripts/CONTENTS, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: - Updated Copyright Dates * Patch by: Paladin 2004-12-10 22:23 wcc * src/: eggdrop.h, patch.h: * Fixed byg 418 (misleading comment). Found by rush at winkey.oompah.org. 2004-12-02 17:36 wcc * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c: - Fixed 3 invalid reads in notes.c. * Patch by: rush at winkey.oompah.org 2004-09-02 16:49 wcc * eggdrop.conf, doc/html/mod-server.html, doc/settings/mod.server, misc/newversion, src/patch.h, src/proto.h, src/mod/server.mod/server.c: I keep noticing little bugs while working on 1.7, hehe. * Fixed a portability bug in server.c. memcpy() was being used directly instead of via the compat function egg_memcpy(). * Removed unused prototype for nonexistant function 'stristr()'. * Doc updates related to strict-host. Should be easier for users to understand it's purpose now. * Couple updates to misc/newversion (sync 1.7). 2004-08-28 00:50 wcc * doc/UPDATES1.6, misc/releaseprep, src/dccutil.c, src/net.c, src/patch.h, src/proto.h, src/tcl.c, src/tclmisc.c, src/tcluser.c: * A couple more unused variables and an unused function removed. 2004-08-28 00:43 wcc * Makefile.in, misc/addpatch, misc/makedepend, src/Makefile.in, src/main.h, src/patch.h, src/compat/Makefile.in, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: * 'make depend' works again. Use 'misc/makedepend' to update Makefile dependencies (Backport 1.7). * Small fix to misc/addpatch by TaKeDa (Backport 1.7). 2004-08-25 00:57 wcc * src/: patch.h, proto.h: * Fixed a small little thing I noticed in proto.h while working on 1.7. The gotdcc() function doesn't exist anymore, and do_boot and detect_dcc_flood() are in dccutil.c now. gotdcc.c hasn't existed for a while. 2004-08-24 09:44 wcc * doc/UPDATES1.6, src/net.c, src/patch.h: - Currected a few of the error messages in neterror(). * Found by: Steven Nikkel - Patch by: Wcc Bug: 410 2004-08-23 22:45 wcc * configure: * Ran autoconf. 2004-08-23 22:44 wcc * configure.ac, doc/UPDATES1.6, src/patch.h: - Corrected the order of our search paths for Tcl. This should help stop version mismatches between the headers and libraries. * Patch by: CoderX2 2004-08-23 21:41 wcc * configure, misc/newversion, misc/runautotools, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Ran autoconf, and made a misc/runautotools to automate updating all of the configure scripts. 2004-08-23 20:37 wcc * configure.ac, doc/COMPILE-GUIDE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/app-textsub.html, doc/html/compiling.html, doc/html/patch-howto.html, doc/html/tcl-commands.html, misc/newversion, src/main.c, src/patch.h, src/mod/compress.mod/configure.ac, src/mod/dns.mod/configure.ac: * Start of 1.6.18. I added a little script to bump versions when we do a new release. 2004-08-22 16:33 wcc * doc/UPDATES1.6: * Ready to release 1.6.17. 2004-08-21 16:43 wcc * eggdrop.conf, doc/html/mod-irc.html, doc/settings/mod.irc: * Somehow the IRC module docs got out of sync with the config file. 2004-08-20 18:18 wcc * configure: * Ran autoconf. 2004-08-20 18:16 wcc * aclocal.m4, doc/COMPILE-GUIDE, doc/html/compiling.html, doc/html/index.html: * Some doc fixes. 2004-08-20 01:13 wcc * configure: * Ran autoconf. 2004-08-20 01:10 wcc * aclocal.m4, misc/releaseprep: * More releaseprep updates. * Added $no_pipe checking and fixed $no_wall checking for -Wall and -pipe checks. The intel C compiler emulates gcc, thus $GCC is set; however, -pipe has a different meaning in icc, and Eggdrop will not compile. This allows compilation to continue by doing no_pipe=1 no_wall=1 ./configure. 2004-08-12 00:49 wcc * misc/releaseprep, src/patch.h, src/tcldcc.c: * Small change to misc/releaseprep to remove another empty directory from the final release. 2004-08-08 22:39 wcc * README, doc/UPDATES1.6, doc/html/readme.html, doc/html/starting.html, language/core.danish.lang, language/core.english.lang, language/core.finnish.lang, language/core.french.lang, language/core.german.lang, src/patch.h: * More doc/cosmetic stuff. 2004-08-08 21:19 wcc * configure, doc/ABOUT, doc/html/patch-howto.html, doc/man1/eggdrop.1, logs/CONTENTS, scripts/CONTENTS, src/patch.h: * Much needed updates to the man page (its been 4 years!). * Misc doc stuff.. probably more coming. 2004-08-08 12:16 wcc * INSTALL, aclocal.m4, doc/COMPILE-GUIDE, doc/COMPILING-FAQ, doc/CONTENTS, doc/Makefile.in, src/patch.h: * Renamed doc/COMPILING-FAQ to doc/COMPILE-GUIDE (it isn't just an FAQ now). 2004-08-04 13:57 wcc * src/: cmds.c, patch.h: * Cosmetic fix to a dprintf() cmd_pls_bot (also reworked it so the entire body isn't inside an else {}...). Found by BarkerJr. 2004-08-02 14:24 wcc * misc/releaseprep, src/mod/eggmod.sh: * I thought I nuked this a week ago.. 2004-08-02 14:15 wcc * misc/releaseprep: * Ok, now... 2004-08-02 14:09 wcc * misc/releaseprep: * Er. 2004-08-02 14:08 wcc * misc/addpatch, misc/releaseprep, src/patch.h: * Small changes to releaseprep to work correctly for RC releases. 2004-08-02 13:03 wcc * doc/UPDATES1.6: * Getting ready for RC1. 2004-08-02 12:50 wcc * NEWS, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/tclmisc.c: - Added a "stripcodes" Tcl command. See doc/tcl-commands.doc for more information. * Patch by: BarkerJr (And some related doc updates...) 2004-07-30 19:21 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h: - Bot idx's should be considered valid to tcl_valididx. * Found by: SteppenWolf - Patch by: Wcc 2004-07-25 16:16 wcc * configure: * Ran autoconf. (In case anyone is wondering.. no, I'm not "forgetting".. I run it on it's own commit so that the "created from configure.ac revision XX" revision number is correct.. that way we can make sure it's always current.) 2004-07-25 16:15 wcc * configure.ac, doc/UPDATES1.6, src/patch.h: * Always try to detect shared Tcl libraries before static ones. 2004-07-25 15:37 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h: - We now correctly differentiate the +l user flag from the +l bot flag. * Found by: Joker - Patch by: Wcc, darko`` 2004-07-25 14:39 wcc * src/: patch.h, mod/server.mod/servmsg.c: * Small fix to realname code in got001().. see the comment for details. 2004-07-25 05:18 wcc * configure, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Ran autoconf. 2004-07-25 05:17 wcc * Makefile.in, aclocal.m4, config.h.in, configure.ac, doc/COMPILING-FAQ, doc/UPDATES1.6, doc/html/compiling.html, src/Makefile.in, src/botmsg.c, src/chanprog.c, src/cmds.c, src/eggdrop.h, src/main.h, src/modules.c, src/modules.h, src/patch.h, src/tcl.c, src/users.c, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/modvals.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/configure, src/mod/compress.mod/configure.ac, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure, src/mod/dns.mod/configure.ac, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: * We now support module loading under Darwin (Mac OS X) and NeXT Step. * Detect Tcl in $HOME/lib and $HOME/tcl/lib first, as to make it easier to allow users to override the system's Tcl version. * Cleaned up modules.c and the module configure stuff quite a bit. * Check for -Wall as it's own test (backport 1.9). * No more eggmod.sh. * Small fix to a previous patch (removed an unused variable). 2004-07-24 21:56 wcc * CONTENTS, FEATURES, INSTALL, README, eggdrop.conf, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/BUG-REPORT, doc/COMPILING-FAQ, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/UPDATES1.6, doc/USERS, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/compiling.html, doc/html/faqs.html, doc/html/index.html, doc/html/install.html, doc/html/mod-filesys.html, doc/html/mod-wire.html, doc/html/patch-howto.html, doc/html/readme.html, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, src/patch.h, src/mod/wire.mod/modinfo, src/mod/wire.mod/help/wire.help, text/CONTENTS: * And just when you guys thought there wouldn't be any more 5,000 line doc commits.. =P 2004-07-18 11:54 wcc * doc/UPDATES1.6, src/patch.h, src/users.c: - Don't try to call tcl_notes if the notes module isn't loaded. * Found by: Chris Northwood - Patch by: lordares 2004-07-05 15:42 wcc * doc/UPDATES1.6, src/net.c, src/patch.h, src/tcldcc.c: - Show a more descriptive error message when a listen socket can't be opened. * Found by: various - Patch by: Wcc 2004-07-05 01:35 wcc * doc/UPDATES1.6, src/botmsg.c, src/patch.h: - Fixed a crash in add_note() that only seems to show up on Max OS X, but probably affects other platforms. * Found by: v8k8 - Patch by: Wcc, lordares 2004-07-04 23:14 wcc * doc/AUTHORS, doc/UPDATES1.6, doc/html/authors.html, src/cmds.c, src/patch.h, src/tcl.c: - Fixed Tcl encoding issues with .tcl and .set. * Found by: fabulous, Miguel Ventura - Patch by: CoderX2 * Added Darko to AUTHORS. 2004-07-04 22:37 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, language/core.finnish.lang, src/patch.h, src/mod/assoc.mod/language/assoc.finnish.lang, src/mod/console.mod/language/console.finnish.lang, src/mod/filesys.mod/language/filesys.finnish.lang, src/mod/notes.mod/language/notes.finnish.lang, src/mod/transfer.mod/language/transfer.finnish.lang, src/mod/wire.mod/language/wire.finnish.lang, text/motd.finnish: - Added a set of Finnish language files and a Finnish MOTD. * Patch by: Mikko Vester 2004-07-02 15:21 wcc * src/: main.c, patch.h: - get_user_by_handle() should not be called with the handle argument being a string constant, as it will cause a crash in rmspace(). * Patch by: darko`` 2004-07-02 15:02 wcc * doc/UPDATES1.6, src/dcc.c, src/dns.c, src/patch.h, src/tcldcc.c, src/tclmisc.c, src/userrec.c, src/users.c, src/mod/channels.mod/userchan.c, src/mod/filesys.mod/filesys.c, src/mod/notes.mod/notes.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c: - time_t isn't unsigned, and therefor %lu should not be used as a conversion specifier. * Patch by: lordares 2004-07-02 14:48 wcc * config.h.in, configure, configure.ac, src/dcc.c, src/patch.h: * Fixed a warning in dcc.c (also saves CPU time). Patch by BarkerJr. 2004-06-27 11:26 wcc * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: - Added support for Quakenet channel modes. * Patch by: thommey 2004-06-20 23:57 wcc * doc/UPDATES1.6, src/net.c, src/patch.h: - Removed an invalid killsock() in dcc.c * Patch by: lordares 2004-06-19 20:28 wcc * src/: main.c, patch.h: * Small cleanup. 2004-06-16 23:56 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c: - Fixed extra spaces being written to chan file. * Patch by: lordares 2004-06-16 23:43 wcc * Makefile.in, doc/Makefile.in, misc/addpatch, scripts/Makefile.in, src/patch.h, src/mod/Makefile.in: * Some more build-process stuff. 2004-06-16 00:55 wcc * config.h.in, configure, src/patch.h: * Ran autoconf && autoheader. 2004-06-16 00:53 wcc * aclocal.m4, configure.ac: * Grr. 2004-06-16 00:47 wcc * aclocal.m4, configure.ac: * More autotools stuff. 2004-06-15 21:45 stdarg * src/mod/share.mod/share.c: * Fix to check_delay 2004-06-15 01:28 wcc * doc/UPDATES1.6, src/patch.h, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Ran autoconf (/src/mod/dns.mod, /src/mod/compress.mod). * UPDATES1.6 entry from past commit. 2004-06-15 01:25 wcc * configure, src/patch.h, src/mod/compress.mod/configure.ac, src/mod/compress.mod/configure.in, src/mod/dns.mod/configure.ac, src/mod/dns.mod/configure.in: * Ran autoconf (/). * Modules: configure.in -> configure.ac. 2004-06-15 01:20 wcc * Makefile.in, config.h.in, configure, configure.ac, misc/modconfig, src/patch.h, src/mod/eggautoconf, src/mod/eggmod.m4, src/mod/compress.mod/.cvsignore, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress_config.h.in, src/mod/compress.mod/configure, src/mod/compress.mod/configure.in, src/mod/dns.mod/.cvsignore, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filesys.c, src/mod/seen.mod/seen.c, src/mod/wire.mod/wire.c: * Removed 'eggautoconf' crao; moved to autoconf 2.59 for modules. This should fix some of the module-configure/make config bugs. Couple more commits coming in a sec. Test me (although already tested pretty well). Needs to at least be tested on Cygwin, and I don't have access to Cygwin ATM. 2004-06-13 19:14 wcc * src/: bg.c, chanprog.c, eggdrop.h, main.c, main.h, mem.c, net.c, patch.h, proto.h, tcl.c, tclhash.c, tclmisc.c, compat/inet_aton.h, mod/assoc.mod/assoc.c, mod/blowfish.mod/blowfish.c, mod/channels.mod/channels.c, mod/compress.mod/compress.c, mod/console.mod/console.c, mod/ctcp.mod/ctcp.c, mod/dns.mod/dns.h, mod/filesys.mod/filedb3.h, mod/filesys.mod/files.c, mod/filesys.mod/filesys.c, mod/irc.mod/irc.c, mod/notes.mod/notes.c, mod/seen.mod/seen.c, mod/server.mod/server.c, mod/uptime.mod/uptime.c, mod/wire.mod/wire.c, mod/woobie.mod/woobie.c: * Misc. cleanups. 2004-06-13 15:02 wcc * src/: chanprog.c, patch.h: * And revision 4! Tested this time, should work.. but, if anyone else wants to look over rmspace() and fixfrom() just to make sure, that'd probably be good. Patch by Sup. 2004-06-13 11:34 wcc * src/: patch.h, userrec.c: * Fix to fixfrom() from cleanups1.6. 2004-06-12 15:00 wcc * doc/UPDATES1.6, src/flags.c, src/patch.h: - Op (+o) implies halfop (+l) now. * Patch by: darko`` 2004-06-12 13:54 wcc * src/: chanprog.c, patch.h: * Part two of Sup's rmspace() optimization. 2004-06-11 19:24 wcc * doc/UPDATES1.6, src/chanprog.c, src/eggdrop.h, src/patch.h, src/userrec.c: - Cleaned up and optimized rmspace() and fixfrom(). * Patch by: Sup 2004-06-11 13:17 wcc * configure: * Run autoconf from last commit. 2004-06-11 13:16 wcc * configure.ac, doc/UPDATES1.6, src/patch.h: * Updated recomended Tcl version to 8.4.6. 2004-06-11 12:40 wcc * doc/COMPILING-FAQ, doc/html/compiling.html, src/patch.h: * Added the FreeBSD 'permission denied' problem to the COMPILE-FAQ. I think we should rename that probably since it's not an FAQ. I thought I renamed it to COMPILE-GUIDE in 1.6.16.... 2004-06-11 11:55 wcc * doc/UPDATES1.6: [no log message] 2004-06-11 11:46 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/botcmd.c, src/patch.h, src/tcldcc.c: - Fix behavior of the BCST bind. BCST is now correctly triggered for dccbroadcasts, as well as when a bot "says" something on a channel. See doc/tcl-commands.doc for more information. * Found by: FireEgl - Patch by: Wingman 2004-06-11 00:06 wcc * src/: botnet.c, dccutil.c, patch.h: * Couple fixes from that last patch. 2004-06-10 23:53 wcc * doc/UPDATES1.6, src/botnet.c, src/chanprog.c, src/dccutil.c, src/misc.c, src/net.c, src/patch.h, src/tcl.c, src/tclhash.c, src/tclmisc.c, src/userrec.c, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/tclchan.c, src/mod/dns.mod/coredns.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transferqueue.c, src/mod/wire.mod/wire.c: - Remove some unneeded casts. * Patch by: darko`` 2004-06-10 14:36 wcc * doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/filedb3.c: - Fixed performance issues with mv/cp when a lot of files are in the file area. * Found by: fabulous - Patch by: Wingman 2004-06-10 14:03 wcc * doc/COMPILING-FAQ, doc/UPDATES1.6, doc/html/compiling.html, src/patch.h: - Typo in doc/COMPILING-FAQ. It's LD_LIBRARY_PATH, not LB_LIBRARY_PATH. * Found by: NoPleX - Patch by: Wcc 2004-06-09 11:43 wcc * doc/UPDATES1.6: * Hmm, how did that happen? Damn middle mouse button. =P 2004-06-09 11:34 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h, src/tcl.c: - Fix a possible issue with ident code. * Found by: various - Patch by: darko`` 2004-06-05 18:03 stdarg * INSTALL: [no log message] 2004-06-04 11:25 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/mod/filesys.mod/tclfiles.c: -- Small updates from tcl_mkdir patch... 2004-06-04 10:41 wcc * configure, doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/tclfiles.c: - Don't let .tcl mkdir create duplicate filedb entries. * Found by: fabulous - Patch by: Wingman 2004-06-04 08:07 wcc * .cvsignore, aclocal.m4, config.h.in, configure, configure.ac, doc/UPDATES1.6, src/eggdrop.h, src/patch.h: - Fixed a compile error related to varargs when using old Tcl versions. * Found by: Thomas Neumayer - Patch by: Wcc - Fixed a compile error on systems that don't have socklen_t. * Found by: Brad Edwards - Patch by: Wcc -- .cvsignore stuff for autoscan. 2004-06-03 08:10 wcc * aclocal.m4, configure, help/cmds1.help, help/cmds2.help, src/eggdrop.h, src/patch.h, src/mod/irc.mod/cmdsirc.c: * Fixed some indenting. * Make head -n 1, if existant, take precedence over -1 to suppress warnings on newer versions of head. This will not affect systems that do not support -n 1. * Help stuff. 2004-06-02 21:57 wcc * src/patch.h: Testing. 2004-06-02 20:51 wcc * src/patch.h: * Seeing if CVS works right now. 2004-06-02 00:58 wcc * configure, configure.ac, doc/COMPILING-FAQ, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/app-textsub.html, doc/html/compiling.html, doc/html/tcl-commands.html, src/main.c, src/patch.h: * Start of 1.6.17 :) 2004-05-31 18:59 wcc * doc/UPDATES1.6, help/core.help: * Misc stuff before the release. 2004-05-31 18:41 wcc * help/core.help: * Help file stuff. 2004-05-27 00:29 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-compress.html, doc/settings/mod.compress, help/core.help, src/misc.c, src/patch.h, src/mod/compress.mod/help/set/compress.help, src/mod/irc.mod/help/irc.help: * Part 4 of doc stuff.. more will come tomorrow. 2004-05-26 23:33 wcc * src/: net.c, patch.h, mod/wire.mod/wire.c: * Fixed a missing alarm call (removed accidentally with IPv6). 2004-05-26 23:23 wcc * eggdrop.conf, doc/MODULES, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, src/patch.h, src/mod/compress.mod/help/compress.help, src/mod/ctcp.mod/help/ctcp.help, src/mod/irc.mod/help/irc.help, src/mod/server.mod/help/server.help, src/mod/share.mod/help/share.help, src/mod/transfer.mod/modinfo, src/mod/transfer.mod/help/transfer.help, src/mod/transfer.mod/help/set/transfer.help, src/mod/uptime.mod/modinfo, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/help/uptime.help, src/mod/wire.mod/wire.c, src/mod/wire.mod/help/wire.help: * Doc stuff part 3. 2004-05-26 22:18 wcc * eggdrop.conf, doc/MODULES, doc/UPDATES1.6, doc/html/mod-filesys.html, doc/settings/mod.filesys, doc/settings/mod.notes, src/patch.h, src/mod/ctcp.mod/help/ctcp.help, src/mod/ctcp.mod/help/set/ctcp.help, src/mod/filesys.mod/help/filesys.help, src/mod/irc.mod/help/irc.help, src/mod/notes.mod/help/notes.help, src/mod/seen.mod/help/seen.help, src/mod/share.mod/help/share.help: * More help/docs. 2004-05-26 19:30 wcc * doc/tcl-commands.doc, doc/html/mod-irc.html, doc/html/tcl-commands.html, doc/settings/mod.irc, help/cmds2.help, help/set/cmds1.help, scripts/help/userinfo.help, src/patch.h, src/mod/assoc.mod/modinfo, src/mod/assoc.mod/help/assoc.help, src/mod/channels.mod/help/channels.help, src/mod/console.mod/help/console.help, src/mod/filesys.mod/help/filesys.help, src/mod/irc.mod/modinfo, src/mod/irc.mod/help/irc.help, src/mod/server.mod/help/server.help, src/mod/woobie.mod/modinfo: * Some help and doc stuff... wanted to go ahead and do a commit, but more is coming in a few minutes. 2004-05-25 18:20 wcc * doc/UPDATES1.6, src/dccutil.c, src/main.c, src/main.h, src/misc.c, src/patch.h, src/tclmisc.c, src/mod/irc.mod/chan.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: - Use high-order bits for random numbers. - Cleaned up and optimized delay code in share.c. * Patch by: Sup 2004-05-24 13:14 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: * Change Undernet nicklen to 12. 2004-05-22 01:57 wcc * help/cmds1.help: * Fix flags not lining up in .console's help. Found by BarkerJr. 2004-05-20 16:39 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: * Fix text sent to the server being terminated with "\x00\x0d\x0a" instead of just "\x0d\x0a". Patch by Sven Trenkel. 2004-05-20 15:44 wcc * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/transfer.mod/language/transfer.english.lang, src/mod/transfer.mod/language/transfer.french.lang, src/mod/transfer.mod/language/transfer.german.lang: * Small fix to transfer.mod lang files. Patch by winkey. 2004-04-30 01:51 tothwolf * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/mod/server.mod/tclserv.c: * Documentation fixes. * Cosmetic fixes for tcl_clearqueue and tcl_queuesize. 2004-04-12 21:57 wcc * README, doc/BUG-REPORT, doc/html/faqs.html, src/patch.h: * Fixed some doc stuff. 2004-04-10 01:49 stdarg * src/md5/md5c.c: * Another try at hpux fix 2004-04-09 22:53 wcc * aclocal.m4, configure, doc/UPDATES1.6, src/net.c, src/patch.h: * More HP stuff. 2004-04-09 21:52 stdarg * src/: net.c, tcl.c, tclmisc.c, md5/md5c.c: * Fixed some compile warnings 2004-04-09 14:16 wcc * misc/releaseprep: * Small fix to releaseprep... was making ./configure -x. 2004-04-09 12:38 wcc * misc/releaseprep: * Small fix. 2004-04-09 12:31 wcc * Makefile.in, misc/releaseprep: * More releaseprep changes. 2004-04-09 12:06 wcc * misc/releaseprep: * More releaseprep stuff. 2004-04-09 12:00 wcc * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/language/notes.danish.lang, src/mod/notes.mod/language/notes.english.lang, src/mod/notes.mod/language/notes.french.lang, src/mod/notes.mod/language/notes.german.lang: * Missing \n in some notes files. Found by dollar. 2004-04-08 22:18 wcc * configure, configure.ac, doc/UPDATES1.6, src/patch.h: * Detect Tcl 8.5. Patch by Juvenal. 2004-04-08 20:33 wcc * misc/releaseprep: * Wrote a small release-prep script. 2004-04-07 18:54 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: - Fixed a crash in savechannels/loadchannels. Found by: Stu Jones - Patch by: TaKeDa 2004-04-07 07:00 wcc * doc/UPDATES1.6, src/misc.c, src/patch.h: * Fixed a crash in putlog() that appears when timestamps are turned off. Patch by darko``. 2004-04-06 01:15 wcc * doc/UPDATES1.6, src/chanprog.c, src/patch.h: * Rewrote isowner(). Patch by Sup. 2004-04-06 00:56 wcc * doc/tcl-commands.doc, src/cmds.c, src/dcc.c, src/eggdrop.h, src/language.c, src/main.c, src/match.c, src/misc.c, src/modules.c, src/rfc1459.c, src/tcldcc.c, src/tclhash.c, src/tclmisc.c, src/tcluser.c, src/mod/share.mod/share.c: * Some trim-trailing-space/tab2space stuff. 2004-04-06 00:50 wcc * doc/COMPILING-FAQ, doc/UPDATES1.6, doc/html/compiling.html, src/patch.h: * Doc stuff. 2004-04-05 17:35 wcc * eggdrop.conf, doc/BUG-REPORT, doc/COMPILING-FAQ, doc/UPDATES1.6, doc/html/compiling.html, src/patch.h, src/tclhash.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: * Better support for non-standard "op" prefixes (UnrealIRCD, etc.). Patch by Sven. * More doc updates/etc. 2004-03-14 07:52 wcc * doc/UPDATES1.6, src/patch.h, src/mod/wire.mod/wire.c: * Terminate wire_bot[] in wire.mod, fixing a crash. Patch by Bryan Dolan. 2004-03-14 07:30 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h: * Fixed a segfault in dcc.c. Patch by daimonic. 2004-02-25 17:08 stdarg * src/chanprog.c: * rmspace workaround for constant arguments 2004-02-14 14:11 wcc * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c: * Small bugfix to notes.mod. Reported by Danil Boeije. 2004-02-09 20:10 wcc * doc/UPDATES1.6, src/chanprog.c, src/match.c, src/mod/server.mod/server.c: * Indenting and stuff... 2004-02-09 19:58 wcc * .cvsignore: * .cvsignore fixes. 2004-02-09 19:57 wcc * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: * Don't always set SHARE_OFFERED status in check_expired_tbufs(). Patch by: Luca De Roberto, Dania Stolfi, Giuseppe Caulo 2004-02-06 16:36 stdarg * src/: dcc.c, mem.c, mod/notes.mod/notes.c: * Fixed valgrind error in n_free (I think) * Fixed crash in dcc_chat regarding the filt bind * Small change to notes mod to fix seemingly cosmetic valgrind error, we'll see if it worked 2004-02-03 20:40 stdarg * src/: chanprog.c, match.c, userrec.c, mod/server.mod/server.c: * Fixed _wild_match() to not try to read before the beginning of the mask * Changed correct_handle() to copy the handle onto itself, in case it's called like correct_handle(u->handle) * Changed rmspace to use memmove instead of strcpy; also made it more efficient (only 1 call to strlen) * queue_server() wasn't adding messages to the queue correctly... doh! 2004-02-01 00:13 wcc * doc/UPDATES1.6, language/core.danish.lang, language/core.english.lang, src/botnet.c, src/patch.h, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/notes.mod/language/notes.danish.lang, src/mod/notes.mod/language/notes.english.lang, src/mod/notes.mod/language/notes.french.lang, src/mod/notes.mod/language/notes.german.lang: * Cosmetic fixes to notes.mod. Found by: BarkerJr - Patch by: Wcc 2004-01-20 12:39 wcc * doc/UPDATES1.6, src/patch.h, src/users.c: * Don't check the bot's own user record when looking for a hub/althub to link to. Found by poptix; patch by lordares. 2004-01-17 21:57 wcc * aclocal.m4, configure: * Small fix from last commit. 2004-01-17 21:50 wcc * aclocal.m4, configure, src/patch.h: * More build process stuff. 2004-01-17 20:11 wcc * aclocal.m4, configure, configure.ac, doc/COMPILING-FAQ, src/cmds.c, src/patch.h: * More build process/build process documentation updates and portability stuff. * Changed trace (back?) to +t as it should be. This is a botnet command and should be set to 'botnet master' instead of all partyline users. 2004-01-13 04:21 wcc * doc/COMPILING-FAQ, doc/html/compiling.html, src/main.c, src/patch.h, src/compat/snprintf.c: * OSF/1 fixes. 2004-01-13 04:04 wcc * aclocal.m4, src/net.c, src/patch.h: * More build process stuff. 2004-01-12 19:30 wcc * .cvsignore, INSTALL, README, aclocal.m4, eggdrop.conf, doc/tcl-commands.doc, doc/html/egg-core.html, doc/html/install.html, doc/html/readme.html, doc/html/tcl-commands.html, doc/settings/core.settings, help/set/cmds1.help, src/net.c, src/patch.h: * Fixes from select_argtypes. * Doc updates. * More small build-process fixes. * More .cvsignore stuff. 2004-01-12 01:49 wcc * aclocal.m4, config.h.in, configure, configure.ac, src/modules.c, src/net.c, src/patch.h, src/compat/inet_aton.h: * Use AC_FUNC_SELECT_ARGTYPES() macro to fix select() warnings on several OS's. This is a better solution than the previous "OS_HACKS" #ifdefs. 2004-01-10 12:53 wcc * doc/.cvsignore, scripts/.cvsignore, src/.cvsignore, src/compat/.cvsignore, src/md5/.cvsignore, src/mod/.cvsignore, src/mod/compress.mod/.cvsignore, src/mod/dns.mod/.cvsignore: * .cvsignores 2004-01-10 02:41 wcc * language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h: * Fixes from server_crlf. * Add space between Banned: and kick reason. Found by reed. 2004-01-09 06:23 wcc * src/mod/server.mod/server.c: * Oops. 2004-01-09 06:07 wcc * src/: misc.c, modules.c, net.c, patch.h, proto.h, mod/module.h, mod/server.mod/server.c: * Make sure we append \r\n to irc messages. 2004-01-09 03:48 tothwolf * src/mod/server.mod/server.c: [no log message] 2004-01-09 02:23 wcc * eggdrop.conf, src/patch.h, src/mod/server.mod/server.c: * A few server-queuing fixes.. this might fix bug 379; please test. 2004-01-08 23:56 wcc * .cvsignore, CONTENTS, FEATURES, INSTALL, NEWS, README, configure, configure.ac, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/COMPILING-FAQ, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/PARTYLINE, doc/PATCH-HOWTO, doc/TEXT-SUBSTITUTIONS, doc/TRICKS, doc/USERS, doc/WEIRD-MESSAGES, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, misc/addpatch, misc/modconfig, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/eggautoconf, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: * Yay, 2004 copyright. That sucked.. I need to write a script to do that... *pops knuckles and stretches*. 2004-01-08 20:01 wcc * CONTENTS, config.h.in, configure, configure.ac, configure.in, src/patch.h: * configure.in -> configure.ac 2004-01-08 19:52 wcc * aclocal.m4, configure: * Er.. 2004-01-08 19:50 wcc * configure, configure.in, src/eggdrop.h, src/patch.h: * Fixes. 2004-01-08 19:36 wcc * acconfig.h, aclocal.m4, config.h.in, configure, configure.in, src/eggdrop.h, src/patch.h: * Fixes/updates for newer autoconf versions. This should fix the permissions errors. * Removed --disable-cc-optimization. 2004-01-06 04:34 wcc * aclocal.m4, config.h.in, configure, configure.in, doc/UPDATES1.6, src/eggdrop.h, src/patch.h, src/mod/compress.mod/compress.c, src/mod/irc.mod/msgcmds.c: * Autoconf 2.59. * Mac OS X fixes. * Fixes from previous msg_status() changes. 2003-12-27 04:55 tothwolf * scripts/alltools.tcl: * Added matchbotattrany * Optimized ordnumber * More minor changes 2003-12-23 16:13 wcc * doc/UPDATES1.6, src/patch.h, src/userent.c, src/userrec.c: * Truncate passwords at 30 chars instead of 15. Found by ting. Patch by Paladin. 2003-12-20 16:29 wcc * doc/UPDATES1.6, src/main.c, src/modules.c, src/mod/blowfish.mod/modinfo, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in, src/mod/irc.mod/tclirc.c: * Fixed a dns/bind configure issue with Cygwin. Patch by Kirben. * Fixed a typo in tcl_getchanjoin. Found by army. Patch by thommey. * Some main.c code formatting/indenting stuff. * Fixed a credit line in UPDATES1.6. 2003-12-15 00:18 tothwolf * aclocal.m4, configure: * Sanity check for EGG_PROG_HEAD_1 autoconf macro. 2003-12-14 00:44 wcc * doc/UPDATES1.6, src/mod/filesys.mod/files.c: * Indenting, UPDATES1.6... 2003-12-14 00:26 stdarg * src/mod/filesys.mod/files.c: * leftover putlog 2003-12-14 00:08 stdarg * src/: patch.h, mod/filesys.mod/files.c: * Check for multiple sources in mv when moving onto a single dest file. I think. 2003-12-14 00:04 wcc * doc/man1/eggdrop.1, src/patch.h: * man1 updates. 2003-12-13 23:17 wcc * src/patch.h: * Grr. 2003-12-13 22:31 wcc * src/cmds.c: * Ha. 2003-12-13 22:24 wcc * doc/UPDATES1.6, src/cmds.c: * Allow any user to .whois their own handle. Found by zeveroar at phreaker dot net (ZeveRoaRe RoeLt). 2003-12-13 16:06 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/chanprog.c, src/patch.h, src/mod/share.mod/share.c: * Added a new EVNT type, "userfile-loaded", which is called after the bot's userfile has been loaded. Patch by darko``. Found by wanderer. 2003-12-13 13:18 wcc * src/: patch.h, mod/Makefile.in: * Small fix. 2003-12-11 18:06 wcc * doc/UPDATES1.6, src/botcmd.c, src/chan.h, src/dcc.c, src/patch.h: * Fixed a few places where chan->name was being used instead of chan->dname. Found by wanderer. 2003-12-11 17:37 wcc * doc/UPDATES1.6, src/patch.h, src/tcldcc.c: * hand2idx works for bots now. Found by BarkerJr. 2003-12-10 21:56 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: * .stick/.unstick now works for channel masks. Patch by Sven Trenkel. 2003-12-10 19:30 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/userchan.c: * Properly escape IPv6 masks in write_exempts() and write_invites(). Patch by TaKeDa. 2003-12-10 19:23 wcc * CONTENTS, FEATURES, INSTALL, NEWS, README, doc/html/readme.html: * Docs. 2003-12-10 18:37 wcc * src/mod/channels.mod/userchan.c: * Works now; WEIRD. My tree must have been desynched. 2003-12-10 18:31 wcc * doc/FIRST-SCRIPT, doc/PATCH-HOWTO, src/mod/channels.mod/userchan.c: * Doc updates. * Testing stick stuff. 2003-12-10 13:37 wcc * src/: patch.h, mod/channels.mod/userchan.c: * Small fix from num_delmask. 2003-12-10 13:04 wcc * Makefile.in, misc/modconfig, src/patch.h, src/mod/Makefile.in, src/mod/assoc.mod/modinfo, src/mod/blowfish.mod/modinfo, src/mod/channels.mod/modinfo, src/mod/compress.mod/modinfo, src/mod/console.mod/modinfo, src/mod/ctcp.mod/modinfo, src/mod/dns.mod/modinfo, src/mod/filesys.mod/modinfo, src/mod/irc.mod/modinfo, src/mod/notes.mod/modinfo, src/mod/seen.mod/modinfo, src/mod/server.mod/modinfo, src/mod/share.mod/modinfo, src/mod/transfer.mod/modinfo, src/mod/uptime.mod/modinfo, src/mod/wire.mod/modinfo, src/mod/woobie.mod/modinfo: * More build updates. 2003-12-09 23:21 tothwolf * aclocal.m4, configure, configure.in, doc/UPDATES1.6: * Fix for nonworking 'head -1' in GNU Coreutils 5.0. 2003-12-09 19:37 tothwolf * src/dcc.c: * Properly declare dcc_telnet_got_ident as static. 2003-12-09 16:22 wcc * src/patch.h: * Forgot patch.h. 2003-12-09 16:21 wcc * Makefile.in, doc/Makefile.in, doc/UPDATES1.6, misc/modconfig, scripts/Makefile.in, src/Makefile.in, src/dcc.c, src/eggdrop.h, src/misc.c, src/compat/inet_aton.c, src/compat/snprintf.c, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/compress.mod/configure, src/mod/dns.mod/configure: * Cosmetic updates to the build process. * ctype.h is*() functions are apparently unsafe unless recasted. * Found by Teemu Hjelt. 2003-12-08 18:51 wcc * doc/Makefile.in, src/patch.h: * Small fix. 2003-12-08 18:42 wcc * PATCH-HOWTO, doc/PATCH-HOWTO, doc/TRICKS: * Fixes from last commit. 2003-12-08 18:27 wcc * PATCH-HOWTO, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/BUG-REPORT, doc/COMPILING-FAQ, doc/CONTENTS, doc/FIRST-SCRIPT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/Makefile.in, doc/PARTYLINE, doc/TEXT-SUBSTITUTIONS, doc/UPDATES.pre1.5, doc/UPDATES1.5, doc/UPDATES1.6, doc/USERS, doc/WEIRD-MESSAGES, doc/compiling.FAQ, doc/first_script.txt, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/app-tricks.html, src/patch.h: * Quite a bit of doc updates. * Start using a new UPDATES1.6 format which allows for longer found by/patched by/descriptions. The pre-1.6.16 entries remain unmodified, and i guess they should stay that way for historical purposes, *shrug*. 2003-12-07 15:49 wcc * doc/UPDATES1.6, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/userchan.c: * Bans, exempts, and invites starting with numbers can now be removed, stuck, and unstuck. Found by BarkerJr. 2003-12-03 23:57 wcc * aclocal.m4, configure, src/patch.h, text/CONTENTS: * Fixed head -1 problem. 2003-12-01 18:37 wcc * doc/UPDATES1.6, src/dns.c, src/patch.h: * Fixed the very very horrible handling of arguments by tcl_dnslookup(). Found by wanderer. Patch by KuNgFo0 and Wcc. 2003-12-01 18:10 wcc * aclocal.m4, configure, doc/UPDATES1.6, misc/config.guess, src/patch.h: * Reverted head.diff. 2003-11-30 21:19 wcc * aclocal.m4, configure, doc/UPDATES1.6, misc/config.guess, src/patch.h: * Changed head -1 to head -n 1. Patch by guppy. Found by ali3n. 2003-11-30 21:02 wcc * doc/UPDATES1.6: * Effing editor. 2003-11-30 20:54 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: * Fixed a bug causing the bot to rejoin when kicked from inactive channels. This can happen when bot-server connection lag exists or queues become full. Patch by BarkerJr/Eule. 2003-11-30 15:42 poptix * eggdrop.conf: Added a space. 2003-11-30 15:39 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-share.html, doc/settings/mod.share, src/patch.h, src/mod/assoc.mod/help/assoc.help, src/mod/channels.mod/help/channels.help, src/mod/channels.mod/help/set/channels.help, src/mod/share.mod/help/share.help, src/mod/share.mod/help/set/share.help: * More help/doc updates. 2003-11-27 01:09 wcc * src/: patch.h, mod/channels.mod/channels.c: * More cosmetics... 2003-11-27 00:15 wcc * src/: patch.h, mod/irc.mod/irc.c, mod/irc.mod/msgcmds.c: * Fixes from last commit. 2003-11-26 23:48 wcc * src/mod/irc.mod/msgcmds.c: * Small fix from last commit. 2003-11-26 23:45 wcc * src/: chanprog.c, patch.h, mod/irc.mod/irc.c, mod/irc.mod/msgcmds.c: * Continued. 2003-11-26 23:17 wcc * src/mod/irc.mod/msgcmds.c: * No point in exporting the var for this really. 2003-11-26 23:10 wcc * language/core.english.lang, src/chanprog.c, src/patch.h, src/mod/irc.mod/msgcmds.c: * Msg commands cosmetic cleanups. * More status cleanups. * Fixed a buffer overrun in msg_status(). 2003-11-26 21:25 wcc * doc/UPDATES1.6, src/chanprog.c, src/modules.c, src/patch.h, src/mod/irc.mod/irc.c: * Cosmetic fixes to .status. 2003-11-26 21:20 wcc * language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/botcmd.c, src/cmds.c, src/flags.c, src/lang.h, src/patch.h: * Cosmetic fixes to .who. 2003-11-26 20:44 wcc * README, doc/text-substitutions.doc, doc/html/app-textsub.html, doc/html/faqs.html, help/cmds1.help, help/cmds2.help, help/core.help, src/dcc.c, src/eggdrop.h, src/patch.h, src/mod/irc.mod/help/msg/irc.help, src/mod/notes.mod/help/msg/notes.help, src/mod/notes.mod/help/set/notes.help, src/mod/notes.mod/language/notes.english.lang, src/mod/notes.mod/language/notes.german.lang, src/mod/server.mod/modinfo: * Round 2. 2003-11-26 19:07 wcc * doc/BOTNET, doc/BUG-REPORT, doc/tricks, doc/html/botnet.html, help/cmds1.help, help/cmds2.help, language/core.danish.lang, language/core.english.lang, language/core.french.lang, src/patch.h, src/mod/channels.mod/help/channels.help, src/mod/channels.mod/help/set/channels.help, src/mod/share.mod/help/share.help, src/mod/transfer.mod/help/set/transfer.help: * More doc and help file cleanups. More coming. 2003-11-26 10:01 wcc * doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/filedb3.c: * Fixed a getdesc segfault when a file has no description. Patch by dw. Found by R. Ramos. 2003-11-23 10:10 wcc * doc/compiling.FAQ, doc/html/compiling.html, src/patch.h: * Small typo fix. 2003-11-01 17:26 wcc * NEWS, acconfig.h, aclocal.m4, config.h.in, configure, configure.in, eggdrop.conf, doc/IPV6, doc/UPDATES1.6, doc/html/egg-core.html, doc/html/ipv6.html, doc/html/mod-server.html, doc/html/news.html, doc/settings/core.settings, doc/settings/mod.server, src/Makefile.in, src/botnet.c, src/cmds.c, src/dcc.c, src/eggdrop.h, src/main.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclmisc.c, src/compat/Makefile.in, src/compat/compat.h, src/compat/inet_ntop.c, src/compat/inet_ntop.h, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in, src/mod/dns.mod/dns.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: * Remove IPv6 for now. I know we've discussed this on the lists and in #eggdrop/#eggdev on Undernet, and I think we pretty much agreed (as far as 'agreeing' goes on eggdev anyway ;p) to ditch this hacked togeather code and get Ian's code tested and put that in an upcoming release instead. IPv6 realllyyyyyyy screwed up .15. I'm basically ready to release .16.. can anyone think of anything else that needs to be done? Bugzilla is dead and i'm not sure if eggdev's up or not, but changes appears to work. The lists have been down alot lately. Anyway, e-mail me if I forgot any little pieces, but I don't think I did. -- Wcc 2003-11-01 14:04 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: * BarkerJr: > This makes the errors display nicer. > > illegal channel option: +testillegal channel option: +test2illegal > channel option: +test3 > > vs. > > illegal channel option: +test > illegal channel option: +test2 > illegal channel option: +test3 > > Just added a little "\n" 2003-11-01 14:00 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/help/channels.help: * .chanset accepts '*'; reflect in the docs. Patch by Johoho. 2003-10-03 18:53 wcc * doc/UPDATES1.6, src/patch.h, src/tcluser.c: * Fixed bug 365 (missing call to check_this_user in tcl_setuser). Patch by Eule. Bugzilla is dead, can't credit the finder till it's up. I'd like to get .16 out soon; what else needs to be done? 2003-08-20 20:02 tothwolf * doc/UPDATES1.6: [no log message] 2003-08-20 00:56 wcc * doc/UPDATES1.6: * Forgot UPDATES. 2003-08-19 22:52 wcc * src/: patch.h, mod/channels.mod/cmdschan.c, mod/irc.mod/chan.c, mod/irc.mod/mode.c: * Patch by Sven Trenkel: * Fixed '.-ban number #channel' bug (bug 348). * Found by R. Brooklyn. * Small fixes to fakemode-kick code. 2003-08-18 12:37 tothwolf * doc/UPDATES1.6: [no log message] 2003-08-17 21:27 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-irc.html, doc/html/mod-server.html, doc/settings/mod.irc, doc/settings/mod.server, src/patch.h, src/mod/irc.mod/irc.c, src/mod/server.mod/server.h, src/mod/server.mod/help/set/server.help: * Made appropriate changes to accommodate for EFnet's implementation of exempts and invites. 2003-08-16 17:22 wcc * doc/UPDATES1.6: * Missing UPDATES entries; grr :P. 2003-08-16 15:26 wcc * help/cmds1.help, src/patch.h: * Updates to help for +host. Found by MC_8. Patch by BarkerJr. This resolves bug 357. 2003-08-16 15:20 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: * Bind documentation updates. Found by |SmAsH|. 2003-08-16 14:12 wcc * doc/UPDATES1.6, src/dcc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h: * Exported strip_mirc_codes() and check_ansi(). This closes bug 361. Found by BarkerJr. 2003-08-16 10:41 stdarg * src/mod/server.mod/server.c: * H_notc used wrong handler. Fixed by PaulE@Blueyonder.co.uk 2003-08-06 12:17 stdarg * src/mod/transfer.mod/transfer.c: * Check to make sure file we want to send exists; found by fabulous at brasnet.org 2003-07-30 20:50 tothwolf * src/mod/irc.mod/msgcmds.c: Removed unnecessary quiet_reject checks in msg_ident() that have been present since 1.3.0+bel17. 2003-06-30 22:36 wcc * src/: main.c, patch.h, mod/module.h: * Fix to MD5 function exporting. Patch by Paladin. 2003-06-10 13:05 wcc * config.h.in, configure, src/patch.h: * Autoconf 2.57 has problems on FreeBSD; reverting to autoconf 2.54. 2003-06-10 09:16 stdarg * acconfig.h, aclocal.m4, config.h.in, configure, src/main.c: * Make room for the core file if we're not stripping the files * When I do cvs diff config.h.in, there's one of those id tags in it.. isn't that wrong? 2003-06-09 22:27 stdarg * aclocal.m4, configure: * Removed stripping, added --enable-strip option to configure. Needs testing since I don't know much about autoconf! 2003-06-08 19:49 wcc * doc/UPDATES1.6, src/mem.c, src/patch.h: * Small fix to n_realloc(). Patch by Timothy Barbeisch. 2003-05-13 23:27 stdarg * src/compat/inet_ntop.h: * Another missing sys/types.h? 2003-05-13 14:06 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: * Tcl commands doc update by PPSlim. 2003-05-12 17:57 wcc * misc/addpatch, src/patch.h, src/tclmisc.c: * Updates to addpatch script. * Added a sanity check to previous patch. 2003-05-11 17:53 wcc * doc/UPDATES1.6, src/patch.h, src/tclmisc.c: * Fixed output of tcl_duration to not return extra spaces. Found by Wanderer. 2003-05-07 19:51 stdarg * src/mod/irc.mod/cmdsirc.c: * .topic command works for halfops too 2003-05-07 18:20 stdarg * src/mod/irc.mod/cmdsirc.c: * Fix .voice/.devoice logic 2003-05-07 17:05 wcc * aclocal.m4, configure, src/patch.h: * More inet_ntop() fixes. 2003-05-07 14:41 wcc * aclocal.m4, configure, src/patch.h: * More socklen_t fixes. 2003-05-06 22:57 wcc * src/compat/inet_ntop.c: * Indenting. 2003-05-06 22:46 wcc * configure: * Ran autoconf 2.54. 2003-05-06 22:45 wcc * acconfig.h, aclocal.m4, config.h.in, configure.in, doc/UPDATES1.6, src/eggdrop.h, src/modules.c, src/patch.h, src/compat/inet_ntop.c, src/compat/inet_ntop.h: * Don't compile inet_ntop compatability code unless USE_IPV6 is defined. * typedef socklen_t to int if non-existant. 2003-05-06 18:23 wcc * eggdrop.conf, doc/html/mod-server.html, doc/settings/mod.server, src/patch.h: * IPv6 documentation updates. 2003-05-04 18:49 wcc * doc/UPDATES1.6, src/misc.c, src/patch.h: * Fixed an uninitialized variable in putlog(). Patch by TaKeDa. 2003-05-04 18:22 wcc * doc/UPDATES1.6, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/html/app-textsub.html, doc/html/tcl-commands.html, src/main.c, src/patch.h: * Start of 1.6.16. 2003-05-04 16:04 wcc * doc/UPDATES1.6, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/html/app-textsub.html, doc/html/tcl-commands.html, language/core.english.lang, src/main.c, src/patch.h: * Here comes 1.6.15 :/. 2003-05-04 14:13 wcc * doc/UPDATES1.6: * Added UPDATES entry for IPv6 support. 2003-05-02 22:36 wcc * src/: misc.c, patch.h: * Fixed bug 302. Patch by TaKeDa. Found by eviler. 2003-04-29 21:47 wcc * src/: misc.c, net.c, patch.h: * IPv6 fixes. 2003-04-17 02:29 stdarg * src/misc.c: * Fixed logfile suffix stray message bug. 2003-04-16 23:09 wcc * misc/addpatch, src/patch.h: * Addpatch compatability. 2003-04-16 22:52 wcc * src/: cmds.c, patch.h: * Another IPv6 ifdef fix. 2003-04-16 22:38 wcc * CONTENTS, NEWS, eggdrop.conf, doc/CONTENTS, doc/IPV6, doc/KNOWN-PROBLEMS, doc/MODULES, doc/compiling.FAQ, doc/patch.howto, doc/html/egg-core.html, doc/html/ipv6.html, doc/html/news.html, doc/html/tcl-commands.html, doc/settings/CONTENTS, doc/settings/core.settings, src/cmds.c, src/net.c, src/patch.h, src/tcl.c, text/CONTENTS: * IPv6 doc updates. * More IPv6 fixes. * Misc. doc updates. 2003-04-16 19:55 wcc * src/: botnet.c, cmds.c, dcc.c, eggdrop.h, main.c, main.h, modules.c, net.c, patch.h, proto.h, tcl.c, tcldcc.c, tclmisc.c, mod/module.h, mod/dns.mod/dns.c, mod/filesys.mod/filesys.c, mod/server.mod/server.c, mod/server.mod/servmsg.c, mod/share.mod/share.c, mod/transfer.mod/transfer.c: * IPv6 indenting. * Misc IPv6 fixes. 2003-04-16 15:53 wcc * misc/addpatch, src/patch.h: * Updates to addpatch. 2003-04-16 15:25 wcc * src/: patch.h, mod/server.mod/server.c: * Fixed uninitialized x->port. Patch by Matyas Koszik. 2003-04-15 19:03 guppy * scripts/cmd_resolve.tcl: couple of small things in cmd_resolve.tcl 2003-04-15 11:41 guppy * scripts/autobotchk: oops, apparently -20 never did anything 2003-04-15 11:37 guppy * doc/UPDATES1.6, scripts/autobotchk: fixed a few autobotchk things 2003-04-02 15:16 wcc * src/: patch.h, compat/inet_ntop.c: * Fixed an IPv6 typo. 2003-04-01 16:58 wcc * src/patch.h: * patch.h 2003-04-01 16:58 wcc * src/compat/: inet_ntop.c, inet_ntop.h: * Forgot cvs add last night. 2003-03-31 23:33 wcc * acconfig.h, aclocal.m4, config.h.in, configure, configure.in, src/Makefile.in, src/botnet.c, src/cmds.c, src/dcc.c, src/eggdrop.h, src/main.c, src/modules.c, src/net.c, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclmisc.c, src/compat/Makefile.in, src/compat/compat.h, src/compat/inet_aton.c, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/eggautoconf, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in, src/mod/dns.mod/dns.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/uptime.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: * Added the IPv6 patch to CVS. This is not 100% complete yet. Please test and improve! :P 2003-03-31 06:03 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h: * Fixed the logic of .fixcodes. Patch by PPSlim. 2003-03-31 06:01 wcc * doc/UPDATES1.6, src/patch.h, src/tclmisc.c: * Added a missing cast in tcl_rand. Patch by KuNgFo0. 2003-03-25 18:19 wcc * doc/UPDATES1.6, scripts/getops.tcl, src/patch.h: * Fixed getops timer handling. Patch by PPSlim. 2003-03-24 01:29 wcc * doc/: compiling.FAQ, html/compiling.html: * Documented a problem I came accross on AIX... 2003-03-23 23:47 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: * Fixed access checking in -ban, -exempt, and -invite. 2003-03-23 20:48 wcc * src/: patch.h, mod/channels.mod/tclchan.c: * 8.4 fixes. 2003-03-23 20:46 wcc * src/: patch.h, mod/channels.mod/tclchan.c: * Tcl 8.4 fixes from stdarg's patch. 2003-03-23 20:18 wcc * src/mod/channels.mod/tclchan.c: * GRRRRR.... 2003-03-23 19:52 wcc * src/: patch.h, mod/channels.mod/tclchan.c: * Indenting and patch.h from last commit. 2003-03-23 19:36 stdarg * src/mod/channels.mod/tclchan.c: * Added string support to "channel get" -- it was left out of the back-port. 2003-03-23 18:00 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: * Fixed a Tcl_Merge memleak. Patch by TaKeDa. 2003-03-21 16:56 wcc * src/: patch.h, mod/transfer.mod/language/transfer.danish.lang: * One more danish language fix. 2003-03-19 18:10 wcc * src/: patch.h, mod/assoc.mod/language/assoc.danish.lang, mod/console.mod/language/console.danish.lang: * Previous patch screwed up Id tags. 2003-03-19 18:04 wcc * language/core.danish.lang, src/patch.h, src/mod/assoc.mod/language/assoc.danish.lang, src/mod/console.mod/language/console.danish.lang, src/mod/filesys.mod/language/filesys.danish.lang, src/mod/notes.mod/language/notes.danish.lang, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/wire.mod/language/wire.danish.lang: * A couple of Danish language fixes. Patch by TheAvatar. 2003-03-19 17:44 wcc * src/: patch.h, mod/channels.mod/channels.c, mod/channels.mod/userchan.c: * Fixed a memleak in the channels module. Patch by Eule. 2003-03-19 17:04 wcc * eggdrop.conf: * Removing and adding eggdrop.conf (doesn't show up in cvsweb). 2003-03-18 18:13 wcc * src/mod/irc.mod/cmdsirc.c: * Removed an unused variable from last commit. 2003-03-18 15:23 wcc * src/: patch.h, mod/irc.mod/cmdsirc.c: * Logic fixes to the has_flags-get_channel changes. Found by Eule. 2003-03-16 15:41 wcc * doc/UPDATES1.6, doc/patch.howto, src/patch.h, src/mod/filesys.mod/files.c: * Fixed a crash related to the cd command in filesys.mod. Patch by Matyas Koszik. 2003-03-15 23:04 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: * Channel keys are now handled correctly in flush_mode(). Patch by Eule. 2003-03-15 23:01 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: * Patch by Sven Trenkel: * Locking a channel key/limit now enforces it from being changed as well as unset. * Don't bounce our own modes. * q|q users can no longer obtain a channel voice, regardless of +autovoice. 2003-03-15 22:49 wcc * src/: patch.h, mod/server.mod/cmdsserv.c: * Only show real-name of current server. Found by Paladin. 2003-03-12 19:05 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h: * Reverted identd-safety. 2003-03-12 18:55 wcc * doc/UPDATES1.6, src/dcc.c, src/patch.h: * Added a few safety checks to dcc_ident(). 2003-03-12 02:42 wcc * src/: patch.h, mod/filesys.mod/filedb3.c, mod/filesys.mod/files.c: * Fixed two more AlphaLinux warnings. 2003-03-11 00:12 wcc * src/: patch.h, mod/irc.mod/cmdsirc.c: * Small indenting fixes from last commit. 2003-03-10 19:41 wcc * src/: patch.h, tcl.c: * enable-simul compat var should be set to 1. 2003-03-10 19:22 wcc * doc/UPDATES1.6, language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h, src/mod/channels.mod/userchan.c, src/mod/irc.mod/cmdsirc.c: * Users with appropriate flags can now halfop and voice themselves. Patch by Eule, however I changed a few small things. * For some odd reason, userchan.c did not get updated from mns_ban-fix. 2003-03-10 00:06 wcc * src/: patch.h, tcl.c: * Script compatability for recently removed config file variables. 2003-03-09 23:57 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c: Patch by Sven Trenkel: * -ban now works for channel bans. * -ban now removes the ban from the channel. 2003-03-09 23:33 wcc * src/: patch.h, mod/channels.mod/userchan.c: * Fixed another off-by-one error in u_del[ban/exempt/invite]. Found by BarkerJr. 2003-03-09 23:26 wcc * NEWS, doc/AUTHORS, doc/BANS, doc/PARTYLINE, doc/USERS, doc/WEIRD-MESSAGES, doc/compiling.FAQ, doc/html/app-weird.html, doc/html/compiling.html, doc/html/news.html, src/botcmd.c, src/patch.h: * Doc updates. * Fixed indenting from handshakefix. 2003-03-08 01:47 wcc * src/: botcmd.c, patch.h: * Fixed the order of the bot command table. *HIDES IN CORNER* 2003-03-07 22:29 wcc * doc/UPDATES1.6, language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/chanprog.c, src/modules.c, src/patch.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/compress.mod/compress.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/irc.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/transfer.mod/language/transfer.english.lang, src/mod/transfer.mod/language/transfer.french.lang, src/mod/transfer.mod/language/transfer.german.lang, src/mod/uptime.mod/uptime.c, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c: * Cleaned up the output of .status (mainly .status all). 2003-03-07 15:32 wcc * language/core.danish.lang, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/patch.h, src/mod/assoc.mod/language/assoc.danish.lang, src/mod/console.mod/language/console.danish.lang, src/mod/filesys.mod/language/filesys.danish.lang, src/mod/notes.mod/language/notes.danish.lang, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/transfer.mod/language/transfer.german.lang, src/mod/wire.mod/language/wire.danish.lang: * Danish language files were in PC format. * Fixed other small file formatting/Id tag issues. 2003-03-07 06:38 wcc * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/transfer.mod/language/transfer.english.lang, src/mod/transfer.mod/language/transfer.german.lang: * Added a german language file for the transfer module. Translation by Felix. * Fixed a typo in transfer.h. * Fixed CVS Id: tags in transfer language files. 2003-03-07 01:02 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: * Show a meaningful error message when an invalid channel is added with cmd_pls_chan(). 2003-03-07 00:42 wcc * src/: patch.h, mod/transfer.mod/language/transfer.french.lang: * A french entry was missing in transfer.mod's language files. Translation by caesar. 2003-03-06 22:40 wcc * src/: patch.h, mod/server.mod/server.c: * Woops, realservername's memory should be calculated outside of the serverlist loop. 2003-03-06 21:36 wcc * src/: patch.h, mod/server.mod/server.c, mod/server.mod/servmsg.c: * Memory calculation for realservername should be done in server_expmem() instead of msgq_expmem(). 2003-03-06 21:27 stdarg * src/mod/server.mod/: server.c, servmsg.c: * minor realservername fixes 2003-03-05 23:19 wcc * src/: patch.h, md5/md5c.c: * compat.h needs to be included in md5c.c. 2003-03-05 21:49 wcc * doc/UPDATES1.6, src/patch.h, src/tcl.c, src/md5/md5c.c, src/mod/transfer.mod/transferfstat.c, src/mod/uptime.mod/uptime.c: * We weren't using the compat functions for memcpy() and memset() in some places. 2003-03-05 21:35 wcc * src/: patch.h, md5/md5.h, md5/md5c.c: * src/md5/ should not have been indented. 2003-03-04 22:32 wcc * acconfig.h, aclocal.m4, config.h.in, configure, configure.in, doc/BUG-REPORT, src/patch.h, src/compat/snprintf.c, src/compat/snprintf.h: * Reverted C99 snprintf() stuff for now. This patch needed further testing before commit. It is creating many header conflicts, etc. 2003-03-04 21:24 stdarg * src/compat/snprintf.c: * Get rid of HAVE_CTYPE_H check since we don't check for it in configure 2003-03-04 21:15 stdarg * src/compat/snprintf.c: * compat code should not include main.h, since that pulls in nmalloc "enforcement" 2003-03-04 20:39 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: * Fixed an issue causing the server variable to be empty after a rehash. Fixed by Sven Trenkel. Sound by |SmAsH|. * Fixed a crash that can happen when the serverlist contains null strings. Fixed by Sven Trenkel. 2003-03-04 20:09 wcc * doc/MODULES, misc/addpatch, src/patch.h: * Updates to doc/MODULES. * Cosmetic updates to misc/addpatch. 2003-03-04 16:14 wcc * acconfig.h, aclocal.m4, config.h.in, configure, configure.in, src/patch.h, src/compat/snprintf.c, src/compat/snprintf.h: * Backported C99 snprintf() checking. Patch by Tothwolf. 2003-03-04 08:11 tothwolf * src/: patch.h, mod/module.h: Added casts for nmalloc and nrealloc in the module symbol lookup table. 2003-03-04 04:33 tothwolf * acconfig.h, aclocal.m4, config.h.in, configure, src/compat/snprintf.c, src/compat/snprintf.h: Simplify checking for broken snprintf/vsnprintf functions. 2003-03-04 03:02 wcc * doc/patch.howto: * Patch howto updates. 2003-03-04 02:51 wcc * doc/UPDATES1.6, src/botnet.c, src/chan.h, src/cmds.c, src/dcc.c, src/language.c, src/modules.c, src/net.c, src/patch.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/compat/inet_aton.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/compress.mod/compress.c, src/mod/dns.mod/coredns.c, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c: * WASHALFOP flag works now (fixed by Sven Trenkel). * Added NO_HALFOP_CHANMODES define to chan.h. When defined, only +b, +e, and +I modes can be set when the bot is a halfop. * Added NOHALFOPS_MODES define to define the modes the bot is not allowed to set as halfop. To prevent bans, exempts, and invites from being set as halfop, add these modes to NOHALFOPS_MODES. * Cleaned up a few things I noticed along the way, including more fixes from the indenting patch. 2003-03-04 01:01 wcc * doc/UPDATES1.6, src/patch.h, src/compat/snprintf.c, src/compat/snprintf.h: * More OSF/1 fixes. 2003-03-01 17:31 wcc * doc/html/tcl-commands.html: * Small doc fix. 2003-03-01 02:31 wcc * doc/UPDATES1.6, src/chan.h, src/patch.h: * The WASHALFOP flag now works correctly. Patch by Sven Trenkel. 2003-03-01 02:27 wcc * CONTENTS, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: * Documentation updates. 2003-02-28 17:07 wcc * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.c: * Kill a transfer connection after sending a TRANSFER_DCC_IGNORED notice to a user. Found by fbs. 2003-02-28 06:45 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: * flood-pub should be flood-chan when using 'channel get'. Patch by ppslim. 2003-02-28 03:21 tothwolf * src/: patch.h, tcl.c, tclmisc.c: Reverted Function cast changes and fixed a couple CONST typos. 2003-02-28 02:17 tothwolf * src/: main.h, patch.h, tclegg.h: Moved new Tcl checks to main.h. 2003-02-28 01:20 tothwolf * src/tcl.c: utf_converter needed a Function cast. 2003-02-27 22:01 wcc * acconfig.h, aclocal.m4, config.h.in, configure, doc/UPDATES1.6, src/patch.h, src/compat/snprintf.c, src/compat/snprintf.h: * We should compile on Tru64 UNIX now. The problem was due to snprintf() and vsnprintf() apparently being in a shared 'compatability' library on hese systems (from what I could get out of their horrible documentation). We will now use Eggdrop's snprintf() and vsnprintf() compatablity functions for OSF1/Tru64/Digital UNIX. Could anyone with access to a Tru64 system please verify that Eggdrop compiles fine on it now? Reported by Shane. 2003-02-27 06:15 wcc * config.h.in, configure, src/patch.h: * Ran autoheader and autoconf for last commit. 2003-02-27 04:18 tothwolf * acconfig.h, aclocal.m4, configure.in, src/chanprog.c, src/flags.c, src/main.c, src/main.h, src/modules.c, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclmisc.c, src/tcluser.c, src/userent.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c, src/mod/console.mod/console.c, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/notes.c, src/mod/server.mod/server.c, src/mod/server.mod/tclserv.c, src/mod/transfer.mod/transferfstat.c: Simplify TCL_MAJOR_VERSION/TCL_MINOR_VERSION checks. 2003-02-26 20:36 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: * '~' and '&' are now correctly recognized as a meaning a user has ops on a channel. Patch by BarkerJr. 2003-02-26 00:16 tothwolf * src/: tcl.c, tclmisc.c: Group some TCL_MAJOR_VERSION/TCL_MINOR_VERSION checks with parenthesis. 2003-02-20 23:01 wcc * doc/UPDATES1.6, src/eggdrop.h, src/patch.h: * Fixed uhost buffer length. Fixed by winkey. 2003-02-20 20:15 wcc * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.c: * Don't use the help queue for dcc sends or gets. Found by winkey. 2003-02-17 18:47 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: * Case-changes should be traced when the 'nick' Tcl variable is modified. 2003-02-16 03:03 wcc * doc/UPDATES1.6: * Grr, UPDATES1.6 conflict. 2003-02-16 02:59 wcc * doc/UPDATES1.6, language/core.danish.lang, src/patch.h, src/mod/assoc.mod/language/assoc.danish.lang, src/mod/console.mod/language/console.danish.lang, src/mod/filesys.mod/language/filesys.danish.lang, src/mod/notes.mod/language/notes.danish.lang, src/mod/transfer.mod/language/transfer.danish.lang, src/mod/wire.mod/language/wire.danish.lang: * Added a set of Danish language files by TheAvatar. 2003-02-16 00:36 wcc * configure, src/patch.h: * Reverted to autoconf 2.54 due to problems on *BSD. 2003-02-15 13:42 wcc * src/: patch.h, users.c: * Sigh, the igrec structure is different than the maskrec structure :/. 2003-02-15 02:59 wcc * doc/UPDATES1.6, src/patch.h, src/users.c: * Fixed an out-of-bounds error in delignore(). 2003-02-13 17:56 wcc * eggdrop.conf, doc/html/mod-irc.html, doc/html/mod-server.html, doc/settings/mod.channels, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.server, src/patch.h, src/mod/assoc.mod/help/assoc.help, src/mod/console.mod/help/console.help, src/mod/console.mod/help/set/console.help, src/mod/ctcp.mod/help/set/ctcp.help: * More help/doc updates. 2003-02-13 17:39 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h: Argument checking for cmd_comment() and cmd_botaddr() was incorrect. Found by Tothwolf. 2003-02-11 03:19 wcc * eggdrop.conf, doc/html/egg-core.html, doc/settings/core.settings, src/misc_file.c, src/patch.h: * Commented the default listen command as suggested by Paladin at #eggdrop at UnderNet. This is due to the large ammount of users who do not change the default port, and then can't figure out what the port number is, etc. * Fixed a typo in a header-comment in misc_file.c. 2003-02-09 18:25 wcc * src/: patch.h, mod/channels.mod/userchan.c: * Fixed an off-by-one error in u_delban(), u_delexempt(), and u_delinvite(). Found by |SmAsH|. 2003-02-06 14:15 wcc * doc/UPDATES1.6, src/botnet.c, src/cmds.c, src/patch.h, src/mod/assoc.mod/assoc.c: * GLOBAL_CHANS wasn't used everywhere it should be. 2003-02-04 22:17 wcc * src/dccutil.c: * It's copy_to_tmp, not copy_to_temp. 2003-02-04 21:05 wcc * src/: dccutil.c, patch.h: * Fixed a bug in killtransfer causing it to delete the original file if copy_to_temp is disabled. Found by fbs. 2003-02-04 05:15 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: Fixed a me_op() logic problem when reversing in got_[op|halfop](). 2003-02-04 05:11 wcc * src/patch.h: * Forgot patch.h. 2003-02-04 05:10 wcc * src/mod/server.mod/servmsg.c: * x(serverlist entry)->realname in got001() should be set before anything that could utilize x->realname is called. Test this! 2003-02-04 05:07 wcc * doc/UPDATES1.6, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c: If revengebot/revenge is enabled for a channel, and a ban is placed on a user not running ident, if strict-host is 0 a non-matching banmask will be placed on the channel (because strict-host is incorrectly used on bans in maskhost()). strict-host is for user records, not bans. Patch by |SmAsH|. 2003-02-04 04:21 wcc * doc/html/mod-channels.html, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.channels, doc/settings/mod.server, help/cmds1.help, help/core.help, scripts/compat.tcl, src/cmds.c, src/patch.h, src/mod/assoc.mod/help/assoc.help, src/mod/channels.mod/help/channels.help: * More help file/documentation cleanups/updates. * Removed 'nick'and 'chnick' bindings from compat.tcl because they were never removed from the internal bind table. 2003-02-04 02:23 wcc * src/: patch.h, mod/filesys.mod/files.c: * Patch.h and indenting from stdarg's last commit :P. 2003-02-04 02:11 stdarg * src/mod/filesys.mod/files.c: * cd / and . work in filesys.mod 2003-02-04 01:51 wcc * src/patch.h: * Added patch.h for filesys crash. 2003-02-04 01:10 stdarg * src/mod/filesys.mod/files.c: * malloc_strcpy to the rescue! 2003-02-04 00:47 stdarg * src/mod/filesys.mod/files.c: Uninitialized var in files.c 2003-02-03 03:48 wcc * eggdrop.conf, doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/files.c: * Cleaned up stdarg's debugging stuff from last commit and changed patch.h and UPDATES1.6. * Fixed a bind in the config file (found by stdarg). 2003-02-03 03:18 stdarg * src/mod/filesys.mod/files.c: * Fixed filesys leak, be sure to test a lot! 2003-02-03 02:37 stdarg * src/mod/filesys.mod/files.c: * Trying something else 2003-02-03 02:15 stdarg * src/mod/filesys.mod/files.c: * Testing to see if this is a memory leak 2003-02-03 01:59 poptix * README: testing 2003-02-02 16:14 wcc * README, configure, configure.in, doc/UPDATES1.6, doc/compiling.FAQ, doc/html/compiling.html, doc/html/readme.html, help/core.help, src/patch.h: * Changed recomended Tcl version to 8.3.4. * Changed URL for Tcl to http://tcl.activestate.com/. * Updated autoconf to 2.57. 2003-02-02 15:13 wcc * help/core.help: * More help file fixes (I'm not exactly sure how this happened..). 2003-02-02 15:08 wcc * help/core.help, src/patch.h: * More help file fixes. 2003-02-02 12:36 wcc * src/mod/module.h: * Fixed an unbalenced comment. 2003-02-02 12:24 wcc * src/: patch.h, mod/channels.mod/help/channels.help, mod/server.mod/servmsg.c: * Sorry, should compile now. 2003-02-02 04:19 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-server.html, doc/settings/mod.server, src/cmds.c, src/dcc.c, src/flags.c, src/misc.c, src/modules.c, src/patch.h, src/tcl.c, src/mod/module.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: * Merged use-console-r and debug-output into one new setting named raw-log. * Small indenting fix from a pls_bot_cosmetic. 2003-02-02 03:22 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c: Backported user-defined channel strings from 1.7. 2003-02-01 22:20 wcc * eggdrop.conf, doc/tcl-commands.doc, doc/html/mod-channels.html, doc/html/tcl-commands.html, doc/settings/mod.channels, help/set/cmds2.help, src/patch.h, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/set/channels.help: * Start of help file cleanups. 2003-01-31 05:50 tothwolf * src/: patch.h, tcldcc.c: Sanity check tcl_dccsimul args before checking idx. 2003-01-31 02:02 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, src/patch.h, src/tcl.c, src/tcldcc.c: Removed the enable-simul config file setting. 2003-01-31 01:26 wcc * eggdrop.conf, doc/html/egg-core.html, doc/settings/core.settings, help/core.help, help/set/cmds1.help, src/patch.h, src/mod/irc.mod/help/msg/irc.help: * Core help set cleanups. 2003-01-31 01:13 wcc * src/: patch.h, mod/irc.mod/help/irc.help: Fixed a small halfop-related helpfile error. Fixed by Tothwolf. 2003-01-30 20:53 wcc * doc/UPDATES1.6, help/cmds1.help, src/cmds.c, src/patch.h: * Fixed a cosmetic problem with cmd_pls_bot(). 2003-01-30 16:39 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/userchan.c: Fixed a crash in u_delban (bug 267) caused by trying to strcpy to an initialized pointer char. Found by Cosmo. 2003-01-30 04:38 wcc * doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/tclfiles.c: * Use movefile() instead of copyfile() and unlink() when moving files in filesys.mod. Found by fbs. Note that the memory leak reported as bug 305 exists BEFORE this patch. 2003-01-30 01:15 wcc * src/: bg.c, botcmd.c, botmsg.c, botnet.c, chanprog.c, cmds.c, dcc.c, dccutil.c, dns.c, flags.c, language.c, main.c, mem.c, misc.c, modules.c, net.c, patch.h, tcl.c, tcldcc.c, tclhash.c, tclmisc.c, tcluser.c, userent.c, userrec.c, users.c, compat/inet_aton.c, compat/snprintf.c, mod/assoc.mod/assoc.c, mod/blowfish.mod/blowfish.c, mod/channels.mod/channels.c, mod/channels.mod/cmdschan.c, mod/channels.mod/tclchan.c, mod/channels.mod/userchan.c, mod/compress.mod/compress.c, mod/compress.mod/tclcompress.c, mod/console.mod/console.c, mod/ctcp.mod/ctcp.c, mod/dns.mod/coredns.c, mod/dns.mod/dns.c, mod/filesys.mod/dbcompat.c, mod/filesys.mod/filedb3.c, mod/filesys.mod/filelist.c, mod/filesys.mod/files.c, mod/filesys.mod/filesys.c, mod/filesys.mod/tclfiles.c, mod/irc.mod/chan.c, mod/irc.mod/cmdsirc.c, mod/irc.mod/irc.c, mod/irc.mod/mode.c, mod/irc.mod/msgcmds.c, mod/irc.mod/tclirc.c, mod/notes.mod/cmdsnote.c, mod/notes.mod/notes.c, mod/seen.mod/seen.c, mod/server.mod/cmdsserv.c, mod/server.mod/server.c, mod/server.mod/servmsg.c, mod/server.mod/tclserv.c, mod/share.mod/share.c, mod/share.mod/uf_features.c, mod/transfer.mod/tcltransfer.c, mod/transfer.mod/transfer.c, mod/transfer.mod/transferfstat.c, mod/transfer.mod/transferqueue.c, mod/wire.mod/wire.c: * We should have been using indent -ce (fixed). 2003-01-30 00:26 wcc * src/compat/gnu_strftime.c: Reverted indenting changes to gnu_strftime.c. 2003-01-29 20:49 wcc * src/: patch.h, mod/filesys.mod/filesys.c: * Fixed a segfault in do_dcc_send() in filesys.mod (found by Eule). 2003-01-29 19:00 wcc * eggdrop.conf, src/patch.h: * More config cleanups. 2003-01-29 18:41 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-irc.html, doc/html/mod-server.html, doc/settings/mod.irc, doc/settings/mod.server, src/mod/irc.mod/irc.c, src/mod/server.mod/server.h: * Config file/doc updates. * Changed EFnet's max-bans/max-modes to 25. 2003-01-29 01:24 wcc * src/: patch.h, userrec.c, mod/share.mod/share.c: * Fixed a check variable from being reset to 1 incorrectly when writing userfiles. 2003-01-29 00:13 wcc * src/: patch.h, mod/channels.mod/tclchan.c: [no log message] 2003-01-29 00:12 wcc * src/: patch.h, tclegg.h, mod/channels.mod/tclchan.c: More indenting fixes. 2003-01-28 23:48 wcc * help/cmds1.help, help/cmds2.help, help/core.help, src/chanprog.c, src/cmds.c, src/eggdrop.h, src/flags.h, src/lang.h, src/main.h, src/misc.c, src/misc_file.c, src/modules.h, src/net.c, src/patch.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/users.h, src/compat/gnu_strftime.c, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.h, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/md5/md5c.c, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/assoc.mod/help/assoc.help, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/channels.help, src/mod/channels.mod/help/set/channels.help, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.h, src/mod/console.mod/help/console.help, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/help/filesys.help, src/mod/filesys.mod/language/filesys.french.lang, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/help/irc.help, src/mod/irc.mod/help/set/irc.help, src/mod/notes.mod/notes.h, src/mod/notes.mod/help/notes.help, src/mod/notes.mod/help/set/notes.help, src/mod/notes.mod/language/notes.french.lang, src/mod/seen.mod/help/seen.help, src/mod/seen.mod/help/msg/seen.help, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/help/server.help, src/mod/server.mod/help/set/server.help, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/share.mod/help/share.help, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/language/transfer.english.lang, src/mod/transfer.mod/language/transfer.french.lang, src/mod/uptime.mod/uptime.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c: * Removed unused define ASSOC_NOSUCHCMD. * More indenting. * Help file cleanups. * Fixed a warning from last commit. 2003-01-28 17:14 wcc * eggdrop.conf, doc/tcl-commands.doc, doc/html/egg-core.html, doc/html/mod-blowfish.html, doc/settings/core.settings, doc/settings/mod.blowfish, src/patch.h: More config-file documentation updates (logfile related). 2003-01-28 01:52 wcc * eggdrop.conf, doc/UPDATES1.6, src/patch.h: Moved debug-output and use-console-r to the logging section of the config file and updated config documentation. Found by Tothwolf. 2003-01-28 00:54 wcc * doc/UPDATES1.6: * Fixed credit for an UPDATES1.6 entry as requested. 2003-01-28 00:37 wcc * README, eggdrop.conf, doc/html/mod-server.html, doc/man1/eggdrop.1, doc/settings/mod.server, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/match.c, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/gnu_strftime.c, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.h, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/md5/md5.h, src/md5/md5c.c, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/channels.mod/help/set/channels.help, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/irc.mod/help/set/irc.help, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/server.mod/help/set/server.help, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/uptime.mod/uptime.c, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c: * Ran indent on the tree (with hand editing of course) to fix our horrible indenting variations/problems. This is the same format we generally follow throughout most of the tree. 2003-01-22 21:32 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/msgcmds.c: * Don't tell users to /msg the bot hello when they don't have access if learn-users is disabled. Found by Tothwolf. 2003-01-22 20:41 wcc * doc/UPDATES1.6, src/eggdrop.h, src/main.c, src/patch.h, src/tclmisc.c, src/mod/filesys.mod/filedb3.h, src/mod/seen.mod/seen.c, src/mod/wire.mod/wire.c: * Fixed a few header problems related to time.h. Patch by Tothwolf. 2003-01-22 20:13 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-server.html, doc/settings/mod.server, src/chanprog.c, src/language.c, src/match.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/patch.h, src/tcl.c, src/mod/module.h, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/msgcmds.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/tcltransfer.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/transferfstat.c, src/mod/transfer.mod/transferqueue.c, src/mod/transfer.mod/help/set/transfer.help, src/mod/transfer.mod/language/transfer.english.lang: * Cleaned up transfer.mod a bit. * Fixed some quiet_reject related problems (found by Tothwolf). * More match cleanups. * Moved copy_to_tmp to the core to fix a bug causing tmp files to not be removed when a transfer connection is killed. * Moved quiet_reject to the core so it could be used by transfer.mod without depending on server.mod. * Exported DCC_SEND and DCC_GET_PENDING in transfer.mod. * Added a file_readable() function for use in transfer.mod and a few places in other modules and the core. 2003-01-20 18:53 wcc * doc/UPDATES1.6, src/main.c, src/misc.c, src/patch.h, src/tcl.c, src/tclhash.c, src/mod/channels.mod/channels.c, src/mod/filesys.mod/dbcompat.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/msgcmds.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c: * Misc bugfixes and code cleanups. Patch by Matyas Koszik. 2003-01-20 18:11 wcc * doc/UPDATES1.6, src/dccutil.c, src/modules.c, src/tcl.c, src/mod/module.h, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: Files copied to /tmp if copy-to-tmp is enabled were not erased when a tcl_killdcc was preformed on a transfer idx. Fixing this required that copy-to-tmp be moved to the core and then exported to modules. I also cleaned up a few things I noticed along the way. 2003-01-20 02:54 wcc * src/: dccutil.c, patch.h: Fixed a segfault in killtransfer() with non-transfer connections. 2003-01-20 02:51 wcc * doc/UPDATES1.6, src/modules.c, src/patch.h, src/proto.h, src/userrec.c, src/mod/module.h, src/mod/channels.mod/userchan.c, src/mod/share.mod/share.c: Ignores are now saved if channels.mod is not loaded. Fixes bug 285. Found by BarkerJr. 2003-01-17 22:34 wcc * src/misc.c: stamp's array size in flushlogs() should be 33, not 32. 2003-01-17 22:30 wcc * src/patch.h: Whoops, forgot part of the log message on the last commit: Fixed timestamp issue with putlog caused when eggdrop was blocked during a series of in-line Tcl commands (due to 'now' not being increased when blocked). 2003-01-17 22:24 wcc * help/cmds1.help, src/misc.c, src/patch.h: Fixed incorrect help information for +host. Non-+m/+t users cannot add hosts to their own accounts. Found by Nilsy. 2003-01-17 19:58 wcc * doc/UPDATES1.6, src/dccutil.c, src/modules.c, src/patch.h, src/proto.h, src/tcldcc.c, src/mod/module.h: Open file descriptors are now closed when the killdcc Tcl command is used on a transfer socket. Found by fbs. Patch by fbs and Wcc. 2003-01-17 18:40 wcc * doc/UPDATES1.6, src/patch.h, src/tclmisc.c: [unixtime] was not increased when eggdrop was blocked during a series of in-line Tcl commands (due to 'now' not being increased when blocked). Example (before): .tcl set foo1 [unixtime];after 1000; set foo2 [unixtime]; after 1000; set foo3 [unixtime];list $foo1 $foo2 $foo3 Tcl: 1042850776 1042850776 1042850776 Example (after): .tcl set foo1 [unixtime];after 1000; set foo2 [unixtime]; after 1000; set foo3 [unixtime];list $foo1 $foo2 $foo3 Tcl: 1042850429 1042850430 1042850431 Found by never. 2003-01-14 19:42 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h: Exported getchanmode(). Found by lee. 2003-01-14 19:03 wcc * NEWS, eggdrop.conf, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/mod-server.html, doc/html/news.html, doc/html/tcl-commands.html, doc/settings/mod.server, scripts/compat.tcl, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/help/set/server.help: Removed strict-servernames. $server is now always the server's realname and $serveraddress is it's server list entry. 2003-01-14 18:35 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/mod/irc.mod/chan.c: The NICK bind type now gets triggered even if the nickname isn't found in any channels (i.e. when the bot's nickname changes before it joins channels). Patch by BarkerJr. 2003-01-01 20:42 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: Doc updates from past commit. 2003-01-01 18:07 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/server.mod/servmsg.c: Fixed parsing of userhosts in gotwall(). Patch by darko``. 2002-12-27 16:48 wcc * eggdrop.conf: Forgot config updates from last commit. 2002-12-27 16:39 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: ~Updated UnderNet's max_bans to 45. Found by reed. 2002-12-27 14:27 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-channels.html, doc/settings/mod.channels, doc/settings/mod.transfer, src/patch.h, src/mod/channels.mod/channels.c, src/mod/transfer.mod/transfer.c: * Reworded the comment above the addhost/ident unbinds (found by persaukko). * Changed global-revenge-mode to 0 by default. * Added a short description of what a comment is and does for people that don't know Tcl but still want to run Eggdrop. 2002-12-25 20:21 wcc * doc/UPDATES1.6, src/Makefile.in, src/match.c, src/modules.c, src/patch.h, src/proto.h, src/tclhash.c, src/tclmisc.c, src/mod/module.h: Removed quoting support from wild_match() which fixes several bugs with '\' characters. 2002-12-23 21:33 wcc * doc/UPDATES1.6, src/botcmd.c, src/botnet.c, src/cmds.c, src/patch.h, src/proto.h, src/tcldcc.c: Show who unlinked a bot when unlinked remotely. Patch by BarkerJr. Note: modified to show botnetnick instead of "script" when a bot is unlinked via the 'unlink' Tcl command. 2002-12-23 21:10 wcc * aclocal.m4, configure, src/patch.h: Small cosmetic fix to configure. 2002-12-23 20:30 wcc * CONTENTS, FEATURES, INSTALL, NEWS, README, doc/ABOUT, doc/AUTHORS, doc/BANS, doc/BOTNET, doc/MODULES, doc/PARTYLINE, doc/USERS, doc/compiling.FAQ, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/patch-howto.html, doc/html/readme.html, doc/html/starting.html, doc/html/tcl-commands.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, misc/addpatch, misc/modconfig, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/compat.tcl, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/rfc1459.c, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/eggautoconf, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/CONTENTS, text/banner: Updated copyright info for 2003. 2002-12-14 17:13 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: * Updates to tcl-commands.doc. 2002-12-11 21:42 wcc * doc/UPDATES1.6, src/main.c, src/patch.h: Fixed default setting for the help-path and text-path settings. Patch by poptix. 2002-12-01 18:27 wcc * doc/: tcl-commands.doc, text-substitutions.doc, html/app-textsub.html, html/tcl-commands.html: * A few small doc updates... 2002-11-29 16:29 wcc * src/: modules.c, patch.h, mod/module.h: Fixes from export-md5. Found by BarkerJr. 2002-11-29 00:14 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: Fixed a problem in cmd_kick()/cmd_kickban() where the victim's access is checked instead of the user's. Patch by The_Dawn. 2002-11-28 23:52 wcc * misc/addpatch, src/patch.h: Small fix to addpatch. 2002-11-28 23:43 wcc * doc/UPDATES1.6, src/modules.c, src/patch.h, src/mod/module.h: Exported MD5 functions to modules. 2002-11-27 15:31 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h: Exported me_voice() in irc_table. 2002-11-23 13:40 wcc * src/: chan.h, patch.h, mod/channels.mod/channels.c, mod/irc.mod/chan.c, mod/irc.mod/mode.c: Renamed CHANMODR (+M) to CHANMODREG. This is more descriptive and will stop confusion with CHANMODER (+m). 2002-11-23 13:34 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: .say and .act now allow you to send a message to a moderated channel when the bot has halfop status. 2002-11-22 21:16 wcc * doc/UPDATES1.6, src/main.c, src/patch.h: Here comes 1.6.14.. 2002-11-22 17:36 wcc * configure: Updated autoconf to 2.54. 2002-11-22 17:29 wcc * src/: dcc.c, net.c, patch.h: Finished reverting sockfix :P. 2002-11-22 15:34 wcc * src/: patch.h, net.c: Reverted the sockfix patch for now. 2002-11-21 17:53 wcc * src/: chanprog.c, patch.h, tcl.c, tcldcc.c, tclmisc.c, tcluser.c, userent.c, mod/channels.mod/channels.c, mod/channels.mod/tclchan.c, mod/irc.mod/irc.c, mod/irc.mod/tclirc.c, mod/notes.mod/notes.c, mod/server.mod/server.c: More Tcl 8.4 warning fixes. 2002-11-21 01:59 wcc * src/: patch.h, tcl.c, mod/channels.mod/channels.c, mod/channels.mod/tclchan.c, mod/irc.mod/irc.c, mod/server.mod/server.c: Fixed the remaining Tcl 8.4 warnings. 2002-11-18 23:21 wcc * src/: patch.h, mod/channels.mod/tclchan.c: The argument variable added in the infointlist patch should not be called argv. 2002-11-17 23:39 wcc * eggdrop.conf: Fixed a small typo in eggdrop.conf. 2002-11-17 23:38 wcc * doc/MODULES, doc/UPDATES1.6, src/patch.h: Updates to doc/MODULES. Patch by BarkerJr. 2002-11-17 21:53 stdarg * src/tcl.c: * Fixed some compile warnings for tcl 8.4 2002-11-16 23:36 stdarg * src/tcl.c: * Fixed utf-8 handling for config string settings (e.g. realname) 2002-11-05 22:10 wcc * doc/UPDATES1.6, scripts/alltools.tcl, src/patch.h: Added a proc to alltools that returns the ordinal number for a number. Patch by Souperman. 2002-11-05 21:56 wcc * doc/UPDATES1.6, src/net.c, src/patch.h: Added support for EMFILE (errno 24 - Too many files open) in neterror(). 2002-11-03 17:33 wcc * src/patch.h: Forgot patch.h. 2002-11-03 17:33 wcc * doc/UPDATES1.6, src/mod/channels.mod/tclchan.c: Fixed the list format returned by tcl_channel_info(). Patch by MC_8. 2002-11-01 21:39 wcc * eggdrop.conf, doc/settings/core.settings: Fixed a typo in eggdrop.conf and core.settings (found by R33D33R). 2002-11-01 18:23 wcc * eggdrop.conf, doc/UPDATES1.6, src/net.c, src/tcl.c: Reverted encoding patch for now as it seems to be causing quite a few problems. 2002-10-28 16:17 wcc * src/: patch.h, mod/channels.mod/tclchan.c: If global-ban-time/global-exempt-time/global-invite-time was set to 0, newban/newexempt/newinvite didn't work correctly without specifying 'lifetime', as did ban-time/exempt-time/invite-time for a channel with newchanban/newchanexempt/newchaninvite. Patch by NeoN. 2002-10-27 21:29 wcc * src/net.c: tcl.h shouldn't have been included in net.c (from encoding patch). Found by R33D3R. 2002-10-22 22:11 wcc * doc/UPDATES1.6, src/mod/irc.mod/chan.c: Don't ban users when not going to kick in refresh_ban_kick(). Patch by Eule. 2002-10-22 22:06 wcc * eggdrop.conf, doc/UPDATES1.6, src/mod/server.mod/server.c: Added a stacking limit for fastdeq. Patch by Eule. 2002-10-22 22:03 wcc * eggdrop.conf, doc/UPDATES1.6, src/net.c, src/tcl.c: Fixed a UTF problem with scandinavian characters. Patch by Pauli Borodulin. 2002-10-10 19:59 wcc * src/: patch.h, users.c: laston in whois should not be fixed-length. Patch by BarkerJr. 2002-10-10 19:39 wcc * src/patch.h: Forgot patch.h on last commit. 2002-10-10 19:37 wcc * doc/html/mod-irc.html, src/misc.c: strftime() needs to be egg_strftime(). 2002-10-07 22:25 wcc * eggdrop.conf, doc/UPDATES1.6, doc/html/mod-irc.html, doc/settings/mod.irc, src/chan.h, src/patch.h, src/mod/irc.mod/irc.c: Made the modes-per-line limit definable in src/chan.h. Patch by Eule. 2002-10-07 20:04 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c: [ban/exempt/invite]-time were not being saved to the channel file. Patch by BarkerJr. 2002-10-07 19:21 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: Halfops were not honored in flush_modes(). 2002-09-30 00:32 wcc * src/: misc.c, patch.h: More logging optimizations. Patch by BarkerJr. 2002-09-27 18:06 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: Fixed cosmetic problems with logging in some irc module commands. Patch by NeoN. 2002-09-27 17:51 wcc * misc/addpatch: Added the 'addpatch' utility to misc/ to simplify the editing of patch.h. 2002-09-27 16:55 wcc * doc/UPDATES1.6, src/modules.c, src/patch.h, src/mod/module.h: Exported tell_bottree() to modules. Patch by Mo-Ize. 2002-09-27 16:44 wcc * doc/UPDATES1.6, src/misc.c, src/patch.h: Optimized logging functions. Patch by BarkerJr. 2002-09-27 16:16 wcc * CONTENTS, INSTALL, Makefile.in, NEWS, README, eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.conf, eggdrop.simple.conf, doc/UPDATES1.6, doc/html/install.html, doc/html/news.html, doc/html/readme.html, doc/man1/eggdrop.1: Removed both eggdrop.simple.conf and eggdrop.advanced.conf, as many people cannot find the proper settings in eggdrop.simple.conf and therefore mis-configure their bots. The advanced config was removed due to the fact that the differences between eggdrop.advanced.conf and eggdrop.complete.conf wrere minimal. 2002-09-27 15:14 wcc * src/patch.h: * Updated patch.h from stdarg's last commit. 2002-09-27 13:30 stdarg * eggdrop.simple.conf, src/chan.h, src/chanprog.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/tclirc.c: * Added some simple optimizations to user lookups. Only in effect for hand2nick and chattr for now. * Added some basic sanity checks to eggdrop.simple.conf (credit for ideas to slennox) 2002-09-22 12:10 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c, src/mod/transfer.mod/transfer.c: * Adding a missing killsock and lostdcc in eof_dcc_send() and eof_dcc_get(). Patch by Eule. * Fixed indenting from auto-logic. 2002-09-22 03:22 wcc * src/: patch.h, mod/irc.mod/chan.c: Fixed a warning in check_this_member(). 2002-09-22 02:12 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.h: Fixed the logic in check_this_member(). 2002-09-21 22:11 wcc * src/: dcc.c, net.c, patch.h: I applied the wrong version of sockfix. 2002-09-21 15:32 wcc * doc/UPDATES1.6, src/eggdrop.h, src/misc.c, src/patch.h: Made the timestamp style definable in src/eggdrop.h. Patch by BarkerJr. 2002-09-21 15:06 wcc * doc/UPDATES1.6, src/botcmd.c, src/patch.h: Added a missing return in bot_actchan(). Patch by Eule. 2002-09-21 14:55 wcc * doc/UPDATES1.6, src/dcc.c, src/net.c, src/patch.h: Fixed a problem with 'connect' and 'control' where the script would abort prematurely. Patch by [sL]. 2002-09-21 14:40 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: Don't "want ops" in modeless (+) channels. Patch by BarkerJr. 2002-09-15 13:26 wcc * doc/UPDATES1.6, src/net.c, src/patch.h: Tell the user to set 'my-ip' when hostname self-lookup fails. 2002-09-10 20:14 wcc * src/: cmds.c, patch.h, mod/irc.mod/cmdsirc.c: Cosmetic updates to cmds.c and cmdsirc.c. 2002-09-10 20:07 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h: Improved access checking in -host/+host. This prevents a channel +m user from adding/removing hosts to/from a channel +n user, and also fixes other small problems. 2002-09-09 20:22 wcc * doc/UPDATES1.6, src/eggdrop.h, src/patch.h, src/mod/transfer.mod/transfer.c: Fixed a possible buffer overflow in raw_dcc_resend_send(). 2002-09-09 17:14 wcc * doc/UPDATES1.6, misc/modconfig, src/patch.h: * Fixed a missing escape in some regexps in misc/modconfig. Patch by darko``. * Gave credit to the right person in UPDATES1.6 for the invite_fix patch. 2002-08-31 23:17 wcc * doc/UPDATES1.6: Fixed a spelling error in UPDATES1.6. 2002-08-31 23:07 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: Using "channel set #chan chanmode $var" corrupted $var in Tcl8.x. 2002-08-30 18:39 wcc * doc/UPDATES1.6: Changed 'Johoho' to 'Wiktor' in the UPDATES file as requested. 2002-08-29 21:07 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: Don't log joined 2002-08-24 23:21 wcc * src/: patch.h, mod/share.mod/share.c: Forgot a space on last commit. 2002-08-24 23:13 wcc * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: Cosmetic changes to share_stick_[exempt/invite/ban]. 2002-08-24 22:44 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/msgcmds.c: msg_invite and msg_key did not work properly for \!channels. Patch by TaKeDa. 2002-08-24 11:29 wcc * Makefile.in, aclocal.m4, configure, configure.in, doc/UPDATES1.6, misc/check_tclversion.c: Reverted tcl-rpath for now. 2002-08-20 20:37 wcc * src/: botcmd.c, patch.h: Minor cosmetic fix to last patch. 2002-08-20 20:05 wcc * doc/UPDATES1.6, src/botcmd.c, src/patch.h: Show the number of hops in .trace's output. Patch by BarkerJr. 2002-08-20 19:57 wcc * configure, configure.in, doc/UPDATES1.6, src/patch.h: Use the proper dynamic lib extention on Mac OSX. Patch by Mo-Ize. 2002-08-14 22:51 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h, src/mod/transfer.mod/transfer.c: Return 5 from dccsend if the file exists in the temp directory and copy-to-tmp is enabled. Patch by Johoho (modified). 2002-08-14 19:45 wcc * configure, src/patch.h: Forgot to run autoconf. 2002-08-14 18:01 wcc * misc/check_tclversion.c: Forgot cvs add on last commit. 2002-08-14 18:00 wcc * Makefile.in, aclocal.m4, configure.in, doc/UPDATES1.6, src/patch.h: LD_LIBRARY_PATH now may not have to be set in some situations. Patch by BHAB. 2002-08-11 12:45 wcc * doc/UPDATES1.6, src/chanprog.c, src/patch.h: Fixed a possible exploit in reaffirm_owners(). Patch by poptix. 2002-08-09 20:24 wcc * src/: patch.h, mod/irc.mod/mode.c: A few small fixes from last commit. 2002-08-09 13:26 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: Friends/ops/bots are now correctly unbanned when a ban is set on a channel that matches their host. 2002-08-08 14:49 wcc * doc/UPDATES1.6, src/botnet.c, src/cmds.c, src/dccutil.c, src/patch.h, src/users.c, src/mod/irc.mod/cmdsirc.c: Eggdrop should now compile on systems without snprintf(). Patch by BHAB. 2002-08-08 13:31 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: Fixed a bug where if the bot is kicked while channel information is still being received, the bot will think it's still on the channel and not rejoin. 2002-08-08 00:57 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: Removed names parsing, as it causes many problems and was only added for compatability with an old version of unrealircd. 2002-08-07 19:38 wcc * src/: patch.h, mod/channels.mod/channels.c: Fixed a crash in .status all (found by supers). 2002-08-07 16:05 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: Fixed more broken dprintf's in irc commands. 2002-08-04 19:56 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: Fixed a broken dprintf in cmd_kick(). 2002-08-02 20:54 wcc * doc/UPDATES1.6, src/patch.h: Made ban-time a channel int (2). 2002-08-02 17:50 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, src/chan.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c: Made ban-time a channel int. 2002-07-31 14:04 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: Added BarkerJr's tcldoc1.6.patch. 2002-07-26 12:33 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: eggdrop1.6.13 2002-07-26 11:55 guppy * doc/UPDATES1.6, src/net.c, src/patch.h: reverted the sockfix patches, time to release 1.6.12 2002-07-26 10:28 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: the start of 1.6.12 2002-07-25 20:18 wcc * src/: patch.h, mod/irc.mod/irc.c: Another small fix to status_log(). 2002-07-25 15:54 wcc * src/: patch.h, mod/irc.mod/irc.c: Woops.. can't have an empty %c. 2002-07-25 15:03 wcc * src/: patch.h, mod/irc.mod/irc.c: Updated status_log() for halfop support. 2002-07-25 14:44 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, src/patch.h: More halfop doc updates. 2002-07-25 14:00 wcc * src/: net.c, patch.h: Fixes double-echo from sockfix1 (patch by [sL]@EFnet). 2002-07-25 11:40 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added Wcc's need_fix2 ... I'm tempted to do a release tomorrow of .11 ... I feel its ready and needed 2002-07-21 23:55 guppy * doc/UPDATES1.6, src/net.c, src/patch.h: [sL]'s sockfix patch 2002-07-21 23:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: added Wcc's banlogic patch 2002-07-21 23:43 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: added Eule's kickbanfix patch 2002-07-21 17:56 wcc * src/: patch.h, mod/channels.mod/help/channels.help: Small help file fix for -ban (found by MC_8 - bug #261). 2002-07-20 21:22 wcc * eggdrop.complete.conf: Revert changes to eggdrop.conf from last patch. 2002-07-20 20:39 wcc * eggdrop.complete.conf, doc/html/mod-channels.html, doc/settings/mod.channels, src/patch.h: Halfop-support related doc updates. 2002-07-18 23:25 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: Fixed a bug causing '[HH:MM] !!! OVER MAXIMUM QUEUE' to be logged to LOG_SVROUT. 2002-07-18 23:16 wcc * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: Log PINGs/PONGs sent to the server in LOG_SVROUT. 2002-07-18 14:28 guppy * src/: chanprog.c, patch.h, compat/snprintf.c: couple small fixes 2002-07-18 13:01 guppy * doc/UPDATES1.6, src/chanprog.c, src/patch.h, src/tcl.c, src/tcldcc.c, src/tclmisc.c, src/tcluser.c, src/userent.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/notes.c, src/mod/server.mod/server.c: eggdrop works with tcl8.4b1 now 2002-07-17 13:18 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: Added 'strip' to tcl-commands.[doc|html] and made the description for NOTC more clear. 2002-07-09 18:37 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/tcl-commands.doc, doc/html/mod-server.html, doc/html/tcl-commands.html, doc/settings/mod.server, src/patch.h: Some minor doc updates.. debug stuff found by BarkerJr. 2002-07-08 23:46 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: added the kickban patch 2002-07-08 23:43 guppy * doc/UPDATES1.6, src/misc.c, src/patch.h, src/mod/irc.mod/msgcmds.c: added Zart's uname-fix patch 2002-07-08 23:40 guppy * doc/UPDATES1.6, src/botnet.c, src/cmds.c, src/dccutil.c, src/patch.h, src/users.c, src/mod/irc.mod/cmdsirc.c: the new handlen friendly patch --- please people w/ handlen > 9 test this :) 2002-07-08 23:37 guppy * doc/UPDATES1.6, src/botcmd.c, src/patch.h: added BarkerJr's small whochaninactive patch 2002-07-07 16:35 guppy * doc/UPDATES1.6, src/chanprog.c, src/patch.h, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c: added a small cosmetic patch 2002-06-19 15:13 wcc * src/: chan.h, patch.h, mod/irc.mod/chan.c: Fixed extra-nicks-in-memberlist bug. 2002-06-16 21:58 wcc * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/msgcmds.c: msg_whois should require an argument. 2002-06-15 22:45 wcc * src/mod/irc.mod/irc.c: Damn editor. 2002-06-15 22:42 wcc * src/mod/irc.mod/irc.c: Fixed a warning in irc.c (found by BarkerJr). 2002-06-15 13:33 wcc * src/: patch.h, mod/irc.mod/chan.c: Strip all chars from nick that aren't valid in a nick from 353 (this will prevent problems if an ircd adds additional flags). 2002-06-15 11:33 wcc * src/: patch.h, mod/irc.mod/chan.c: Strip the flag before adding the nick to the memberlist (found/fixed by BarkerJr). 2002-06-13 23:30 wcc * src/mod/channels.mod/channels.c: Channel flag problem is fixed now.. 2002-06-13 22:10 wcc * src/: patch.h, mod/channels.mod/channels.c: Hrm.. maybe the spaces were there for a reason.. :P 2002-06-13 21:52 wcc * src/mod/channels.mod/cmdschan.c: Woops.. 2002-06-13 21:46 wcc * NEWS, eggdrop.advanced.conf, eggdrop.complete.conf, doc/tcl-commands.doc, doc/html/news.html, doc/html/tcl-commands.html, doc/settings/mod.channels, help/cmds2.help, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/channels.help, src/mod/irc.mod/help/irc.help: Doc and help file updates related to halfop support 2002-06-13 15:58 wcc * src/mod/channels.mod/cmdschan.c: small cosmetic fix 2002-06-13 15:22 wcc * doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/msgcmds.c: Halfop support part 2.. 2002-06-13 14:43 wcc * NEWS, doc/UPDATES1.6, doc/USERS, doc/tcl-commands.doc, doc/html/news.html, doc/html/tcl-commands.html, doc/html/users.html, src/chan.h, src/flags.c, src/flags.h, src/patch.h, src/tclhash.c, src/userrec.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c: Added support for halfops (channel mode +h). Test this! :P 2002-06-12 15:45 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: Don't allow channels containing a comma to be added. 2002-06-06 12:52 wcc * src/: patch.h, mod/assoc.mod/assoc.c, mod/blowfish.mod/blowfish.c, mod/channels.mod/channels.c, mod/compress.mod/compress.c, mod/console.mod/console.c, mod/ctcp.mod/ctcp.c, mod/dns.mod/dns.c, mod/filesys.mod/filesys.c, mod/irc.mod/irc.c, mod/notes.mod/notes.c, mod/seen.mod/seen.c, mod/server.mod/server.c, mod/share.mod/share.c, mod/transfer.mod/transfer.c, mod/uptime.mod/uptime.c, mod/wire.mod/wire.c, mod/woobie.mod/woobie.c: Made module dependency errors consistent. 2002-06-06 12:15 wcc * FEATURES, INSTALL, README, doc/compiling.FAQ, doc/html/faqs.html, doc/html/features.html, doc/html/readme.html, src/patch.h: Ok.. this is all.. :P 2002-06-05 21:11 wcc * doc/html/patch-howto.html: Lets try cvs add.. 2002-06-05 21:11 wcc * CONTENTS, FEATURES, INSTALL, NEWS, README, doc/CONTENTS, doc/MODULES, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/news.html, doc/html/readme.html, doc/html/tcl-commands.html, src/patch.h: I'm sure that one day, I'll eventually finish this.. sigh.. :P 2002-06-04 01:02 wcc * doc/UPDATES1.6, doc/html/egg-core.html, src/patch.h: Ok, lets try now.. \:P 2002-06-03 23:11 wcc * CONTENTS, FEATURES, INSTALL, README, disabled_modules, eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/ABOUT, doc/AUTHORS, doc/BOTNET, doc/CONTENTS, doc/patch.howto, doc/tcl-commands.doc, doc/html/about.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/botnet.html, doc/html/egg-core.html, doc/html/install.html, doc/html/readme.html, doc/html/tcl-commands.html, doc/settings/core.settings: More doc updates.. 2002-06-03 23:03 wcc * doc/UPDATES1.6, doc/html/egg-core.html, src/patch.h: Revert last patch. 2002-06-03 22:33 wcc * doc/UPDATES1.6, doc/html/egg-core.html, src/patch.h: More doc updates.. 2002-05-28 14:15 wcc * eggdrop.complete.conf, eggdrop.simple.conf, doc/html/egg-core.html, doc/settings/core.settings, src/patch.h: More doc updates. 2002-05-21 14:34 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: Moved restart and rehash from the dcc section to the misc section in tcl-commands.doc.: 2002-05-19 18:54 wcc * doc/html/news.html: Right... 2002-05-19 18:51 wcc * NEWS, doc/html/news.html, src/patch.h: More doc updates relating to channel get. 2002-05-19 09:59 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added a missing patch 2002-05-17 20:08 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: Updated tcl-commands.html in relation to the channel get patch. Also added missing 'channel info' 2002-05-17 18:07 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: added Eule's patch to fix some commands that were borked on !channels 2002-05-17 18:04 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/channels.mod/tclchan.c: added the channel get patch 2002-05-11 00:55 guppy * src/: patch.h, mod/uptime.mod/uptime.c: small fix to uptime.mod that caused it to crash on startup (thanks to Turner@Undernet and Kevin Walker from RacBot for noticing 2002-05-06 16:35 guppy * src/main.c: oops, forgot to remove my hack to get me onto the uptime server quicker 2002-05-06 16:33 guppy * src/: main.c, patch.h, mod/uptime.mod/uptime.c: uptime.mod requires 1.6.11 now since I did some core changes in main.c to make it function properly 2002-05-05 11:34 guppy * src/: patch.h, mod/uptime.mod/uptime.c: small bug fix, online_since is not set until later in main.c 2002-05-04 12:33 guppy * src/: patch.h, mod/uptime.mod/uptime.c: added a bit of verboseness to the details output 2002-05-04 00:55 guppy * src/: patch.h, mod/uptime.mod/uptime.c: I should change patch.h I guess and fix one other little thing 2002-05-04 00:47 guppy * doc/UPDATES1.6, src/main.c, src/mod/blowfish.mod/blowfish.c, src/mod/uptime.mod/modinfo, src/mod/uptime.mod/uptime.c: made uptime.mod not unload on .restart 2002-05-03 12:08 guppy * doc/UPDATES1.6, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h: fixed a few bugs in uptime.mod including sending the wrong pid and sending random garbage from memory. 2002-04-30 10:20 wcc * doc/UPDATES1.6, scripts/sentinel.tcl, src/patch.h: updated slennox's sentinel.tcl to the latest version 2002-04-21 10:09 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/html/egg-core.html, doc/settings/core.settings, src/patch.h: Fixed a small documentation error with the switch-logfiles-at setting. 2002-04-16 13:56 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: added wcc's chanmoder patch 2002-04-15 21:51 guppy * doc/UPDATES1.6, src/patch.h, src/mod/seen.mod/seen.c: added a patch sent by upstream to bugs@ 2002-04-15 21:45 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: added the qnet patch 2002-03-29 14:47 wcc * doc/UPDATES1.6, src/main.c, src/patch.h: 1.6.11 2002-03-28 23:53 guppy * doc/UPDATES1.6, src/patch.h, src/users.h, src/mod/irc.mod/mode.c: added Eule's protectfixes patch 2002-03-26 22:27 guppy * doc/UPDATES1.6, src/cmds.c, src/dccutil.c, src/patch.h, src/users.c, src/mod/irc.mod/cmdsirc.c: reverted the handlen friendly patches since they are broken 2002-03-26 21:57 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/tclirc.c: added dw's patch and a small nick2hand fix 2002-03-23 11:27 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: * fixed a few config file problems * chattr's description in tcl-commands.doc was unclear relating to channel-specific flag changes 2002-03-21 22:06 guppy * language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h, src/users.c: small patch to fix a case of proper pluralization 2002-03-21 22:01 guppy * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/language/transfer.french.lang: added the transfer.french.lang file 2002-03-21 21:57 guppy * doc/UPDATES1.6, src/cmds.c, src/patch.h: added another patch to languagify (my words are just great tonight) cmd_who 2002-03-21 21:53 guppy * doc/UPDATES1.6, src/botcmd.c, src/botnet.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/patch.h, src/userrec.c, src/mod/assoc.mod/assoc.c, src/mod/console.mod/console.c, src/mod/filesys.mod/filesys.c: uselesshack patch applied .. this patch has been around awhile if I remember 2002-03-20 06:59 wcc * doc/: tcl-commands.doc, html/tcl-commands.html: Fixed a missing parenthesis in tcl-commands.doc 2002-03-14 19:51 wcc * README, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/readme.html, doc/html/tcl-commands.html, src/patch.h: more tcl-commands.doc fixes (found by MC_8) 2002-03-14 01:10 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: added some missing command options to tcl-commands.doc (found by MC_8) 2002-03-12 13:11 guppy * aclocal.m4, configure, src/patch.h: ./configure's output was broken when showing the line telling users to either make config or make iconfig because of a comma in the string 2002-03-12 12:07 guppy * doc/UPDATES1.6, src/patch.h: added an UPDATES1.6 entry for Uwe's patch (please don't forget these stdarg) 2002-03-12 12:02 stdarg * src/tclhash.c: * Null-terminated the cd_cmd_table list (found by Uwe Schindler ) 2002-03-11 13:22 stdarg * src/tcl.c: * Made utf_converter 64-bit compatible (needs testing on 64-bit system). 2002-03-10 23:17 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: 1.6.10 here we come 2002-03-10 22:34 guppy * src/: patch.h, mod/channels.mod/tclchan.c: fixed a small error with channel add not showing an error message on invalid channel prefixes (found by Wcc) 2002-03-10 12:47 wcc * doc/UPDATES1.6, language/core.english.lang, src/botcmd.c, src/patch.h: "Detected loop: two bots exist named bot2: disconnecting bot3" sounds better than "Detected loop: disconnecting (bot2): Disconnected bot3". 2002-03-10 12:12 wcc * README: Forgot README on last commit. 2002-03-10 12:10 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/html/readme.html, doc/settings/core.settings, src/patch.h: Added a few channels to the README and readme.html and made references to other docs in the html files links to their respective html files. 2002-03-10 11:34 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: added Eule's aptch 2002-03-09 15:22 wcc * doc/: BANS, USERS, eggdrop.doc, html/flags.html: forgot some cvs add/remove 2002-03-09 15:14 wcc * CONTENTS, INSTALL, NEWS, README, eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/ABOUT, doc/AUTHORS, doc/BOTNET, doc/BUG-REPORT, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/Makefile.in, doc/PARTYLINE, doc/UPDATES1.6, doc/compiling.FAQ, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/tcl-commands.html, doc/html/users.html, src/patch.h: more doc updates 2002-03-08 21:39 wcc * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c: removed an extra space from the 'Writing channel file...' message 2002-03-07 17:32 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/settings/mod.channels, src/patch.h: Fixed a small typo in the channels module documentation. 2002-03-07 15:37 guppy * eggdrop.complete.conf, src/patch.h: Make the die messages in the config a bit more verbose 2002-03-07 15:18 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/uf_features.c: added Amir's fix for the uff bug 2002-03-07 09:41 guppy * doc/UPDATES1.6, src/cmds.c, src/dccutil.c, src/patch.h, src/users.c, src/mod/irc.mod/cmdsirc.c: added Boing's patches to make a few commands more handlen friendly 2002-03-07 09:10 guppy * src/: patch.h, mod/irc.mod/mode.c: added Eule's cmode.type-defines patch -- getting ready for a 1.6.9 release in 3 days so get your bugfixes in!! 2002-03-06 22:22 guppy * doc/UPDATES1.6, src/botnet.c, src/patch.h: added Amir's botlink() fix from bugs@eggheads.org 2002-03-06 22:17 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/irc.mod/mode.c: added Eule's flushmode patch 2002-03-03 22:27 guppy * scripts/alltools.tcl, src/patch.h: got rid of some more returns in alltools.tcl 2002-03-02 20:22 wcc * doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: A few more commands were missing from tcl-commands.doc. 2002-03-01 15:42 wcc * doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/tcl-commands.html, src/patch.h: modules was missing in tcl-commands.doc. I added this to the html version and slightly changed the description. 2002-02-28 23:59 wcc * eggdrop.advanced.conf, eggdrop.complete.conf, doc/MODULES, doc/compiling.FAQ, doc/tcl-commands.doc, doc/html/compiling.html, doc/html/mod-channels.html, doc/html/readme.html, doc/html/tcl-commands.html, doc/settings/mod.channels, doc/settings/mod.irc, doc/settings/mod.server, doc/settings/mod.share, src/patch.h, src/mod/channels.mod/help/chaninfo.help, src/mod/server.mod/help/set/server.help: More small doc fixes 2002-02-27 23:28 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: because of the way the telnet/dcc code is done and the way the filesystem is integrated into both -- users who have only +x must login via dcc now. There was a bug where if you were +x and had no other flags, you could login even with the wrong password and you would be dumped onto the partyline by default (even if you typed the correct pass in) .. it never threw you into the filesystem by default because of a design flaw that would be too painful to fix in 1.6 2002-02-27 23:13 wcc * FEATURES, Makefile.in, NEWS, eggdrop.advanced.conf, eggdrop.complete.conf, doc/BOTNET, doc/MODULES, doc/UPDATES1.6, doc/eggdrop.doc, doc/first_script.txt, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/html/egg-core.html, doc/html/features.html, doc/html/index.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-console.html, doc/html/mod-ctcp.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-seen.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-uptime.html, doc/html/mod-wire.html, doc/html/mod-woobie.html, doc/html/news.html, doc/html/tcl-commands.html, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, src/patch.h: more doc updates 2002-02-27 12:21 guppy * scripts/botchk: BarkerJr thought botchk wasn't too clear on the nickname to set ... it should be the botnet-nick 2002-02-26 00:09 guppy * doc/UPDATES1.6, doc/compiling.FAQ, src/mod/irc.mod/mode.c: a few more protect* changes .. please check them over and see if the logic is now _more_ correct 2002-02-25 12:15 guppy * doc/ABOUT, doc/UPDATES1.6, doc/compiling.FAQ, doc/html/compiling.html, src/patch.h: added a referenece to LD_LIBRARY_PATH in compiling.FAQ -- most of the info in there could probably be removed these days 2002-02-25 09:57 guppy * src/: patch.h, mod/irc.mod/mode.c: fixed a bug pointed out by Eule 2002-02-24 22:37 guppy * doc/ABOUT, doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: fixed bug #254 -- those of you who use protectfriends/ops please test this code out before the 1.6.9 release 2002-02-24 21:39 wcc * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: made a few cosmetic changes to the configure script 2002-02-24 21:34 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/cmdsserv.c: more plural fixes for commands and error messages 2002-02-24 10:50 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: fixed a bunch of binds, please look over this patch and see if there is a better solution I'm missing 2002-02-24 03:09 guppy * doc/UPDATES1.6: added a missing UPDATES1.6 entry 2002-02-24 01:57 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: fixed a small annoying problem when rerunning ./configure 2002-02-24 01:37 guppy * doc/UPDATES1.6, misc/modconfig, src/patch.h: added ITE's modconfig patch 2002-02-24 01:17 guppy * doc/UPDATES1.6, src/modules.c, src/patch.h, src/users.c, src/mod/module.h, src/mod/channels.mod/userchan.c: added Eule's cleanup patch for a few variables 2002-02-22 07:25 stdarg * src/mod/channels.mod/tclchan.c: * Updated the "channel info" command to properly list all user-defined settings. 2002-02-22 07:02 stdarg * src/dccutil.c: * Added bounds checking in lostdcc() 2002-02-21 23:26 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: added TaKeDa's/ITE's cygwin patch 2002-02-21 22:04 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: fixed a crash reported by dw dealing with stoned server checking, also, I changed stoned server checking to reset waiting_for_awake whenever we get data from the irc server, not just specific data .. if anyone sees a problem with this, please let me know and I'll revert it. 2002-02-20 23:55 guppy * src/patch.h: forgot patch.h 2002-02-20 23:54 guppy * text/motd: removed the help channels from the motd since these channels change alot more then people change their motd, so to prevent a motd from becoming dated -- I am removing the channels contained within. These channels are still in README and readme.html 2002-02-20 16:32 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: added BHAB's solaris patch slightly modified, please test this 2002-02-20 16:28 guppy * doc/UPDATES1.6, src/botnet.c, src/patch.h: added the lastoff_bot patch 2002-02-19 21:32 wcc * src/cmds.c: A few more cosmetic fixes I missed.. 2002-02-19 18:13 wcc * src/cmds.c: owner_cosmetic didn't commit correctly 2002-02-19 16:23 guppy * doc/UPDATES1.6, src/patch.h: Added Wcc's cosmetic patch as well 2002-02-19 16:21 guppy * doc/UPDATES1.6, src/patch.h, src/mod/console.mod/console.c: added Eule's cosmetic fix for cmd_store 2002-02-19 16:19 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added TaKeDa's flood-kick patch 2002-02-19 16:14 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: added TaKeDa's revengemode_fix 2002-02-16 01:22 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added Eule's membercheck patch 2002-02-12 23:22 wcc * eggdrop.advanced.conf, eggdrop.complete.conf: Minor config file doc update. 2002-02-11 22:00 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added a small fix to detect PART events when they are done properly without a message 2002-02-11 18:35 wcc * doc/UPDATES1.6, src/cmds.c, src/patch.h: Fixed a couple of cosmetic problems in cmd_pls_user. 2002-02-06 23:14 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: added Wcc's init-server patch and also, fixed a small comment bug in server.c found by Looser long long long long ago 2002-02-06 23:04 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: added dw's newuser patch 2002-02-03 23:03 wcc * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, src/chanprog.c, src/patch.h: MISC_USERFCREATE1 should use origbotname instead of botnetnick 2002-02-03 21:53 wcc * eggdrop.complete.conf: eggdrop.complete.conf 2002-02-03 21:51 wcc * doc/UPDATES1.6, src/patch.h: Added a warning about allow-resync in the config file. 2002-01-29 15:08 guppy * doc/UPDATES1.6, src/patch.h, src/users.c: added TakeDa's ignore fix patch 2002-01-26 22:14 wcc * doc/: Makefile.in, UPDATES1.6: Some docs were not getting installed correctly. 2002-01-24 15:26 wcc * doc/UPDATES1.6: Forgot two UPDATES entries. 2002-01-22 15:36 wcc * src/mod/notes.mod/notes.c: A password is required to use the NOTES msg command, therefore [pass] should be in usage notices. 2002-01-21 13:19 wcc * src/: cmds.c, tclhash.c, mod/channels.mod/cmdschan.c, mod/irc.mod/cmdsirc.c, mod/server.mod/cmdsserv.c: More cosmetic changes 2002-01-19 16:18 wcc * doc/html/authors.html: Fixed a small authors.html error. 2002-01-19 08:03 tothwolf * doc/: AUTHORS, html/authors.html: Small fixes to AUTHORS files 2002-01-19 06:47 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 05:54 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 05:34 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 05:24 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 05:13 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 03:22 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-19 02:56 tothwolf * doc/: AUTHORS, html/authors.html: Updated an AUTHORS entry 2002-01-15 21:24 guppy * doc/UPDATES1.6, doc/first_script.txt, help/cmds2.help, help/core.help, help/set/cmds2.help, src/cmds.c, src/language.c, src/main.c, src/patch.h, src/tcl.c, src/tclhash.c, src/mod/server.mod/help/set/server.help: added Wcc's cosmetic patch 2002-01-15 21:17 guppy * README, doc/ABOUT, doc/UPDATES1.6, doc/html/about.html, doc/html/readme.html, doc/html/chat/dalnet_eggdrop.chat, doc/html/chat/efnet_eggfaq.chat, doc/html/chat/efnet_egghelp.chat, doc/html/chat/ircnet_eggdrop.chat, doc/html/chat/undernet_eggdrop.chat, doc/html/chat/undernet_eggheads.chat, src/patch.h: more doc changes by Wcc 2002-01-14 15:23 guppy * doc/UPDATES1.6, src/patch.h, src/userrec.c: added Eule's patch for memleaks in adduser functions 2002-01-14 15:20 guppy * doc/UPDATES1.6, src/net.c, src/patch.h: added ITE's 64 bit archs patch 2002-01-14 15:19 guppy * doc/UPDATES1.6, src/botcmd.c, src/patch.h: added BarkerJr's logbotinfo patch 2002-01-14 15:18 guppy * src/: patch.h, mod/channels.mod/userchan.c: added blaster^'s bannotset patch but couldn't come up with a good UPDATES1.6 entry because I'm draindead, anyone got a good one? :) 2002-01-14 09:51 stdarg * src/mod/module.h: * Added #define for 'parties' export. 2002-01-14 09:47 stdarg * src/modules.c: * Added 'parties' variable to export table, to tell the length of the 'party' array. 2002-01-14 09:41 stdarg * src/modules.c: * ginvite_total and gexempt_total were mixed up in the export table (thanks to amir on egghelp.org for finding this) 2002-01-07 22:28 guppy * doc/UPDATES1.6, src/cmds.c, src/patch.h: oops, that was suppose to be a patch by BarkerJr on the last commit, not myself .. sorry Barker .. adding his botattr_working patch but removed the word now since There are now no bot flags for bot on chan sounds funny to me 2002-01-07 22:26 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: added BarkerJr's laston_link patch 2002-01-07 22:24 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/botcmd.c, src/patch.h, src/mod/irc.mod/tclirc.c: couple more small remote boot fixes 2002-01-07 22:11 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: added a small patch to make sure hand2nick, etc .. return that a user is known if they are really know 2002-01-02 22:32 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: eggdrop1.6.9 here we go 2002-01-02 21:25 guppy * doc/html/botnet.html, doc/html/mod-channels.html, doc/html/mod-console.html, doc/html/mod-dns.html, doc/html/mod-uptime.html, doc/html/news.html, doc/html/readme.html, src/patch.h: a few doc fixes, time for the 1.6.8 release folks 2002-01-02 19:06 guppy * doc/html/: mod-console.html, mod-ctcp.html, mod-seen.html, mod-uptime.html, mod-woobie.html: dang cvs 2002-01-02 19:05 guppy * INSTALL, eggdrop.advanced.conf, eggdrop.complete.conf, doc/tcl-commands.doc, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-wire.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/sharing.html, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, src/patch.h: added Wcc's latest doc (wasn't sent via email since his stmp is busted) 2002-01-02 15:51 tothwolf * doc/Makefile.in: fixed extra 'tricks' file listing 2002-01-02 14:54 tothwolf * doc/: ABOUT, PARTYLINE: more documentation changes 2002-01-02 14:25 guppy * doc/: ABOUT, PARTYLINE, html/chat/dalnet_eggdrop.chat: forgot a couple of cvs adds .. I wish cvs would bitch at me instead of just letting me forget 2002-01-02 14:23 guppy * doc/UPDATES1.6, src/patch.h, src/tclhash.c: removed a small tck hack that PPSlim reminded me about .. waiting on a patch from Wcc to release 1.6.8 2002-01-02 02:06 tothwolf * README, disabled_modules, doc/BOTNET, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES1.6, doc/compiling.FAQ, doc/eggdrop.doc, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/flags.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-wire.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/sharing.html, doc/html/starting.html, doc/html/users.html, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, logs/CONTENTS, scripts/CONTENTS, scripts/ques5.tcl, scripts/help/cmd_resolve.help, src/rfc1459.c, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/assoc.mod/language/assoc.french.lang, src/mod/assoc.mod/language/assoc.german.lang, src/mod/channels.mod/help/channels.help, src/mod/console.mod/help/console.help, src/mod/console.mod/language/console.french.lang, src/mod/filesys.mod/tclfiles.c, src/mod/filesys.mod/help/filesys.help, src/mod/irc.mod/help/irc.help, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/notes.mod/help/notes.help, src/mod/notes.mod/language/notes.english.lang, src/mod/notes.mod/language/notes.german.lang, src/mod/server.mod/help/server.help, src/mod/share.mod/share.c, src/mod/share.mod/help/share.help, src/mod/transfer.mod/transfer.c, text/CONTENTS: more copyright updates and documentation changes 2002-01-01 23:04 guppy * doc/UPDATES1.6, scripts/autobotchk, src/patch.h, src/mod/channels.mod/channels.h: added a modified patch from blaster^ to change the kickreason length since the patch sent in was wrong and updated the copyright in my autobotchk 2002-01-01 21:55 guppy * doc/UPDATES1.6, scripts/sentinel.tcl, src/botnet.c, src/patch.h, src/mod/filesys.mod/filedb3.c, src/mod/notes.mod/notes.c, src/mod/transfer.mod/transfer.c: oops, I was in the wrong dir on the previous commit .. added the cosmetic patches for purals also now 2002-01-01 21:50 guppy * doc/: UPDATES1.6, html/app-sharing.html, settings/tricks: added the sentinel patch and removed a few files I forgot to remove 2002-01-01 21:46 guppy * FEATURES, INSTALL, NEWS, README, doc/AUTHORS, doc/BOTNET, doc/BUG-REPORT, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES.pre1.5, doc/UPDATES1.5, doc/UPDATES1.6, doc/compiling.FAQ, doc/eggdrop.doc, doc/first_script.txt, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/about.html, doc/html/app-problems.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/flags.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-wire.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/sharing.html, doc/html/starting.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/CONTENTS, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channels, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, misc/modconfig, scripts/autobotchk, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/compat/strftime.h, src/mod/eggautoconf, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/banner, text/motd: added Wcc's even_more_docs patch 2001-12-31 00:47 guppy * doc/AUTHORS, doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/dcc.c, src/lang.h, src/patch.h: added a few small changes to 1.6.8 2001-12-30 12:38 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/AUTHORS, doc/UPDATES1.6: some small changes leading upto 1.6.8 (hopefully unless there is a problem installing the cvs on freebsd machines) 2001-12-30 01:56 guppy * doc/UPDATES1.6: forgot the UPDATES1.6 file 2001-12-30 00:32 guppy * doc/UPDATES1.6, src/patch.h, src/tcl.c, src/mod/server.mod/server.c: changed nick-len and hand-len to nicklen nad handlen (Wcc is gonna update the docs .. nick-len is still there for backwards compat 2001-12-30 00:14 guppy * doc/AUTHORS, src/patch.h: added a few names to AUTHORS -- I need some realnames though for stdarg, BarkerJr and uhm ... *thinks* 2001-12-29 15:46 guppy * doc/BOTNET, doc/UPDATES1.6, doc/first_script.txt, src/patch.h: added Wcc's patch to update some more docs 2001-12-29 15:06 guppy * src/: patch.h, mod/transfer.mod/transfer.c: small bug in the transfer.mod language files was introduced by a patch made before the transfer.mod had language files 2001-12-29 00:17 guppy * src/mod/irc.mod/irc.c: oops forgot to delete a line 2001-12-28 23:52 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c, src/mod/transfer.mod/transfer.c: added Wcc's old_debugs patch 2001-12-28 23:49 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: added Ian's capture_the_flag diff because after some more explaining and digging this is the proper fix to our problem of loosing channel flags 2001-12-28 23:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/mode.c, src/mod/share.mod/share.c: added Wcc's cosmetic patch 2001-12-28 23:45 guppy * src/: patch.h, mod/irc.mod/irc.c: added Wcc's patch to set defaults on net-type 5 for max-bans and max-modes 2001-12-28 23:43 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/tcl.c: added Wcc's handlen patch 2001-12-28 23:38 guppy * doc/UPDATES1.6, src/botnet.c, src/patch.h: added the sum whom patch by BarkerJr 2001-12-25 23:03 tothwolf * doc/: text-substitutions.doc, html/app-textsub.html: even more copyright updates 2001-12-25 22:43 tothwolf * doc/text-substitutions.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-sharing.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/authors.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/flags.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-wire.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/sharing.html, doc/html/starting.html, doc/html/users.html, src/bg.c, src/main.c, src/modules.c, src/compat/inet_aton.c, src/compat/strftime.h: more copyright updates 2001-12-25 21:50 tothwolf * doc/UPDATES1.6, doc/text-substitutions.doc, doc/html/about.html, doc/html/app-problems.html, doc/html/app-sharing.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/bans.html, doc/html/botnet.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/flags.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-blowfish.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/mod-wire.html, doc/html/news.html, doc/html/party.html, doc/html/readme.html, doc/html/sharing.html, doc/html/starting.html, doc/html/users.html, src/modules.c: copyright updates 2001-12-23 00:52 guppy * doc/UPDATES1.6: tcl_bot should be tcl_boot 2001-12-23 00:49 guppy * doc/UPDATES1.6, src/patch.h, src/tcldcc.c: added a small fix for tcl_boot 2001-12-22 14:58 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: added Wcc's nettype_modes patch 2001-12-22 14:25 guppy * doc/UPDATES1.6, src/chanprog.c, src/main.c, src/patch.h, src/tclmisc.c, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/msgcmds.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: added my correctname patch 2001-12-22 00:43 guppy * src/: patch.h, mod/irc.mod/chan.c: I'll properly fix it this time okay 2001-12-21 23:02 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: added a very small patch to get the proper channel key on op 2001-12-21 22:42 guppy * doc/UPDATES1.6, src/patch.h, src/mod/ctcp.mod/ctcp.c: added my nopass.diff 2001-12-21 12:51 guppy * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.c: added this patch from 1.6.7 2001-12-20 23:57 guppy * doc/UPDATES1.6: better updates entry 2001-12-20 23:12 guppy * doc/UPDATES1.6, src/botcmd.c, src/patch.h: added BarkerJr's whomsg patch 2001-12-20 18:41 guppy * src/: patch.h, mod/irc.mod/tclirc.c: fixed botisop, botisvoice, and botonchan (I forgot to change argc > 2 to > 1) 2001-12-20 15:05 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: oops, thanks BarkerJr for that little fix 2001-12-20 12:52 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/tclirc.c: applied a few more changes to some tcl commands to make them take an optional channel argument 2001-12-20 11:37 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/tclirc.c: added my onchanfix patch 2001-12-20 01:51 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/tcldcc.c, src/tclmisc.c: added stdarg's tcl_traffic patch (which was modified by yours truly) 2001-12-20 00:53 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/cmdsserv.c: added my cmd_servers.diff and yes I fixed the cosmetic bug as pointed out by Wcc 2001-12-20 00:32 guppy * doc/UPDATES1.6, help/cmds2.help, src/cmds.c, src/patch.h: added my localmodules patch 2001-12-19 22:53 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/misc.c: cleaned up show_motd a bit and fixed a bug with show_banner not reseting help_subst 2001-12-19 18:10 guppy * Makefile.in, config.h.in, doc/tcl-commands.doc, src/patch.h: added autom4te.cache to make distrib and also added need limit to doc/tcl-commands.doc 2001-12-19 01:30 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/tclserv.c: added my jumpfix patch 2001-12-19 00:29 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: applied my morespeedyness.diff to speed up some more tcl commands 2001-12-18 22:58 guppy * doc/html/mod-server.html, doc/settings/mod.server, src/patch.h: added Wcc's doc updates for BHAB's serverdocfix patch 2001-12-18 22:57 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: added Eule's small-fixes patch 2001-12-18 20:59 guppy * doc/UPDATES1.6: added a found by for Wcc's whois_ports patch 2001-12-18 11:21 guppy * doc/BUG-REPORT, doc/CONTENTS, doc/MODULES, doc/UPDATES1.6, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/settings/CONTENTS, doc/settings/mod.compress, doc/settings/mod.transfer, src/patch.h: more doc updates! yay 2001-12-18 11:19 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.6, src/patch.h: added BHAB's server password doc fix -- Wcc could you please update the other related docs 2001-12-18 10:40 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: sped up hand2nick a ton (people using it alot on big userlists should notice the difference greatly) 2001-12-16 09:07 guppy * src/patch.h: oops 2001-12-16 08:55 guppy * doc/UPDATES1.6, src/chan.h, src/cmds.c, src/modules.c, src/patch.h, src/proto.h, src/userrec.c, src/mod/module.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/msgcmds.c: applied Eule's membercheck 2 & 3 patches 2001-12-16 08:40 guppy * doc/UPDATES1.6, src/botcmd.c, src/patch.h: added BarkerJr's patch, also please do not use C++ comments in your patches 2001-12-16 08:37 guppy * doc/settings/: mod.channel, mod.channels: forgot rename mod.channel to mod.channels 2001-12-14 12:48 guppy * doc/Makefile.in, doc/UPDATES1.6, src/patch.h: fixed a small make install error 2001-12-13 23:44 guppy * doc/settings/: CONTENTS, contents: Fabian knows my pain .. forgetting to cvs add and remove 2001-12-13 23:43 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.6, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.uptime, doc/settings/mod.wire, doc/settings/mod.woobie, doc/settings/tricks, src/patch.h: applied both configdocs (rev2) and doc_settings (rev4) .. lets go over the files now and look for more problems related to spelling and confusing lines of text 2001-12-13 23:38 guppy * doc/MODULES, doc/UPDATES1.6, src/patch.h: applied BarkerJr's patch to update doc/MODULES 2001-12-13 23:32 guppy * doc/UPDATES1.6, src/patch.h, src/userent.c: added Wcc's whois_ports patch 2001-12-13 23:30 guppy * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c: stdarg's note fix patch 2001-12-08 12:16 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, src/patch.h: added BarkerJr's uptime doc 2001-12-07 14:14 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: lets go 1.6.8 2001-12-07 12:20 poptix * scripts/action.fix.tcl: Hah, slipping this in, makes action.fix handle irssi (and a few others) "broken" behavior. 2001-12-05 22:57 guppy * src/patch.h: forgot patch.h *sigh* 2001-12-05 22:57 guppy * doc/UPDATES1.6, src/mod/irc.mod/irc.c: fixed a small annoying thing I just noticed concerning +statuslog being shown when we aren't on a server 2001-12-05 22:52 guppy * aclocal.m4, config.h.in, configure, configure.in, doc/UPDATES1.6, src/patch.h: ITE's cygwin patch 2001-12-04 22:12 guppy * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/language/transfer.english.lang: part of the botnet protocol got put into a language entry for transfer.mod and another entry was in the wrong location which was causing a crash on all failed userfile transfers 2001-12-04 15:11 guppy * aclocal.m4, config.h.in, src/patch.h: fixed a small typo 2001-12-04 14:12 guppy * aclocal.m4, config.h.in, configure, configure.in, doc/UPDATES1.6, doc/compiling.FAQ, src/patch.h: added nakee's patch for --disable-cc-optimize but renamed it to --disable-cc-optimzation -- I also updated the compiling faq to tell people about this option. 2001-12-04 13:58 guppy * doc/UPDATES1.6, src/cmds.c, src/patch.h, src/mod/modvals.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/msgcmds.c: added Eule's membercheck patch 2001-12-02 21:02 guppy * src/: patch.h, mod/share.mod/share.c: Changed a log message to a debug message to prevent stuff like this from being logged: [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) [20:42] [03:43] Ignore ch DCCDIR from Eggdrop (unknown type) ( is really a diff bot .. just using Eggdrop's nickname) That bot doesn't have the filesystem loaded and Eggdrop does, each relink, I see this crap and I'm not sure why it should be a regular putlog to the commands flag. Much more suited for a debug log 2001-12-02 20:57 guppy * src/: patch.h, mod/channels.mod/tclchan.c: *sigh* .. its fixed now 2001-12-02 20:31 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: silly guppy .. adding stuff wrong 2001-12-02 15:43 guppy * doc/UPDATES1.6, src/patch.h, src/mod/assoc.mod/language/assoc.french.lang, src/mod/console.mod/language/console.french.lang, src/mod/notes.mod/language/notes.french.lang: here are some Frecnh language files to feast on 2001-12-02 15:38 guppy * src/mod/transfer.mod/language/transfer.english.lang: dang period instead of a comma 2001-12-02 13:35 guppy * src/mod/transfer.mod/language/transfer.english.lang: added a missing Id tag and removed an extra language message not being used 2001-12-02 01:35 guppy * src/: patch.h, mod/transfer.mod/transfer.c: oops .. canadian on cold pills here 2001-12-02 01:17 guppy * doc/UPDATES1.6, doc/text-substitutions.doc, doc/html/app-textsub.html, help/set/cmds1.help, src/misc.c, src/patch.h: added the patch for %n support to the motd stuff ... its getting late, dont expect my changelogs to be masterpieces hehe 2001-12-02 01:11 guppy * doc/UPDATES1.6, src/patch.h, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/transfer.mod/language/transfer.english.lang: transfer.mod now supports language files, can someone do the german and french language files. Also, please test your patch because I know it wasn't ... language was misspelled everywhere but one place and the code for adding and removing language files was not there. 2001-12-01 15:45 poptix * help/: cmds1.help, cmds2.help, core.help: Update help files for new bind changes, we really need a few helpfile format =P 2001-11-30 22:31 guppy * doc/UPDATES1.6, language/core.english.lang, src/patch.h: got rid of some language which didn't really fully describe what the problem was 2001-11-30 15:16 poptix * doc/UPDATES1.6, src/cmds.c, src/patch.h: scum. 2001-11-29 19:34 guppy * aclocal.m4, config.h.in, configure, doc/UPDATES1.6, misc/config.guess, misc/config.sub, src/patch.h: applied ITE's divert2 patch after I got off crack 2001-11-29 17:25 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.6, src/patch.h: applied my security patch 2001-11-28 23:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/tclchan.c: applied my banproblems patch -- its even tested, hopefully some others can test this and see if it fixes their problems as well 2001-11-28 22:43 guppy * src/: patch.h, mod/channels.mod/help/chaninfo.help, mod/channels.mod/help/channels.help, mod/console.mod/help/console.help, mod/ctcp.mod/help/set/ctcp.help, mod/irc.mod/help/irc.help, mod/server.mod/server.c, mod/server.mod/help/server.help, mod/server.mod/help/set/server.help, mod/share.mod/share.c, mod/share.mod/help/share.help, mod/transfer.mod/transfer.c, mod/transfer.mod/help/set/transfer.help: more spelling related things 2001-11-28 20:53 guppy * doc/UPDATES1.6, src/patch.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/help/filesys.help: applied Wcc's optimize patch with a minor change for backwards compat 2001-11-28 17:51 guppy * doc/UPDATES1.6, scripts/alltools.tcl, src/patch.h: Hanno's patch to fix testip 2001-11-28 17:26 guppy * INSTALL, eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/text-substitutions.doc, src/patch.h, src/mod/irc.mod/mode.c: applied Eule's sotpnethack patch and wcc's doc patch 2001-11-28 17:17 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: applied Wcc's patch for +M support on Dalnet 2001-11-28 17:10 guppy * doc/UPDATES1.6, src/patch.h, src/mod/compress.mod/compress.c, src/mod/irc.mod/chan.c: applied Wcc's small patch for the compress module and Lam's +a patch for \!channels 2001-11-20 18:07 guppy * doc/UPDATES1.6, src/patch.h, src/tcluser.c: tcl_botattr is now fixed 2001-11-15 23:01 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: stdarg fixed a bogus memory leak 2001-11-15 22:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/uptime.mod/uptime.c: removed usetsend and some other unused crap in uptime.mod 2001-11-15 16:48 segfault * scripts/getops.tcl: Fixed guppy's fat fingering 2001-11-15 08:11 poptix * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: Grr, these stupid bugs are *really* annoying me. 2001-11-15 00:28 guppy * doc/UPDATES1.6, scripts/autobotchk, scripts/cmd_resolve.tcl, scripts/getops.tcl, scripts/userinfo.tcl, src/patch.h: updated autobotchk to v1.09.1 -- makes it nicer to run out of the scripts directory and an improved how to section ... also, the getops version fix was added and the output from when userinfo.tcl is loaded was shortened. 2001-11-14 10:25 guppy * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c: applied stdarg's small notes.mod patch -- this is good ... we are finding a ton of bugs before 1.6.7 would have been released I'm also wondering if 1.6.7 will ever be released hehe, if anyone is able to test the CPU bug PLEASE do so, it will be of great benefit to us. 2001-11-13 16:55 guppy * doc/UPDATES1.6, src/patch.h, src/userent.c: lets fix tcl_setuser alsopico doc/UPDATES1.6 2001-11-13 16:51 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: lets fix stopnethack-mode 4 2001-11-11 14:43 poptix * doc/UPDATES1.6, src/net.c: (more) socket debugging 2001-11-11 14:24 guppy * CONTENTS, FEATURES, INSTALL, Makefile.in, NEWS, README, acconfig.h, aclocal.m4, config.h.in, configure, configure.in, eggdrop.advanced.conf, eggdrop.complete.conf, doc/BUG-REPORT, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/compiling.FAQ, doc/eggdrop.doc, doc/tcl-commands.doc, doc/tricks, doc/html/about.html, doc/html/app-problems.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/bans.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/news.html, doc/html/readme.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/contents, doc/settings/core.settings, scripts/CONTENTS, scripts/compat.tcl, scripts/ques5.tcl, scripts/weed, src/patch.h: Yes, Tcl looks cooler anyways :P~ 2001-11-11 13:56 guppy * src/net.c: we'll just move that line to the proper location 2001-11-10 21:07 poptix * doc/UPDATES1.6, src/net.c, src/patch.h: Add a continue for EAGAIN 2001-11-10 14:01 poptix * src/net.c: HPUX/FreeBSD fixes for previous socket code changes 2001-11-10 13:48 poptix * src/net.c: Oops. 2001-11-10 13:45 poptix * doc/UPDATES1.6, src/main.c, src/net.c, src/patch.h: Fix up some socket code, please report *any* problems, this may not be acceptable for 1.6.7 release. 2001-11-09 20:11 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.6, src/patch.h: typos are being fixed .. lets release this thing already :P 2001-11-06 23:12 guppy * doc/BOTNET, doc/CONTENTS, doc/UPDATES1.6, doc/eggdrop.doc, doc/tcl-commands.doc, doc/html/flags.html, src/patch.h: more doc fixes 2001-11-05 08:14 guppy * doc/settings/mod.uptime, src/patch.h: added mod.uptime to the settings dir 2001-11-04 22:08 guppy * CONTENTS, FEATURES, INSTALL, Makefile.in, NEWS, README, acconfig.h, config.h.in, configure, configure.in, disabled_modules, eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/BOTNET, doc/BUG-REPORT, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES1.6, doc/compiling.FAQ, doc/eggdrop.doc, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/tricks, doc/html/about.html, doc/html/app-tricks.html, doc/html/app-weird.html, doc/html/bans.html, doc/html/compiling.html, doc/html/egg-core.html, doc/html/faqs.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/mod-assoc.html, doc/html/mod-channels.html, doc/html/mod-compress.html, doc/html/mod-dns.html, doc/html/mod-filesys.html, doc/html/mod-irc.html, doc/html/mod-notes.html, doc/html/mod-server.html, doc/html/mod-share.html, doc/html/news.html, doc/html/readme.html, doc/html/users.html, doc/man1/eggdrop.1, doc/settings/contents, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channel, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.wire, doc/settings/mod.woobie, doc/settings/tricks, help/cmds1.help, help/cmds2.help, help/core.help, help/set/cmds1.help, help/set/cmds2.help, language/core.english.lang, logs/CONTENTS, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/cmd_resolve.tcl, scripts/compat.tcl, scripts/getops.tcl, scripts/notes2.tcl, scripts/ques5.tcl, scripts/userinfo.tcl, scripts/weed, scripts/help/cmd_resolve.help, scripts/help/userinfo.help, scripts/help/msg/userinfo.help, src/patch.h, text/CONTENTS: Wcc is much better at spelling then us 2001-11-04 21:54 guppy * doc/UPDATES1.6, src/tcluser.c: odd, tcl_chattr was busted .. 2001-11-04 03:23 guppy * doc/UPDATES1.6: pfft, updates1.6 -- you never cease to amaze me 2001-11-04 03:18 guppy * doc/UPDATES1.6, src/patch.h, src/tcl.c: fixed an issue that was causing a whole slew of other problems for eggdrop 2001-11-03 15:58 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/tcluser.c, src/mod/irc.mod/irc.c: a couple or three small patches by Wcc and Sup .. 1.6.7's changelog just keeps growing folks :P~ 1.6.8 you better not show your ugly face for atleast 3 months!!! 2001-10-31 15:07 guppy * src/: patch.h, tcldcc.c: small fix for tcldcc.c 2001-10-31 11:46 poptix * doc/UPDATES1.6, src/dns.c, src/patch.h: final commit for src/*.c on argv crap. 2001-10-31 10:54 poptix * doc/UPDATES1.6, src/patch.h, src/tcldcc.c: yum yum. 2001-10-31 09:22 poptix * doc/UPDATES1.6, src/patch.h, src/tcluser.c: more (all of?) the argv mis-usage 2001-10-30 20:20 guppy * doc/UPDATES1.6, src/patch.h, src/tcluser.c: good thing Daniel Frank sent in a bug report on this one -- and good job stdarg on the quick fix :) Lets go 1.6.7! Lets go! 2001-10-30 10:04 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: Hey! another banreason patch, I lost count.. 2001-10-29 21:01 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: fixed a small bug that would make eggdrop think it was connected to an ircu server eventhough it was really throttled ... thanks to a bug in ircu :P 2001-10-29 19:36 poptix * src/mod/uptime.mod/uptime.h: And one more.. 2001-10-29 19:24 poptix * src/mod/uptime.mod/uptime.c: erm, copyright info 2001-10-29 14:20 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c, src/mod/uptime.mod/uptime.c, src/mod/uptime.mod/uptime.h: Couple of things while getting ready for 1.6.7 -- still gotta fix that stupid banreason bug hehe ... what else needs to be fixed before 1.6.7 is done? 2001-10-21 01:06 guppy * src/modules.c: Oops, lets fix what stdarg properly this time 2001-10-20 17:50 poptix * src/mod/irc.mod/msgcmds.c: * ()'s improve code clarity. 2001-10-20 13:03 guppy * doc/UPDATES1.6, src/modules.c, src/patch.h, src/mod/module.h: a patch by Sup to export some module functions 2001-10-19 16:53 guppy * doc/UPDATES1.6: oops, I should use the proper words in UPDATES1.6 eh? 2001-10-19 15:14 guppy * src/patch.h: oops, forgot patch.h 2001-10-19 15:12 guppy * doc/UPDATES1.6, src/modules.c: small fix by stdarg to prevent sendnote from crashing the notes module 2001-10-16 19:58 poptix * doc/UPDATES1.6, src/patch.h, src/tcluser.c: * Bad argv[] use in tcl_userlist 2001-10-14 12:10 poptix * src/: patch.h, userrec.c: * part #3 .. 2001-10-14 10:21 poptix * src/patch.h: [no log message] 2001-10-14 10:12 poptix * doc/UPDATES1.6, src/userrec.c: fix overflow in adduser, free what we malloc 2001-10-14 09:06 tothwolf * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/userchan.c, src/mod/server.mod/servmsg.c: * don't attempt to flood check server notices * display global bans, exempts and invites even if not on a channel * removed unused "existant" check from tell_bans(), tell_exempts(), and tell_invites() 2001-10-14 08:25 poptix * src/mod/uptime.mod/uptime.c: Since we're running the uptime stats now, we're free to send the server again, as per guppy's request. 2001-10-11 13:47 tothwolf * src/patch.h: * Update patch.h 2001-10-09 11:23 tothwolf * doc/UPDATES1.6, src/userrec.c: fixed buffer overflow in adduser() 2001-10-09 04:55 tothwolf * doc/UPDATES1.6, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filesys.c: fixed typo in filedb3.c: EBUG_MEM -> DEBUG_MEM removed extra egg_bzero call from filesys.c 2001-10-07 08:26 poptix * src/patch.h, doc/UPDATES1.6: [no log message] 2001-10-07 08:09 poptix * src/mod/irc.mod/tclirc.c: Fixed multiple crashes introduced by another patch 2001-10-05 03:21 poptix * src/cmds.c: guh, apparently it got changed quite a while back.. 2001-10-05 01:26 poptix * src/cmds.c: *grumble* when did this get changed? 2001-10-03 09:58 poptix * src/mod/uptime.mod/uptime.c: len = 63... remove a debug line from uptime.mod that was starting to get annoying 2001-09-29 23:15 tothwolf * doc/UPDATES1.6: Revert broken eggdrop1.6+sunfix.patch (why was this applied?) 2001-09-29 23:06 tothwolf * aclocal.m4, configure: Revert broken eggdrop1.6+sunfix.patch (why was this applied?) 2001-09-29 00:33 guppy * doc/UPDATES1.6, src/mem.c, src/patch.h, src/tclmisc.c: tothwolf's memory patch ... lets go 1.6.7 2001-09-28 08:07 guppy * eggdrop.complete.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, scripts/autobotchk, scripts/botchk, src/main.c, src/patch.h, src/tcl.c: newe pid file setting 2001-09-27 20:47 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/cmdsirc.c: ! != -, .kickban was semi broken 2001-09-25 22:07 guppy * src/patch.h: oops, forgot this file 2001-09-25 21:58 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/mod/channels.mod/tclchan.c: backported BarkerJr's -dynamicban patch and cleaned up a few while loops 2001-09-25 17:21 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h, src/tclmisc.c, src/md5/md5.h, src/md5/md5c.c: replaced old md5 routines with newer ones 2001-09-25 17:11 guppy * src/: patch.h, tcl.c, tclegg.h, tclhash.c: here is the properly indented code for stdarg's uf8 patch 2001-09-23 22:35 guppy * src/mod/irc.mod/mode.c: a small bug with banreasons was fixed, related to an previous 1.6.7 patch by dw 2001-09-23 22:25 guppy * eggdrop.complete.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/chanprog.c, src/dcc.c, src/lang.h, src/main.c, src/modules.c, src/patch.h, src/tcl.c, src/mod/module.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, text/banner, text/motd: here are some backports from 1.7 to 1.6 .. mostly minor 2001-09-23 14:17 guppy * doc/UPDATES1.6, src/botmsg.c, src/dccutil.c, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/tclegg.h, src/tclhash.c, src/tclmisc.c, src/mod/module.h, src/mod/channels.mod/tclchan.c: lets test this patchls 2001-09-23 13:56 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/tclirc.c: here is TaKeDa's wasop fix 2001-09-23 13:54 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: here is a sunos fix 2001-08-27 17:25 poptix * scripts/userinfo.tcl: updated userinfo.tcl 2001-08-27 17:13 poptix * doc/UPDATES1.6, src/cmds.c, src/patch.h: PATCH: cmb_boot.patch Fix booting for people with full length handles 2001-08-27 17:08 poptix * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: PATCH: wildctcp1.6.patc Allow wildcard CTCP binding 2001-08-27 17:04 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c, src/mod/server.mod/servmsg.c: PATCH: ctcp2help.patch Move CTCP replies to the help queue 2001-08-22 18:40 poptix * doc/UPDATES1.6, src/patch.h, src/mod/uptime.mod/uptime.c: don't send server in uptime.mod packets 2001-08-19 03:04 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: Found by Fixed by What... stdarg poptix we weren't looking the user record back up on iterations on channels in the NICK bind, causing the chance of a bad pointer reference =P (stdarg gave me the idea to look =) 2001-08-19 02:41 poptix * doc/tcl-commands.doc: documentation fix for SIGN 2001-08-19 02:28 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: [no log message] 2001-08-11 02:20 guppy * doc/AUTHORS: I found out ITE's realname ... yay .. yay... 2001-08-10 17:14 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, scripts/getops.tcl, src/patch.h: PATCH: bindneed-documentation PATCH: m (applied these two at the same time, both kind of relate to getops :P~ getops should now work and bind need should now work when coded properly) 2001-08-08 22:00 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: applied Kirben's cygwin patch 2001-08-08 11:29 guppy * scripts/getops.tcl: small fix for getops 2001-08-07 07:55 poptix * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/help/chaninfo.help: PATCH: helppatch.diff 2001-08-07 07:52 poptix * doc/UPDATES1.6, src/botnet.c, src/patch.h: PATCH: nice_whom.patch 2001-08-07 07:43 poptix * src/patch.h: oops, addpatch.. 2001-08-07 07:42 poptix * doc/UPDATES1.6, src/mod/server.mod/server.c: PATCH: eggdrop1.6+dalupd.patch 2001-07-29 00:15 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: yay .... raven will love this patch 2001-07-29 00:08 guppy * doc/MODULES, doc/UPDATES1.6, src/cmds.c, src/main.c, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/tclmisc.c, src/mod/module.h, src/mod/modvals.h, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c: sup's hook die ... this has been needed for years right slennox? 2001-07-26 15:57 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: added takeda's resync fix patch... 2001-07-25 21:59 guppy * doc/UPDATES1.6, src/patch.h, src/tcl.c, src/tclegg.h, src/tclmisc.c: Hm.... I thought md5 was borken ... hehe 2001-07-25 21:55 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: added Kirben's win32 patch 2001-07-25 11:27 guppy * src/mod/: channels.mod/channels.c, irc.mod/mode.c: small fix to the channels.mod and a small fix to dw's banreason patch 2001-07-24 21:56 guppy * src/mod/channels.mod/channels.c: check for a newer eggdrop when using our new channels.mod 2001-07-24 15:50 guppy * src/: patch.h, mod/dns.mod/configure: doh, I forgot to commit the changed configure :P~ 2001-07-24 09:11 guppy * doc/AUTHORS, src/patch.h: go Kirben, go Kirben, its your birthday 2001-07-24 09:08 guppy * doc/UPDATES1.6, src/patch.h, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure.in: here is Kirben's bind82.patch applied 2001-07-24 09:02 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: yay dw, .. that Vodka helps 2001-07-24 08:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: let me strike down thee olde ircd 2001-07-24 08:43 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: QNX? don't banks use that 2001-07-24 08:32 guppy * doc/UPDATES1.6, src/net.c, src/patch.h, src/mod/channels.mod/channels.c: dang those mismatches ... yay stdarg 2001-07-24 08:22 guppy * doc/UPDATES1.6, src/modules.c, src/patch.h: a typo hunting we shall go ... yay Kirben 2001-07-24 08:19 guppy * doc/MODULES, doc/UPDATES1.6, doc/tcl-commands.doc, doc/html/egg-core.html, help/cmds2.help, src/cmds.c, src/main.c, src/patch.h, src/tclmisc.c, src/mod/modvals.h, src/mod/channels.mod/channels.c: I thought about doing this years ago .. glad someone did it :P~ 2001-07-24 08:09 guppy * doc/UPDATES1.6, src/patch.h, src/tclhash.c: well, we know unicode support will work one day :P~ 2001-07-24 08:05 guppy * src/: main.c, patch.h: go go gadget mobile .. lets do lots of work today on eggdrop 2001-07-21 00:53 guppy * src/main.c: forgot main.c .. 2001-07-21 00:52 guppy * doc/UPDATES1.6, src/patch.h: lets go for 1.6.7 .. I'm gonna make a 1.7 branch off of this 2001-07-18 08:12 guppy * INSTALL, README, doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/help/chaninfo.help: applied Paladin's doc updates patch 2001-07-18 00:03 tothwolf * src/mod/module.h: Autoindenting mess-up 2001-07-17 13:53 guppy * doc/UPDATES1.6, src/patch.h, src/mod/module.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/compress.mod/compress.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/irc.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/uptime.mod/uptime.c, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c: here is ITE's expore_define_fix 2001-07-16 08:59 guppy * doc/UPDATES1.6, src/patch.h, src/users.c: added drummer's delignore patch 2001-07-16 08:54 guppy * src/: misc.c, modules.c, proto.h, mod/module.h: oops, I should apply the patch too I guess 2001-07-16 08:53 guppy * doc/UPDATES1.6, src/patch.h: applied drummer's patch to get rid of remove_gunk 2001-07-15 23:14 guppy * doc/UPDATES1.6, src/patch.h, src/userrec.c: fixed a tiny buffer overflow in cmd_whois .. 2001-07-14 23:26 guppy * doc/UPDATES1.6, scripts/getops.tcl, src/patch.h: here is a fix for getops and I moved ITE's patches to 1.6.6 2001-07-14 23:15 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: here is 1.6.6 ... 2001-07-14 06:38 poptix * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, src/patch.h: ITE .conf cleanups, TCL threaded info in DEBUG 2001-07-14 06:37 poptix * src/: chanprog.c, cmds.c, language.c, main.c, patch.h, tcl.c, tclhash.c: Cosmetic TCL fixes, plus TCL threaded info, primarily ITE's patch. 2001-07-09 09:57 guppy * doc/UPDATES1.6, misc/modconfig: applied Fabian's modconfig patch ... should I release 1.6.5 tomorrow? all signs point to yes 2001-07-06 19:49 tothwolf * configure, configure.in, doc/UPDATES1.6: std_args.h check was missing from configure 2001-07-06 10:38 guppy * src/: patch.h, mod/share.mod/share.c: Sorry about this bug ... newbies shouldn't use linked lists :) 2001-07-06 10:36 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: here is the limitlegacy patch ... eggdrop had some funny hacks 2001-07-05 22:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/help/msg/irc.help: couple of fixes to /msg commands 2001-07-05 16:19 guppy * src/main.c: two unalligned colons in the debug code 2001-07-04 13:27 poptix * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: ctcr fix 2001-07-03 10:47 guppy * aclocal.m4, configure, src/patch.h: Tothwolf's patch to fix his aclocal.m4 patch 2001-07-03 10:46 guppy * src/: cmds.c, patch.h: BAD POPTIX. BAD. 2001-07-02 19:52 poptix * doc/UPDATES1.6, src/mod/wire.mod/wire.c: guppy's wiremod.diff, check encrypt mod before trying to load 2001-07-02 19:33 poptix * doc/UPDATES1.6, src/cmds.c: isowner.patch by me! 2001-07-02 10:39 guppy * src/patch.h: oops, forgot patch.h 2001-07-02 10:39 guppy * doc/UPDATES1.6, src/mod/irc.mod/cmdsirc.c: committed an old patch of dw's that I and others think is useful 2001-07-01 01:19 guppy * aclocal.m4, configure: tothwolf's lastest aclocal.m4 patch .. lets test this on as many systems as possible until 1.6.5 is released .. any problems, i'll wank it but from what I can see, this is needed to clean up our mess :P~ 2001-07-01 01:06 guppy * README, doc/UPDATES1.6, doc/html/readme.html, doc/html/chat/efnet_eggfaq.chat, src/patch.h, src/mod/channels.mod/channels.c, text/motd: added Sup's inactive patch 2001-06-30 08:51 guppy * src/: patch.h, mod/irc.mod/tclirc.c: Sorry about that bug in tcl_getchanhost .. Sup fixed it and I am commiting the fix without a patch since its not worth a patch. 2001-06-30 00:34 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/channels.mod/tclchan.c: my haschanrec patch 2001-06-30 00:33 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: Sup's shareflood fix ... would some people please test this on irncet and such ... 2001-06-30 00:29 guppy * doc/UPDATES1.6, src/botcmd.c, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dns.c, src/language.c, src/modules.c, src/patch.h, src/tcluser.c, src/userrec.c, src/users.c, src/mod/assoc.mod/assoc.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/transfer.mod/transfer.c: here are my cleanup patches ... 2001-06-29 07:58 guppy * configure, configure.in, doc/UPDATES1.6, scripts/getops.tcl, src/mod/share.mod/share.c: Silly guppy, making bugs that crash the bot .. 1.6.5 is looking nice .. many many many bug fixes and even a few legacy bugs got fixed .. what else can we fix in a week? 2001-06-28 23:09 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: One small patch coming up ... I even created this problem I believe .. silly guppy, mistakes are for lusers 2001-06-28 13:21 guppy * doc/UPDATES1.6, help/cmds1.help, src/cmds.c, src/net.c, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/help/channels.help, src/mod/server.mod/server.c: here is my small fixes patch 2001-06-28 13:10 guppy * src/patch.h: oops forget addpatch 2001-06-28 13:06 guppy * aclocal.m4, configure, doc/UPDATES1.6: Kirben's binary patch for Cygwin 2001-06-28 13:04 guppy * doc/UPDATES1.6, src/patch.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.in, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in: Kirben's compiler patch (affects both unix and cygwin actually) 2001-06-28 13:01 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/html/mod-server.html, doc/settings/mod.server, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h: Sup's channels fix patch 2001-06-26 06:45 guppy * src/mod/dns.mod/configure: oops, forgot to run eggautoconf 2001-06-25 15:32 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: added a fixed up version of Kirben's pthreads patch .. also I forgot an update for his previous cygwin_bind patch 2001-06-25 15:17 guppy * src/: patch.h, mod/dns.mod/configure.in: Kirben's cygwin bind patch .. I'm redoing his cygwin pthreads one currently 2001-06-24 22:34 guppy * aclocal.m4, src/patch.h: I knew I had commit'd aclocal.m4 properly ... having two copies of the libsafe fixes in aclocal.m4 was bad .. hehe here I thought it was my bad coding 2001-06-24 14:50 poptix * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: logging fix, extraneous \n's by G`Quann/Florian 2001-06-24 14:49 poptix * doc/UPDATES1.6, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/mod/module.h: florian's 'netstuff' patch. 2001-06-24 14:42 poptix * src/: patch.h, mod/irc.mod/msgcmds.c: ITE's new patch for msg key invite etc 2001-06-24 14:37 poptix * aclocal.m4, src/mod/share.mod/share.c: jeff's tbuf patch 2001-06-24 12:29 poptix * src/mod/ctcp.mod/ctcp.c: nuh, my warning re-added =P 2001-06-21 23:52 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: here is that pthreads patch with the changes tothwolf talked about 2001-06-21 23:49 guppy * acconfig.h, aclocal.m4, config.h.in, configure, configure.in, doc/UPDATES1.6, src/language.c, src/patch.h: I added my libsafe_hacks patch because I want to get a few people to test it tonight also, I have a patch I'm trying to hack into eggdrop 2001-06-20 22:01 guppy * configure: poptix forgot to run autoconf 2001-06-20 19:21 poptix * doc/UPDATES1.6: blech. 2001-06-20 19:15 poptix * doc/UPDATES1.6, src/patch.h: Boo hoo, fix my name or i'll cry.. 2001-06-20 09:57 guppy * doc/UPDATES1.6: fixed 2001-06-20 08:53 poptix * doc/UPDATES1.6, src/main.c, src/patch.h: Increase the random-ness of rand() 2001-06-20 08:50 poptix * doc/UPDATES1.6, help/cmds2.help, src/cmds.c, src/patch.h: Sup's .whoami patch 2001-06-20 08:48 poptix * doc/UPDATES1.6, src/botmsg.c, src/dccutil.c, src/patch.h: stdarg's unicode fixes, along with buffer overflow(s) 2001-06-20 08:44 poptix * aclocal.m4, doc/UPDATES1.6, src/main.c, src/patch.h, src/mod/module.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/compress.mod/compress.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/irc.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/uptime.mod/uptime.c, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c: Cygwin32 Fixes 2001-06-17 08:09 poptix * doc/UPDATES1.6, src/cmds.c, src/patch.h: cleanup, removal of userfix.patch, yawn.. 2001-06-15 19:36 poptix * doc/UPDATES1.6, src/cmds.c, src/patch.h: Noyga's default-flags in .+user fix 2001-06-15 19:33 poptix * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.6, src/misc.c, src/patch.h, src/tcl.c: dccdumpfile/dumpfile fixes. 2001-06-14 23:31 tothwolf * scripts/alltools.tcl: [no log message] 2001-06-14 06:52 poptix * scripts/alltools.tcl: [no log message] 2001-06-14 06:39 poptix * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: [no log message] 2001-06-13 18:19 tothwolf * scripts/alltools.tcl: added a few more explicit returns 2001-06-13 18:15 tothwolf * scripts/alltools.tcl: updated/modified several commands 2001-06-12 13:49 poptix * src/mod/uptime.mod/: uptime.c: [no log message] 2001-06-12 11:50 poptix * src/mod/uptime.mod/uptime.c: we use botnet-nick now, instead of botname 2001-06-12 11:45 poptix * src/mod/uptime.mod/: uptime.c, uptime.h: [no log message] 2001-06-12 11:44 poptix * src/mod/uptime.mod/: Makefile, uptime.c, uptime.h: copyright, attempt to get cvs tags working (never used them myself before) 2001-06-10 20:48 poptix * src/mod/uptime.mod/: uptime.c, uptime.h: uptime.mod 3 of 3 (license) 2001-06-10 20:45 poptix * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf: uptime.mod commit 2 of 3 2001-06-10 20:40 poptix * src/mod/uptime.mod/: Makefile, modinfo, uptime.c, uptime.h: uptime.mod 2001-06-09 18:11 poptix * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/filesys.mod/tclfiles.c: filesys memleak fixed, setflags allows flags/channel now like it claimed to. 2001-06-08 11:02 poptix * doc/tcl-commands.doc, src/patch.h: teeny tiny addition in tcl-commands.doc for the people who cannot figure out the obvious. 2001-06-08 01:00 poptix * src/patch.h: Boo! updating patch.h with the addpatch script to show the last patch I applied. 2001-06-06 16:49 tothwolf * doc/tcl-commands.doc: ignorelist entry was slightly wrong 2001-06-06 16:34 tothwolf * src/patch.h: [no log message] 2001-06-06 15:35 poptix * doc/UPDATES1.6, src/tcluser.c: Sup's ignorelist patch. 2001-06-06 07:20 poptix * doc/UPDATES1.6, help/core.help, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/help/channels.help: .info locking fix, add .info to .help 2001-06-04 17:41 tothwolf * doc/: UPDATES1.6, tcl-commands.doc: additions/clarifications to tcl-commands.doc 2001-06-01 16:07 poptix * doc/UPDATES1.6, scripts/getops.tcl: [no log message] 2001-06-01 16:03 guppy * doc/UPDATES1.6, src/botnet.c, src/cmds.c, src/patch.h: here is sup's patch to fix .relay and .chaddr 2001-06-01 16:00 guppy * src/: misc.c, patch.h: small cleanup in misc.c by Eugene 2001-06-01 15:56 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/main.c, src/patch.h, src/mod/modvals.h: new evnt: loaded 2001-05-25 05:09 poptix * doc/UPDATES1.6: Update for last 2 patches (mkdir, server var problems) 2001-05-25 05:06 poptix * src/mod/: filesys.mod/tclfiles.c, server.mod/servmsg.c: It's been 3 days, guppy said wait 2, no bad comments on these two patches. 2001-05-23 01:00 poptix * scripts/getops.tcl: Added my email address, actually testing cvs, guppy says I have write acces CVS says otherwise... 2001-05-19 18:25 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/BUG-REPORT, doc/UPDATES1.6, doc/eggdrop.doc, doc/html/compiling.html, doc/man1/eggdrop.1, src/cmds.c, src/main.c, src/patch.h: oops, after a few hours I finally remembered to commit this 2001-05-19 16:19 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/main.c, src/patch.h, src/tclmisc.c: here we go ... 1.6.5 any time soon because of that dns.mod problem.... 2001-05-18 16:46 guppy * README, doc/UPDATES1.6, src/patch.h, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in: ooo dns.mod now too :P~ 2001-05-18 16:35 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/html/mod-server.html, doc/settings/mod.server, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: ooo legacy code 2001-05-14 10:17 guppy * doc/UPDATES1.6, src/patch.h, src/tcldcc.c, src/tclmisc.c, src/tcluser.c: Come on september 2001-05-12 14:50 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: TaKeDa's patch is now commited 2001-05-12 14:48 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/server.c: small small fix to msgm 2001-04-25 21:41 guppy * README, doc/UPDATES1.6, doc/html/readme.html, doc/html/chat/efnet_eggheads.chat, doc/html/chat/efnet_egghelp.chat, doc/html/chat/efnet_eggtcl.chat, doc/html/chat/ircnet_bothelp.chat, doc/html/chat/ircnet_egghelp.chat, doc/html/chat/undernet_eggheads.chat, src/patch.h, text/motd: applied Sup's helpchans patch 2001-04-25 21:38 guppy * doc/UPDATES1.6, src/patch.h, src/mod/modvals.h, src/mod/channels.mod/cmdschan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h: applied Eule's patch to save us some cpu 2001-04-18 22:49 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.german.lang, src/patch.h, src/mod/channels.mod/help/chaninfo.help: added a few more patches... 2001-04-18 22:31 guppy * aclocal.m4, configure, doc/BUG-REPORT, doc/UPDATES1.6, src/patch.h: updated the OS check for IRIX, thank you Kevin 2001-04-13 16:27 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: yay, 1.6.5 2001-04-13 13:26 guppy * src/: main.c, patch.h: added Sup's write_debug patch 2001-04-13 13:25 guppy * doc/UPDATES1.6, src/patch.h, src/mod/assoc.mod/language/assoc.german.lang, src/mod/console.mod/language/console.english.lang, src/mod/console.mod/language/console.german.lang, src/mod/filesys.mod/language/filesys.german.lang: more typos and more German translations have been added 2001-04-13 13:19 guppy * doc/UPDATES1.6, scripts/autobotchk, scripts/weed, src/patch.h: added ITE's weed.patch, also modified weed and autobotchk slighty, sorry for not sending a patch 2001-04-13 00:33 guppy * doc/UPDATES1.6, src/patch.h, src/users.c, src/mod/assoc.mod/assoc.c: added sup's patch also a small small small fix to assoc.mod .. a NULL NULL NULL NULL line was missing 2001-04-13 00:22 guppy * doc/UPDATES1.6, language/core.german.lang, src/patch.h, src/mod/notes.mod/language/notes.german.lang: Added some German translations and a German notes language file 2001-04-11 20:44 guppy * config.h.in, configure, configure.in, doc/UPDATES1.6, src/misc_file.c, src/patch.h, src/mod/dns.mod/coredns.c, src/mod/notes.mod/cmdsnote.c, src/mod/transfer.mod/transfer.c: yay, how close are we to releasing 1.6.4 now? 2001-04-11 20:41 guppy * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c: here is Krome's .-noteign patch ... yay 2001-04-11 20:39 guppy * FEATURES, INSTALL, NEWS, README, doc/AUTHORS, doc/UPDATES1.6, doc/html/readme.html, doc/man1/eggdrop.1, misc/modconfig, scripts/ques5.tcl, src/bg.c, src/bg.h, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.h, src/patch.h, src/proto.h, src/stat.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/compat/compat.h, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/snprintf.c, src/compat/snprintf.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h, src/compat/strftime.c, src/mod/eggautoconf, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/assoc.mod/assoc.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c, src/mod/console.mod/console.c, src/mod/console.mod/console.h, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/banner, text/motd: lets update the copyright info for 2001 k? :P~ 2001-04-07 13:36 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/mode.c: fixed Krome's modes per line bug finally, modes-per-line 3 now works 2001-04-06 16:39 guppy * doc/UPDATES1.6, src/tclhash.c: fixed a channel add bug 2001-04-06 16:31 guppy * doc/UPDATES1.6, scripts/ques5.tcl, src/patch.h: added a small typo patch 2001-04-06 16:29 guppy * aclocal.m4, configure, doc/UPDATES1.6, src/patch.h: applied nakee's solaris compile fix 2001-04-06 16:28 guppy * doc/UPDATES1.6, src/botmsg.c, src/dccutil.c, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/mod/module.h, src/mod/channels.mod/tclchan.c: applied Zart's patch to make the unicode shit handle tcl version > 9 2001-04-02 16:50 guppy * doc/UPDATES1.6, scripts/alltools.tcl, src/patch.h: added sup's patch, who thinks 1.6.4 on friday or saturday? I got a few things I'll be sending on wed 2001-04-01 11:42 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: applied kirben's cygwin patch 2001-04-01 10:02 guppy * scripts/getops.tcl: gave poptix more credit for getops.tcl 2001-03-18 17:00 guppy * src/: botmsg.c, dccutil.c, misc.c, modules.c, patch.h, proto.h, mod/module.h, mod/channels.mod/tclchan.c: here is wingman's bug fix, yay 2001-03-17 17:25 guppy * doc/UPDATES1.6, src/mod/channels.mod/cmdschan.c: per's patch for .stick 2001-03-17 17:20 guppy * doc/KNOWN-PROBLEMS, language/core.german.lang, scripts/notes2.tcl, scripts/userinfo.tcl, src/patch.h: typos fixed by eugene 2001-03-17 17:19 guppy * doc/UPDATES1.6, src/patch.h, src/tcldcc.c: abraham's patch for remote boots 2001-03-11 15:00 guppy * src/: modules.c, patch.h, proto.h, mod/module.h: added a fix to Wingman's unicode patch 2001-03-11 01:02 guppy * doc/UPDATES1.6, doc/text-substitutions.doc, help/cmds2.help, src/botcmd.c, src/patch.h: Applied ITE's patch to fix a small remote motd bug -- good work ITE. 2001-03-10 16:44 guppy * doc/UPDATES1.6, src/dns.c, src/patch.h: ITE's dns fix .. yay .. such a simple fix 2001-03-10 16:38 guppy * doc/UPDATES1.6, src/patch.h, src/tcl.c, src/tclhash.c: added Wingman's patch to remove debug-tcl 2001-03-10 16:32 guppy * doc/UPDATES1.6, src/patch.h, src/mod/blowfish.mod/blowfish.c: added Wingman's encryption fix patch, this does the same as ITE's but Wingman's was there first, sorry ITE. 2001-03-10 00:36 guppy * doc/UPDATES1.6, src/botmsg.c, src/dccutil.c, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/channels.mod/tclchan.c: Wingman's utf8 fix ... please test this alot people :P~ 2001-02-27 15:33 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: time for 1.6.4, looks like we have bugs already 2001-02-27 11:06 guppy * Makefile.in, doc/UPDATES1.6, src/dcc.c, src/patch.h: reverted the Makefile patch and the protect-telnet patch before 1.6.3 -- we are ready to release 2001-02-26 21:18 guppy * doc/UPDATES1.6, src/modules.c, src/patch.h, src/mod/module.h, src/mod/modvals.h, src/mod/blowfish.mod/blowfish.c, src/mod/wire.mod/wire.c: lets make blowfish more friendly 2001-02-25 22:17 guppy * Makefile.in, doc/UPDATES1.6: nakee's makefile fix 2001-02-25 21:56 guppy * doc/UPDATES1.6, src/patch.h, src/userent.c: this memory leak has existed for a long time, pre 1.6 :P~ 2001-02-25 01:33 guppy * doc/UPDATES1.6, src/net.c, src/patch.h, src/tcldcc.c: this adds Habeeb's patch which gives the user a more formal answer if their IP is set incorrectly instead of saying it cannot grab a nearby port 2001-02-25 01:05 guppy * doc/UPDATES1.6, scripts/sentinel.tcl, src/patch.h: new sentinel version 2001-02-24 14:15 guppy * doc/UPDATES1.6, src/dcc.c, src/patch.h: fireball's protect-telnet patch 2001-02-24 14:11 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: jason's shareexpire patch 2001-02-24 14:08 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/chanprog.c, src/lang.h, src/main.c, src/patch.h: added tothwolf's root patch 2001-02-15 21:48 tothwolf * doc/UPDATES1.6: [no log message] 2001-02-14 22:33 tothwolf * doc/tcl-commands.doc, src/mod/irc.mod/tclirc.c: Reversed putkickall patch 2001-02-11 11:57 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/patch.h, src/mod/irc.mod/msgcmds.c: finally, msg_hello is fixed 2001-02-11 11:55 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/tclirc.c: putkickall, I am for this command since I have written it myself in tcl various times 2001-01-30 23:40 guppy * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/notes.c, src/mod/notes.mod/language/notes.english.lang: jason's notes patch ... 2001-01-30 23:38 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: more revengebot crap Thanks fabian, the code is cleaner .. 2001-01-30 23:34 guppy * eggdrop.complete.conf, doc/UPDATES1.6, src/main.c, src/patch.h: sigterm-default.diff -- I agree wit this, kill -9 is bad 2001-01-30 23:32 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/chanprog.c, src/lang.h, src/main.c, src/main.h, src/patch.h: added tclstuff.diff -- finally, we can see our tcl version in a .status 2001-01-27 00:26 tothwolf * src/dccutil.c: [no log message] 2001-01-26 15:18 guppy * src/: dccutil.c, misc.c, patch.h, tcl.c, tclegg.h: Tothwolf's lastest i18n fix 2001-01-26 15:06 guppy * README, doc/UPDATES1.6, doc/html/readme.html, src/patch.h: applied sup's helpchans patch 2001-01-24 07:43 tothwolf * src/: patch.h, tcl.c: Call Tcl_FindExecutable() in tcl.c before Tcl_SetSystemEncoding() 2001-01-22 22:33 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/irc.c: applied revengebot.patch (slightly modified by myself) -- please test as I dont use revengebot ever 2001-01-22 17:47 guppy * eggdrop.complete.conf, doc/UPDATES1.6, doc/html/egg-core.html, doc/settings/core.settings, help/core.help, help/set/cmds1.help, help/set/cmds2.help, src/dccutil.c, src/modules.c, src/patch.h, src/tcl.c, src/mod/module.h, src/mod/filesys.mod/filesys.c, src/mod/transfer.mod/transfer.c: applied reserved-portrange.diff (yay) 2001-01-22 17:41 guppy * doc/UPDATES1.6, src/patch.h, src/tcl.c, src/tclegg.h: applied Tothwolf's i18n support patch -- lets test this one, cause it would be good for 1.6.4 2001-01-22 17:34 guppy * doc/UPDATES1.6, doc/tcl-commands.doc, help/cmds1.help, src/patch.h: applied a small patch by ppslim 2001-01-21 01:49 guppy * src/: patch.h, tclhash.c: a little fix to .binds .. should work the way we want now -- it only ignores procs with a leading * and doesn't give a care in the world about : anymore 2001-01-21 01:32 guppy * doc/UPDATES1.6, src/patch.h, src/mod/notes.mod/cmdsnote.c: our noteusage fix .. brought to you by the makers of Sup. 2001-01-21 01:25 guppy * doc/UPDATES1.6, src/cmds.c, src/patch.h: applied Jason's -host patch (now how am I suppose to get around that +k flag? ) 2001-01-19 02:16 tothwolf * configure: autoconf needed to be run 2001-01-17 17:32 guppy * doc/UPDATES1.6, src/patch.h, src/tclhash.c: oops I did it again .. Britney Spears, , this fixes .binds 2001-01-16 11:13 guppy * doc/UPDATES1.6, src/botcmd.c, src/botmsg.c, src/botnet.c, src/patch.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/wire.c: Cleanup of Context(); and Assert(); usage in the core and modules is completed Doing some testing lastnite, the size of the binary and all modules combined with this patch was 22k smaller when compiled (not that big of a deal; however, there should be quite a bit of CPU saved since we aren't doing 15 odd Context(); calls on certain functions/binds Jeff 2001-01-14 21:28 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: welcome to 1.6.3 land boys and girls 2001-01-14 20:44 guppy * configure.in: updated the recommended tcl version to 8.3.2 .. working on a 1.6.2 release soon 2001-01-14 18:25 guppy * doc/UPDATES1.6: fixed UPDATES1.6, we were missing an entry. 2001-01-07 21:43 guppy * doc/UPDATES1.6, src/patch.h, src/mod/server.mod/servmsg.c: applied sup's patch; however, I removed the change from a while loop to a for loop since it caused compiler warnings: ../server.mod/servmsg.c:1143: warning: `x\' might be used uninitialized in this function 2001-01-07 21:30 guppy * doc/UPDATES1.6, src/patch.h, src/tclhash.c: applied blaster's tclhash patch slightly 2000-12-23 00:15 guppy * doc/UPDATES1.6, src/cmds.c, src/patch.h: quickly fixed chaddr .. looked over cmds.c for anymore broken strncpyz, and couldn't seem to find any 2000-12-23 00:11 guppy * doc/UPDATES1.6, help/cmds2.help, help/core.help, src/cmds.c, src/net.c, src/patch.h: ITE's trafficfix patch (slightly modified to fix a compiler warning and a problem in net.c dealing with extern) 2000-12-21 14:20 guppy * aclocal.m4, configure, configure.in, doc/UPDATES1.6, src/patch.h, src/mod/Makefile.in: ITE's configure path fix patch 2000-12-21 14:12 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c: sharefix.diff has been applied, slightly modified since I realized I sent the wrong patch :) 2000-12-19 16:17 guppy * src/patch.h: forgot the revenge fix in patch.h 2000-12-19 15:56 guppy * doc/UPDATES1.6, src/userent.c, src/mod/channels.mod/tclchan.c: applied toot's two patches (revengefix and the one to eggdev about XTRA info breaking) 2000-12-18 14:24 guppy * src/misc.c: oops 2000-12-18 14:18 guppy * src/misc.c: quickly fixed src/misc.c -- I broke daysago and the other functions that convert from seconds to a duration in core_cleanup.diff, sorry I didn't send a patch to patches, its a small revert. 2000-12-17 15:48 guppy * src/: proto.h, tcl.c, mod/module.h: Applying fabian's patch for unicode support (also by Wingman); however, there was a warning in src/tcl.c tcl.c: In function `readtclprog': tcl.c:583: warning: passing arg 2 of `Tcl_EvalFile' discards `const' from pointer target type so I removed the const usage and warning is gone. Jeff 2000-12-17 15:37 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: TaKeDa's negative limit patch 2000-12-13 22:11 guppy * doc/UPDATES1.6, src/patch.h, src/mod/share.mod/share.c, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c: guppy: fabian's share_status_message fix, fixes a few problems with userfile sharing 2000-12-10 09:10 guppy * doc/UPDATES1.6, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/flags.c, src/language.c, src/main.c, src/mem.c, src/misc.c, src/misc_file.c, src/modules.c, src/net.c, src/patch.h, src/rfc1459.c, src/tcl.c, src/tcldcc.c, src/tclhash.c, src/tclmisc.c, src/userent.c, src/userrec.c, src/users.c: guppy: core_cleanup.diff ... 2000-12-07 21:07 guppy * doc/UPDATES1.6, src/patch.h, src/tcldcc.c, src/tclmisc.c, src/tcluser.c: guppy: added my tclfiles.diff (left out the shit to remove the check for # in tcl_utimers and tcl_timers) 2000-12-05 20:45 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/help/channels.help: guppy: Sup's stickfix patch 2000-12-05 20:35 guppy * doc/UPDATES1.6, src/patch.h, src/users.c, src/mod/channels.mod/userchan.c, src/mod/transfer.mod/transfer.c: guppy: fabian's transfer_fclose_fix 2000-12-05 20:32 guppy * doc/UPDATES1.6, src/chan.h, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: guppy: Eule's efnetcycle patch 2000-11-28 21:10 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: Eule's delayvoice patch 2000-11-28 20:52 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h: Tothwolf's unused language cleanup 2000-11-28 20:49 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, src/patch.h: part of sup's variable fix patch. 2000-11-28 20:46 guppy * aclocal.m4, configure, configure.in, doc/UPDATES1.6, src/patch.h: added Tothwolf's thread-stuff-fixed patch 2000-11-22 21:56 guppy * doc/UPDATES1.6, src/Makefile.in, src/main.c, src/patch.h: guppy: changed to 1.6.2 folks ... 2000-11-21 16:31 guppy * doc/KNOWN-PROBLEMS, doc/UPDATES1.6, src/patch.h: guppy: Wiktor's knownproblems patch 2000-11-21 16:30 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/userchan.c: guppy: Eule's (from fabian) new_expired patch 2000-11-20 23:18 guppy * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.6, doc/settings/mod.channel, doc/settings/mod.irc, src/chan.h, src/cmds.c, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/set/channels.help, src/mod/irc.mod/irc.c, src/mod/seen.mod/seen.c: guppy: toot's revenge-mode patch and two patches by dw for seen.mod and quietsave 2000-11-20 23:06 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: guppy: Axel's recheck_channel patch 2000-11-20 22:56 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/cmdschan.c: guppy: dw's dynamicbans patch 2000-11-20 22:55 guppy * doc/UPDATES1.6, language/core.english.lang, src/patch.h, src/users.c: guppy: fabian's chanmasks ignore patch 2000-11-20 22:46 guppy * doc/UPDATES1.6, src/misc.c, src/patch.h, src/proto.h: guppy: fabian's dumplots patch 2000-11-20 22:38 guppy * doc/UPDATES1.6, src/patch.h, src/mod/channels.mod/userchan.c: guppy: fabian's expired_banmask_fix patch 2000-11-15 21:27 guppy * doc/UPDATES1.6, src/main.c, src/patch.h: guppy: 1.6.1 here we go 2000-11-15 20:49 guppy * doc/UPDATES1.6, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/chanprog.c, src/patch.h: guppy: my nouserfile patch, time to release 1.6.0 2000-11-12 00:57 guppy * doc/tcl-commands.doc, src/patch.h: guppy: fabian's fixdoc patch ... 2000-11-10 13:43 guppy * doc/UPDATES1.6, src/patch.h, src/userrec.c: guppy: dw's default setting patch, I've heard many people complain about this 2000-11-10 13:39 guppy * doc/UPDATES1.6, src/flags.c, src/patch.h: guppy: flags.patch by ITE .. 2000-11-08 16:55 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: guppy: added Eule's ircd2.9 patch ... damn legacy code 2000-11-08 14:11 guppy * doc/UPDATES1.6, doc/html/mod-server.html, doc/settings/mod.server, src/patch.h, src/mod/server.mod/server.h: guppy: the lagcheck removal patch 2000-11-08 14:07 guppy * doc/UPDATES1.6, src/patch.h, src/mod/irc.mod/chan.c: guppy: Eule's check_exempt2.patch 2000-11-08 13:52 guppy * doc/UPDATES1.6, scripts/CONTENTS, scripts/Makefile.in, scripts/sentinel.tcl, scripts/sentinel1.55.tcl: guppy: applied sentinelupgrade.diff, did I remember to add the files? 2000-11-08 13:45 guppy * doc/UPDATES1.6, src/mod/irc.mod/irc.c: guppy: Sup's statuslog fix .. can't believe I left a bug in some of my own code ... 2000-11-08 13:43 guppy * doc/UPDATES1.6, src/cmds.c: guppy: Applied Sup's patch so you cannot unlink directly linked bots. 2000-11-08 08:59 guppy * NEWS, doc/UPDATES1.6, doc/settings/mod.server, src/patch.h: reverted Wiktor's lagcheck removal patch, btw, if you do a 'grep -ri lagcheck *' there are still some refs to lagcheck, one in mod.server, and a couple in the source code .. do we need them? (guppy) 2000-11-08 06:30 johoho * NEWS: forgot to change the last mod. line in NEWS file...heaven forbid to write a new patch :o) 2000-11-08 01:32 johoho * NEWS, doc/UPDATES1.6, doc/settings/mod.server, src/patch.h: removed lagcheck from the docs 2000-11-07 20:42 guppy * doc/: Makefile.in, UPDATES.pre1.5, UPDATES1.6: guppy: cleaned up the UPDATES.pre1.5 file 2000-11-07 02:16 johoho * doc/: UPDATES1.3, UPDATES1.4: I hope this is final now.... 2000-11-07 02:13 johoho * doc/: UPDATES.pre1.5, UPDATES.pre1.3: [no log message] 2000-11-07 02:12 johoho * doc/UPDATES1.6, src/patch.h: concated updates* files in doc/ 2000-11-06 08:30 guppy * doc/MODULES: guppy: sup just told me his module patch from long ago was still not applied, minor doc change 2000-11-06 08:27 guppy * doc/html/authors.html: guppy: and our authors html file 2000-11-06 08:26 guppy * doc/AUTHORS: guppy: sup reminded me to fix AUTHORS 2000-11-05 23:57 tothwolf * text/motd: Changed version to 1.6 in motd file 2000-11-05 22:24 tothwolf * eggdrop.advanced.conf, eggdrop.complete.conf: Removed ^M chars from config examples 2000-11-05 22:18 guppy * doc/UPDATES1.6: forgot UPDATES1.6 2000-11-05 22:06 guppy * FEATURES, NEWS, README, eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/BOTNET, doc/BUG-REPORT, doc/CONTENTS, doc/Makefile.in, doc/UPDATES1.5, doc/patch.howto, doc/tcl-commands.doc, doc/text-substitutions.doc, doc/html/app-textsub.html, doc/html/egg-core.html, doc/html/faq1.html, doc/html/features.html, doc/html/index.html, doc/html/news.html, doc/html/readme.html, scripts/getops.tcl, src/main.c, src/patch.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/compress.mod/compress.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/irc.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/wire.mod/language/wire.english.lang, src/mod/wire.mod/language/wire.french.lang, src/mod/wire.mod/language/wire.german.lang, src/mod/woobie.mod/woobie.c, text/banner: 1.5 has now become 1.6 2000-11-05 15:37 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/irc.c: fabian: applied Eule's irc_close patch 2000-11-05 15:36 fabian * doc/UPDATES1.5, scripts/CONTENTS, scripts/Makefile.in, scripts/cmd_resolve.tcl, scripts/help/cmd_resolve.help, src/patch.h: fabian: applied guppy's cmd_resolve patch 2000-11-05 04:31 fabian * doc/UPDATES1.5, src/patch.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c: fabian: applied dns_zero_resolve patch 2000-11-05 04:30 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c: fabian: applied idchannel_detect patch 2000-11-04 10:03 fabian * doc/UPDATES1.5, src/patch.h, src/mod/dns.mod/dns.c: fabian: applied Sup's remove_cmd_resolve patch 2000-11-03 11:17 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: fabian: applied Sup's cmdsirc_fix patch. Stylistic adjustments. Changed to make use of strncpyz. 2000-11-03 11:15 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: fabian: applied guppy's banreason patch. Adjusted to make use of strncpyz. Added MASKREASON_LEN/_MAX defines. 2000-11-03 11:06 fabian * doc/UPDATES1.5, src/main.h, src/patch.h, src/mod/server.mod/server.h: fabian: applied strncpyz patch 2000-11-03 11:05 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: fabian: applied Eule's who_stack patch 2000-11-03 11:04 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: fabian: applied Eule's delayset patch 2000-10-30 14:51 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c: fabian: applied do_channel_part_fix patch 2000-10-30 14:50 fabian * doc/UPDATES1.5, src/dcc.c, src/patch.h, src/tclhash.c: fabian: applied const_setvar_fix patch 2000-10-30 14:49 fabian * doc/UPDATES1.5, src/net.c, src/patch.h: fabian: applied drummer's sun_firewall_fix patch (net.c.patch) 2000-10-27 13:40 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c: fabian: applied delchan_during_joinbind patch 2000-10-27 13:39 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/files.c: fabian: applied filesys_remote_ln patch 2000-10-27 13:38 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/irc.c: fabian: applied Eule's expired2 patch 2000-10-27 13:38 fabian * doc/UPDATES1.5, help/cmds2.help, src/flags.h, src/patch.h, src/mod/irc.mod/mode.c: fabian: applied Eule's stopnethack_exempt patch 2000-10-27 13:36 fabian * doc/UPDATES1.5, src/bg.c, src/patch.h: fabian: applied bg_cleanup patch 2000-10-27 13:35 fabian * doc/UPDATES1.5, src/dcc.c, src/eggdrop.h, src/net.c, src/patch.h, src/proto.h, src/tcldcc.c: fabian: applied save_data patch 2000-10-27 13:34 fabian * doc/UPDATES1.5, language/core.english.lang, language/core.german.lang, src/botnet.c, src/dcc.c, src/lang.h, src/net.c, src/patch.h, src/tcldcc.c, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c: fabian: applied net_sockfail_nonfatal patch 2000-10-27 13:33 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/patch.h: fabian: applied sunos_aclocal_fix patch 2000-10-27 13:32 fabian * doc/UPDATES1.5, src/dcc.c, src/flags.c, src/flags.h, src/main.c, src/mem.c, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/userrec.c, src/users.h, src/mod/module.h, src/mod/irc.mod/chan.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: fabian: applied tcl_hash_overhaul patch. (minor change: added comments to end of check_tcl_bind().) 2000-10-27 13:30 fabian * doc/UPDATES1.5, src/net.c, src/patch.h, src/mod/server.mod/server.c: fabian: applied getmyhostname_fix patch 2000-10-27 13:29 fabian * doc/UPDATES1.5, src/patch.h, src/mod/modvals.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h: fabian: applied channel_part_fix patch 2000-10-27 13:28 fabian * doc/UPDATES1.5, src/eggdrop.h, src/main.c, src/patch.h, src/proto.h, src/mod/module.h: fabian: applied the assert_fix patch 2000-10-27 13:27 fabian * doc/UPDATES1.5, src/misc.c, src/patch.h: fabian: applied the ambiguous_braces patch 2000-10-27 13:26 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/userchan.c, src/mod/irc.mod/irc.c: fabian: applied Eule's expired patch 2000-10-27 13:24 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c: fabian: applied Sup's ctcp_dcc_fix patch 2000-10-26 04:20 jason * doc/man1/eggdrop.1: Fabians manpage patch 2000-10-19 10:35 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/irc.h: fabian: applied Looser^'s me_op_fix patch, fixing the export macro for me_op 2000-10-19 10:34 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/mode.c: fabian: applied Eule's mode_while_pending patch 2000-10-19 10:33 fabian * doc/UPDATES1.5, src/patch.h, src/userrec.c: fabian: applied Eule's set_chanlist-fix patch 2000-10-19 10:32 fabian * doc/UPDATES1.5, src/chanprog.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/irc.mod/chan.c: fabian: applied Eule's gotnick patch 2000-10-19 10:31 fabian * doc/UPDATES1.5, src/dcc.c, src/patch.h, src/mod/irc.mod/msgcmds.c: fabian: applied guppy's bug83-telnetuser-v2 patch 2000-10-19 10:30 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.5, doc/html/mod-channels.html, doc/settings/mod.channel, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: fabian: applied Eule's clearmodes patch 2000-10-15 10:11 tothwolf * doc/Makefile.in: doc/Makefile.in still had a reference to doc/readme 2000-10-11 05:03 tothwolf * doc/html/: app-botnet.html, app-sharing.html, index.html: renamed app-botnet.html to app-sharing.html 2000-10-11 04:27 tothwolf * doc/html/: about.html, app-botnet.html, app-problems.html, app-textsub.html, app-tricks.html, app-weird.html, authors.html, bans.html, botnet.html, compiling.html, egg-core.html, faq1.html, faqs.html, features.html, flags.html, index.html, install.html, mod-assoc.html, mod-blowfish.html, mod-channels.html, mod-compress.html, mod-dns.html, mod-filesys.html, mod-irc.html, mod-notes.html, mod-server.html, mod-share.html, mod-wire.html, news.html, party.html, readme.html, sharing.html, starting.html, users.html: Changed copyright footer 2000-10-09 07:07 tothwolf * doc/html/: about.html, app-botnet.html, app-problems.html, app-textsub.html, app-tricks.html, app-weird.html, authors.html, bans.html, botnet.html, compiling.html, egg-core.html, faq1.html, faqs.html, features.html, flags.html, index.html, install.html, mod-assoc.html, mod-blowfish.html, mod-channels.html, mod-compress.html, mod-dns.html, mod-filesys.html, mod-irc.html, mod-notes.html, mod-server.html, mod-share.html, mod-wire.html, news.html, party.html, readme.html, sharing.html, starting.html, users.html: fixed html doctype 2000-10-09 06:57 tothwolf * doc/: AUTHORS, html/authors.html: Use table for authors file 2000-10-09 06:32 tothwolf * doc/readme: Removed extra readme file 2000-10-09 06:26 tothwolf * NEWS, README, eggdrop.advanced.conf, eggdrop.complete.conf, doc/AUTHORS, doc/BOTNET, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES.pre1.3, doc/UPDATES1.3, doc/UPDATES1.4, doc/UPDATES1.5, doc/compiling.FAQ, doc/eggdrop.doc, doc/patch.howto, doc/readme, doc/tcl-commands.doc, doc/tricks, doc/html/app-problems.html, doc/html/app-probs.html, doc/html/app-textsub.html, doc/html/app-tricks.html, doc/html/authors.html, doc/html/compiling.html, doc/html/faq1.html, doc/html/features.html, doc/html/index.html, doc/html/install.html, doc/html/readme.html, doc/settings/core.settings, doc/settings/mod.channel: Documentation updates 2000-10-02 16:35 fabian * doc/UPDATES1.5, src/chanprog.c, src/patch.h: fabian: applied the ismember_fix patch 2000-10-01 18:18 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/mode.c: fabian: applied Cybah's flush_mode_cleanups patch 2000-10-01 13:19 fabian * aclocal.m4, configure, configure.in, doc/UPDATES1.5, src/patch.h: fabian: applied SuperS' osfix3 patch. Fixed tcl configuration caching (should have made a seperate patch, but I'm too lazy. Someone please fix me ;)). 2000-10-01 13:14 fabian * aclocal.m4, configure, configure.in, doc/UPDATES1.5, src/patch.h: fabian: applied TheUnknown's patch solaris-config. Adjusted to cache result. 2000-10-01 13:12 fabian * doc/MODULES, doc/UPDATES1.5, doc/compiling.FAQ, doc/patch.howto, doc/tcl-commands.doc, help/set/cmds2.help, src/patch.h, src/mod/wire.mod/language/wire.german.lang: fabian: applied Eugene's testfix patch. Slightly edited. 2000-10-01 13:11 fabian * doc/UPDATES1.5, scripts/getops.tcl, src/chan.h, src/chanprog.c, src/patch.h, src/proto.h, src/userrec.c, src/mod/irc.mod/chan.c, src/mod/notes.mod/notes.c: fabian: applied notes_lang_fix patch 2000-09-27 13:48 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/Makefile.in, src/bg.c, src/bg.h, src/main.c, src/patch.h: fabian: applied threaded_libtcl_support patch 2000-09-27 13:47 fabian * doc/UPDATES1.5, src/patch.h, src/mod/assoc.mod/Makefile, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/console.mod/Makefile, src/mod/irc.mod/irc.c: fabian: applied the plus_a_cycle patch 2000-09-27 13:43 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c: fabian: applied Eule's kickall_fix patch, together with my own small tweaks 2000-09-27 13:41 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: fabian: applied guppy's serverloaded patch 2000-09-27 13:40 fabian * doc/UPDATES1.5, src/main.c, src/patch.h, src/tcldcc.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: fabian: applied new_dcc_fixes patch 2000-09-23 11:49 fabian * doc/UPDATES1.5, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h: fabian: applied Cybah's egg_strcatn patch 2000-09-23 11:49 fabian * eggdrop.simple.conf, doc/UPDATES1.5, src/patch.h: fabian: applied eugene's helppath (aka eggdrop.simple.conf) patch 2000-09-23 11:47 fabian * doc/UPDATES1.5, src/patch.h, src/mod/seen.mod/help/msg/seen.help: fabian: applied seen_help patch 2000-09-23 11:46 fabian * doc/UPDATES1.5, src/eggdrop.h, src/net.c, src/patch.h, src/mod/transfer.mod/transfer.c: fabian: applied transfer_turbodcc_dos patch 2000-09-23 11:46 fabian * doc/UPDATES1.5, src/flags.h, src/patch.h: fabian: applied flag_correct patch 2000-09-23 11:45 fabian * src/mod/: assoc.mod/assoc.h, assoc.mod/language/assoc.english.lang, console.mod/console.h, console.mod/language/console.english.lang, notes.mod/language/notes.english.lang: fabian: phew.. that was close. almost forgot to add the new files again.. (guppy's language-v2 patch) 2000-09-23 11:40 fabian * doc/UPDATES1.5, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h, src/mod/assoc.mod/assoc.c, src/mod/console.mod/console.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h: fabian: applied guppy's language-v2 patch 2000-09-18 14:04 fabian * doc/UPDATES1.5, src/dcc.c, src/dccutil.c, src/lang.h, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/notes.mod/notes.c: fabian: applied guppy's lang_args patch 2000-09-18 14:03 fabian * doc/UPDATES1.5, src/patch.h, src/mod/ctcp.mod/ctcp.c: fabian: applied guppy's ctcp_mod_cleanup patch 2000-09-18 14:02 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/help/server.help: fabian: applied guppy's cmd_jump_helpfix patch 2000-09-18 14:01 fabian * doc/UPDATES1.5, src/cmds.c, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/users.c, src/mod/module.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/userchan.c, src/mod/share.mod/share.c, src/mod/share.mod/uf_features.c: fabian: applied ipv6_masks patch, revision 3 2000-09-18 04:06 fabian * src/compat/gnu_strftime.c: fabian: thanks to Tothwolf, I remembered to finally complete applying the strftime_compat patch. probably the third attempt. 8) 2000-09-15 14:08 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c: fabian: applied the chaninfo_udef_output patch 2000-09-13 14:49 fabian * doc/UPDATES1.5, src/botmsg.c, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c: fabian: applied udef_inactivechan_fix patch 2000-09-13 13:44 fabian * src/md5/global.h: fabian: forgot to remove md5/global.h 2000-09-12 09:34 fabian * src/compat/: strftime.c, strftime.h: forgot to add the new files strftime.c and strftime.h, belonging to the strftime_compat patch. 2000-09-12 09:29 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h: fabian: applied revenge_bot_update patch 2000-09-12 09:28 fabian * Makefile.in, aclocal.m4, configure, eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h: fabian: configure_fix patch 2000-09-12 09:26 fabian * config.h.in, configure, configure.in, doc/UPDATES1.5, src/Makefile.in, src/cmds.c, src/main.h, src/misc.c, src/patch.h, src/tclmisc.c, src/users.c, src/compat/Makefile.in, src/compat/compat.h, src/compat/inet_aton.h, src/compat/memcpy.h, src/compat/memset.h, src/compat/snprintf.h, src/compat/strcasecmp.h, src/md5/Makefile.in, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filedb3.c, src/mod/irc.mod/Makefile, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/msgcmds.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/notes.c, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/wire.mod/Makefile: fabian: strftime_compat patch 2000-09-12 09:25 fabian * doc/UPDATES1.5, src/botmsg.c, src/patch.h: fabian: Eule's notebeep2 patch 2000-09-09 11:31 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/servmsg.c: fabian: Koach's rfc1459_pass patch 2000-09-09 11:30 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c: fabian: guppy's unlink patch 2000-09-09 11:29 fabian * doc/UPDATES1.5, src/botcmd.c, src/botmsg.c, src/patch.h, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/filesys.mod/filedb3.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c: fabian: format_string_fixes patch 2000-09-09 05:40 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c: fabian: userfile_fail_fix patch 2000-09-09 05:40 fabian * doc/UPDATES1.5, src/patch.h, src/mod/compress.mod/compress.c, src/mod/share.mod/share.c: fabian: uff_compress_fix patch 2000-09-09 05:39 fabian * configure.in, doc/UPDATES1.5, src/Makefile.in, src/botnet.c, src/dcc.c, src/dns.c, src/dns.h, src/eggdrop.h, src/main.h, src/net.c, src/patch.h, src/tcldcc.c, src/tclmisc.c, src/userent.c, src/compat/inet_aton.c, src/compat/memset.c, src/md5/Makefile.in, src/md5/md5.h, src/md5/md5c.c, src/mod/compress.mod/compress.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: fabian: cleanup_types patch 2000-09-09 05:37 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/console.mod/console.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/transfer.mod/transfer.c: fabian: fix_exporting patch 2000-09-09 05:36 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: fabian: Eule's recheck-addmode patch 2000-09-07 10:04 fabian * src/: patch.h, mod/irc.mod/mode.c: fabian: fixing modesperline patch stuff, which was applied incorrectly 2000-09-05 10:00 fabian * doc/UPDATES1.5, src/patch.h, src/users.c: fabian: whois_match_crash patch 2000-09-05 09:59 fabian * doc/UPDATES1.5, src/dcc.c, src/flags.c, src/net.c, src/patch.h, src/userrec.c, src/mod/channels.mod/userchan.c, src/mod/share.mod/share.c: fabian: minor_share_cleanup patch 2000-09-05 09:58 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/patch.h: fabian: SuperS' osfix2 patch 2000-09-02 13:45 fabian * doc/UPDATES1.5, src/botnet.c, src/dcc.c, src/eggdrop.h, src/patch.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: fabian: server_dns_recursion patch. Added minor modifications to mod/dns.mod/dns.c. 2000-09-02 13:34 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/mode.c: fabian: Eule's checkexempt patch 2000-09-02 12:48 fabian * doc/UPDATES1.5, src/cmds.c, src/patch.h: fabian: Sup's addbothost patch 2000-09-02 12:47 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: fabian: irc_mode_cleanup patch 2000-09-02 12:46 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: Eule's modesperline3 patch, with really minor modifications 2000-09-02 12:45 fabian * aclocal.m4, configure, configure.in, doc/UPDATES1.5, src/patch.h: SuperS' osfix patch 2000-08-31 12:11 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/tclfiles.c: fabian: FirebaII's filesys_nicklen patch, with minor additions. 2000-08-31 12:10 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, doc/html/mod-server.html, doc/settings/mod.server, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: fabian: G`Quann's finallagcheckfix patch. 2000-08-31 12:08 fabian * doc/UPDATES1.5, src/patch.h, src/tcldcc.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c: fabian: dccsimul_errmsg patch 2000-08-27 13:21 fabian * doc/UPDATES1.5, src/patch.h, src/mod/dns.mod/coredns.c: dns_retry patch. 2000-08-27 13:14 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c: Eule's remove_channel patch 2000-08-27 12:52 fabian * doc/UPDATES1.5, src/patch.h, src/userrec.c: userfile_disappear patch. 2000-08-26 10:07 fabian * doc/UPDATES1.5, src/misc.c, src/patch.h: splitc crash fix, suggested by blaster. 2000-08-25 07:15 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c: Tothwolf's cmdschan_c-cleanup patch. 2000-08-25 07:14 fabian * doc/UPDATES1.5, src/cmds.c, src/misc.c, src/patch.h, src/proto.h: Cybah's splitcn patch. Small style corrections (added newline after var def). 2000-08-25 07:12 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: Shaun's chanfix patch. Removed parts overlapping with Cybah. Removed unnecessary initialisation. 2000-08-24 15:08 fabian * src/patch.h: fabian: hmm... who messed up patch.h? :) Added 'CVS' again. 2000-08-24 15:03 fabian * doc/UPDATES1.5, src/main.c, src/patch.h: fabian: changes to reflect release of 1.5.4 2000-08-23 20:01 tothwolf * doc/: UPDATES1.3, UPDATES1.5: Minor corrections and changes. 2000-08-22 10:22 fabian * doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/irc.mod/mode.c: Eule's overrun patch (fixing a security bug). Slightly modified by Cybah and me. 2000-08-21 12:28 guppy * doc/UPDATES1.5, help/cmds1.help, src/mod/irc.mod/irc.c: added Sup's two small patches, needfix and ignorehelp (also testing cvslog -- sorry for not letting fabian apply these patches) 2000-08-20 06:27 johoho * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, doc/compiling.FAQ, doc/settings/core.settings, doc/settings/mod.channel, src/patch.h: documentation update 2000-08-20 05:17 fabian * doc/UPDATES1.5, src/patch.h, src/users.h: Tothwolf's user_entry_type patch 2000-08-20 05:16 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/servmsg.c: G`Quann's lagcheck6 patch; minor coding style in affected function 2000-08-19 08:17 fabian * doc/UPDATES1.5, src/botmsg.c, src/botnet.c, src/patch.h, src/tandem.h: Tothwolf's no_safe_str patch; minor fix to make it compile 2000-08-19 08:15 fabian * doc/UPDATES1.4, src/botmsg.c, src/patch.h: 1.4, Sup's note_bell_chr patch 2000-08-18 19:10 guppy * NEWS: updated NEWS slightly to add a line about bind need, sorry for no patch, just a doc update 2000-08-18 13:35 guppy * scripts/notes2.tcl: missing global botnet-nick 2000-08-18 10:45 fabian * doc/UPDATES1.5, src/cmds.c, src/patch.h: guppy's ign-lifetime patch 2000-08-17 19:06 fabian * disabled_modules, doc/UPDATES1.5, misc/modconfig, src/patch.h: Tothwolf's fixspaces patch 2000-08-17 19:05 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c: guppy's bindneed patch 2000-08-17 19:04 fabian * doc/UPDATES1.5, src/patch.h, src/mod/notes.mod/notes.c: stary's notes patch 2000-08-17 18:25 fabian * doc/UPDATES1.5, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/mod/module.h: open_address_listen patch 2000-08-16 21:49 guppy * scripts/getops.tcl: reverting my small changes to getops.tcl 2000-08-16 21:45 guppy * scripts/getops.tcl: testing the cvs again 2000-08-16 21:42 guppy * TODO: the TODO file is useless 2000-08-16 14:33 guppy * disabled_modules: testing 2000-08-16 14:26 guppy * doc/UPDATES1.3: testing for cvs lcoks 2000-08-11 16:44 fabian * doc/UPDATES1.5, src/modules.c, src/patch.h, src/mod/module.h: guppy's and Sup's tandbot_party patch 2000-08-11 16:43 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c: Sup's chrec_usage patch 2000-08-11 16:42 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: drummer's jupedfix3 patch 2000-08-11 16:40 fabian * doc/UPDATES1.4, scripts/notes2.tcl, src/patch.h, src/tcl.c: resync with 1.4, Aug12 966031001 2000-08-07 04:09 fabian * doc/UPDATES1.5, src/patch.h, src/userrec.c: Sup's handlechg patch 2000-08-07 04:09 fabian * aclocal.m4, configure, doc/UPDATES1.4, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c: 1.4 reync, Aug7 965641446 2000-08-06 08:53 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c: Sup's chanset_usage patch 2000-08-06 08:53 fabian * doc/UPDATES1.5, src/botnet.c, src/patch.h: ghost_unlink_fix patch 2000-08-06 08:52 fabian * scripts/getops.tcl, src/patch.h: Eule's getops patch 2000-08-06 08:51 fabian * config.h.in, configure, configure.in, doc/UPDATES1.5, src/cmds.c, src/misc.c, src/patch.h, src/users.c, src/mod/filesys.mod/filedb3.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/msgcmds.c, src/mod/notes.mod/notes.c: Tothwolf's strftime2 patch 2000-08-06 08:50 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c: Sup's dccrefused2 patch 2000-08-06 08:49 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/tclchan.c: Eule's lastkey2 patch 2000-08-06 08:48 fabian * doc/UPDATES1.5, src/patch.h, src/userrec.c: Shaun's change_handlefix 2000-08-06 08:47 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c: TaKeDa's share_newuser patch 2000-08-03 15:51 fabian * configure, eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.4, doc/tcl-commands.doc, doc/html/mod-irc.html, doc/settings/mod.irc, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h, src/tcl.c, src/tclhash.c, src/tclmisc.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: resync with 1.4, Aug03 965337849 2000-08-02 22:45 tothwolf * COPYING: Updated FSF postal address 2000-07-25 13:48 johoho * doc/UPDATES1.5: still some patches by sup...damn :-) 2000-07-25 13:42 johoho * NEWS, TODO, doc/BUG-REPORT, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES1.5, doc/html/news.html, help/cmds2.help: still some patches by sup...damn :-) 2000-07-25 13:27 johoho * doc/UPDATES1.5: doc/MODULES typo patch 2 2000-07-25 13:25 johoho * doc/UPDATES1.5: doc/MODULES typo patch 2000-07-25 13:19 johoho * doc/UPDATES1.4, doc/MODULES, src/patch.h: fixes various typos in the docs and a small bug when 2000-07-25 13:16 johoho * README: fixes various typos in the docs and a small bug when 2000-07-25 13:15 johoho * doc/html/readme.html: README 2000-07-23 14:50 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: Sup's addusercomp patch 2000-07-23 14:47 fabian * Makefile.in, aclocal.m4, doc/Makefile.in, doc/UPDATES1.4, scripts/Makefile.in, src/Makefile.in, src/patch.h, src/compat/Makefile.in, src/md5/Makefile.in, src/mod/Makefile.in: 1.4 resync, autoconf_shell_fix patch 2000-07-13 15:19 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/server.mod/servmsg.c: Eule's lastkey patch 2000-07-13 15:18 fabian * doc/UPDATES1.4, doc/UPDATES1.5, language/core.french.lang, src/patch.h: Lucas' and Tit00n's frenchlangfixes for 1.4 and 1.5, bug-fixed. 2000-07-12 15:52 fabian * doc/UPDATES1.5, src/cmds.c, src/patch.h: Sup's addbotfix patch 2000-07-12 15:51 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: Sup's deluser patch 2000-07-12 15:50 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/eggdrop.h, src/patch.h, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/mod/filesys.mod/files.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: lost_tout_getfilesendtime patch 2000-07-12 15:49 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: G`Quann's lagcheckfix5 patch, with minor modifications by me 2000-07-12 15:45 fabian * doc/UPDATES1.4, src/botnet.c, src/dcc.c, src/patch.h, src/tcldcc.c: resync with 1.4, Jul12 963435800 2000-07-11 14:47 tothwolf * doc/UPDATES1.5, src/mod/console.mod/Makefile: Fixed remaining 'console..$(MOD_EXT)' typos 2000-07-11 11:06 tothwolf * doc/html/faq1.html: Missing $Id$ tag and newline at end of file 2000-07-11 11:03 tothwolf * src/mod/console.mod/Makefile: Fixed 'console..$(MOD_EXT)' typo 2000-07-09 08:23 fabian * configure, src/patch.h: updates to the modules_cygwin patch, 963151788 -- I forgot to rebuild configure 2000-07-09 08:13 fabian * doc/UPDATES1.5, language/core.french.lang, src/patch.h: Tit00n's core.french.lang update 2000-07-09 08:10 fabian * Makefile.in, acconfig.h, aclocal.m4, config.h.in, doc/UPDATES1.5, src/modules.c, src/patch.h, src/mod/Makefile.in, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: RebuM's modules_cygwin patch, together with my corrections 2000-07-09 08:07 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c: server_cleanup patch 2000-07-09 07:51 fabian * doc/UPDATES1.4, doc/UPDATES1.5, scripts/getops.tcl, src/cmds.c, src/modules.c, src/modules.h, src/patch.h, src/userrec.c, src/mod/notes.mod/notes.c: resync with 1.4, Jul9 963149797 2000-06-21 16:28 fabian * doc/UPDATES1.4, src/cmds.c, src/lang.h, src/patch.h, src/mod/filesys.mod/files.c, src/mod/irc.mod/msgcmds.c, src/mod/notes.mod/notes.c, src/mod/wire.mod/wire.c: 1.4 resync Jun22, 961625558 2000-06-20 15:41 fabian * doc/UPDATES1.4, doc/UPDATES1.5, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/patch.h, src/mod/irc.mod/mode.c: guppy's permbanned patch (modified a bit to get the logic straight), 1.4 2000-06-20 15:01 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filedb3.c: filesys_fixes3 patch 2000-06-20 14:54 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/cmdsirc.c: Sup's msgfix patch, for 1.4 too 2000-06-20 14:49 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: Sup's sanitycheck patch 2000-06-20 14:44 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: Sup's missingdnames patch 2000-06-20 14:41 fabian * configure, configure.in, doc/UPDATES1.5, src/patch.h: SuperS' tcl8.4 patch 2000-06-20 14:37 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.5, scripts/Makefile.in, scripts/getops-2.2d.tcl, scripts/getops.tcl, scripts/userinfo.tcl, scripts/userinfo1.0.tcl, src/patch.h: getops_userinfo_fix patch 2000-06-20 13:54 fabian * doc/UPDATES1.4, doc/UPDATES1.5, scripts/alltools.tcl, src/botnet.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/patch.h, src/mod/channels.mod/userchan.c: 1.4 resync patch, Jun20, 961529757 2000-06-14 05:24 johoho * doc/UPDATES1.5: oops, a typo :-) 2000-06-14 05:18 johoho * src/cmds.c, src/patch.h, doc/UPDATES1.5, src/mod/irc.mod/help/msg/irc.help, src/mod/notes.mod/notes.c: some places used still nick instead of hand 2000-06-09 19:28 fabian * src/: patch.h, mod/server.mod/servmsg.c: G`Quann's lagcheckfix4 patch 2000-06-09 19:03 fabian * doc/UPDATES1.5, src/patch.h, src/tcluser.c, src/mod/channels.mod/userchan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/transfer.mod/transfer.c: minor_fixes patch 2000-06-09 19:02 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/mode.c: Eule's addmode patch 2000-06-09 19:00 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/main.c, src/misc.c, src/patch.h, src/proto.h, src/tcl.c: G`Quann's logsuffix_fix patch 2000-06-09 18:59 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: G`Quann's lagcheckfix3 patch 2000-06-09 18:54 fabian * doc/UPDATES1.4, scripts/alltools.tcl, src/cmds.c, src/lang.h, src/patch.h: resync with 1.4, June 10 2000-06-03 06:16 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c: private_owner_fix patch 2000-06-03 06:15 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.4, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c: 1.4 resync, Jun3 2000-06-03 06:14 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, doc/tcl-commands.doc, doc/html/mod-server.html, doc/settings/mod.server, src/cmds.c, src/modules.c, src/patch.h, src/tcl.c, src/users.c, src/mod/module.h, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/help/set/server.help: channame2dname patch 2000-06-02 11:54 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c: channel_fixes patch 2000-06-02 11:46 fabian * doc/UPDATES1.5, src/main.c, src/patch.h: context_fix patch 2000-06-02 11:44 fabian * doc/UPDATES1.5, scripts/CONTENTS, scripts/Makefile.in, scripts/sentinel1.54.tcl, scripts/sentinel1.55.tcl, src/patch.h: drummer's sentinel_update patch 2000-06-02 10:56 fabian * aclocal.m4, configure, doc/UPDATES1.4, help/core.help, language/core.french.lang, src/modules.c, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/irc.mod/msgcmds.c: resync with 1.4 2000-05-29 05:44 johoho * doc/UPDATES1.5, help/core.help, src/patch.h: .help tcl info added 2000-05-29 05:38 johoho * doc/UPDATES1.5, doc/patch.howto, src/patch.h: extended info in patch.howto 2000-05-28 12:59 fabian * CONTENTS, INSTALL, Makefile.in, README, doc/eggdrop.doc, doc/readme, doc/tcl-commands.doc, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channel, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.wire, doc/settings/mod.woobie, scripts/CONTENTS, src/patch.h: Wiktor's config1.5_2 patch 2000-05-28 11:32 fabian * doc/UPDATES1.4, doc/tcl-commands.doc, scripts/userinfo1.0.tcl, src/botnet.c, src/modules.c, src/patch.h, src/mod/module.h, src/mod/modvals.h, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: Resync with egg1.4 CVS, May28 2000-05-28 06:07 johoho * doc/UPDATES1.5, doc/compiling.FAQ, src/patch.h: ultrix hint added to compiling faq 2000-05-22 04:22 johoho * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.5, src/patch.h, help/cmds1.help, help/cmds2.help: some changes for better understanding 2000-05-14 16:16 fabian * doc/UPDATES1.5, src/dccutil.c, src/patch.h, text/motd: Wiktor's login2 patch 2000-05-13 14:28 fabian * doc/UPDATES1.5, src/patch.h, src/compat/snprintf.h: snprintf_fix2 patch 2000-05-13 14:24 fabian * doc/UPDATES1.5, src/dcc.c, src/patch.h: Eule's botversion patch 2000-05-13 14:20 fabian * doc/UPDATES1.5, src/main.c, src/misc_file.c, src/patch.h, src/mod/filesys.mod/files.c, src/mod/share.mod/share.c: Tothwolf's cygwin-fixes-07May2000 patch (with changes by Fabian) 2000-05-13 08:46 johoho * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h: removed private-owner 2000-05-07 05:45 johoho * eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h: compress.mod was missing in eggdropc.omplete.conf 2000-05-07 04:57 johoho * NEWS, doc/UPDATES1.5, src/patch.h: NEWS file update 2000-05-06 19:28 fabian * src/mod/assoc.mod/modinfo: this was supposed to be committed together with the conf_make_fix9 patch. grumble... 2000-05-06 19:10 fabian * doc/UPDATES1.5, src/main.c, src/patch.h: start 1.5.4 2000-05-06 18:18 fabian * aclocal.m4, configure, src/patch.h: fixed small typo in SuperS' change to aclocal.m4 2000-05-06 18:08 fabian * aclocal.m4, doc/BUG-REPORT, doc/UPDATES1.5, src/botnet.c, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/seen.mod/seen.c: SuperS' dell patch 2000-05-06 18:07 fabian * doc/UPDATES1.5, src/patch.h, src/compat/snprintf.h: SuperS' vafix patch 2000-05-06 16:08 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: G`Quann's lagcheckfix2 patch 2000-05-06 16:06 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c: G`Quann's achanset patch 2000-05-06 16:04 fabian * config.h.in, configure, configure.in, eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/main.c, src/misc.c, src/patch.h, src/proto.h, src/tcl.c: G`Quann's logfilesuffix patch 2000-05-06 16:02 fabian * doc/UPDATES1.5, src/botcmd.c, src/chan.h, src/cmds.c, src/patch.h, src/tcl.c, src/tclegg.h, src/tclhash.c, src/tclmisc.c, src/userent.c, src/users.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c, src/mod/server.mod/server.h: guppy's cleanups patch 2000-05-06 16:00 fabian * doc/UPDATES1.5, src/botnet.c, src/cmds.c, src/dcc.c, src/dns.c, src/patch.h, src/compat/snprintf.h, src/mod/server.mod/servmsg.c, src/mod/transfer.mod/transfer.c: misc_fix patch 2000-05-06 15:59 fabian * doc/UPDATES1.4, src/botmsg.c, src/patch.h: note_x_fix patch 2000-05-06 15:58 fabian * doc/UPDATES1.5, src/patch.h, text/motd: guppy's motd_fix patch (orginally motd1.diff) 2000-04-25 14:53 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/files.c: filesys_ls_fix patch 2000-04-25 14:49 fabian * Makefile.in, configure, configure.in, doc/UPDATES1.5, misc/modconfig, src/patch.h, src/mod/Makefile.in: conf_make_fix9 patch 2000-04-25 14:46 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filesys.c: max-filesize patch 2000-04-25 02:32 johoho * README, doc/BOTNET, doc/UPDATES1.5, doc/readme, doc/tcl-commands.doc, text/motd: misc. small doc patches 2000-04-19 03:48 tothwolf * src/mod/filesys.mod/language/filesys.english.lang: Fixed typo. 2000-04-13 15:44 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/mode.c: Wiktor's bogusowner patch 2000-04-13 15:38 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/chan.c, src/mod/server.mod/servmsg.c: Eule's got442_2 patch, 1.4 2000-04-13 05:22 tothwolf * doc/html/app-textsub.html: Fixed %{center} typo. 2000-04-13 05:21 tothwolf * doc/html/: about.html, app-botnet.html, app-probs.html, app-textsub.html, app-tricks.html, app-weird.html, bans.html, botnet.html, compiling.html, egg-core.html, faqs.html, features.html, flags.html, index.html, install.html, mod-assoc.html, mod-blowfish.html, mod-channels.html, mod-compress.html, mod-dns.html, mod-filesys.html, mod-irc.html, mod-notes.html, mod-server.html, mod-share.html, mod-wire.html, news.html, party.html, readme.html, sharing.html, starting.html, users.html, chat/efnet_eggheads.chat, chat/efnet_eggtcl.chat, chat/ircnet_bothelp.chat, chat/ircnet_eggdrop.chat, chat/ircnet_egghelp.chat, chat/undernet_eggdrop.chat: Updated html docs, added html/chat dir and files for irc links. 2000-04-13 04:10 tothwolf * NEWS: Updated NEWS file to refer to 'doc/html/' instead of 'doc/web_docs/' 2000-04-13 04:08 tothwolf * doc/Makefile.in: Updated Makefile.in to use 'html' dir instead of 'web_docs' dir. 2000-04-13 03:56 jason * doc/: UPDATES1.5, html/about.html, html/app-botnet.html, html/app-probs.html, html/app-textsub.html, html/app-tricks.html, html/app-weird.html, html/bans.html, html/botnet.html, html/compiling.html, html/egg-core.html, html/faq1.html, html/faqs.html, html/features.html, html/flags.html, html/index.html, html/install.html, html/mod-assoc.html, html/mod-blowfish.html, html/mod-channels.html, html/mod-compress.html, html/mod-dns.html, html/mod-filesys.html, html/mod-irc.html, html/mod-notes.html, html/mod-server.html, html/mod-share.html, html/mod-wire.html, html/news.html, html/party.html, html/readme.html, html/sharing.html, html/starting.html, html/users.html, web_docs/about.html, web_docs/app-botnet.html, web_docs/app-probs.html, web_docs/app-textsub.html, web_docs/app-tricks.html, web_docs/app-weird.html, web_docs/bans.html, web_docs/botnet.html, web_docs/compiling.html, web_docs/egg-core.html, web_docs/faq1.html, web_docs/faqs.html, web_docs/features.html, web_docs/flags.html, web_docs/index.html, web_docs/install.html, web_docs/mod-assoc.html, web_docs/mod-blowfish.html, web_docs/mod-channels.html, web_docs/mod-compress.html, web_docs/mod-dns.html, web_docs/mod-filesys.html, web_docs/mod-irc.html, web_docs/mod-notes.html, web_docs/mod-server.html, web_docs/mod-share.html, web_docs/mod-wire.html, web_docs/news.html, web_docs/party.html, web_docs/readme.html, web_docs/sharing.html, web_docs/starting.html, web_docs/users.html: renaming of web_docs to html 2000-04-13 03:52 jason * doc/web_docs/: install.html, readme.html: [no log message] 2000-04-12 09:25 jason * doc/web_docs/faq1.html: addition of faq 2000-04-11 02:58 jason * doc/: UPDATES1.5, web_docs/app-textsub.html, web_docs/index.html: toth's addition of textfile substituion to webdocs 2000-04-10 13:05 johoho * src/patch.h, doc/UPDATES1.4: KNOWN-PROBLEMS update 2000-04-10 12:53 johoho * doc/KNOWN-PROBLEMS: This patch adds the ghost bug to the KNOWN-PROBLEMS file..Johoho 2000-04-10 08:35 jason * doc/web_docs/: mod-share.html, mod-wire.html: silly mistakes to web_docs 2000-04-10 08:26 jason * doc/web_docs/: app-tcl-commands.html, faqs.html: changes to webdocs 2000-04-10 08:24 jason * doc/web_docs/egg-core.html: [no log message] 2000-04-10 08:22 jason * doc/: UPDATES1.5, web_docs/about.html, web_docs/app-botnet.html, web_docs/app-probs.html, web_docs/app-tricks.html, web_docs/app-weird.html, web_docs/bans.html, web_docs/botnet.html, web_docs/compiling.html, web_docs/features.html, web_docs/flags.html, web_docs/index.html, web_docs/install.html, web_docs/mod-assoc.html, web_docs/mod-blowfish.html, web_docs/mod-channels.html, web_docs/mod-compress.html, web_docs/mod-dns.html, web_docs/mod-filesys.html, web_docs/mod-irc.html, web_docs/mod-notes.html, web_docs/mod-server.html, web_docs/news.html, web_docs/party.html, web_docs/readme.html, web_docs/sharing.html, web_docs/starting.html, web_docs/users.html: doc/web_docs changes 2000-04-09 04:00 johoho * INSTALL: changed a copyright message 2000-04-05 13:58 fabian * doc/UPDATES1.5, src/modules.c, src/patch.h, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/server.mod/server.c: must_be_owner patch 2000-04-05 13:55 fabian * doc/UPDATES1.5, src/dccutil.c, src/mem.c, src/modules.c, src/patch.h, src/userrec.c: mem_debug_fix patch 2000-04-05 13:51 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/tclcompress.c: compress_fix patch 2000-04-05 13:48 fabian * NEWS, eggdrop.simple.conf, doc/UPDATES1.5, src/patch.h: Wiktor's smalldoc patch 2000-04-05 13:45 fabian * doc/UPDATES1.4, doc/UPDATES1.5, src/dcc.c, src/misc.c, src/patch.h: show_banner_fix2 patch, 1.4 2000-04-05 13:40 fabian * doc/UPDATES1.5, src/patch.h, src/compat/README.snprintf, src/compat/snprintf.c, src/compat/snprintf.h: snprintf_fix patch 2000-04-05 13:35 fabian * doc/UPDATES1.5, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/lang.h, src/language.c, src/modules.c, src/patch.h, src/proto.h: make_quiet_lang patch 2000-04-05 13:31 fabian * doc/UPDATES1.5, src/eggdrop.h, src/patch.h, src/mod/transfer.mod/transfer.c: transfer_resume_ack_fix patch 2000-04-05 13:27 fabian * doc/UPDATES1.5, src/patch.h, src/mod/transfer.mod/transfer.c: transfer_memleak_fix patch 2000-04-05 13:25 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.simple.conf, doc/UPDATES1.5, doc/tcl-commands.doc, help/cmds1.help, help/cmds2.help, help/core.help, scripts/compat.tcl, src/cmds.c, src/patch.h, src/tcluser.c: Wiktor's chnick patch 2000-04-05 13:22 fabian * doc/UPDATES1.4, src/patch.h, src/tcldcc.c: resync with 1.4, Apr05 2000-03-31 17:04 fabian * doc/UPDATES1.5, src/patch.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: conf_make_fix8 patch 2000-03-31 16:50 fabian * doc/CONTENTS, doc/MODULES, doc/Makefile.in, doc/UPDATES1.4, doc/UPDATES1.5, doc/motd.settings, doc/readme, doc/text-substitutions.doc, doc/settings/contents, doc/settings/mod.woobie, doc/settings/tricks, doc/web_docs/readme.html, src/patch.h: Wiktor's miscdoc patch 2000-03-31 16:27 fabian * doc/UPDATES1.4, doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h: resync with 1.4, Mar31 2000-03-24 17:00 fabian * doc/UPDATES1.5, src/Makefile.in, src/patch.h, src/compat/Makefile.in, src/compat/inet_aton.c, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/compress.mod/Makefile.in, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/wire.mod/Makefile: conf_make_fix7 patch 2000-03-23 17:17 fabian * Makefile.in, config.h.in, configure, configure.in, doc/Makefile.in, doc/UPDATES1.5, src/Makefile.in, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/flags.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclhash.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/compat/Makefile.in, src/compat/inet_aton.c, src/compat/snprintf.c, src/md5/Makefile.in, src/md5/md5c.c, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/module.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/compress.mod/compress.c, src/mod/compress.mod/configure, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/configure, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/share.mod/uf_features.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c, src/compat/compat.h, src/compat/memcpy.c, src/compat/memcpy.h, src/compat/memset.c, src/compat/memset.h, src/compat/strcasecmp.c, src/compat/strcasecmp.h: conf_make_fix6 patch 2000-03-23 17:10 fabian * aclocal.m4, config.h.in, configure, configure.in, doc/UPDATES1.4, src/chanprog.c, src/main.c, src/patch.h, src/tcldcc.c: resync with 1.4, Mar24 2000-03-21 19:04 fabian * Makefile.in, src/patch.h: conf_make_fix5 patch 2000-03-21 18:42 fabian * Makefile.in, acconfig.h, aclocal.m4, config.h.in, configure, configure.in, doc/Makefile.in, doc/UPDATES1.4, doc/UPDATES1.5, misc/modconfig, scripts/Makefile.in, src/Makefile.in, src/botmsg.c, src/dcc.c, src/dccutil.c, src/dns.c, src/main.h, src/misc.c, src/misc_file.c, src/misc_file.h, src/modules.c, src/patch.h, src/proto.h, src/tclegg.h, src/compat/Makefile.in, src/compat/README.snprintf, src/compat/inet_aton.c, src/compat/inet_aton.h, src/compat/snprintf.c, src/compat/snprintf.h, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/Makefile, src/mod/channels.mod/channels.c, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/configure, src/mod/console.mod/Makefile, src/mod/console.mod/console.c, src/mod/ctcp.mod/Makefile, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/notes.c, src/mod/seen.mod/Makefile, src/mod/seen.mod/seen.c, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile, src/mod/woobie.mod/woobie.c: configure_makefile_fix3 patch 2000-03-21 18:38 fabian * FEATURES, INSTALL, NEWS, README, doc/UPDATES1.5, doc/compiling.FAQ, doc/web_docs/app-botnet.html, doc/web_docs/app-tcl-commands.html, doc/web_docs/compiling.html, doc/web_docs/features.html, doc/web_docs/index.html, doc/web_docs/mod-channels.html, doc/web_docs/mod-compress.html, doc/web_docs/mod-dns.html, doc/web_docs/mod-filesys.html, doc/web_docs/mod-irc.html, doc/web_docs/mod-notes.html, doc/web_docs/mod-server.html, doc/web_docs/news.html, doc/web_docs/readme.html, src/patch.h: Jason's webdocs patch for 1.5 2000-03-21 18:35 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h: Wiktor's nextparam patch 2000-03-21 18:33 fabian * eggdrop.advanced.conf, eggdrop.complete.conf, eggdrop.conf.dist, eggdrop.simple.conf, doc/CONTENTS, doc/UPDATES1.5, doc/motd.settings, doc/settings/core.settings, doc/settings/mod.assoc, doc/settings/mod.blowfish, doc/settings/mod.channel, doc/settings/mod.compress, doc/settings/mod.console, doc/settings/mod.ctcp, doc/settings/mod.dns, doc/settings/mod.filesys, doc/settings/mod.irc, doc/settings/mod.notes, doc/settings/mod.seen, doc/settings/mod.server, doc/settings/mod.share, doc/settings/mod.transfer, doc/settings/mod.wire, src/mod/share.mod/share.c, src/mod/share.mod/help/share.help, src/patch.h: Wiktor's settingsdoc patch 2000-03-21 18:28 fabian * doc/UPDATES1.4, scripts/userinfo1.0.tcl, src/eggdrop.h, src/patch.h, src/tclhash.c, src/mod/server.mod/servmsg.c: resync with 1.4, Mar22 2000-03-19 17:58 fabian * doc/UPDATES1.5, src/cmds.c, src/main.c, src/patch.h: G`Quann's muchtraffic patch 2000-03-19 17:56 fabian * doc/UPDATES1.5, src/modules.c, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/udefchan.c: G`Quann's udefexport patch 2000-03-19 17:32 fabian * aclocal.m4, configure, doc/UPDATES1.4, doc/compiling.FAQ, doc/web_docs/about.html, doc/web_docs/app-botnet.html, doc/web_docs/app-probs.html, doc/web_docs/app-tcl-commands.html, doc/web_docs/app-tricks.html, doc/web_docs/app-weird.html, doc/web_docs/bans.html, doc/web_docs/botnet.html, doc/web_docs/compiling.html, doc/web_docs/features.html, doc/web_docs/flags.html, doc/web_docs/index.html, doc/web_docs/install.html, doc/web_docs/mod-assoc.html, doc/web_docs/mod-blowfish.html, doc/web_docs/mod-channels.html, doc/web_docs/mod-filesys.html, doc/web_docs/mod-irc.html, doc/web_docs/mod-notes.html, doc/web_docs/mod-server.html, doc/web_docs/news.html, doc/web_docs/party.html, doc/web_docs/readme.html, doc/web_docs/sharing.html, doc/web_docs/starting.html, doc/web_docs/users.html, src/patch.h, src/mod/irc.mod/msgcmds.c: 1.4 resync, Mar20 2000-03-06 13:10 fabian * doc/UPDATES1.5, src/botnet.c, src/eggdrop.h, src/net.c, src/patch.h: drummer's relaydns patch 2000-03-06 12:54 fabian * Makefile.in, aclocal.m4, configure, configure.in, lush.h.in, doc/Makefile.in, doc/UPDATES1.5, misc/modconfig, scripts/Makefile.in, src/patch.h, src/mod/eggautoconf: configure_fix2,3 patches 2000-03-05 17:48 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/msgcmds.c: drummer's msg_voice patch, 1.4 2000-03-05 17:22 fabian * Makefile.in, aclocal.m4, configure, configure.in, install-sh, mkinstalldirs, doc/UPDATES1.4, doc/UPDATES1.5, misc/install-sh, misc/mkinstalldirs, misc/modconfig, src/main.c, src/patch.h, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/compress.mod/configure, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in: configure_fix patch 2000-03-04 15:23 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/chan.c: Eule's duplicate_check patch, 1.4 2000-03-04 15:14 fabian * doc/UPDATES1.4, src/misc.c, src/patch.h: Lucas' closebanner patch, 1.4 2000-03-04 15:05 fabian * doc/UPDATES1.5, src/patch.h, src/tclhash.c: david's wildbinds fix patch 2000-03-04 14:49 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/eggdrop.h, src/main.c, src/patch.h, src/mod/modvals.h, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/compress_config.h.in, src/mod/compress.mod/configure, src/mod/compress.mod/configure.in, src/mod/compress.mod/tclcompress.c, src/mod/compress.mod/help/set/compress.help, src/mod/share.mod/share.c, src/mod/share.mod/share.h, src/mod/share.mod/uf_features.c: share_compress patch 2000-03-04 14:40 fabian * doc/UPDATES1.5, src/patch.h, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c: dns_minor_fixes patch 2000-03-04 14:38 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h: filesys_minor_fixes patch 2000-03-04 14:35 fabian * eggdrop.conf.dist, doc/UPDATES1.5, help/cmds1.help, src/cmds.c, src/patch.h: Jason's +host for users patch 2000-03-04 14:31 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c: eule's bothost patch 2000-03-04 12:40 fabian * eggdrop.conf.dist, doc/UPDATES1.4, src/patch.h: resync with 1.4 2000-03-01 11:54 fabian * eggdrop.conf.dist, doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/mod/modvals.h, src/mod/compress.mod/Makefile.in, src/mod/compress.mod/compress.c, src/mod/compress.mod/compress.h, src/mod/compress.mod/configure, src/mod/compress.mod/configure.in, src/mod/compress.mod/modinfo, src/mod/compress.mod/tclcompress.c, src/mod/compress.mod/help/set/compress.help, src/mod/share.mod/share.c: uff_compress2 patch 2000-02-29 14:29 fabian * aclocal.m4, configure, configure.in, doc/BUG-REPORT, doc/UPDATES1.4, src/patch.h, src/mod/filesys.mod/filedb3.c: resync with 1.4 2000-02-29 14:16 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/irc.c, src/mod/server.mod/servmsg.c: drummer's partnotc patch 2000-02-29 14:13 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: drummer's optimizefix patch 2000-02-29 14:10 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c: Eule's who_recheck patch 2000-02-29 14:05 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filesys.c: filesys_info patch 2000-02-29 14:03 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c: filesys_fixes patch 2000-02-29 13:57 fabian * Makefile.in, aclocal.m4, configure, configure.in, doc/UPDATES1.5, src/patch.h, src/mod/Makefile.in, src/mod/eggmod.m4, src/mod/modtool, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in: configure_makefile_fix2 patch 2000-02-25 16:05 fabian * doc/UPDATES1.5, help/cmds1.help, src/patch.h, src/tclhash.c: david's wildbinds patch 2000-02-25 15:51 fabian * Makefile.in, README, aclocal.m4, configure, configure.in, disabled_modules, doc/KNOWN-PROBLEMS, doc/MODULES, doc/UPDATES1.5, doc/tricks, src/Makefile.in, src/patch.h, src/mod/Makefile.in, src/mod/buildstatic, src/mod/eggautoconf, src/mod/eggmod.m4, src/mod/eggmod.sh, src/mod/modtool, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/modinfo, src/mod/channels.mod/Makefile, src/mod/channels.mod/modinfo, src/mod/console.mod/Makefile, src/mod/console.mod/modinfo, src/mod/ctcp.mod/Makefile, src/mod/ctcp.mod/modinfo, src/mod/dns.mod/Makefile, src/mod/dns.mod/Makefile.in, src/mod/dns.mod/configure, src/mod/dns.mod/configure.in, src/mod/dns.mod/modinfo, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/modinfo, src/mod/irc.mod/Makefile, src/mod/irc.mod/modinfo, src/mod/notes.mod/Makefile, src/mod/notes.mod/modinfo, src/mod/seen.mod/Makefile, src/mod/seen.mod/modinfo, src/mod/server.mod/Makefile, src/mod/server.mod/modinfo, src/mod/share.mod/Makefile, src/mod/share.mod/modinfo, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/modinfo, src/mod/wire.mod/Makefile, src/mod/wire.mod/modinfo, src/mod/woobie.mod/Makefile, src/mod/woobie.mod/modinfo: configure_module patch 2000-02-25 15:36 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/chan.c: Jason's mult_exempts patch, 1.4 2000-02-25 14:51 fabian * doc/UPDATES1.4, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/console.mod/console.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/server.c: resync with 1.4, Feb25 2000-02-18 16:45 fabian * doc/UPDATES1.5, doc/patch.howto, src/patch.h, src/mod/irc.mod/irc.c: Wiktor's typodoc patch 2000-02-18 16:40 fabian * doc/UPDATES1.5, src/dcc.c, src/patch.h, src/mod/server.mod/servmsg.c: G`Quann's lagcheckfix patch 2000-02-18 16:38 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c: invite_fix patch 2000-02-18 16:36 fabian * doc/UPDATES1.5, src/main.c, src/patch.h, src/mod/blowfish.mod/blowfish.c: blowfish_fix patch 2000-02-18 16:34 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h: dw's docfix patch 2000-02-18 16:27 fabian * doc/UPDATES1.4, doc/UPDATES1.5, src/patch.h, src/users.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/help/irc.help, src/mod/share.mod/share.c: 1.4 resync 2000-02-04 17:31 fabian * doc/UPDATES1.5, src/main.c, src/patch.h: release of 1.5.2 2000-02-03 16:54 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, language/core.english.lang, src/chan.h, src/lang.h, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/servmsg.c: Jason's 2nd chanjupe patch 2000-02-03 15:58 fabian * eggdrop.conf.dist, doc/UPDATES1.4, src/cmds.c, src/misc.c, src/patch.h: 1.4 resync Feb03 2000-02-01 17:35 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/patch.h: tiny_makefile_fix patch 2000-02-01 14:47 fabian * src/stat.h: src/stat.h belonging to the stat_fix patch 2000-02-01 14:36 fabian * src/: main.c, main.h, misc.c, mod/filesys.mod/Makefile, mod/filesys.mod/files.c, mod/filesys.mod/filesys.c, mod/share.mod/share.c: stat_fix patch 2000-02-01 14:17 fabian * doc/UPDATES1.4, src/patch.h, src/userent.c, src/mod/channels.mod/cmdschan.c, src/mod/irc.mod/chan.c: resync with 1.4 on the 1st of January 2000-01-31 17:02 fabian * doc/UPDATES1.5, src/botcmd.c, src/botnet.c, src/dcc.c, src/patch.h, src/tandem.h, src/mod/module.h: G`Quann's yaup patch 2000-01-31 16:56 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: G`Quann's lagcheck patch 2000-01-31 16:49 fabian * doc/UPDATES1.4, src/patch.h, src/mod/filesys.mod/help/filesys.help: resync with 1.4, Jan 31st 2000-01-30 13:26 fabian * doc/UPDATES1.5, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/match.c, src/mem.c, src/misc.c, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.h, src/mod/module.h, src/mod/modvals.h, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/channels.c, src/mod/notes.mod/notes.c, src/mod/share.mod/share.c: cleanup3 patch 2000-01-30 12:02 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c: eule's globalset patch 2000-01-30 11:59 fabian * doc/UPDATES1.4, language/core.english.lang, language/core.german.lang, src/lang.h, src/patch.h, src/mod/irc.mod/chan.c: resync with 1.4, Jan30 2000-01-28 16:14 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c: guppy's binds patch 2000-01-28 16:05 fabian * NEWS, doc/UPDATES1.5, src/patch.h: Wiktor's NEWS patch 2000-01-28 15:51 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/tclchan.c: Eule's stopnethack-mode2 patch 2000-01-28 15:24 fabian * doc/UPDATES1.4, doc/UPDATES1.5, doc/tcl-commands.doc, doc/tricks, src/patch.h, src/tcluser.c, src/userrec.c: resync with 1.4, 2000/08/01 2000-01-24 15:42 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: dw's nickjuped patch 2000-01-24 15:37 fabian * doc/UPDATES1.4, src/botcmd.c, src/patch.h: dw's who patch 2000-01-24 14:46 fabian * config.h.in, configure, configure.in, doc/UPDATES1.5, src/main.h, src/patch.h: bzerofix patch 2000-01-22 17:43 fabian * doc/UPDATES1.4, doc/tcl-commands.doc, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c: dw's got_op_deop patch to 1.4 2000-01-22 17:30 fabian * doc/UPDATES1.5, src/botcmd.c, src/botnet.c, src/dcc.c, src/patch.h, src/users.c: david's unlink info patch 2000-01-22 17:04 fabian * src/mod/share.mod/: share.h, uf_features.c: forgot to add those files again (originally in uff.patch) 2000-01-22 17:01 fabian * doc/UPDATES1.4, language/core.english.lang, language/core.french.lang, language/core.german.lang, src/patch.h, src/mod/irc.mod/chan.c: Toth's and Wiktor's banreason-fix patch 2000-01-22 16:54 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: G`Quann's kickstuff patch 2000-01-22 16:37 fabian * doc/UPDATES1.5, src/eggdrop.h, src/main.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/share.mod/Makefile, src/mod/share.mod/share.c: uff and outdone_event patch 2000-01-17 17:00 fabian * doc/UPDATES1.5: changed Johoho to Wiktor in UPDATES1.5 2000-01-17 16:36 fabian * doc/UPDATES1.4, scripts/ques5.tcl, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/dns.h, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/mem.c, src/misc.c, src/modules.c, src/modules.h, src/patch.h, src/proto.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/udefchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/woobie.mod/woobie.c, text/banner, text/motd: Eule's copyright patch, updated by him for 1.5 2000-01-17 16:28 fabian * doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: G`Quann's penaltyfix patch 2000-01-17 16:18 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/patch.h: Tothwolf's resolv-before-bind patch 2000-01-17 16:13 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/irc.mod/mode.c: Eule's stopnethack_mode patch 2000-01-17 15:59 fabian * doc/UPDATES1.4, src/botcmd.c, src/botnet.c, src/cmds.c, src/dccutil.c, src/flags.c, src/main.c, src/misc.c, src/net.c, src/patch.h, src/tcl.c, src/tcldcc.c, src/tclhash.c, src/tclmisc.c, src/tcluser.c, src/userrec.c, src/users.c, src/mod/irc.mod/chan.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/wire.c: resync with 1.4, 17Jan2000 2000-01-09 10:34 fabian * acconfig.h, aclocal.m4, config.h.in, configure, doc/UPDATES1.4, src/patch.h, src/mod/module.h: forgot the version_export patch, during last 1.4 resync 2000-01-09 09:06 fabian * doc/UPDATES1.5, src/patch.h, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c: tiny_transfer_share patch 2000-01-09 08:59 fabian * aclocal.m4, configure, configure.in, doc/UPDATES1.4, doc/UPDATES1.5, doc/compiling.FAQ, src/main.c, src/modules.c, src/patch.h, src/mod/module.h, src/mod/dns.mod/dns.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: resync with 1.4, a few 1.5 specific additions 2000-01-09 08:36 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/patch.h: Johoho's config patch 2000-01-07 15:43 fabian * doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c: S0meguy's flood-nick patch, which i missed to apply earlier 2000-01-07 14:04 fabian * doc/UPDATES1.4, src/patch.h, src/mod/server.mod/servmsg.c: S0meguy's ctcpchanfloodfix patch, which i missed to commit by accident 2000-01-06 13:46 fabian * eggdrop.conf.dist, doc/UPDATES1.5, help/set/cmds2.help, src/misc.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/userrec.c, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/notes.mod/notes.c: userfile_perm patch 2000-01-06 13:45 fabian * doc/UPDATES1.4, src/main.c, src/misc.c, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/tclegg.h, src/userrec.c, src/md5/global.h, src/mod/module.h, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/irc.mod/irc.c, src/mod/notes.mod/notes.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: errors_fix, simialer to 1.4 2000-01-06 13:42 fabian * doc/UPDATES1.4, src/cmds.c, src/dcc.c, src/mem.c, src/misc.c, src/patch.h, src/userrec.c, src/mod/irc.mod/chan.c, src/mod/share.mod/share.c: resync with 1.4, 6Jan2000 2000-01-02 11:29 fabian * src/mod/channels.mod/udefchan.c: don't ask. Yet Another File Fabian Forgot To Add... 2000-01-01 20:42 fabian * src/: main.c, patch.h, mod/assoc.mod/assoc.c, mod/blowfish.mod/blowfish.h, mod/channels.mod/channels.c, mod/channels.mod/channels.h, mod/channels.mod/cmdschan.c, mod/channels.mod/tclchan.c, mod/channels.mod/userchan.c, mod/console.mod/console.c, mod/ctcp.mod/ctcp.c, mod/dns.mod/Makefile, mod/dns.mod/coredns.c, mod/dns.mod/dns.c, mod/dns.mod/dns.h, mod/filesys.mod/dbcompat.c, mod/filesys.mod/dbcompat.h, mod/filesys.mod/filedb3.c, mod/filesys.mod/filedb3.h, mod/filesys.mod/filelist.c, mod/filesys.mod/filelist.h, mod/filesys.mod/files.c, mod/filesys.mod/files.h, mod/filesys.mod/filesys.c, mod/filesys.mod/tclfiles.c, mod/irc.mod/chan.c, mod/irc.mod/cmdsirc.c, mod/irc.mod/irc.c, mod/notes.mod/notes.c, mod/seen.mod/seen.c, mod/server.mod/cmdsserv.c, mod/server.mod/server.c, mod/server.mod/servmsg.c, mod/server.mod/tclserv.c, mod/share.mod/share.c, mod/transfer.mod/transfer.c, mod/transfer.mod/transfer.h, mod/wire.mod/wire.c, mod/woobie.mod/woobie.c: cleanup2 patch 2000-01-01 13:42 fabian * doc/UPDATES1.5, src/dns.c, src/main.c, src/modules.c, src/patch.h, src/proto.h, src/md5/md5c.c: bzero_memset patch 2000-01-01 13:34 fabian * doc/UPDATES1.4, src/botnet.c, src/dcc.c, src/dccutil.c, src/main.c, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c: 1.4 dccfix patch 2000-01-01 13:28 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/dcc.c, src/eggdrop.h, src/patch.h, src/tcldcc.c: publisten patch 2000-01-01 13:24 fabian * src/: patch.h, mod/notes.mod/cmdsnote.c, mod/notes.mod/notes.c, mod/notes.mod/notes.h: notes_cleanup patch 2000-01-01 13:23 fabian * doc/UPDATES1.5, src/main.c, src/patch.h: G`Quann's trafficfix patch 2000-01-01 13:22 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c: irc_cleanup patch 2000-01-01 13:12 fabian * doc/UPDATES1.5, src/patch.h, src/tclhash.c, src/mod/modvals.h, src/mod/seen.mod/seen.c, src/mod/transfer.mod/transfer.c, src/mod/woobie.mod/woobie.c: cleanup patch 2000-01-01 13:08 fabian * eggdrop.conf.dist, doc/UPDATES1.4, doc/tcl-commands.doc, src/patch.h, src/userrec.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/tclirc.c: resync with 1.4 1999-12-27 14:39 fabian * doc/UPDATES1.4, src/misc.c, src/patch.h, src/tcl.c, src/userrec.c, src/mod/irc.mod/chan.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c: 1.4 drummer's stricthost patch 1999-12-27 14:38 fabian * doc/honorable.mentions: useless file 1999-12-27 14:07 fabian * doc/Makefile.in: forgot to patch Makefile.in when removing Ode_To_Beldin 1999-12-27 13:56 fabian * src/: patch.h, tclmisc.c: tcl_md5 messup ... 1999-12-27 13:50 fabian * doc/UPDATES1.5: the override-bots change was in 1.5.1 not 1.5.0\! 1999-12-27 13:36 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/tclmisc.c: Olrick's tcl md5 patch 1999-12-27 13:35 fabian * doc/Ode_To_Beldin: removed useless file 1999-12-27 12:35 fabian * doc/UPDATES1.5, src/cmds.c, src/patch.h: dw's strip patch 1999-12-27 08:52 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/patch.h, src/tcluser.c: dw's getuser patch 1999-12-26 06:29 fabian * doc/UPDATES1.5, src/patch.h, src/mod/dns.mod/coredns.c: dnsfix 1999-12-26 06:21 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/dns.c, src/dns.h, src/patch.h: dnslookup2 1999-12-25 23:50 poptix * doc/honorable.mentions: blah, just a text file i felt like adding, we can throw random funny stuff in here. 1999-12-25 10:18 fabian * doc/UPDATES1.4, src/main.c, src/patch.h: 1.4 nowtm_timerfix.patch 1999-12-25 09:05 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/dns.c, src/dns.h, src/patch.h: dnslookup 1999-12-24 20:37 fabian * doc/UPDATES1.4, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: serverfix 1999-12-24 18:36 fabian * src/dns.h: tclasyncdns.patch 1999-12-24 18:07 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/Makefile.in, src/botnet.c, src/dcc.c, src/dns.c, src/mem.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/mod/module.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: tclasyncdns 1999-12-24 17:59 fabian * doc/UPDATES1.5, src/language.c, src/patch.h: langclean 1999-12-24 17:57 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/irc.c: 1.4 revengepunishfix 1999-12-24 08:25 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/cmdsirc.c: toot's .channel fix 1999-12-24 08:23 fabian * doc/UPDATES1.4, src/dccutil.c, src/patch.h: 1.4 hidelost 1999-12-24 08:21 fabian * doc/UPDATES1.4, src/dccutil.c, src/main.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/transfer.mod/transfer.c: dccremovelost 1999-12-24 08:20 fabian * doc/UPDATES1.4, doc/UPDATES1.5, src/patch.h, src/mod/server.mod/server.c: nicklength2 1999-12-24 08:19 fabian * doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/channels.mod/tclchan.c: nodesynchfix 1999-12-22 16:02 fabian * help/set/: cmds1.help, cmds2.help: re-added missing help/set and help/msg directories 1999-12-22 07:17 fabian * src/: patch.h, mod/channels.mod/channels.c: small error while applying a patch, reported by SuperS 1999-12-22 06:27 fabian * doc/UPDATES1.5, src/patch.h: G`Quann's whoispenaltyfix patch 1999-12-22 06:24 fabian * doc/UPDATES1.5, src/cmds.c, src/patch.h, src/tcluser.c, src/mod/server.mod/servmsg.c: Ian's silencefix patch 1999-12-22 06:21 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/chan.h, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c: Ian's nodesync patch 1999-12-22 06:11 fabian * eggdrop.conf.dist, doc/UPDATES1.4, language/core.english.lang, language/core.german.lang, src/botcmd.c, src/botnet.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/lang.h, src/main.c, src/modules.c, src/net.c, src/proto.h, src/tclhash.c, src/users.c, src/mod/module.h, src/mod/modvals.h, src/mod/filesys.mod/files.c, src/mod/irc.mod/irc.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.h, src/mod/wire.mod/wire.c: resync with 1.4.2, 1999/12/22 1999-12-22 06:07 fabian * src/patch.h: resync with 1.4.2, 1999/12/22 1999-12-21 11:35 fabian * Makefile.in, acconfig.h, aclocal.m4, configure, configure.in, eggdrop.conf.dist, install-sh, doc/Makefile.in, doc/UPDATES1.4, language/core.english.lang, language/core.french.lang, language/core.german.lang, scripts/Makefile.in, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/autobotchk, scripts/botchk, scripts/compat.tcl, scripts/getops-2.2d.tcl, scripts/klined.tcl, scripts/notes2.tcl, scripts/ques5.tcl, scripts/sentinel1.54.tcl, scripts/userinfo1.0.tcl, scripts/weed, src/Makefile.in, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/match.c, src/mem.c, src/misc.c, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/md5/Makefile.in, src/md5/global.h, src/md5/md5.h, src/md5/md5c.c, src/mod/Makefile.in, src/mod/buildstatic, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/Makefile, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/Makefile, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/Makefile, src/mod/console.mod/console.c, src/mod/ctcp.mod/Makefile, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/dns.mod/Makefile, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/dns.mod/dns.h, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/filesys.mod/language/filesys.english.lang, src/mod/filesys.mod/language/filesys.french.lang, src/mod/filesys.mod/language/filesys.german.lang, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/notes.mod/notes.h, src/mod/seen.mod/Makefile, src/mod/seen.mod/seen.c, src/mod/server.mod/Makefile, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/wire.mod/Makefile, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.h, src/mod/wire.mod/language/wire.english.lang, src/mod/wire.mod/language/wire.french.lang, src/mod/wire.mod/language/wire.german.lang, src/mod/woobie.mod/Makefile, src/mod/woobie.mod/woobie.c: Tothwolf's id-header 1999-12-21 11:32 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/tclfiles.c, src/mod/filesys.mod/help/filesys.help: filesys_fixes2 1999-12-19 10:06 fabian * doc/UPDATES1.5, src/cmds.c, src/main.c, src/net.c, src/patch.h: G`Quann's traffic patch 1999-12-19 10:05 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: G`Quann's udef_dname patch 1999-12-17 14:26 fabian * doc/UPDATES1.5, src/botnet.c, src/dcc.c, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c: dns_reversefail 1999-12-17 12:40 fabian * doc/UPDATES1.4, src/cmds.c, src/flags.c, src/patch.h, src/userent.c, src/mod/module.h, src/mod/console.mod/console.c, src/mod/transfer.mod/transfer.c: tothwolf's assert-nulls patch 1999-12-15 11:20 fabian * eggdrop.conf.dist, doc/UPDATES1.5, src/eggdrop.h, src/main.c, src/patch.h, src/mod/share.mod/share.c: the share_botoverride patch... 1999-12-15 09:31 fabian * doc/UPDATES1.4, src/patch.h, src/mod/irc.mod/chan.c: 1.4 resync 991215 1999-12-14 16:39 fabian * Makefile.in, doc/UPDATES1.4, doc/UPDATES1.5, src/eggdrop.h, src/main.c, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h: toth's patch-assert 1999-12-13 17:53 fabian * doc/UPDATES1.4, doc/UPDATES1.5, src/dcc.c, src/patch.h, src/tcl.c, src/tcluser.c, src/mod/channels.mod/tclchan.c, src/mod/server.mod/server.c: tothwolf's sync-1.5-11Dec1999-1 patch 1999-12-13 17:39 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/eggdrop.h, src/patch.h, src/mod/modvals.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: resume patch 1999-12-12 16:14 fabian * config.h.in, configure, configure.in, doc/UPDATES1.5, src/eggdrop.h, src/md5/global.h, src/md5/md5c.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.h, src/patch.h: 32 bit usage made consistent - patch :) 1999-12-12 09:39 fabian * doc/UPDATES1.5, src/botnet.c, src/patch.h: tiny botlink fix 1999-12-11 17:20 fabian * src/: eggdrop.h, patch.h: removed silly warning in Asser macro 1999-12-11 12:58 fabian * Makefile.in, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/flags.c, src/language.c, src/main.c, src/mem.c, src/misc.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclhash.c, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/tclserv.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c: tothwolf's remove-context-bloat patch 1999-12-10 11:20 fabian * doc/UPDATES1.4, doc/tcl-commands.doc, src/chanprog.c, src/patch.h, src/userent.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/server.mod/tclserv.c: resync 991210 with 1.4 1999-12-06 10:15 fabian * doc/UPDATES1.4, src/patch.h, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/irc.mod/chan.c: 1.4 resync 1999-12-06 09:56 fabian * aclocal.m4, configure, doc/UPDATES1.5, src/patch.h: Toth's configure-with-fixes patch 1999-12-04 08:05 fabian * aclocal.m4, configure, configure.in, doc/UPDATES1.5: Tothwolf's configure-strip-fix patch 1999-12-01 08:49 fabian * aclocal.m4, src/patch.h: missed aclocal in toth's new-configure patch... as always... :/ 1999-11-30 18:09 fabian * configure, configure.in, doc/UPDATES1.5, src/patch.h: toths new-configure patch 1999-11-30 17:04 fabian * doc/UPDATES1.4, src/chanprog.c, src/eggdrop.h, src/patch.h, src/userrec.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: egg1.4 resync 991130 1999-11-27 17:54 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/transfer.mod/transfer.c: filesys_fixes patch 1999-11-27 17:53 fabian * doc/UPDATES1.5, src/cmds.c, src/flags.c, src/modules.c, src/patch.h, src/proto.h, src/userrec.c, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: complete_sharefix patch 1999-11-27 17:51 fabian * doc/UPDATES1.5, src/patch.h, src/mod/irc.mod/mode.c: addbanmode patch 1999-11-26 11:21 fabian * eggdrop.conf.dist, doc/UPDATES1.5, language/core.english.lang, src/botnet.c, src/dcc.c, src/eggdrop.h, src/lang.h, src/patch.h, src/proto.h, src/tcl.c: dupwait patch 1999-11-24 17:28 fabian * doc/UPDATES1.4, src/botmsg.c, src/patch.h: drummer's notefix patch 1999-11-24 16:23 fabian * doc/UPDATES1.4, src/modules.c, src/patch.h, src/proto.h, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/filesys.mod/filesys.c, src/mod/wire.mod/wire.c: guppy's tables patch 1999-11-22 13:42 fabian * doc/UPDATES1.5, src/dccutil.c, src/eggdrop.h, src/patch.h, src/mod/server.mod/server.c: G`Quann's putnext patch 1999-11-22 13:31 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/files.c: filedb3_fix2 patch 1999-11-22 10:22 fabian * eggdrop.conf.dist, doc/UPDATES1.4, scripts/ques4.tcl, src/patch.h, src/tcl.c, src/mod/irc.mod/mode.c: resync 11Nov1999 1999-11-20 15:40 fabian * doc/UPDATES1.5, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/tclchan.c: G`Quann's udefmemleak patch 1999-11-20 15:27 fabian * Makefile.in, doc/UPDATES1.5, src/Makefile.in, src/patch.h: dnsstatic patch 1999-11-20 09:56 fabian * doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h: filedb3_fix patch 1999-11-16 15:06 fabian * configure, configure.in, src/patch.h: filedb_autoconf patch 1999-11-15 14:36 fabian * NEWTO1.5.0: missed to remove that file during tosk's NEWTO1.5.0 -> NEWS switch 1999-11-15 11:42 fabian * CONTENTS, FEATURES, INSTALL, NEWS, README, configure, configure.in, eggdrop.conf.dist, doc/BOTNET, doc/BUG-REPORT, doc/CONTENTS, doc/Makefile.in, doc/UPDATES.pre1.3, doc/UPDATES.pre1.5, doc/UPDATES1.3, doc/UPDATES1.4, doc/UPDATES1.5, doc/eggdrop.doc, doc/patch.howto, doc/tcl-commands.doc, language/core.english.lang, language/core.french.lang, language/core.german.lang, logs/CONTENTS, scripts/userinfo1.0.tcl, src/cmds.c, src/dccutil.c, src/main.c, src/main.h, src/match.c, src/mem.c, src/net.c, src/patch.h, src/proto.h, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/console.c, src/mod/filesys.mod/language/filesys.french.lang, src/mod/irc.mod/chan.c, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/share.mod/share.c, src/mod/wire.mod/wire.c, src/mod/wire.mod/language/wire.french.lang, src/mod/woobie.mod/woobie.c: Toth's sync-1.5-14Nov1999-1 1999-11-15 11:13 fabian * doc/UPDATES1.5, doc/tcl-commands.doc, src/dcc.c, src/patch.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c: fastdeq_options patch (G`Quann), udef_doc patch (G`Quann), fixlisten patch (Fabian), minorfilesys patch (Fabian) 1999-11-14 11:15 fabian * src/: patch.h, mod/filesys.mod/files.c: spelling mistake, reported by guppy 1999-11-14 07:06 fabian * NEWTO1.5.0, doc/UPDATES1.5, src/patch.h, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/dbcompat.c, src/mod/filesys.mod/dbcompat.h, src/mod/filesys.mod/filedb.c, src/mod/filesys.mod/filedb3.c, src/mod/filesys.mod/filedb3.h, src/mod/filesys.mod/filelist.c, src/mod/filesys.mod/filelist.h, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c: filedb3 patch 1999-11-12 18:53 segfault * text/: banner, motd: Tothwolf's banner and motd updates to new version 1999-11-11 15:51 fabian * configure: messed up configure, oops 1999-11-11 15:44 fabian * configure, doc/UPDATES1.5, src/dns.c, src/patch.h: dns_fixagain.patch which fixes a bug in blocking dns code and turns on debugmem to default on linux 1999-11-11 11:45 segfault * configure, configure.in, src/patch.h: Configure did not have default make = make debug 1999-11-11 10:22 segfault * mkinstalldirs: mkinstalldirs was mysteriously left out of 1.5 and therefore would not make install correctly 1999-11-10 16:02 fabian * scripts/Makefile.in, src/patch.h: I had messed up the scripts Makefile.in 1999-11-10 15:34 fabian * FEATURES, Makefile.in, README, TODO, acconfig.h, config.h.in, configure, configure.in, eggdrop.conf.dist, doc/BOTNET, doc/Makefile.in, doc/UPDATES.pre1.5, doc/eggdrop.doc, doc/patch.howto, doc/tcl-commands.doc, doc/man1/eggdrop.1, language/core.german.lang, scripts/Makefile.in, src/Makefile.in, src/botcmd.c, src/botmsg.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/main.c, src/main.h, src/mem.c, src/modules.c, src/patch.h, src/proto.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclmisc.c, src/tcluser.c, src/userent.c, src/md5/Makefile.in, src/mod/Makefile.in, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/channels.mod/Makefile, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/Makefile, src/mod/console.mod/console.c, src/mod/ctcp.mod/Makefile, src/mod/dns.mod/Makefile, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/notes.c, src/mod/seen.mod/Makefile, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/share.mod/Makefile, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/Makefile, src/mod/wire.mod/language/wire.english.lang, src/mod/woobie.mod/Makefile: Resync with 1.4 1999-11-09 18:08 segfault * text/banner: Another oops 1999-11-09 18:07 segfault * NEWTO1.4.0: Blah 1999-11-09 18:06 segfault * src/: main.c, mod/assoc.mod/assoc.c, mod/blowfish.mod/blowfish.c, mod/channels.mod/channels.c, mod/console.mod/console.c, mod/filesys.mod/filesys.c, mod/notes.mod/notes.c, mod/seen.mod/seen.c, mod/server.mod/server.c, mod/share.mod/share.c, mod/transfer.mod/transfer.c, mod/wire.mod/wire.c, mod/woobie.mod/woobie.c: Part 2 1999-11-09 18:01 segfault * NEWTO1.5.0, README, doc/CONTENTS, doc/UPDATES.pre1.4, doc/UPDATES.pre1.5, doc/UPDATES1.4, doc/UPDATES1.5, doc/tcl-commands.doc: Part 1 of numbering revision 1999-10-26 15:46 fabian * doc/UPDATES1.4, src/botcmd.c, src/chan.h, src/chanprog.c, src/cmds.c, src/flags.c, src/lang.h, src/misc.c, src/modules.c, src/patch.h, src/tcldcc.c, src/tcluser.c, src/userrec.c, src/users.c, src/mod/module.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/filesys.mod/files.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/seen.mod/seen.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c: Cybah's safechan patch 1999-10-26 15:38 fabian * Makefile.in, acconfig.h, config.h.in, configure, configure.in, eggdrop.conf.dist, doc/UPDATES.pre1.4, doc/tcl-commands.doc, language/core.english.lang, language/core.german.lang, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/autobotchk, scripts/botchk, scripts/compat.tcl, scripts/weed, src/Makefile.in, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/flags.c, src/language.c, src/main.c, src/misc.c, src/modules.c, src/patch.h, src/tcldcc.c, src/tcluser.c, src/userent.c, src/mod/module.h, src/mod/assoc.mod/Makefile, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/Makefile, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/console.mod/Makefile, src/mod/ctcp.mod/Makefile, src/mod/filesys.mod/Makefile, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/notes.mod/Makefile, src/mod/seen.mod/Makefile, src/mod/seen.mod/seen.c, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/Makefile, src/mod/woobie.mod/Makefile: resync 940380771-940924890 1999-10-26 13:44 fabian * doc/UPDATES1.4, src/patch.h, src/mod/server.mod/server.c: G`Quann's fastdeq patch 1999-10-24 08:36 fabian * src/: patch.h, mod/channels.mod/Makefile, mod/channels.mod/channels.c, mod/channels.mod/tclchan.c: 1) udef patch was wrongly applied in one place. 2) small fixes 1999-10-24 06:17 fabian * doc/UPDATES1.4, src/patch.h, src/mod/channels.mod/channels.c, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c: G`Quann's udef_chanstuff3 patch 1999-10-21 14:04 fabian * doc/UPDATES1.4, src/dns.c, src/patch.h: dnsfix patch from G`Quann 1999-10-21 13:22 fabian * Makefile.in, acconfig.h, config.h.in, configure, configure.in, install-sh, doc/BUG-REPORT, doc/Makefile.in, doc/UPDATES.pre1.4, doc/man1/eggdrop.1, help/assoc.help, help/chaninfo.help, help/channels.help, help/console.help, help/filesys.help, help/irc.help, help/notes.help, help/seen.help, help/server.help, help/share.help, help/userinfo.help, language/core.french.lang, scripts/CONTENTS, scripts/Makefile.in, scripts/bugreport.tcl, scripts/help/userinfo.help, scripts/help/msg/userinfo.help, src/Makefile, src/Makefile.in, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/main.c, src/main.h, src/mem.c, src/misc.c, src/modules.c, src/net.c, src/patch.h, src/proto.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/md5/Makefile, src/md5/Makefile.in, src/mod/Makefile, src/mod/Makefile.generic, src/mod/Makefile.in, src/mod/buildstatic, src/mod/assoc.mod/Makefile, src/mod/assoc.mod/help/assoc.help, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/Makefile, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/help/chaninfo.help, src/mod/channels.mod/help/channels.help, src/mod/channels.mod/help/set/channels.help, src/mod/console.mod/Makefile, src/mod/console.mod/help/console.help, src/mod/console.mod/help/set/console.help, src/mod/ctcp.mod/Makefile, src/mod/ctcp.mod/help/set/ctcp.help, src/mod/dns.mod/Makefile, src/mod/dns.mod/dns.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.english.lang, src/mod/filesys.mod/files.german.lang, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/help/filesys.help, src/mod/filesys.mod/help/set/filesys.help, src/mod/filesys.mod/language/filesys.english.lang, src/mod/filesys.mod/language/filesys.german.lang, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/help/irc.help, src/mod/irc.mod/help/msg/irc.help, src/mod/irc.mod/help/set/irc.help, src/mod/notes.mod/Makefile, src/mod/notes.mod/help/notes.help, src/mod/notes.mod/help/msg/notes.help, src/mod/notes.mod/help/set/notes.help, src/mod/seen.mod/Makefile, src/mod/seen.mod/seen.c, src/mod/seen.mod/help/seen.help, src/mod/seen.mod/help/msg/seen.help, src/mod/server.mod/Makefile, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/server.mod/help/server.help, src/mod/server.mod/help/set/server.help, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/share.mod/help/share.help, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/help/set/transfer.help, src/mod/wire.mod/Makefile, src/mod/wire.mod/wire.english.lang, src/mod/wire.mod/wire.german.lang, src/mod/wire.mod/language/wire.english.lang, src/mod/wire.mod/language/wire.german.lang, src/mod/woobie.mod/Makefile: resync with 1.3 tree, 939863113-940380771 1999-10-15 04:44 fabian * eggdrop.conf.dist, doc/UPDATES.pre1.4, doc/tcl-commands.doc, language/core.english.lang, language/core.german.lang, scripts/compat.tcl, src/chan.h, src/chanprog.c, src/cmds.c, src/eggdrop.h, src/flags.c, src/language.c, src/patch.h, src/rfc1459.h, src/tcl.c, src/userent.c, src/users.c, src/mod/console.mod/console.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filedb.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.german.lang, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/mode.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/Makefile, src/mod/wire.mod/wire.german.lang: resync 1.3: 939574072->939863113 1999-10-12 16:19 fabian * doc/UPDATES1.4, src/eggdrop.h, src/modules.c, src/patch.h, src/mod/module.h, src/mod/filesys.mod/filesys.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h: the transfer patch 1999-10-12 04:28 fabian * doc/UPDATES1.4, src/patch.h, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: penalties3 patch 1999-10-11 10:20 fabian * Makefile: This shouldn't have happened... *grrr* 1999-10-11 01:59 fabian * Makefile, Makefile.in, configure.in, eggdrop.conf.dist, motd, telnet-banner, doc/UPDATES.pre1.4, doc/UPDATES1.4, help/cmds2.help, language/core.english.lang, language/core.french.lang, language/core.german.lang, logs/CONTENTS, src/botnet.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/dns.c, src/eggdrop.h, src/main.c, src/net.c, src/patch.h, src/users.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/userchan.c, src/mod/dns.mod/coredns.c, src/mod/dns.mod/dns.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/mode.c, src/mod/irc.mod/tclirc.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, text/CONTENTS, text/banner, text/motd: dns patches, textdir patch, sync 939496415-939574072 1999-10-10 17:33 fabian * doc/UPDATES1.4, src/patch.h, src/mod/server.mod/servmsg.c: the nonallocsock patch 1999-10-10 16:24 fabian * doc/UPDATES1.4, src/botnet.c, src/dcc.c, src/dns.c, src/eggdrop.h, src/net.c, src/patch.h, src/mod/server.mod/servmsg.c: the hostbyteorder patch 1999-10-09 18:56 fabian * CONTENTS, FEATURES, Makefile.in, configure, configure.in, eggdrop.conf.dist, doc/BUG-REPORT, doc/UPDATES.pre1.4, doc/eggdrop.doc, doc/tcl-commands.doc, doc/man1/eggdrop.1, help/cmds1.help, scripts/autobotchk, scripts/botchk, scripts/weed, src/cmds.c, src/eggdrop.h, src/main.c, src/modules.c, src/net.c, src/patch.h, src/tcl.c, src/tcldcc.c, src/mod/share.mod/share.c: yet another tree merge and fixups... let's see how long it takes until I learn this stuff 1999-10-09 13:44 fabian * src/: dns.c, mod/dns.mod/Makefile, mod/dns.mod/coredns.c, mod/dns.mod/dns.c, mod/dns.mod/dns.h: forgot those new files again.. *gnnnn*.. I'll learn it... 1999-10-09 13:31 fabian * Makefile.in, configure, configure.in, eggdrop.conf.dist, doc/UPDATES1.4, src/Makefile, src/botnet.c, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/main.h, src/modules.c, src/net.c, src/proto.h, src/mod/Makefile, src/mod/Makefile.generic, src/mod/module.h, src/mod/modvals.h, src/mod/filesys.mod/filesys.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c: Fabian's asyncdns patch 1999-10-09 10:41 fabian * doc/BUG-REPORT, scripts/ques5.tcl, src/mod/notes.mod/cmdsnote.c, src/mod/notes.mod/notes.h: missed new files during 1.3 merge 1999-10-09 09:46 fabian * Makefile, Makefile.in, README, config.h.in, configure, configure.in, eggdrop.conf.dist, doc/MODULES, doc/UPDATES.pre1.4, doc/eggdrop.doc, doc/tcl-commands.doc, doc/tricks, language/core.english.lang, language/core.french.lang, language/core.german.lang, scripts/CONTENTS, scripts/ques4.tcl, scripts/weed, src/Makefile, src/botcmd.c, src/botmsg.c, src/chan.h, src/chanprog.c, src/cmds.c, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/flags.c, src/lang.h, src/language.c, src/main.c, src/main.h, src/match.c, src/misc.c, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/tcl.c, src/tcldcc.c, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/blowfish.c, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/console.c, src/mod/ctcp.mod/ctcp.c, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filedb.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/filesys.c, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/notes.c, src/mod/seen.mod/seen.c, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/servmsg.c, src/mod/share.mod/share.c, src/mod/transfer.mod/transfer.c, src/mod/wire.mod/Makefile, src/mod/wire.mod/wire.c, src/mod/woobie.mod/woobie.c: all changes to the 1.3 tree merged with 1.4 1999-10-09 07:10 fabian * help/: assoc.help, chaninfo.help, channels.help, cmds1.help, cmds2.help, console.help, core.help, filesys.help, irc.help, notes.help, seen.help, server.help, share.help, userinfo.help: finished reordering help files. They were all misplaced... 1999-09-13 08:43 segfault * src/patch.h: Blah 1999-09-13 08:38 segfault * configure, configure.in: Commits 1999-09-13 08:36 segfault * doc/BOTNET, doc/CONTENTS, doc/KNOWN-PROBLEMS, doc/MODULES, doc/Ode_To_Beldin, doc/UPDATES.pre1.4, doc/UPDATES1.4, doc/compiling.FAQ, doc/eggdrop.doc, doc/patch.howto, doc/tcl-commands.doc, doc/tricks, doc/man1/eggdrop.1, language/core.english.lang, language/core.french.lang, language/core.german.lang, scripts/CONTENTS, scripts/action.fix.tcl, scripts/alltools.tcl, scripts/autobotchk, scripts/botchk, scripts/bugreport.tcl, scripts/compat.tcl, scripts/getops-2.2d.tcl, scripts/klined.tcl, scripts/notes2.tcl, scripts/ques4.tcl, scripts/sentinel1.54.tcl, scripts/userinfo1.0.tcl, scripts/weed, src/Makefile, src/botcmd.c, src/botmsg.c, src/botnet.c, src/chan.h, src/chanprog.c, src/cmds.c, src/cmdt.h, src/dcc.c, src/dccutil.c, src/eggdrop.h, src/flags.c, src/flags.h, src/lang.h, src/language.c, src/main.c, src/main.h, src/match.c, src/mem.c, src/misc.c, src/modules.c, src/modules.h, src/net.c, src/patch.h, src/proto.h, src/rfc1459.c, src/rfc1459.h, src/tandem.h, src/tcl.c, src/tcldcc.c, src/tclegg.h, src/tclhash.c, src/tclhash.h, src/tclmisc.c, src/tcluser.c, src/userent.c, src/userrec.c, src/users.c, src/users.h, src/md5/Makefile, src/md5/global.h, src/md5/md5.h, src/md5/md5c.c, src/mod/Makefile, src/mod/Makefile.generic, src/mod/buildstatic, src/mod/module.h, src/mod/modvals.h, src/mod/assoc.mod/Makefile, src/mod/assoc.mod/assoc.c, src/mod/blowfish.mod/Makefile, src/mod/blowfish.mod/bf_tab.h, src/mod/blowfish.mod/blowfish.c, src/mod/blowfish.mod/blowfish.h, src/mod/channels.mod/Makefile, src/mod/channels.mod/channels.c, src/mod/channels.mod/channels.h, src/mod/channels.mod/cmdschan.c, src/mod/channels.mod/tclchan.c, src/mod/channels.mod/userchan.c, src/mod/console.mod/Makefile, src/mod/console.mod/console.c, src/mod/ctcp.mod/Makefile, src/mod/ctcp.mod/ctcp.c, src/mod/ctcp.mod/ctcp.h, src/mod/filesys.mod/Makefile, src/mod/filesys.mod/filedb.c, src/mod/filesys.mod/files.c, src/mod/filesys.mod/files.english.lang, src/mod/filesys.mod/files.h, src/mod/filesys.mod/filesys.c, src/mod/filesys.mod/filesys.h, src/mod/filesys.mod/tclfiles.c, src/mod/irc.mod/Makefile, src/mod/irc.mod/chan.c, src/mod/irc.mod/cmdsirc.c, src/mod/irc.mod/irc.c, src/mod/irc.mod/irc.h, src/mod/irc.mod/mode.c, src/mod/irc.mod/msgcmds.c, src/mod/irc.mod/tclirc.c, src/mod/notes.mod/Makefile, src/mod/notes.mod/notes.c, src/mod/seen.mod/Makefile, src/mod/seen.mod/seen.c, src/mod/server.mod/Makefile, src/mod/server.mod/cmdsserv.c, src/mod/server.mod/server.c, src/mod/server.mod/server.h, src/mod/server.mod/servmsg.c, src/mod/share.mod/Makefile, src/mod/share.mod/share.c, src/mod/transfer.mod/Makefile, src/mod/transfer.mod/transfer.c, src/mod/transfer.mod/transfer.h, src/mod/wire.mod/Makefile, src/mod/wire.mod/wire.c, src/mod/wire.mod/wire.english.lang, src/mod/wire.mod/wire.h, src/mod/woobie.mod/Makefile, src/mod/woobie.mod/woobie.c: Initial commit based off of .29 cvs 1999-09-13 08:18 segfault * CONTENTS, COPYING, FEATURES, INSTALL, Makefile, Makefile.in, NEWTO1.4.0, README, TODO, config.h.in, configure, configure.in, eggdrop.conf.dist, lush.h.in, motd, telnet-banner: Initial stuff (.29 cvs) eggdrop1.6.21/NEWS0000664000076600007660000001755011525764164013257 0ustar simplesimple$Id: NEWS,v 1.39 2011/02/13 14:19:32 simple Exp $ News Last revised: April 16, 2003 _________________________________________________________________ News What's new? First, read the following documents: INSTALL README doc/BOTNET doc/Changes1.6 doc/tcl-commands.doc All of these documents combined will fill you in on the latest changes to Eggdrop in version 1.6.x. All files, with the exception of Changes1.6, are also available in html format in doc/html/. A lot of things have changed in this version, so at a minimum, read the Changes1.6 text file. Changes shows what's been added and fixed along the way. If you are upgrading from a pre-1.6 version of Eggdrop: 1. Before you start the bot for the first time, BACKUP your userfile. 2. DON'T USE YOUR OLD CONFIG FILE. MAKE A NEW ONE! _________________________________________________________________ Changes made to Eggdrop 1.6.x from Eggdrop1.4.x: !CHANNELS Support for IRCnet !channels was added to Eggdrop. This might still be a bit buggy. We appreciate bug reports! +/-NODESYNCH This new channel setting replaces the old 'allow-desync' config file setting. It is useful if you use some type of ChanServ or if you don't care about your channel being desynched. ASYNCHRONOUS DNS MODULE Eggdrop 1.6 is shipped with a new module, the dns module. It replaces those old dns-lookups performed by Eggdrop which could halt the whole bot during a timeout. We also added a new Tcl command, 'dnslookup', so scripts can now use DNS functions asynchronously, too. See doc/settings/mod.dns for more information. COMPRESS MODULE A new module called compress was introduced to Eggdrop. It provides gzip support to Eggdrop (via Tcl commands) and enables compressed userfile transfer. See doc/settings/mod.compress for more information. SHARE MODULE The share module has a new setting now (override-bots) which allows hub bots to override the leaf bots' bot settings (botaddress, telnet port, and password). Please note that this won't work with a version 1.4 or below bot. See doc/settings/mod.share for more information. TRANSFER / FILESYS MODULES The filesys and transfer modules have changed completely. Both can now handle unlimited filename lengths and description sizes. Incomplete downloads from the bot can also now be resumed. The db format of the filesys module was changed to remove the limits imposed by the old format. There's nothing special for you to do, as the old db is automatically converted to the new format when you first access it. You won't be able to downgrade to older versions after this, so you may want to make a backup first. See doc/settings/mod.transfer and doc/settings/mod.filesys for more information. UPTIME MODULE This module reports uptime statistics to http://uptime.eggheads.org. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. See doc/settings/mod.uptime for more information. DCC COMMANDS * ".nick" was renamed to ".handle". ".nick" will still be kept up to version 1.8. * ".chnick" was renamed to ".chhandle". ".chnick" will still be kept up to version 1.8. * ".binds" now supports wildcards. * ".halfop" and ".dehalfop" have been added. * The 'optimise' file system command was renamed to 'optimize'. The old command will still be kept up to version 1.8. * Eggdrop now counts all of the traffic which it generates and receives through IRC, the botnet, scripts, and dcc. You can access these statistics via the dcc command ".traffic". Please note that the counter gets reset every time a restart is done. * ".modules" now works locally as well as remotely. CHANNEL MODES Support for IRCnet negative limits and DALnet's +R, +M, and +c channel modes has been added. Eggdrop now also supports halfops (+h). DOCUMENTATION A lot has happened to the documentation; nearly every file was changed, so take a look at them. Also, we have discovered html, and full html documentation is available now in doc/html. Additionally, all possible settings for Eggdrop are documented in doc/settings. CONFIG FILES * To support longer nicknames, as some IRC servers do, a new 'nick-len' setting was added. * Eggdrop uses strftime now to support different logfile suffixes. The new config file setting is 'logfile-suffix'. * A new 'pidfile' setting was added to allow you to specify the name of Eggdrop's pid file. * The 'strict-servernames' setting was removed. PENALTY CALCULATION Eggdrop calculates penalty points on IRCnet now, so it won't flood itself off anymore. This feature also works on EFnet and Undernet, and should work on other networks as well. TCL COMMANDS * The 'chnick' command was renamed to 'chhandle'. The use of 'chnick' is deprecated. 'chnick' is still accessible if you load compat.tcl. * All three commands to add data to the queues (puthelp, putserv and putquick) now support the '-next' parameter which pushes data to the front of the queue. * A command to calculate md5 checksums, 'md5', was added. * To support the new asynch dns module, the command 'dnslookup' was added. * Four new commands regarding exempts/invites were added: stickexempt, unstickexempt, stickinvite, and unstickinvite. * A new 'wasop' command was added to check if a user had op before a mode change. * 'washalfop', 'ishalfop', and 'botishalfop' have been added. * Three new Tcl commands were added as part of the compress module: compressfile, uncompressfile, and iscompressed. * A new command to check whether the bot's nick is juped was added (isjuped). * The fileresend command was added to support mIRC's dcc resume feature. * A new bind type called 'NEED' was added which triggers when the bot needs op, unban, limit, key, or invite. * LOST and TOUT bind types were added. * Two new commands, 'channame2dname' and 'chandname2name', were added to allow scripts to support !channels. * A new evnt type, loaded, was added. * The 'setudef', 'renudef', and 'deludef' commands were added to allow for user-defined channel settings. * A 'traffic' command was added which returns a list of sublists containing information about the bot's traffic usage in bytes. * The CTCP bind type now supports wildcards. * A 'handlen' variable was added (set to the value of the HANDLEN define in eggdrop.h. 'nick-len' was also renamed to 'nicklen' (the old variable will remain until version 1.8. * The 'channel get' command was added to allow channel settings to be easily retrieved. * The 'server' variable now contains the server's realname instead of its serverlist entry regardless of the 'strict-servernames' setting. * The 'serveraddress' variable was added, which contains the server's serverlist address and port. * The 'onchan', 'botonchan', 'botisvoice', 'botisop', 'onchansplit', 'isop', 'isvoice', and 'handonchan' commands no longer require an argument. * Added a "stripcodes" command to remove control codes/etc from strings. For more information about changed or added Tcl commands, see doc/tcl-commands.doc. TRAFFIC ACCOUNTING Eggdrop now counts all of the traffic which it generates and receives through IRC, the botnet, scripts, and dcc. You can access these statistics via the dcc command '.traffic'. Please note that the counter gets reset every time a restart is done. ________________________________________________________________________ Copyright (C) 1997 Robey Pointer Copyright (C) 1999 - 2011 Eggheads Development Team eggdrop1.6.21/help/0000775000076600007660000000000011651664652013501 5ustar simplesimpleeggdrop1.6.21/help/cmds1.help0000664000076600007660000003351411303445453015356 0ustar simplesimple%{help=+bot}%{+t} ### %b+bot%b [address[:bot port[/user port]]] [host] Creates a user record for a new bot with the handle given. If no hostmask is specified, the bot will try to automatically add a host from the channel. The bot's address will be used in linking. If the bot has a separate port for bots and users they should be separated with a slash (/). See also: -bot %{help=+host}%{+t|m} ### %b+host%b [handle] Adds a hostmask to a user's user record. Hostmasks are used to identify your handle on IRC. If a handle is not specified, the hostmask will be added to YOUR user record. See also: -host %{help=+ignore}%{+m} ### %b+ignore%b [%%] [comment] Adds an ignore to the list of ignores stored on the bot, with optional comment and ignore time. This ignore is stored with your handle as the creator. Ignore time has to be expressed in days, hours, and/or minutes. See also: -ignore, ignores %{help=+user}%{+m} ### %b+user%b [hostmask] Creates a new user record for the handle given. The new user record will have no flags, an optional hostmask, and no password. See also: -user, +host, -host %{help=-bot}%{+t} ### %b-bot%b This is exactly the same as %b'.-user'%b (it removes a user record). It is included for convenience. See also: +bot, +user, -user %{help=-host}%{-} ### %b-host%b Removes a host from your handle. %{+m|m} ### %b-host%b Removes a hostmask from a user's user record. %{-} See also: +host %{help=-ignore}%{+m} ### %b-ignore%b Removes the specified ignore from the list of ignores stored on the bot. You may also reference the ignore by the number shown by the 'ignores' command. See also: +ignore, ignores %{help=-user}%{+m} ### %b-user%b Removes the specified handle's user record. See also: +user, +bot, -bot %{help=addlog}%{+to|o} ### %baddlog%b Adds your comment to the bot's logfile. Bot masters can go back later and review the log, and will see your comment (with your handle attached). This is useful for explaining confusing activity. %{help=away}%{-} ### %baway%b [away-message] Marks you as "away" on the party line. Your away message will show up in the %b'.who'%b list, and will be displayed to anyone who tries to send you a note. Your notes will be stored, and then displayed to you as soon as you are no longer away. Saying something on the party line will automatically remove your "away" status, or you can type %b'.back'%b or %b'.away'%b by itself. See also: back %{help=back}%{-} ### %bback%b This marks you as no longer away on the party line. See also: away %{help=backup}%{+m|m} ### %bbackup%b This makes the bot write a backup of its entire user list to the disk. If the channels module is loaded, this will also write a backup of the channels file. This is useful if you feel the need to backup the userfile and channel settings. See also: reload, rehash, save %{help=banner}%{+t} ### %bbanner%b Displays a message to everyone currently using the bot's party line or file area. This is useful for announcing that the bot will go down, etc. %{help=binds}%{+m} ### %bbinds%b [type/match] [all] Shows the Tcl bindings in effect, in a list similar to this: Command bindings: TYPE FLAGS COMMAND HITS BINDING (TCL) msg -|- rose 0 msg_rose msg -|- go 0 msg_go dcc m|- bind 0 cmd_bind pub -|- gross 0 pub_gross The fields should be self-explanatory, except for HITS, which records the number of times that binding has been called. If not, go read the file %b'doc/tcl-commands.doc'%b for help on the Tcl bind command. Note that the builtin commands are now shown. You may also specify a type of binding to show (i.e. %b'.binds msg'%b) or you can specify a wild card match (i.e. %b'.binds *seen*'%b) if you want to narrow the field a bit. The wild card matches will match against the TYPE, COMMAND and BINDING fields. You can view more binds by adding 'all' to the end of the command. See also: tcl %{help=boot}%{+t} ### %bboot%b [reason] Kicks a user off the party line and displays the reason, if you specify one. You can also specify a bot, and attempt to boot someone from another bot on the botnet, though it may be rejected if that bot does not allow remote boots. You can not boot a bot owner. %{help=botattr}%{+t} ### %bbotattr%b [flags] [channel] Lets you view and change the bot flags for a bot. For example, to set "Fred1" +share and -hub, you would do '.botattr Fred1 +s-h.' Whether or not you change any flags, it will show you the bot's flags afterwards. To get a list of the flags possible, see %b'.help whois'%b. %bNOTE:%b This command is NOT used to replace .chattr. It modifies bot flags, such as s, h, a, u, etc. %bNOTE:%b You can't use this command on bots which are directly linked to your bot at the current moment. See also: whois, chattr %{help=botinfo}%{-} ### %bbotinfo%b Requests information from every bot currently on the botnet. Each bot should eventually send you one line containing its version, network setting, channels, and uptime. See also: bottree, vbottree, bots %{help=bots}%{-} ### %bbots%b Shows the list of bots currently on the botnet. Example: Bots: cEvin, ruthie, Killa1 There is no indication of which bots are directly connected to this current bot. Use %b'.who'%b%{+t} or %b'.bottree'%b%{-} for that information. See also: bottree, vbottree, botinfo %{help=bottree}%{-} ### %bbottree%b Shows a tree-format diagram of the bots currently on the botnet. It's just a nice way to get a feel for how the bots are physically connected. If 2 bots are sharing, a + will be indicated, or a ? if nothing is known. See also: bots, botinfo, vbottree %{help=chaddr}%{+t} ### %bchaddr%b Changes the address for a bot. This is the address your bot will try to connect to when linking. If the bot has a separate port for bots and users, they should be separated by a slash (/). See also: link, +bot %{help=chat}%{-} ### %bchat%b ### %bchat%b <[*]channel number/name> Changes your current channel on the partyline. When you first connect to the partyline, it places you on channel 0 (the main party line). Some channels may have assigned names if the assoc module is loaded. For these, you can specify the channel by name instead of channel number if you wish. %b'.chat off'%b removes you from all channels, including the main party line. You can still use bot commands and see the console, but you can't talk to anyone except via %b'.note'%b. %b'.chat on'%b returns you to the main party line (channel 0) if you were elsewhere. If you prefix the channel with a '*', you will join a local channel. See also: console %{help=chattr}%{+m|m} ### %bchattr%b [flags] [channel] This lets you view and change the flags for a user. For example, to give Lamer the p and f flags: .chattr Lamer +pf To remove Denali from the global op list: .chattr Denali -o You may also do any combination of the above: .chattr Fred1 -m+xj-o You can also change the flags for Usagi on a specific channel by supplying the channel after the attributes: .chattr Usagi -m+dk-o #blah Changing global and channel specific flags within the same command line is also possible (global +f, +o #lamer): .chattr Bill f|o #lamer Whether or not you change any flags, it will show you the user's attributes afterwards. To get a list of all possible flags, see %b'.help whois'%b. %bNOTES:%b Only the owner may add or remove the 'n' (owner), 'm' (master) or 't' (botnet master) flags. It is pointless to -n a permanent owner. You must remove the permanent owner in the config file. See also: whois, botattr %{help=chhandle}%{+t} ### %bchhandle%b Changes the handle of a user. For example, to change the handle of user 'gavroche' to 'jamie', you would use 'chhandle gavroche jamie'. See also: chpass %{help=chpass}%{+t} ### %bchpass%b [newpassword] Changes a user's password. If you do not specify the new password, the user effectively no longer has a password set. A password is needed to get ops, join the party line, etc. %bNOTE:%b In previous versions, setting a password to "nopass" would clear a user's password -- with encrypted passwords. This no longer works! See also: chhandle %{help=comment}%{+m} ### %bcomment%b Creates or changes the comment field for a user. The comment field can only be seen via 'whois' or 'match'. Non-masters cannot see the comment field. %{help=console}%{+to|o} ### %bconsole%b [channel] [modes] Changes your console level so that you will see only the types of console messages that you want to. Your current console channel is the channel (that the bot is on) from which you can view from the party line, and which channel-specific commands (like 'say' and 'op') take affect on. Valid flags are: %bj%b joins, parts, quits, and netsplits on the channel %bk%b kicks, bans, and mode changes on the channel %bm%b private msgs, notices and ctcps to the bot %bp%b public text on the channel %bs%b server connects, disconnects, and notices %{+m} Masters only: %bb%b information about bot linking and userfile sharing %bd%b misc debug information %bc%b commands %bo%b misc info, errors, etc (IMPORTANT STUFF) %bw%b wallops (make sure the bot sets +w in init-server) %bx%b file transfers and file-area commands %{+n} Owners only (these have to be enabled in the config file via "set raw-log"): %bh%b raw share traffic %br%b raw incoming server traffic %bt%b raw botnet traffic %bv%b raw outgoing server traffic There are also 8 user-defined console modes ('1' through '8'). %{+o|o} The mode can also be a modifier like '+p' or '-jk' or '+mp-b'. If you omit the channel and modes, your current console channel and flags will be shown. %{+m|m} ### %bconsole%b [channel] [modes] This is used to set the console level of another user. This can even be used on users who normally would not be able to set their own console mode. %{help=dccstat}%{+m} ### %bdccstat%b Displays a table-format list of all "dcc" connections in use on the bot. Dcc stands for "Direct Client-to-client Communication", and Eggdrop expands this to cover every open socket. Any type of network connection to the bot is considered a "dcc" connection. The headings of the table are: %bSOCK%b the socket number of this connection (always unique) %bADDR%b the ip address mask of the host the bot is connected to, if applicable %bPORT%b the port number being used for this connection %bNICK%b the handle of the user or bot, if applicable %bHOST%b the hostname corresponding to the IP address, if available %bTYPE%b the type of dcc connection (see below) The types of connections currently possible are as follows (but more are being added all the time): %bCHAT%b dcc-chat partyline user %bPASS%b user entering dcc chat (being asked for password) %bSEND%b user sending a file %bGET%b sending a file to a user %bGETP%b pending get (waiting for the user to acknowledge) %bLSTN%b telnet listening port (in place of a hostname, it will show the callback procedure name, or a mask of acceptable handles) %bT-IN%b incoming telnet user (being asked for handle) %bFILE%b user in dcc-chat file area %bBOT%b connected bot (botnet connection) %bBOT*%b pending bot link (waiting for acknowledgement) %bRELA%b user in relay connection to another bot %b>RLY%b bot being relay'd to (one for each "RELA") %bCONN%b pending telnet connection (chat, relay, bot-link, etc) %bNEW%b new user via telnet (entering a handle) %bNEWP%b new user via telnet (entering a password) In addition, 'CHAT' and 'BOT' have flags listed for each connection. Capital letters mean that the flag is on, and lowercase letters mean that the flag is off. The flags for 'CHAT' are: %bC%b in file area, but allowed to return to party line %bP%b party line access only %bT%b telnet connection (instead of dcc chat) %bE%b echo is on %bP%b paging is on The flags for 'BOT' are: %bP%b ping sent, waiting for reply %bU%b user-file sharing is active %bC%b local bot initiated the connection %bO%b user-file offered, waiting for reply %bS%b in the process of sending the user-file %bG%b in the process of getting the user-file %bW%b warned this bot to stop hubbing %bL%b leaf-only bot (not allowed to be a hub) %bI%b bot is currently in the 'linking' stage %bA%b bot is being aggressively shared with For 'CHAT' users, the party-line channel is also listed. %{help=debug}%{+m} ### %bdebug%b Display a dump of memory allocation information, assuming the bot was compiled with memory debugging. It's useless to anyone but developers trying to find memory leaks. %{help=echo}%{-} ### %becho%b Specifies whether you want your messages echoed back to you. If it's on, then when you say something on the party line, it will be displayed to you just like everyone else will see it. If it's off, then it won't happen. %{help=die}%{+n} ### %bdie%b [reason] This kills the bot. The bot goes offline immediately, logging who issued the 'die' command. You shouldn't have to use this too often. If you specify a reason, it is logged, otherwise the reason is "authorized by ". eggdrop1.6.21/help/core.help0000664000076600007660000001674111412413270015273 0ustar simplesimple%{help=help}%{-} DCC commands for %B, %V: For all users: %bwho away quit whom%b %bme page match motd%b %bbots newpass chat handle%b %bwhoami echo strip su%b %btrace fixcodes bottree vbottree%b %bbotinfo relay -host%b %{o|o} For ops: %baddlog console match whois%b %{+t} For botnet masters: %b+bot botattr chhandle chpass%b %b+host -bot link chaddr%b %bboot unlink banner dccstat%b %{+m|m} For channel masters: %bchattr save backup reload%b %bstatus traffic uptime%b %{+m} For global masters: %b+user +ignore comment binds%b %bignores -user -ignore dccstat%b %bdebug rehash restart module%b %{+n} For owners: %bdie simul loadmod unloadmod%b %blanguage set tcl rehelp%b %bmodules +lang -lang +lsec%b %b-lsec lstat relang ldump%b %{-} All commands begin with '.', and all else goes to the party line. %{+m} Text starting with ',' is sent ONLY to bot-masters. %{-} You can get help on individual commands: %b'.help '%b. %{+n} Extra help relating to loaded modules may be obtained by typing %b'.help module'%b. Possible modules include: %bassoc channels compress console ctcp%b %bfilesys irc notes seen server%b %bshare transfer uptime wire%b %{-} You may receive a list of commands provided by all loaded modules by using %b'.help all'%b. If you only remember a part of the command's name you are searching for, just use wildcards (e.g. %b'.help *bot*'%b), and all matching help texts will be displayed. %{help=partyline}%{-} %B party-line commands: %b.quit%b Use this command to leave the party line. %b.whom%b [channel] Shows a list of all users on the party line, or on a particular channel. %b.whom *%b Shows a list of all users, indicating which ones are on the party line. %b.chat%b Makes you leave the main partyline channel and join a specific channel (valid channels are 1 to 99999, channel 0 is the party line). %b.me%b Preform an action to the party line. %b.handle%b Changes your nick on party line. %b.help%b Shows more help on a specific command. See '%b.help all%b' for a complete list of commands. All commands begin with '.', and all else goes to the party line. %{+m} Text starting with ',' is sent ONLY to bot-masters. %{help=common}%{+o|o} ### %bcommon (the +c 'common' flag)%b Sometimes a lot of people use IRC from the same account, for example, a public telnet site, where many people can have the same user@host. For that reason, they can't use a traditional user record because they will appear to all be the same user. In such cases, create a user record for the account, and set it +c, or "common access", via the chanset command. Marking it as "common access" means that it shouldn't be used as a definitive address. When someone introduces themselves to the bot (i.e. by /msg "hello") and matches as a +c user, they will be given a new user record which identifies them BY NICKNAME. Obviously, people with that kind of user record shouldn't be given much special access, as when they change nicknames the bot will identify them as someone else. See also: chattr, whois %{help=+lang}%{+n} ### %b+lang%b Adds a new language to the top of the language list. All sections are rechecked to test if there are language files supporting the language. See also: -lang, +lsec, -lsec, lstat, relang %{help=-lang}%{+n} ### %b-lang%b Removes a language from the language list. If possible, the next available language will be loaded. See also: +lang, +lsec, -lsec, lstat, relang %{help=+lsec}%{+n} ### %b+lsec%b
Adds a new language section. The bot tries to load the section with the preferred language if possible. See also: -lang, +lang, -lsec, lstat, relang %{help=-lsec}%{+n} ### %b-lsec%b
Removes a language section. The language bindings are not removed, however. See also: +lang, -lang, +lsec, lstat, relang %{help=lstat}%{+n} ### %blstat%b Shows the language statistics: all selected languages and a list of all language sections. See also: +lang, -lang, +lsec, -lsec, relang %{help=ldump}%{+n} ### %bldump%b Dumps all language data to the partyline. See also: +lang, -lang, +lsec, -lsec, relang, lstat %{help=relang}%{+n} ### %brelang%b Try to find language files with a more preferred language than right now. See also: +lang, -lang, +lsec, -lsec, lstat %{help=tcl}%{+n} ### %btcl%b Executes the specified Tcl command. See doc/tcl-commands.doc for details on Tcl commands added to Eggdrop, and visit http://tcl.activestate.com/ for more information on Tcl. %{help=set}%{+n} ### %bset%b [value] Changes the values of config-file settings of the bot, or, if used without a value parameter, shows the current value of a setting. Any config file setting changed with this command will be reset when the config file is reloaded. Here are the variables that can be modified with this command (note that other modules can add variables): %{cols=4} botnet-nick userfile motd paranoid-telnet-flood my-ip telnet-banner admin use-telnet-banner temp-path notify-newusers owner my-hostname nat-ip dcc-sanitycheck network whois-fields username version firewall telnet-flood ignore-time dcc-flood-thr hourly-updates connect-timeout resolve-timeout dupwait-timeout require-p keep-all-logs open-telnets stealth-telnets handlen reserved-portrange console default-flags log-time timestamp-format max-logsize quick-logs logfile-suffix quiet-save sort-users die-on-sighup die-on-sigterm remote-boots max-socks max-logs protect-telnet ident-timeout share-unlinks allow-dk-cmds userfile-perm switch-logfiles-at %{end} Use %b'.help set '%b for more info on each variable. %{help=all}%{-} ### %bcore%b commands For all users: %bwho away quit whom%b %bme page match motd%b %bbots newpass chat handle%b %bwhoami echo strip su%b %btrace fixcodes bottree vbottree%b %bbotinfo relay -host%b %{o|o} For ops: %baddlog console match whois%b %{+t} For botnet masters: %b+bot botattr chhandle chpass%b %b+host -bot link chaddr%b %bboot unlink banner dccstat%b %{+m|m} For channel masters: %bchattr save backup reload%b %bstatus traffic uptime%b %{+m} For global masters: %b+user +ignore comment binds%b %bignores -user -ignore dccstat%b %bdebug rehash restart module%b %{+n} For owners: %bdie simul loadmod unloadmod%b %blanguage set tcl rehelp%b %bmodules +lang -lang +lsec%b %b-lsec lstat relang ldump%b eggdrop1.6.21/help/cmds2.help0000664000076600007660000004755511620072441015364 0ustar simplesimple%{help=fixcodes}%{-} ### %bfixcodes%b This is for use in situations where the bot gets mixed up about the type of connection you have with it. For example, you /CTCP CHAT the bot and it thinks you are connecting via telnet, and you see text displayed as "Local time is now 17:17" for example instead of "Local time is now 17:17". Use this to turn telnet codes on or off/change the display mode. %{help=ignores}%{+m} ### %bignores%b [wildcard] Shows a list of hostmasks from which the bot is currently ignoring msgs, notices, etc. There are two types of ignores: permanent and temporary. Permanent ignores never automatically expire. You must use %b'.-ignore'%b to remove them. Here is a sample permanent ignore: [ 1] *!*@217.156.44.184 (perm) Wcc: go away Started 523 days ago The number (1) can be used to reference the ignore if you wish to remove it (see %b'.help -ignore'%b). Next is the actual hostmask being ignored. The "(perm)" means that the ignore is "permanent": that is, it doesn't automatically expire. The second line of the ignore entry is the comment ("go away"), and who set the ban (Wcc). The last line shows when the ignore was added. Here is a sample temporary ignore: [ 10] blah!blah@blah.cc (expires in 1 day) Wcc: requested Started 18:02 Here, you see the "perm" in the parentheses next to the hostmask is instead an expire time. This means that the ignore will expire automatically in one day. If you use %b'.ignores '%b, it will list all the ignores that match against your wildcard. See also: +ignore, -ignore %{help=link}%{+t} ### %blink%b [via-bot] Attempts to link a bot to the botnet. The local bot must have a bot record for the remote bot in order for it to be linked (see %b'.help +bot'%b). If you do not set a password on both bots, one will be automatically negotiated the first time they link. If you specify a "via-bot", a request will be sent to that bot to link to "bot-to-link". See also: unlink, +bot, -bot %{help=loadmod}%{+n} ### %bloadmod%b Loads the specified module. See also: modules, module, unloadmod %{help=match}%{+o|o} ### %bmatch%b [channel] [[start] limit] This displays all user records with the attributes requested. "attr" is of the form: <+/->[&/|[&/|]] Specifying "&" as the separator will cause AND style matching. For example: .match +p&o This will match all users with both the "p" global flag and the "o" channel flag on your current console channel. Specifying "|" as the separator will cause OR style matching. For example: .match +p|o This will match all users with either the "p" global flag or the "o" channel flag on your current console channel. If you specify a channel, it will be used instead of the current console channel. For example: .match +p|o #eggdrop This will match all users with either the "p" global flag or the "o" channel flag on the channel #eggdrop. You can also match bot flags. For example: .match +o|o|h This will match all bots with either the "o" global flag, the "o" channel flag on the current console channel, or the "h" botflag. You can also limit the number of total results returned by specifying a limit at the end of the command. A starting point can also be specified. For example: .match +p&o #eggdrop 16 25 This would show results 16 through 25 matching any users with the "p" global flag or the "o" channel flag on #eggdrop. ### %bmatch%b [[start] limit] This displays all user records where the user's handle or any of the user's hostmasks match the specified wildcard string. You can also limit the number of total results returned by specifying a limit at the end of the command. A starting point can also be specified. For example: .match *.edu 16 25 This would show results 16 through 25 matching any users with a hostmask that ends with ".edu". %{help=me}%{-} ### %bme%b Performs an action on the party line. This appears as "* Wcc is leaving", etc. %{help=module}%{+n} ### %bmodule%b [modulename] Reports the names of currently loaded modules, including dependencies and a status report. If you specify a module name, only information on that module will be displayed. See also: modules, loadmod, unloadmod %{help=modules}%{+n} ### %bmodules%b [botname] Displays a list of currently loaded modules. If a botname is specified, the modules currently loaded on that bot will be displayed instead. See also: module, loadmod, unloadmod %{help=motd}%{-} ### %bmotd%b [botname] This redisplays the partyline Message Of The Day, which was shown when you first joined the partyline. If the name of a remote bot is specified, that bot's motd will be displayed instead. %{help=newpass}%{-} ### %bnewpass%b Changes your password on the bot. This is similar to the '/msg pass' command, except you don't need to specify your old password. %{+t} See also: chpass %{help=handle}%{-} ### %bhandle%b Changes your handle on the bot. This is the handle (nickname) that the bot will know you as from this point forward. It is used to log into the bot, and for the /msg IDENT command, etc. See also: newpass%{+t}, chhand, chpass %{help=note}%{-} ### %bnote%b Sends a private note to a user on the partyline. If that user is currently logged in and not marked as away, the message will be received immediately. Otherwise, it will be stored and displayed the next time that user joins the partyline. To send a note to someone on a different bot, add "nick@bot" to the nickname. See also: whom, notes %{help=page}%{-} ### %bpage%b This allows you to slow down the number of lines the bot sends you at once via the partyline. When enabled, any commands that send greater than the specified number of lines will stop when that number is reached and wait for you to type another command (or press enter) to continue. If you have too many pending lines, you may be booted off the bot. %{help=quit}%{-} ### %bquit%b [comment] This disconnects you from the partyline. If you specify a comment, it will be displayed to other partyline users as you leave. %{help=rehash}%{+m} ### %brehash%b Reloads the bot's config file, which resets all changes made via the %b'.set'%b command and reloads any Tcl scripts your config loads. It also saves and reloads the user file from disk, just to give it some exercise. See also: save, reload, restart%{+n}, rehelp, relang %{help=rehelp}%{+n} ### %brehelp%b This command forces the bot to recheck all of its help files for changes. See also: save, reload, restart, relang %{help=relay}%{+o} ### %brelay%b Relays you via telnet to another bot, whether or not it is currently linked. The local bot must, however, have a bot record for the bot you wish to relay to. Typing .quit or "*bye*" on a line by itself will end the relay. See also: bots%{+t}, +bot, -bot %{help=reload}%{+m|m} ### %breload%b Reloads the bot's user file, discarding any changes made since the last %b'.save'%b command or hourly user file save. Sharebots should probably never do this. See also: save%{+m}, rehash %{help=traffic}%{+m|m} ### %btraffic%b Shows total and daily net traffic stats since the last %b'.restart'%b. Stats groups are IRC, Botnet, Partyline, Transfer.mod and Misc. %{+m} See also: restart %{help=whoami}%{-} ### %bwhoami%b Shows your current handle and to what bot you are connected. See also: whom %{help=restart}%{+m} ### %brestart%b Restarts the Tcl interpreter, wipes all timers, reloads all modules, and reloads the config file for the bot (which resets any changes made via the %b'.set'%b command and reloads any Tcl scripts your config loads). As with the %b'.rehash'%b command, it also saves and reloads the user file from disk. See also: rehash, reload, save %{help=save}%{+m|m} ### %bsave%b This makes the bot write its entire userfile to disk. This is useful if you think the bot is about to crash or something, since the user file is only written to disk about once an hour. See also: reload, rehash, backup %{help=simul}%{+n} ### %bsimul%b This allows you to simulate the specified handle typing the given text. For example: .simul dweeb .quit This would appear just as if "dweeb" typed ".quit". This command will not work unless eggdrop has simul enabled in the config file. Please use this command ethically. %{help=strip}%{-} ### %bstrip%b [modes] Allows you to remove embedded 'attribute' codes your partyline output. Valid options are: %bb%b - remove all boldface codes %bc%b - remove all color codes %br%b - remove all reverse video codes %bu%b - remove all underline codes %ba%b - remove all ANSI codes %bg%b - remove all ctrl-g (bell) codes The mode can also be a modifier like '+c' or '-bu' or '+ru-c'. If you omit modes, it will show your current setting. See also: fixcodes %{+m} ### %bstrip%b [modes] Set the strip level of another user. A master can't set their own strip flags without prefixing the modes with a '+' or '-'. %{help=su}%{-} ### %bsu%b Lets you assume the identity of another user. If you are a global owner, this does not require a password. Otherwise, you will be asked for the user's password. %b.quit%b returns you to your original handle. %{help=trace}%{+t} ### %btrace%b Sends out a trace signal to another bot. If/when the trace signal returns, (and it should!) you will get an output that looks something like this: Trace result -> Valis:Stonewall:NoBoty:SomeBoty This is a list of the bots connected between you and the destination bot. It should also return the time in seconds taken for the trace to occur. See also: bots, bottree, vbottree %{help=unlink}%{+t} ### %bunlink%b This disconnects the specified bot from the botnet (assuming it was linked in the first place). Some bots (sharebots in particular) might not allow you to unlink them. If "*" is specified as the parameter, all bots will be unlinked. See also: link, +bot, -bot, bots, bottree %{help=unloadmod}%{+n} ### %bunloadmod%b Unloads the specified module. See also: modules, module, loadmod %{help=whom}%{-} ### %bwhom%b [channel/*] Displays a list of users on the current partyline channel. For example: [23:12] #Wcc# whom Nick Bot Host ---------- --------- -------------------- *Wcc Anakha telnet@xxx.atlaga.adelphia.net [idle 8m] *Blah Anakha telnet@xxx.atlaga.adelphia.net Total users: 2 Each user's nickname will be listed in the first column, preceded by a "*" if they are a bot owner, "+" if they are a master, "%%" if they are a botnet master, or "@" if they are an op. In the next column, the bot the user is connected to will be displayed. In the third column, the host is shown. If the user is away, the away message will be shown. Likewise, if they are idle, their idle time will be displayed. To see what users are on a different channel, you may specify a channel number/name. If you specify "*" as the channel, all users on all botnet channels will be shown. See also: who, bots, chat %{help=who}%{-} ### %bwho%b [bot] Displays a list of users on the local bot. For example: [23:21] #Wcc# who Party line members: (* = owner, + = master, @ = op) *Wcc telnet@xxx.atlaga.adelphia.net (idle 17m) *Wcc telnet@xxx.atlaga.adelphia.net Bots connected: -> wortel (05 Dec 16:32) eggdrop v1.6.15 The first section is people on your current channel (the party line, if you haven't changed channels) who are on the bot. A '*' will precede the handle if they are a bot owner, "+" if they are a master, "%%" if they are a botnet master, or "@" if they are an op. The user's nickname, hostname, and possibly an idle time and/or away message will be displayed.%{+n} Owners will also see the user's dcc idx.%{-} The next section is bots directly linked to the current bot. The arrow indicates which bot initiated the connection. The right arrow means this bot connected to wortel. A left arrow means the remote bot linked to this bot. A '+' next to the arrow indicates that the bot is sharing userfiles with us. The connection time (05 Dec 16:32) and bot version are also shown, as well as what is specified under "network" in the config file.%{+n} Owners will also see the bot's dcc idx.%{-} The final section (not shown in example above) is a list of users on the local bot who are not on your channel. This will be omitted if there are no users on other channels. If you specify the name of a remote bot, for example %b'.who valis'%b, the who request will be sent to that bot instead. The remote bot must be linked to the botnet. %{+m} Masters may also see "(con )" after a user's entry, which shows the user's console flags/modes (see %b'.help console'%b). In the final section (users that aren't on the current channel), masters will see the actual channels other users are on. Also, people in the filesystem will be listed (as being in channel "files") if the filesys module is loaded. A '+' next to the nickname here means the user has access to return to the party line. %{-} See also: whom %{help=whois}%{+o|o} ### whois Shows you stored information about a user record. Five headings are displayed: %bHANDLE%b - the handle (nickname) of the user %bPASS%b - "yes" if she has a password set; "no" otherwise %bNOTES%b - number of stored notes waiting for the user %bFLAGS%b - the list of flags for this user (see below) %bLAST%b - the time or date that the user was last on the channel Valid global flags: %ba%b - autoop (user is opped automatically upon joining any channel) %bb%b - bot (user is a bot) %bc%b - common (see %b'.help common'%b) %bd%b - deop (user cannot gain ops in any channel) %be%b - nethack-exempt (user is exempted from stopnethack protection) %bf%b - friend (user is not punished for flooding, etc on any channel) %bg%b - autovoice (user is voiced automatically upon joining any channel) %bh%b - highlight (use bold text in help/text files) %bj%b - janitor (user is a file-area master) %bk%b - autokick (user is kicked and banned automatically) %bl%b - halfop (user has halfop access to all of the bot's channels) %bm%b - master (user has access to almost every feature of the bot) %bn%b - owner (user has absolute control over the bot) %bo%b - op (user has op access to all of the bot's channels) %bp%b - party-line (user has access to the partyline) %bq%b - quiet (user cannot gain voice on any channel) %br%b - dehalfop (user cannot gain halfops on any channel) %bt%b - botnet master (user has access to features related to the botnet) %bu%b - unshared (user's user record is not sent to other bots) %bv%b - voice (user gets +v automatically on +autovoice channels) %bw%b - wasop-test (needs wasop test for +stopnethack procedure) %bx%b - xfer (user has filesystem access) %by%b - autohalfop (user is auto-halfopped upon joining any channel) %bz%b - washalfop-test (needs washalfop test for +stopnethack procedure) There are also 26 user-defined global flags (A-Z). Users can also have flags specific to a channel: %ba%b - autoop (user is opped automatically upon joining the channel) %bd%b - deop (user cannot gain ops on the channel) %be%b - nethack-exempt (user is exempted from stopnethack protection) %bf%b - friend (user is not punished for flooding, etc) %bg%b - autovoice (user is voiced automatically upon joining the channel) %bk%b - autokick (user is kicked and banned automatically) %bl%b - halfop (user has halfop access to the channel) %bm%b - master (user is a channel master) %bn%b - owner (user is a channel owner) %bo%b - op (user has op access to the channel) %bq%b - quiet (user cannot gain voice on the channel) %br%b - dehalfop (user cannot gain halfops on the channel) %bv%b - voice (user gets +v automatically if the channel is +autovoice) %bw%b - wasop-test (needs wasop test for +stopnethack procedure) %by%b - autohalfop (user is auto-halfopped upon joining the channel) %bz%b - washalfop-test (needs washalfop test for +stopnethack procedure) There are also 26 user-defined channel flags (A-Z). Hostmasks for the user are displayed on the following lines. If the user is a bot, there will be a line below which says "ADDRESS:" and gives the bot's telnet address. Some user entries may have "EMAIL:" and "INFO:" entries too. There may be additional information displayed depending on the modules loaded, such as filesys and console. For bots, there are additional flags seen under the "BOTATTR:" section. Valid botflags include: %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) %bl%b - leaf (bot is not allowed to link other bots onto the botnet) %br%b - reject (bot will not be allowed to link to the botnet) %bi%b - isolate (isolate the party line across a botlink) There are also 10 user-defined bot flags (0-9). Bots may also have +s (share) settings for individual channels. %{+m} Masters: if the user has a comment, you will see it under "COMMENT:".%{-} See also: match, who, whom%{+m|m}, chattr%{+t}, botattr %{help=status}%{+m|m} ### %bstatus%b ### %bstatus all%b Displays a condensed block of status information about the bot. is running. For example: [01:15] #Wcc# status I am Anakha, running eggdrop v1.6.16+stripping: 171 users (mem: 315k) Online for 14 days, 02:50 (background) CPU 71:29 cache hit 40.3% Admin: Wcc Config file: eggdrop.conf OS: FreeBSD 4.8-RELEASE-p1 Tcl library: /usr/local/lib/tcl8.4 Tcl version: 8.4.2 (header version 8.4.2) Loaded module information: Channels: #|DAWG|Net, #|DAWG|Tcl Online as: D|Anakha!wcc@cia.nu (|DAWG|Anakha - |DAWG|Net) Server irc.inet.tele.dk:6667 (connected for 11 days) #|DAWG|Net: 6 members, enforcing "+istn" (lurking) #|DAWG|Tcl: 42 members, enforcing "+tn" (lurking) The first line tells you the bot's name, what version of Eggdrop it's running, the number of users the bot has records of, and the amount of memory being used by the userfile. The second line tells you the uptime of the bot, CPU time, and cache hit. The third shows the bot's admin, and the forth shows its current config file. The fifth line shows what operating system the bot is running on. The next two lines show Tcl information. If debug mode is enabled, additional info may be shown. Sharing information will also be shown if it's being used. Select information from modules will be displayed after the core information. If you use %b'.status all'%b instead, you will see all status information available from loaded modules. See also: channel%{+n}, set%{+m}, debug %{help=uptime}%{+m|m} ### %buptime%b Displays the bot's current uptime. See also: status %{help=vbottree}%{-} ### %bvbottree%b Shows a tree-format diagram of the bots and their Eggdrop version currently on the botnet. If 2 bots are sharing, a + will be indicated, or a ? if nothing is known. See also: bots, botinfo, bottree eggdrop1.6.21/help/set/0000775000076600007660000000000011651664652014274 5ustar simplesimpleeggdrop1.6.21/help/set/cmds1.help0000664000076600007660000003111611412413270016136 0ustar simplesimple%{help=set botnet-nick}%{+n} ### %bset botnet-nick%b If you want to use a different nickname on the botnet than you use on IRC (i.e. if you're on an un-trusted botnet), set this setting to the nick you would like to use. %{help=set userfile}%{+n} ### %bset userfile%b Specify here the filename your userfile should be saved as. %{help=set motd}%{+n} ### %bset motd%b The MOTD (Message Of The day) is displayed when people dcc chat or telnet to the bot. Look at doc/TEXT-SUBSTITUTIONS for options. %{help=set telnet-banner}%{+n} ### %bset telnet-banner%b This banner will be displayed on telnet connections. Look at doc/TEXT-SUBSTITUTIONS for options. %{help=set admin}%{+n} ### %bset admin%b This setting defines which contact person should be shown in .status, /msg help, and other places. You really should include this information. %{help=set temp-path}%{+n} ### %bset temp-path%b Set here a place to store temporary files. %{help=set notify-newusers}%{+n} ### %bset notify-newusers%b Who should a note be sent to when new users are learned? %{help=set owner}%{+n} ### %bset owner%b This is a list of owners of the bot. %{help=set my-hostname}%{+n} ### %bset my-hostname%b Set this if Eggdrop has trouble detecting its hostname. %{help=set my-ip}%{+n} ### %bset my-ip%b If you're using virtual hosting (your machine has more than 1 IP), you may want to set this to a particular IP to bind to. %{help=set nat-ip}%{+n} ### %bset nat-ip%b If you have a NAT firewall (you box has an IP in one of the 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. 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, 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 botnet. Set this to the IRC network your bot is connected to. %{help=set whois-fields}%{+n} ### %bset whois-fields%b Enter all user-defined fields that should be displayed in a '.whois'. This will only be shown if the user has one of these extra fields. You might prefer to comment this out and use the userinfo1.0.tcl script which provides commands for changing all of these. %{help=set username}%{+n} ### %bset username%b This setting defines the username the bot uses on IRC. This setting has no effect if an ident daemon is running on your bot's machine. %{help=set version}%{+n} ### %bset version%b Current bot version - "1.1.2+pl1 1010201 pl1"; first item is the text version, second item is a numerical version, and any following items are the names of patches that have been added. %{help=set firewall}%{+n} ### %bset firewall%b Set this to your socks host if your Eggdrop sits behind a firewall. If you use a Sun "telnet passthru" firewall, prefix the host with a '!'. %{help=set telnet-flood}%{+n} ### %bset telnet-flood%b Define here how many telnet connection attempts in how many seconds from the same host constitute a flood. The correct format is Attempts:Seconds. %{help=set paranoid-telnet-flood}%{+n} ### %bset paranoid-telnet-flood%b <0/1> If you want telnet-flood to apply even to +f users, set this setting to 1. %{help=set ignore-time}%{+n} ### %bset ignore-time%b