$Id: Changes1.1,v 1.1.1.1 2010/07/26 21:11:06 simple 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