- Added CIDR support to eggdrop. This includes accepting and matching b/e/I
masks and user hosts in cidr notation.
- Added a msg-rate config variable, to replace the current #define msgrate
in server.mod.
- Replaced most dns.mod preprocessor definitions with config variables.
- Added a configure option to set the handlen while keeping compatibility with
the older method of editing eggdrop.h directly.
- Explicitly offer both --enable-tcl-threads and --disable-tcl-threads
configure options that can forcefully enable or disable threaded Tcl
library support.
- Fixed a remote DoS in the CTCP parsing code introduced by the servmsg.c
buffer overflow patch by Nico Golde.
Reference: CVE-2009-1789
- Work around Tcl8.5.10 bug 3371644 (strings starting with # could crash
in Tcl_ConvertElement()).
- tcl_maskhost could crash the bot.
- Fixed a potential crash in read_lang() with lines > 512 characters in
language files. Added support for lines of unlimited size.
- Fixed dns.mod SIGBUS crashes on 64-bit Sparc.
- Fixed a crash when restarting, related to bind log.
Eggdrop Changes
1.6.19+ctcpfix (14 May 2009):
- Fixed another bug in the CTCP parsing code introduced by the servmsg.c
buffer overflow patch in 1.6.19.
* Patch by: thommey
1.6.19 (18 April 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 to handle the PONG :<cookie> junk on some EFnet servers
* Patch by: [sL], guppy
- add a simple TCL to handle the PASS <numbers> junk on some Undernet
servers
* Patch by: guppy
- add support for chanmode +T
* Patch by: Thomas "thommey" Sader
- CTCP parsing was broken by the servmsg.c buffer overflow patch
* Patch by: Thomas "thommey" Sader
- Fixed a couple of typos in the FEATURES file.
* Patch by: Tomas Szaniszlo
- Fixed two buffer overflows in servmsg.c (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
While here, fixes PR 30307, ipv6 option isn't supported since version 1.6.16.
1.6.18 (09 July 2006)
* Look for Tcl in /lib64 and /usr/lib64.
* Patch by: Kuja
+ RC1 released on April 3rd, 2006.
* Fixed a type conversion problem in snprintf.c causing Eggdrop to not
compile on OSF1.
* Found by: Joker - Patch by: Wcc
- Detect NetBSD Tcl in /usr/pkg/lib and /usr/pkg/include.
* Found by: mish - Patch by: Wcc
- Fixed possibility of referencing a NULL pointer in rembot().
- Added a missing param cast for dcc_table.timeout.
- Fixed a memleak / other nasty stuff when MODES_PER_LINE_MAX != 6.
- Fixed putlog() of an uninitialized (and incorrect) variable in
dcc_telnet_hostresolved().
* Patch by: lordares
- Valgrind doesn't bitch about init_uptime() now.
* Patch by: Wcc
- Dns.mod should compile on Mac OS X now. Thanks to Netscrape @ EFNet for
testing.
* Found by: various - Patch by: Wcc
- Corrected nat-ip setting documentation.
* Found by: BarkerJr - Patch by: Wcc
- Don't allow realname to be blank or whitespace.
* Found by: Jesse M - Patch by: BarkerJr / Wcc
- Fixed an error in channel get. You can now, correctly, do a channel
get #channel stopnethack-mode.
* Found by: Chris Northwood - Patch by: Wcc
- The pushmode command should work properly for bans now.
* Patch by: thommey
- Apparently we broke lastbind.
* Found by: bUrN - Patch by: thommey
- Request topic on channel reset.
* Found by: De Kus - Patch by: Darko
- Fixed a situation where noshare could be set to 1 and never
restored.
* Patch by: lordares
- Fixed a socklist leak in net.c.
* Patch by: lordares
- Hopefully fixed dns lockups.
* Found by: various - Patch by: Sven Trenkel
- Fixed remote note bug in add_note() that was introduced in 1.6.17.
Fixes Bugzilla Bug # 433 "Remote Notes Always Say User is Offline"
* Found by: alex323 - Patch by: Tothwolf
- Completely rewrote check_tcl_bind().
- Added inline check_bind_flags() for flag checking for check_tcl_bind().
- Added inline check_bind_match() for match checking for check_tcl_bind().
- Rewrote trigger_bind() and made it inline for check_tcl_bind().
- Fixed pointless calling of nmalloc() and nfree() for ContextNote
in trigger_bind() when DEBUG_CONTEXT isn't defined.
- Moved findidx() from tcl.c to dccutil.c.
- Moved findanyidx() from tclhash.c to dccutil.c.
- Moved CHECKVALIDITY from tclhash.h to tclegg.h.
- Added CHECKVALIDITY checks to builtin_dcc() and builtin_fil().
- Moved CMD_LEAVE from cmdt.h to tclegg.h.
- Changed NULL to CMD_LEAVE for partyline quit in cmds.c.
- Renamed BIND_EXEC_BRK to BIND_QUIT.
- Fixed misc typos.
* Patch by: Tothwolf
- Added support to MSGM, PUBM, NOTC, and WALL binds to support bound
procs returning 1 to prevent logging of the trigger message text.
Fixes Bugzilla Bug # 334 "msgm bind return values"
- Added BIND_STACKRET bit mask and support for stacked bind return values
to check_tcl_bind(). This allows check_tcl_bind() to check if any
stacked bound procs return 1 while allowing all matching stacked binds
to be processed. Previously if BIND_WANTRET was used to check the
return value of stacked binds, only the first match would be triggered.
- Modified irc.mod gotmsg() function to trigger PUBM binds before
triggering PUB binds. MSGM and MSG binds already worked this way.
- Modified irc.mod gotmsg() function to allow a message to trigger both
PUBM and PUB binds. Previously if a message triggered a PUB bind, any
PUBM binds that might match the message text would not be triggered.
Fixes Bugzilla Bug # 351 "bind pub hogs pubm"
- Added exclusive-binds setting and code to gotmsg() functions to
allow MSGM and PUBM binds to be exclusive of MSG and PUB binds.
- Fixed logging for WALL bind. It had been broken since it was
originally implemented in eggdrop-hayes. Wallops messages were always
logged regardless of the return value of a bound proc. Returning '1'
from a bound proc now causes Eggdrop to not log the Wallops message.
* Patch by: Tothwolf
- Check for Tcl 8.5 before older versions.
* Patch by: Tothwolf
- Use flagrec_eq() instead of flagrec_ok() in help_subst()
since lower flags are automatically added now.
* Patch by: Tothwolf
- Check for bot's nick and user@host earlier in detect_flood()
and detect_chan_flood().
* Patch by: Tothwolf
- Allow wildcard matching and stacking for note binds.
* Patch by: Tothwolf
- Use CHANMETA to define valid channel prefixes in gotmsg().
* Found by: zathras3 at hotmail.com - Patch by: Wcc
- Fix for problems created when loading long user-defined channel setting
names from the channel file.
* Patch by: Stream
- Help file update related to sharing.
* Patch by: Shawn888, slennox
- Fix for randint() on Solaris / SunOS.
* Patch by: Mikael Hedberg
- Updated Copyright Dates.
* Patch by: Paladin
- Fixed 3 invalid reads in notes.c.
* Patch by: rush at winkey.oompah.org
- Corrected a few of the error messages in neterror().
* Found by: Steven Nikkel - Patch by: Wcc
- Corrected the order of our search paths for Tcl. This should help stop
version mismatches between the headers and libraries.
* Patch by: CoderX2
and to support the "inet6" option instead.
Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files. Replace:
BUILD_DEFS+= USE_INET6
with
BUILD_DEFS+= IPV6_READY
and teach the README-generation tools to look for that instead.
This nukes USE_INET6 from pkgsrc proper. We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
fixing the following issues:
- chat/eggdrop builds without zlib support on systems without
native zlib support.
- chat/eggdrop compiles without modules on platforms where it
does not explicitly know to support them, missing a few items for PLIST
- Lots of doc updates.
- Added a "stripcodes" Tcl command. See doc/tcl-commands.doc for more
information.
- Bot idx's should be considered valid to tcl_valididx.
- Always try to detect shared Tcl libraries before static ones.
- We now correctly differentiate the +l user flag from the +l bot flag.
- Cleaned up modules.c and the module configure stuff quite a bit.
- 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.
- We now support module loading under Darwin (Mac OS X) and NeXT Step.
- Don't try to call tcl_notes if the notes module isn't loaded.
- Show a more descriptive error message when a listen socket can't be opened.
- Fixed Tcl encoding issues with .tcl and .set.
- Added a set of Finnish language files and a Finnish MOTD.
- time_t isn't unsigned, and therefor %lu should not be used as a
conversion specifier.
- Fixed a gcc warning in dcc.c.
- Added support for Quakenet channel modes.
- Removed an invalid killsock() in dcc.c.
- Fixed extra spaces being written to chan file.
- Reworked 'make config' / module configure process.
- Op (+o) implies halfop (+l) now.
- Cleaned up and optimized rmspace() and fixfrom().
- Updated recomended Tcl version to 8.4.6.
- 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.
- Remove some unneeded casts.
- Fixed performance issues with mv/cp when a lot of files are in the
file area.
- Typo in doc/COMPILING-FAQ. It's LD_LIBRARY_PATH, not LB_LIBRARY_PATH.
- Fix a possible issue with ident code.
- Don't let .tcl mkdir create duplicate filedb entries.
- Fixed a compile error related to varargs when using old Tcl versions.
- Fixed a compile error on systems that don't have socklen_t.
- Suppress configure warnings on systems that use newer versions of GNU
coreutils.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
which are the full option names used to set rpath directives for the
linker and the compiler, respectively. In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath. The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use. They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively. Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
Changes:
- use tar.bz2 distfile
- install documentation in proper locations
- install more docs
- fix PLIST for NOPIC and USE_INET6
- DESCR has 80 columns
1.6.15:
=======
- Support for the IPv6 protocol.
- Many bugfixes related to the transfer and filesystem modules.
- Several more functions have been exported for use by module coders.
- Updated UnderNet's max bans to 45, and EFnet's to 25.
- The nick bind is now triggered even if the nick is not on any channels
(ie if the bot's nick changes before it's on a channel).
- Removed strict-servernames -- $server is now always the server's realname
and $serveraddress is it's server list entry.
- Merged use-console-r and debug-output into one new setting named raw-log.
- Updated recommended Tcl version to 8.3.4.
- User-punishing and tcl_maskhost nor use matching banmasks regardless
of strict-host.
- Updates to the 'autobotchk' script.
Patches provided by Sergey Svishchev <svs+pr at grep dot ru> in PR pkg/19869.
Changes:
1.6.13 (22 November 2002)
=========================
- doc/MODULES updates
- fixed utf-8 handling for config file strings (such as realname)
- added a proc to alltools that returns the ordinal number
for a number
- added support for EMFILE (errno 24 - Too many files open)
in neterror()
- fixed the list format returned by tcl_channel_info()
- don't ban users when not going to kick in refresh_ban_kick()
- added a stacking limit for fastdeq
- made the modes-per-line limit definable in src/chan.h
- [ban/exempt/invite]-time were not being saved to the channel file
- halfops were not honored in flush_modes()
- fixed cosmetic problems with logging in some irc module commands
- exported tell_bottree() to modues
- optimized logging functions
- removed eggdrop.advanced.conf and eggdrop.simple.conf
- adding a missing killsock and lostdcc in eof_dcc_send() and
eof_dcc_get()
- fixed the logic in check_this_member()
- made the timestamp style definable in src/eggdrop.h
- added a missing return in bot_actchan()
- fixed a problem with 'connect' and 'control' where the script
would abort prematurely
- don't "want ops" in modeless (+) channels
- tell the user to set 'my-ip' when hostname self-lookup fails
- improved access checking in -host/+host
- fixed a possible buffer overflow in raw_dcc_resend_send()
- fixed a missing escape in some regexps in misc/modconfig
- channel set #chan chanmode $var corrupted $var in Tcl8.x
- don't log "joined #chan but didn't want to" in certain cases where
the channel was newly removed or set inactive
- cosmetic changes to share_stick_[exempt/invite/ban]
- msg_key and msg_invite did not work properly for !channels
- show the number of hops in .trace's output
- use the proper dynamic lib extention on Mac OSX
- return 5 from dccsend if the file exists in the temp directory and
copy-to-tmp is enabled
- fixed a possible exploit in reaffirm_owners()
- friends/ops/bots are now correctly unbanned when a ban is set on a
- channel that matches their host
- compile fix for systems that do not support snprintf()
- 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
- removed names parsing, as it causes many problems and was only
added for compatability with an old version of unrealircd
- more broken dprintf's in irc commands
- fixed a broken dprintf in cmd_kick()
- made [ban/invite/exempt]-time a channel int
- documentation updates related to the PUBM bind
1.6.12 (26 July 2002)
=====================
- reverted the sockfix patches from 1.6.11
1.6.11 (26 July 2002)
=====================
- need-[limit/invite/unban/key] work now
- fixed a problem with 'connect' and 'control' where the script would abort
prematurely
- improved the logic in cmd_mnsban when specifying what happen to remove and
where to remove it from
- fixed cmd_kickban so it works
- fixed a bug causing "[HH:MM] !!! OVER MAXIMUM <queue> QUEUE" to be
- logged to LOG_SVROUT
- log PINGs/PONGs sent to the server in LOG_SVROUT
- some small changes to make eggdrop work with tcl8.4b1 (it won't work with
tcl8.4a1 or a2 anymore though)
- fixed a crash while doing .kickban -nick
- the return values of uname() are now properly checked
- added handlen friendly code to various commands (this is a new patch to
replace the handlen friendly patch reverted in 1.6.10
- don't show +inactive channels in a remote .who
- changed the .status output a bit (includes the name of the config file
now)
- msg_whois should require an argument.
- added support for halfops (channel mode +h)
- don't allow channels containing commas to be added..
also made an error message more clear
- updates to doc/MODULES
- more doc updates
- fix for !channels when people quit or change nicks
- made all the commands use CHANMETA instead of hardcoding channel types
- added 'channel get <chan> <setting>' (backported from 1.7)
- uptime.mod will not unload now once loaded (this prevents you from
losing your stats on a .restart .. to remove, you have to .die)
- uptime.mod now sends the proper pid and also won't send garbage if
the bot currently isn't on a server
- updated slennox's sentinel.tcl to the latest version
- added support for +r on Undernet's ircu 2.10.11
- fixed a crash in seen.mod with long channel names
- added support for the +C channel mode (noctcp) on QuakeNet's ircu