- Loosely based on joyent/pkgsrc/pull/38 by ismell@.
- Removed the static build option as it didn't work at all.
Eggdrop v1.8.3
Tcl-API changes:
- Added "handle ipaddress botport userport" syntax to the addbot Tcl
command.
General changes:
- Fixed a bug where ssl-enabled ports were not able to be reverted to
non-SSL ports via the setuser Tcl command.
- SSL certs: Fail earlier if SSL certs have issues. Also fatally error
if only one of ssl-privatekey/certificate config settings is set.
- Correctly check against invalid flags with the .match partyline
command and matchattr Tcl command.
- Prevent loop when writing to stdout in foreground mode that results
in a segfault.
- Lots of additional error checking against values for .+bot, .chaddr
and the Tcl addbot command.
- No longer trigger CHON binds when returning from a control script.
- Added the '.resetconsole' command, allowing a user to reset console
flags to those specified in the config file.
Botnet changes:
- Added the 'l' console flag to handle messages sent from linked bots,
reserving the 'b' console flag to handle messages related to botnet-
linkings.
- Split the "raw share traffic" flag into incoming (h) and outgoing (g).
- Fixed a race condition in SSL userfile sharing, causing the transfer
to stall with 511 bytes missing.
- Fixed a bug introduced in v1.8.2 with copy-to-tmp, where the userfile
being received is now properly being sent to a tmpfile first if
copy-to-tmp is set.
- Botnet sharing: A slave will now use the address of the hub (to
which it's succesfully connected) instead of an IP given by the hub
which was wrong in certain cases (especially in NAT situations).
- Bots request existing channel flags for users upon adding a new
channel.
Deprecations:
- Deprecated the "ipv4address:botport/userport" and
"[ipv6address]:botport/userport" address formats for addbot.
Eggdrop v1.8.2
eggdrop.conf changes:
- temp-path renamed to tmpfile and its purpose changed.
It is now only used by filesys.mod/transfer.mod and optional.
- blowfish-use-mode is a new setting for Tcl encrypt/decrypt.
Allows using CBC instead of ECB mode for encryption.
Tcl scripts not using the same mode are incompatible with each other.
Does NOT affect password hashing for the userfile.
CBC will be the NEW DEFAULT in a later version of eggdrop.
Will be removed in a future Eggdrop version and forced to CBC.
- global-* is renamed to default-*.
This clarifies their purpose as default channel settings,
not ones that override for existing channels.
global-* still works for backwards compatibility.
Tcl-API changes:
- encrypt/decrypt: These commands can now encrypt/decrypt in CBC
mode instead of the current ECB mode. This does NOT affect password
hashing for the userfile.
- getuser: Can now be called without a second argument. Returns a flat
key/value list (dict) of settings for that user.
- configureargs: New global variable holding the ./configure arguments.
This is a _string_, not a list. User needs to split it themselves.
- maskhost: New types 30-39 set hostmask to * (to allow e.g. nick!*@*).
General changes:
- Improved command line argument parsing.
- Portuguese language file added.
- Eggdrop no longer changes nick on every rehash if altnick uses '?'.
- Terminal-mode (commandline -nt) always has full owner access now.
- Allow spaces in server passwords in serverlist.
Eggdrop v1.8.1
- Autobotchk - Added functionality improvements to the tried-and-true
autobotchk script, allowing characters such as {} and [] to be used in
filenames
- .who linkedbot output - Truncates listings appropriately
- Minutely hook - The minutely hook was only called for missed minutes mod
60, now it is still listed in minutes but it can be greater than 60.
- New OpenSSL version detection
- Moved previously hard-coded version strings to
version.h and update them via misc/setpatch instead of misc/addpatch
- Compile cleanup - Fixed some compiler warnings
- General bugfixes
Eggdrop v1.8.0
- Support for utf-8 encoding with a fallback of iso8859-1
- Support for IPv6
- SSL support has been added for all kinds of connections, including
certificate verification and authorization, and partyline SSL.
- The wire module has been removed from eggdrop
- Config file changes: e.g. my-ip and my-hostname settings are replaced
by vhost4, vhost6 and the listen-addr.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
Problems found with existing distfiles:
distfiles/icb-5.0.9.tar.gz
distfiles/icb.2.1.4.tar.Z
distfiles/zenicb-19981202.tar.gz
No changes made to these /distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
- 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