Changes in eggdrop:
""""""""""""""""""
v1.0p  [16mar97]

* kickban reasons are now being included in the kick
* kickban will now let owner's kickban anyone, and masters can kickban ops
* 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 ernesto baschny]
  [patch by robey pointer]
* botnet routing has been changed, no longer bothers sending out botnet
  commands to bots that don't exist  [patch by cmwagner]
* added 'restart' command, this may cause some problems  [patch by cmwagner]
* long nickname mask in whois command caused bot to crash
  [found by ernesto baschny]  [patch by cmwagner]
* downlink can no longer unlink uplink and cause a nasty amount of noise
  on the botnet  [found by eraseme]  [patch by cmwagner]
* long filename in dcc send caused bot to crash  [found by mike hammarin]
  [patch by cmwagner]
* sharebots aborting xfers would cause the bot to kill off the wrong
  socket  [patch by cmwagner]
* space before ctcp commands would be stripped off, could be used to detect
  eggdrop bots  [patch by cmwagner]
* when rehashing and the bot was using the alternate nickname it would
  result in the bot thinking the nickname was in use and changing it
  [found by seth]  [patch by cmwagner]
* party line wasn't being updated when attributes were being changed
  [found by imoq]  [patch by cmwagner]
* topic command was not letting users change the topic on a non +t
  channel when the bot was opless  [found by deathhand]  [patch by cmwagner]
* users were not being deopped when channel is set +revenge and they
  deop  [found by deathhand]  [patch by cmwagner]

v1.0o  [04feb97]

* solaris sigaction thingy fixed  [patch by dunk]
* 'kick'/'kickban' won't kick other channel bots  [suggested by mikael
  hammarin]
* ctcp quoting removed (eggdrop was the only client that correctly did it
  according to the ctcp-1 spec -- the new ctcp-2 quoting will be introduced
  once the ctcp-2 draft is finalized in a month or so)  [patch by butchbub]
* server renaming was case sensitive and could sometimes cause a crash
  (fixed)
* small bug in DEBUG_TCL (fixed)  [patch by poptix]
* other bots can't use msg 'ident' command

v1.0n  [06jan97]

* moved to GNU GPL licensing
* ctcp extraction from privmsg improved  [patch by os2warp@invlogic.com]
* nick flood was broken (fixed)  [patch by mrwizard]
* mirc ctcps and colors stripped from party-line chatter
* ctcp behaves paranoidly by popular demand
* changing the nick of a directly-connected bot could befuddle the dcc
  tables (fixed)  [found by beldin]
* some servers apparently give broken pong replies (copes with it now)
* won't reverse -b modes if they weren't bot-protected bans
* 'chnick' wouldn't let you change capitalization (fixed)  [found by xerxes]
* '+bot' will not let spaces be part of the address any more  [suggested by
  vince@who.net]
* turns control characters into '?' in a password
* was letting users change nicks to the bot's nick (fixed)  [found by dan
  anatol]
* 'init-server' is delayed until 001 numeric is received from the server
  [suggested by troy davis]
* 'ispermban' tcl command wasn't working (fixed)  [found by void]
* wouldn't correctly finish the nick scroll when it couldn't get any nick
  (fixed)  [found by void]
* '.topic' was sometimes refusing to change the topic when the bot wasn't
  op'd, even if the channel was not +t (fixed)  [found by james colton]
* +c common users were not able to use 'hello' msg command (code was all
  gibberish) (fixed)  [found by aaron zollman]
* GNU configure file updated to handle tcl 8.0  [patch by tom rini]
* +secret/-secret channel settings weren't listed in sample config file
  (fixed)
* remote 'who' requests to unknown bots are no longer broadcast  [patch by
  cmwagner]
* initial ban checking would try to de-ban a number instead of a detested
  ban (fixed)  [found by jesse schachter]
* console.tcl will filter out c/x/r/o/d/1-5 console modes for non-masters
* console modes weren't removed when a user's +m flag was removed and he/she
  was still online (fixed)  [found by eraseme]
* compile-time option to allow lowercase ctcps
* nick flood protection streamlined and no longer kicks the same user 
  multiple times  [patch by mike mclagan]
* better checking of recently-placed bans (to avoid constantly refreshing
  a group of bans that are under a minute old and probably pending in the
  queue)  [patch by mike mclagan]
* some changes to support Cygnus Windows/NT environment  [patch by darkshde/
  blap]
* ctcp flood sent directly to the bot wasn't getting completely ignored
  (fixed)  [found by dejan oklobdzija]
* tcl 'dccsimul' no longer gives the user a temporary +n ('dccsimul' will now
  only let the user do commands he/she would normally be able to use)
* motd display could barf on long %C output (fixed)  [found by seth mattinen]
* nick jupe on Euronet will get treated like "nickname in use"
* updated the README file

v1.0m  [04dec96]

* '.kick' was broken (that's what i get for meddling) (fixed)  [found by
  tuvix]
* since undernet uses 484 ("restricted connection") to mean "you can't kick
  or deop the channel server", bots that attempted to do this would think
  they were i-lined (a concept that does not exist on undernet) and jump --
  now uses umode +r to detect  [found by emmanuel marty]
* 'banner' could send blank message (fixed)  [found by eraseme]
* 'adduser' existed for limbo bots (fixed)  [found by eraseme]
* access check removed from filedb (not all OS's understand it)
* bogus bans/channel keys weren't queueing correctly (could cause inadvertant
  flood) (fixed)  [found by coolio]
* 'die' tcl command added
* MSGM bindings checked even if a MSG binding matches  [suggested by bingony]
* nick flood protection was horribly broken (fixed)  [found by dejan
  oklobdzija]
* console masktype buffer could overflow (fixed)  [found by nitemoon]
* won't deop on a ban unless the channel member was op'd (prevents sharebots
  from sending a slew of deops all at once, most of the time)
* dcc transfers will display acked amount in the home stretch
* ^C not counted as avalanche material any more
* euronet 437 (nick has been juped) now understood and (sort of) treated
  [suggested by genady]
* typo on ques3 (fixed)
* mode changes by non-ops will be reversed (apparently on some nets, a
  desync makes it appear that non-ops are doing mode changes)  [suggested
  by xerox@foonet.net]
* whom info wouldn't get updated on a tcl 'setchan' (fixed)  [patch by
  beldin]

v1.0l  [11nov96]

* typo in ques3 (fixed)  [found by gord-]
* limbo bot had compilation error (fixed)  [found by imoq]
* when using filedb-path, sometimes filenames would get spurious trailing
  dots added (fixed)  [found by trond refsnes]
* NCSA telnet was causing eggdrop to think two linefeeds happened instead
  of one (fixed, i think)  [found by pepsi@gear.torque.net]
* mass deop detection was broken with respect to +o-o+o-o etc on nets that
  allow huge numbers of modes per line (fixed)  [found by sean t]
* ctcp flood to channel wasn't causing kick (fixed)  [found by dejan
  oklobdzija]
* configure was checking for 'awk' and it didn't need to (fixed)
* 'whom' info wasn't updated on boots (fixed)  [found by imoq]
* 'whom' info wasn't updated on dcc floods (fixed)  [found by beldin]
* fixed some weirdness with read-only vars
* version shown in DEBUG output
* no longer immediately enforces bans that are placed by a server
* channel ops/bans aren't reversed for other bots (try to prevent two
  bots from fighting)
* channel ops are no longer exempt from revenge (but friends still are)
* Tcl 'getinfo' was stripping off the leading @ on an info line if it was
  locked (fixed)  [found by gord-]
* dcc 'kick' command follows 'kickban'-style checking now  [suggested by
  bert bohla]
* 'die' will wait a little longer for the server to catch up  [suggested by
  bruce gingery]
* ctcp avalanche detection couldn't be turned off (fixed, now can be turned
  off by setting flood-ctcp to 0)  [found by edmiester]
* remote boot was getting logged incorrectly (fixed)  [found by gord-]
* display of ban in 'match' is better looking now
* hostmask redundancy checking was being done on the ban and ignore list too
  (causing sometimes mysterious disappearance of bans or ignores) (fixed)
* 'bans <mask>' wasn't checking the hostmask correctly (fixed)  [found by
  iceman]
* 'match <mask>' would only show the first ban that matched, not subsequeent
  ones
* matching ignores are now displayed in 'match'
* 'ignores' can take an argument: a mask for matching only certain ignores
  [suggested by xerxes]
* ban list would prematurely end if there were no global bans (wouldn't
  show channel-specific bans) (fixed)
* better handling of IPs (doesn't depend on size of long)
* ignored users still get flood checked  [suggested by neale pickett]
* compile-time option to let ignored users still trigger many bindings
  [suggested by neale pickett]
* channel-specific bans wouldn't get expired if there were no global bans
  (fixed)  [found by gaven cohen]
* warning about permbans given to ops/masters made more specific  [suggested
  by nick_]
* would take revenge on itself for deop'ing itself (fixed)  [found by
  cuentero]
* streamlined putlog to try to save CPU and memory
* ctcps from channels with '.' in the name weren't triggering bindings (fixed)
  [found by gaven cohen]
* file descriptors could get lost in help system (fixed)
* filedb checks ctime when updating too
* note bindings won't be triggered by notices from other bots  [found by
  eraseme]
* wasn't echoing successfully sent notes that got trapped by bindings (fixed)
  [found by eraseme]
* tcl 'killchanban' was using wrong args for sending the deban (fixed)
  [found by darkshde]
* mysteriously vanishing half of a relay could cause infinite loop -- the
  recovery is cleaner now, though still choppy (this should not happen)
* nick flood protection wasn't passing the whole hostmask, so the bot might
  sometimes fail to recognize itself, and would punish itself for nick floods
  (fixed)  [found by nicholas j dear]
* random number generator wasn't seeded until after config file (and any
  scripts that load on startup) were loaded (fixed)  [found by troy davis]
* '+host'/'-host' accepted incomplete parameters (fixed)  [found by rawdon]
* refresh_ban_kick() was mangling the kick reason (fixed)  [found by gaven
  cohen]
* better i-line detection

v1.0k  [17oct96]

* spelling fixes
* whom signoff notice was mangled when relaying off the bot (fixed)  [found
  by gord-]
* if expired dynamic bans weren't removed quickly enough by the server,
  the bot would obsessively deban once a minute until the server reacted
  (fixed)  [found by bruce s]
* expire-time for bans and ignores was displayed weird (fixed)
* when kicked from a channel, queue the join to avoid excess flood  [found
  by xerox@foonet]
* changing nicks on the party line wouldn't update whom info on other bots
  (fixed)  [found by michele]
* first word of ban comment was stripped off in the kick comment (fixed)
  [found by gaven cohen]
* idle time was always 15 mins for remote users in whom right after a
  connect (fixed)
* +autoop will make the bot op a user after he/she idents or is .adduser'd
  (if they're +o)  [suggested by jesse schachter]
* new tcl command 'whom'  [suggested by gord-]
* fake connections trapped by net module now (was causing failed connects
  to look like successful connects that got immediately dropped)
* debugging console mode
* better version handling (patches can identify themselves more easily,
  to the user and to scripts)
* wasn't adding hostmasks correctly for bots when they were on the channel
  (fixed)  [found by dorgan]
* access to help files wasn't following chattr changes (fixed)  [found by
  stephen hunter]
* people with only +p can now ask for help on specific items
* new tcl commands 'dumpfile' and 'dccdumpfile'  [suggested by goo]
* 'whom' away info would get mixed up when people left the party line
  (fixed)  [found by dorgan]
* keep track of time connected to a server  [patch by cmwagner]
* bind 'act' wasn't trapping local actions (fixed)  [found by genady]
* long password entry to dcc would overflow blowfish ("ircle bug") (fixed)
* some machines would infinite loop and create huge filedb's if an entry
  in the file system was removed (fixed)
* filedb will be updated (checked against the actual directory contents)
  if it's been more than 12 hours since the last update, even if the
  directory modification time hasn't changed (some changes in the directory,
  like file-size changes, won't change the directory modification time)
  [suggested by andrej]
* bots will pass idle-time hints on connect burst
* tcl 'newchanban' wasn't coping with permanent bans correctly (fixed)
  [found by stephenc]
* better idle-time display in 'whom' and 'who'
* made read-only variables (can only be changed during rehash): owner,
  userfile, version (version can't be changed ever)
* when keeping all logs, no renaming is done (the log changes names
  automatically at midnight)  [suggested by genady]
* when restructuring botnet to get to a +sh bot, if the direct uplink is
  not +sh, this bot will disconnect from the uplink instead of asking the
  remote +sh to unlink  [suggested by gord-/genady]
* sharebots will share hostmasks & addresses for bots (and ONLY that info)
* tbuf status is shown in 'status'
* weed will expire old bans and ignores if you want it to
* 'setlaston' will take an optional timestamp argument  [suggested by gord-]
* added 'flush' command to flush resync buffers

v1.0j  [8oct96]

* bug in limbo bots (wouldn't compile) (fixed)
* clientinfo now returns error messages like epic
* 'whoz' shows the idle time in minutes now  [suggested by lsc]
* blank line (just return) was being interpreted in dcc chat as the user
  saying something (a blank line) (fixed)  [found by lsc]
* clientinfo for 'action' was incorrect (fixed)  [patch by peace]
* possible assoc overflow (fixed)  [patch by cmwagner]
* new Tcl commands: 'getdccaway', 'setdccaway'
* note sent to a local user from the bot was displayed incorrectly (fixed)
* Tcl 'chhandle' would let you create null handles (fixed)  [found by
  stephen p clouse]
* ban code would attempt to kick even after avoiding a desync re-ban (fixed)
  [patch by hue truong]
* changed i-line detection algorithm slightly, although it probably makes
  no difference  [suggested by hue truong]
* blowfish would run out of boxes because it wasn't checking timestamps
  correctly (fixed)  [patch by cmwagner]
* new 'note' binding to have the bot do special actions when a note is
  received for a particular (possibly non-existant) user
* don't set console default to '*' for dcc users on a limbo bot when
  there are channels defined  [found by ledpighp]
* '.channel' display format looks better now  [suggested by ledpighp]
* channels can have +secret/-secret now to keep them from being
  advertised on the botnet  [patch by cmwagner]
* whom info wasn't updated to the botnet after a 'killdcc' (fixed)  [found
  by xerxes]
* put strong connections back cos some people claimed it made a difference
* whois accepted null argument (fixed)  [patch by tartarus]
* debug output writing streamlined  [patch by tartarus]
* banned users were only getting kicked on join if +enforcebans was set
  (fixed)  [found by bert bohla]
* failed userfile transfers would sometimes cause a resync buffer to start
  up (fixed)  [found by danny]
* checking for +v after -o wasn't queued (fixed)  [found by xerox@foonet]
* tcl 'sendnote' has more extensive return codes
* added 'connect' tcl command to create outgoing idx connections
* new binding 'act' to catch party-line actions
* msg 'go' command gives a specific channel now  [suggested by cmwagner]
* fixed sunos/solaris detection in configure  [found by joe morris]
* think i finally fixed the problem with IPs getting sent out in reverse
  byte order over IRC
* matching bans show up when doing '.match'  [suggested by nicholas j dear]
* when masking user@hosts, quoting ? or * in username could overflow buffer
  (fixed)  [patch by gilles d'andrea, cmwagner]
* made lots of dangerous and slightly incompatable changes to the way
  bans are stored and created
* new team of tcl commands to add/remove bans (more flexible)
* list returned by tcl 'banlist' contains extra element: creator of the
  ban
* similar dangerous and incompatable changes to the ignore list (a comment
  and timestamp are now stored)
* new tcl 'ignorelist' similar to 'banlist'
* sharelink was overflowing buffer sometimes (fixed)  [found by cmwagner]
* +sa bots were getting remotely unlinked (fixed)  [found by genady]
* spelling error in "incompatible" (fixed)  [found by dvlsadvct]

v1.0i  [10sep96]

* new Tcl commands 'encrypt' and 'decrypt' to interface blowfish
* alarms weren't being trapped (fixed)
* +f (friends) don't get flood triggered now
* server notices are logged with server (+s) stuff now, not msgs
* '+ignore' could overflow (fixed)  [patch by cmwagner]
* keeps 3 "boxes" buffers for blowfish to prevent Tcl encryption from
  running up the CPU time (prevents excessive re-computation of keys
  that were recently used)
* support for irc 2.9 mode +q (quiet; only servers can speak; useless)
* tries to use 'clock' (ANSI C) if 'getrusage' isn't there  [suggested
  by ayman]
* slightly better algorithm to stack outgoing mode changes  [suggested
  by mr. wizard]
* changing telnet port on the fly might lose a socket (fixed)
* fake 'whom' requests weren't getting caught (fixed)  [found by slix]
* channel-specific bans tried to be written to a transmit userfile after
  the file was closed (caused all userfile transmits to go weird when
  channel-specific bans existed) (fixed)  [found by ledpighp]
* chmod 600 done right after fopen when writing user files to prevent
  teeny little window when it was unprotected  [suggested by ledpighp]
* if channel has no ops, and there are some humans there, 'need-op' will
  be run just in case it has a magical oper command or something  [suggested
  by bruce s]
* directories are given more space for filename length in the 'ls' listing
  since they don't need the other info displayed [suggested by stomper]
* made 'configure' look for new-style Tcl library names (ie libtcl75.a)
  [suggested by kendrick vegas]
* new command 'getaddr' to get a bot's address; 'getinfo' on bots will
  always return a blank string now (this should keep scripts from getting
  confused)
* added Tcl commands 'addignore', 'addpermignore', 'delignore', 'isignore'
  [patch by hue truong]
* added 'flud' binding to catch and react to floods as the bot detects
  them, replacing the bot's normal punishments  [patch by hue truong]
* help files typos and errors fixed  [found by bruce s]
* FreeBSD uses non-standard names for the Tcl library -- added to configure
  script  [found by tris]
* configure script will detect Tcl 7.6 betas now  [patch by tartarus]
* will try to detect and compensate for broken Windows "CR-only" input
  strings
* 'weed' was sometimes losing part of the xtra field (fixed)  [patch by
  bruce s]
* tcl 'getdccidle' added  [patch by cmwagner]
* virtual hosting fixed (we hope)  [patch by tris]
* idle times are actually updated for dcc chat/files/script now
* 'chemail' didn't complain about nonexistent users (fixed)  [found by
  chucky burnett]
* tcl 'rand' would accept and explode on argument of 0 (fixed)  [found by 
  chucky burnett]
* bot could get confused about its current nickname during rehash (fixed)
* recheck-channel would skip bot's nickname, but not if it wasn't using its
  desired nick (fixed)  [found by chucky burnett]
* console was getting set to gibberish channel on limbo bots (fixed)
  [patch by cmwagner]
* tries to cope with ircd 2.9's funky mode-on-join netjoin notices
* '-m' option works for limbo bots now (i think)
* away messages from the party line are shared across bots now (for whoz)
* user is notified if they receive a note while away
* getmyip() returned to normal behavior (see note in net.c)

v1.0h  [7aug96]

* spelling mistake  [found by blackjac]
* dropped relay would cause bad join data to be sent across the botnet
  (fixed)
* away information is shared among bots now
* idle-time calculated locally for remote botnet users
* doesn't stick user's nickname in '.die' message if signoff message is
  given
* ctcp procs can return 0 to let the bot continue processing that keyword
  [suggested by darkshde]
* took out tcl event-loop support ('after', 'socket', etc) since nobody
  used it and it didn't even compile with some 7.5's
* checking for stoned servers would sometimes ping servers with their
  wrong name (fixed)  [found by tris]
* various changes to make limbo bots less irc-bound  [suggestions by
  slix]
* missing linefeed in transmitted userfiles  [patch by cmwagner]
* password checking might explode on null password (fixed)  [found by
  cmwagner]
* 'ls dir' would just list the directory entry, not the actual contents
  (fixed)  [found by blackjac]
* compile flag SHAREBOT_BOOTS was actually checking for +d, not +s bots
  (fixed)  [found by darkshde]
* cleaned up some of the IP conversion code in net.c (at fred1's prodding)
* majorly overhauled the Tcl command stubs and spread them out over 4
  files
* Tcl 'matchban' command would crash when given a channel (fixed)  [found
  by gumbie]
* added 'reserved-port' setting for using a certain port for dcc file
  transfers  [suggested by jordy]
* flood settings can now specify the time-lapse (# of seconds) which
  still defaults to 60 (probably too high)
* channel-specific bans are stored in the userfile and can be shared i guess
* channel-specific bans weren't set when joining or re-checking bans
  (fixed)
* some IAC codes would send spurious '7' under gcc (fixed)
* +bitch/+protectops still wasn't working (fixed) (i hope it really was this
  time)
* if server hostname is different from the one in the server list, the
  server list is updated with the new info  [suggested by demon]
* file system 'chdir' wasn't checking error returns on filedb's sometimes
  (fixed)  [found by fred1]
* filedb code was using wrong match routines (case insensitive, bad) (fixed)
  [found by fred1]
* slightly better rejection of unsupported telnet IACs (thanks to ken keys)
* 'handle' command renamed to the more intuitive 'chnick' (and 30,000 people
  will burn me alive for it i'm sure)
* notes are moved along with a handle change now
* # of notes shown in 'whois' display  [suggested by ledpighp]
* old or no-recipient notes expire during the logfile switchover  [suggested
  by ledpighp]
* moved notes system into its own module for eventual cleanup (yeah right)
* won't block on DNS searches more than 10 seconds
* net module was returning bad lengths for non-binary sockets -- only the
  telnet IAC code used this, and it only manifested itself as a throw-away
  of any line less than 5 chars that had IAC codes in it (fixed)
* more informative debug info written on crash
* attempts to grab the userfile that abort very early didn't cause an
  unlink (fixed)  [found by blackjac]
* ntalk.irc bugfix  [by tris]
* tcl 'dccsimul' command broadcast flag changes to sharebots (fixed)  [found
  by cold fusion]
* tried to fix weird bug where +a bots listed before +h bots wouldn't get
  linked if the +h bots were down
* handles FPE signal

v1.0g  [23jul96]

* Tcl 'killdcc' could kill off the terminal (HQ) user in -nt mode (fixed)
  [found by cmwagner]
* multihoming fixed  [patch by tris]
* little better at checking for stoned servers
* protect-ops doesn't reop if the deop was caused by another bot (stops
  some desync wars)  [suggested by xerxes]
* bans were checked on the wrong hostmask during nick changes (fixed)  [found
  by tris]
* several commands would behave strangely with extra spaces added (fixed)
  [patch by cmwagner]
* file-system-only users were getting binary sockets (fixed)  [patch by
  cmwagner]
* Tcl wants fds 0/1/2 left open, but they're redirected to /dev/null now so
  it can't harm anything
* most normal mode flushes are queued now to avoid the bot flooding itself
  off when it joins a bunch of channels at once and starts implementing bans
  from the list
* 'adduser' could add users with nicks > 9 chars (fixed)  [found by taz-man]
* added PRIVATE_OWNER define so that dictatorial sharebot networks can have
  one master bot which ignores any +n modes coming from slave bots  (all
  slave bots must therefore have 'owner' set so that when downloading the
  user file, they will at least have some local +n's that don't exist on
  the master)
* 'invite' didn't recognize net-splits or non-invite channels (fixed)
  [patch by tris]
* removed "strong connection" since it was a no-op
* userfile marks a version number now, and has upgraded to v2 (will read
  v1 user files but writes only v2 ones)
* passwords are encrypted now using blowfish (public domain equivalent of
  DES without silly patent laws or government interference)
* rudimentary socks firewall support (outbound connections only so far)
* repetitive ban checking used wrong timestamp (fixed)  [patch by hue
  truong]
* wasn't really switching between m/h queues when dumping to server
  (fixed)
* cleans out m/h queues when switching servers so they don't get cluttered
  [suggested by tris]
* with quiet rejection off, bot responds to 'help' politely even if it
  doesn't know the user  [suggested by jonte]
* joins & parts of botnet users is shared now, to eventually replace
  '.whom' in a few versions
* '.chinfo' pretended to change info of non-existent users (fixed)
  [found by aaron]
* support for sun firewalls (as much as there can be) -- will barely
  work, if at all, since "telnet passthru" wasn't meant for machine use
* entering anything but "*bye*" on a relay attempt that hadn't connected
  yet would crash the bot (fixed)  [found by tris]
* entering "*bye*" on a relay attempt that hadn't connected yet would
  fail to announce that the user had rejoined the party line (fixed)
* PRIVATE_OWNER define wasn't actually working (fixed)  [found by gord-]
* updated 'weed' for new userfile format

v1.0f  [6jul96]

* various patches to fix socket 1 getting treated special when the bot is
  in the background  [some by cmwagner]
* msg 'whois' command had possible nick overrun (fixed)  [patch by cmwagner]
* overruns in file system (fixed)  [patch by cmwagner]
* bot link/relay wasn't using strong connection for incremented ports
  (fixed)  [patch by cmwagner]
* aborted userfile transfers were killing the wrong socket (fixed)  [patch
  by cmwagner]
* full file system would crash (fixed)  [patch by tris]
* sending the userfile over NFS would just send garbage (fixed)  [patch
  by cmwagner]
* much better definition of "bogus" channel keys and bans: char 127, or
  any char below 32 except ^B, ^V, ^_
* bots aren't penalized for bogus channel keys or bans
* bitch/protectops combo wasn't working quite right on deop yet (fixed):
  new behavior is that if protectops and bitch are both set, the deop'd
  person will get re-op'd only if +o or +m  [found by brenny]
* can define 'altnick' now to avoid blatantly obvious "Lamebot0" nicks
  [suggested by cmwagner]
* '.status' will indicate if the bot is in limbo instead of saying it's
  trying to join various servers and channels  [found by dannyboy]
* measures and displays server lag in '.status'
* added separate flood threshold 'flood-ctcp' for CTCP floods
* super-long CTCP ECHO/PING/ERRMSG requests are just ignored
* strong-connect sockets were losing incoming data at the beginning of
  the connection (fixed)
* directory wasn't closed after filedb-update (fixed) (maybe this caused
  the explosive filedb's?)
* no longer dumps out existing chat-channel assoc's to new bots when they
  link (caused stupid floods, etc)
* could possibly flood itself off with channel joins when starting up
  (fixed)

v1.0e  [2jul96]

* might confuse lag for a desync, and not kick people who joined while a
  ban was being placed ("after" the ban was placed, from the bot's point
  of view) (fixed)  [found by fred1]
* stupid new '+', '-', '^', '=' preceding usernames are stripped unless
  strict-host is on
* 'set' added to list of commands that are disabled if user Tcl access
  is restricted (#undef ENABLE_TCL) -- plugs a possible security hole
  [found by cmwagner]
* tries to avoid abuse of '+ignore' to create duplicate identical ignores
  [found by blackjac]
* super-long help request could crash the bot (fixed)  [found by darknight]
* dcc 'email' command didn't have long enough buffer for display (fixed)
  [found by cmwagner]
* race condition on userfile send and receive at the same time (fixed)
  [found by fred1]
* got rid of some HPUX warnings  [patches by cmwagner]
* copyfile() would only copy part of a file if it ran out of disk space
  (now it aborts)  [found by mr. wizard]
* added 'pushmode' and 'flushmode' Tcl commands
* buffer overrun on check_chanlist()  [fixed by cmwagner]
* filedb-path wasn't working (fixed)
* if the bot cycles a channel, becomes the only member, and still isn't
  op'd, it will assume it's i-lined and jump
* failed dcc chat was pressing on with assumed successful connect (fixed)
* identity change (changing the bot's nick and then reloading the config
  file) would wait a while before changing nicks on the server (fixed)
  [found by laurens v alphen]
* colorization (^B/^V/^_) in bans was considered bogus (fixed)  [found by
  topcat]
* don't re-op someone if they are not +o and bitch is on, even if protect-
  ops is on  [found by seadawg]
* relay uses "strong" connections to try not to be fooled by async i/o
* failed relay attempt would cause crash (fixed)
* bogus IAC packets in telnet connections could cause endless loop (fixed)
  [exploited by "eggcrash"]
* tries harder to disassociate controlling terminal when running in the
  background (ie, most of the time) and re-uses fd's 0-2 (server will
  generally be socket 0 now)

v1.0d  [12jun96]

* turning off flood protection wasn't working for dcc chat (fixed)
* 'stat all' display was outdated for channel settings (fixed)
* ctcp finger, version, userinfo will not return anything if the
  responses are set to blank  [suggested by answer]
* better handles long file system directory names
* '.filedb' thingies don't have to be stored in the actual directories
  now  [suggested by waxmaster]
* Xerxes got laid
* eggstat wasn't keeping track of the 'xtra' field correctly  [fixed by
  cmwagner]
* userfile was being buffered as it was received (fixed)
* added sets 'my-ip' and 'my-hostname' to override auto-detect in odd
  cases  [suggested by rok papez]
* might have fixed OSF/1 problems with DNS

v1.0c  [1jun96]

* remote 'who' info was putting garbage before the channel list (fixed)
* link binding was giving a null parameter (fixed)  [patch by cmwagner]
* relays were exploding (fixed)
* mprintf/hprintf/putlog could get overloaded (fixed, i think)
* better (?) support for suns in trying to find libs  [suggested by keyoke]
* thought all bot rejections were fake (fixed)  [found by cmwagner]
  [caused by cmwagner ;)]
* dcc sends to the bot (including userfile transfers) were being buffered
  by accident (fixed)
* just does slow bot ping all the time now
* console.tcl wasn't restoring console channel correctly (fixed)  [found
  by ben barton]
* really dumps bots when they abort the userfile transfer now
* userfile sends were choking (fixed)  [found by gord-]
* was checking for connect timeout even when between servers (fixed)
* support for code 405 ("too many channels") and 432 ("bad nickname")
  [suggested by cmwagner]
* no longer kicks people for having a ';' in their username  [suggested
  by sprite]
* can set maximum number of notes to save for a user (default 50) to
  prevent someone being flooded by stored notes  [suggested by robert
  brice]
* added Tcl: 'getchanmode'  [suggested by roger yerramsetti]
* can mark a bot +sa now  [suggested by nate gardner]
* revenge is a channel option now, not a global option
* some tcl commands ('matchattr', 'userlist', 'chanlist') and dcc commands
  ('match') would assume anyone matches against a non-existent flag -- now
  nobody will match a non-existent flag  [patch by answer]
* channel chanmode overrun  [fixed by zamf]
* tells OS it wants to be able to re-use listening port later  [patch by
  tris]
* uses ISON instead of PING to check for server stoned  [suggested by
  archon]
* tcl 'addbot' command hadn't been working right (fixed)  [found by
  cmwagner]
* '.who bot1 bot2' was rude (fixed)  [found by blackjac]
* sharebot_boots wasn't really checking for sharebots (fixed)  [found by
  blackjac]

v1.0b  [20may96]

* owners couldn't add hostmasks to each other with '+host' (fixed)  [found
  by waxmaster]
* nick floods are triggered by 'flood-join' now instead of 'flood-msg'
* channels missing from the config file on a rehash will be removed
* notes and master-comments weren't always echoing properly for file
  system users (fixed)  [found by pinchaser]
* mv/cp in file system would cause chaos (fixed)  [found by pinchaser]
* ques3.tcl was writing 0-length files (fixed)  [found by imoq]
* got confused when it joined a channel with the wrong nick (fixed)
* setting flood levels to 0 deactivates flood protection
* no more '.exec' because i killed process control -- it can be done in
  tcl anyway
* sharebots queue user changes while a userfile transfer is in progress
* non-blocking ("asynchronous") network I/O now (re-wrote network stuff)
* can stop a relay before it connects
* '.debug' shows abridged socket table
* '-nt' mode was leaving you on a screwy nonexistant channel (fixed)
* lame -v option
* new set 'telnet-bots-only' to allow you to restrict the telnet port
  to bots (no humans)  [suggested by blackjac]
* telnet port can be changed on the fly
* new set 'server-timout' to replace the compile-time option
* security hole with 'open-telnets' on (fixed)  [found by cmwagner]
* added 'assoc' and 'killassoc' for Tcl
* better protection against the bot flood-checking itself
* bans added via tcl are now tagged with the bot's nickname, so the ban
  comment will be displayed on kick
* sharebots won't bitch at each other for removing bans
* much better about letting many channels be used without overflowing
  buffers
* could send fake bot rejections (fixed)  [patch by cmwagner]

v1.0a  [4may96]

* can use 'ENABLE_TCL' to turn off the '.tcl' command now  [suggested by
  jay s monk]
* new 'ntalk.irc' (v4.1)  [by fred1]
* bind string matching could get locked up (fixed by fred1)
* dalnet fixes (patch by cmwagner)
* copying a file into a directory where it already existed caused duplicate
  records (fixed)  [found by fred1]
* couldn't hide/unhide dirs in the file system (fixed)  [found by imoq]
* timer/utimer didn't handle bad syntax in commands well (fixed)  [found
  by dan]
* desyncs were causing the bot to repetitively kickban people who joined
  the channel on a side of the net where the ban did not exist, which would
  sometimes make the bot flood itself off (fixed)  [found by nate gardner]
* setting the 'xtra' field blank would crash the bot (fixed)  [found by
  dan]
* small fix to quesedilla (patch by gord)
* dropped relay connections weren't REALLY reseting echo (fixed)  [found by
  imoq]
* 'rehash' saves the user file first before reloading it -- new command
  'reload' will reload the user file without saving it or loading anything
  else
* could use 'adduser' on bot owners *gulp* (fixed)
* 'rehash' will refresh channel settings from the config file now (in case
  something has changed in the channel definition)
* when a master gave extra console modes to someone, they would be lost the
  next time that person changed their console mode (fixed)  [found by
  pinchaser]
* tcl 'filesend' wasn't really there (fixed)  [found by cmwagner]
* small fix to console.tcl
* asks for a disconnect when a userfile transfer gets aborted (i have no
  idea why this should ever happen, but apparently it does in mexico)
  [suggested by imoq]
* console mode '*' is all allowed modes
* 'null' users and 'none' bans for sharebot no longer happen  [helped by
  cmwagner]
* can detect and use the new standard tcl 7.5 shared library (hint hint)
* annoying roommate: xerxes
* '.dump' was op-level not master-level (fixed)  [found by skyline]
* bans weren't being checked on nick change (fixed)  [found by spacey]
* nick binding passed uhost parameter incorrectly (fixed)
* stackable bindings weren't being checked by their individual flag
  requirements (fixed)  [found by chad fawcett]
* CTCP responses use secondary queue now
* rapid-fire kicks are queued to avoid being flooded off by rapid-fire
  kicking a wave of clonebots  [suggested by spacey]
* new channel setting '+stopnethack' that can turn on/off nethack
  protection
* when using undesired nick, bot might idle-kick itself (fixed)  [found
  by hal]
* some socket/fd leaks in the file system could lead to unpredictable
  filedbs i think (fixed)

v1.0  [7apr96]

* security patch for 'pass' command  [patch by cyberscape]
* can do 'comment <user> none' now  [suggested by softlord]
* wasn't letting you describe directories any more (fixed)  [found by sabi]
* mode change before /who result caused crash (fixed)  [found by imoq]
* chon copes better with dropped dcc's and channel changes now
* Tcl 'putloglev' to write to a user-defined log level (1-5)
* 'trace' command was still broken (fixed)
* new bans will store and display when they were created and the last time
  they were active (popular demand)
* Tcl 'link' and 'unlink' weren't working (doh!) (fixed)
* finished dprintf'izing
* assoc'd channels are kept in numerical order now
* no more support for non-Tcl bots
* was losing memory every time server list was loaded (fixed)
* no longer honors outdated op requests done thru non-Tcl
* re-arranged config file a lot to make it cope with multiple channels
* new tcl command 'channel' to add, remove, and modify channel entries
* console now has channel and mode, instead of just mode
* new faster match.c from Fred1
* now only rejects 'who' requests for secret/private channels when the
  requestor isn't already on the channel
* doesn't keep "hidden" track of memory any more when debugging is off
  (downside: no way to tell memory leak unless debugging is on)
* bot link/etc notices were going to users who had '.chat off' (fixed)
  [found by xerxes]
* added tcl 'setlaston', 'echo', 'addglban', 'delglban'
* '.email' has a more standard syntax now  [suggested by answer]
* each channel keeps its own banlist now for temporary bans
* changed various Tcl ban commands to accomidate the concept of having
  a global banlist + separate banlist for each channel
* channel ban lists are sent by channel name to other sharebots
* revenge generally only adds bans to a certain channel now
* Tcl 'channel info' dumps out all the info you can set
* join flood only gets you banned on the one channel now
* was reversing mode changes by fake-op people even if the mode changes
  were beneficial (fixed)  [found by tris]
* '/msg pass' incorrect password notice was getting sent to the wrong
  person (fixed)  [found by archon]
* '/msg ident' will take an optional nickname now  [suggested by poseidon]
* '.+bot' will try to add the hostmask if it can find it
* changed meaning of +a and +h flags for bots -- now +h is equivalent of
  old +ah, and +a is an alternate/secondary link if no +h can be linked
* better Dalnet support (maybe not perfect, but...)
* password checking is case-sensitive now  [suggested by jay s monk]
* removed helpbot support (useless)
* revenge flag changes weren't propagating through sharebots properly
  (fixed)  [found by zenoran]
* tries not to block longer than 10ms when writing to a socket now
* checks bans against userlist, just in case someone's dumb enough to
  ban by a hostmask the bot knows
* 'unlink *' will disconnect you from the botnet  [suggested by blackjac]
* aborting a relay, when a password was being asked for, could keep echo
  off indefinitely (fixed)  [found by chad wagner]
* new Tcl command 'getting-users'
* took out the old primitive 'talk'/'ntalk' script support (possibly to
  be replaced by something better later)
* tries to be more graceful when recovering via '.reset'
* rewrote entire file system and help files
* number of gets for a file is incremented AFTER a successful download now,
  instead of before
* 'text/banner' is shown to people that telnet in
* set 'copy-to-tmp' can turn on/off copying files to /tmp before sending
  them to people (has no effect on uploads, which are still stored in /tmp
  until finished)
* keeps file descriptor open while sending/receiving a file now (probably
  not much more efficient on many machines, but apparently it has an effect
  over NFS)
* wasn't passing flags 8/9/0 over sharebot links (fixed)
* local msgs (') leak to all channels by default now  [patch by answer]
* old '.files' is converted to '.filedb' on first access to that directory
* new Tcl 'utimer', 'killutimer', 'utimers' to deal with "micro-timers"
  that operate on the order of seconds instead of minutes
* timers are no longer double-evaluated
* file sharing implemented
* New Tcl: 'deluser'
* space for tandem bot records adjusted automatically now (no set limit)
* wasn't enforcing a +l mode if someone did +l with a different limit
  (fixed)  [patch by cmwagner]
* in help/text files, '%C' is now the list of channels the bot wants,
  and '%E' is the full-blown eggdrop version
* ignores store nicknames now  [suggested by blackjac]
* changed behavior of Tcl 'dccsimul' to be more intuitive
* added 'filt' bindings which filter dcc input
* made Tcl 'dccsimul' give temporary owner access while executing
* alleged support of file transfer recovery now
* lots of Tcl commands to support the file system
* flags '6'-'0' weren't getting loaded correctly (fixed)  [found by dave
  guzeman]
* '.email' was spazzing out (fixed)  [found by slix]
* sockets are non-blocking after a connect now
* something stupid about not being able to leave notes for bots [xerxes]
* the xtra field is transmitted between sharebots differently, and should
  now have no effective size limit
* the ILL signal will log a context and continue -- to help find locks
* socket output is queued if it would block (non-binary sockets only),
  and '.debug' will show the socket queues, in and out
* file system wasn't noticing an invalid dcc path (fixed)  [found by dorgan]
* moved ' local-only chat to a tcl script so it's optional
* userfile transfers happen via a DCC send connection now (might be faster)
* added 'save-users-at' and 'switch-logfiles-at' timing options
* killed forked processes were giving "unforseen error 234" (fixed)  [found
  by plof]
* 'putbot' wasn't up to speed (fixed)  [found by shadow]
* 'switch-logfiles-at' in lamestbot was set to octal value (oops)  [found
  by xerxes]
* bans were overwriting other memory when sent to Tcl to trigger bindings
  ("yer a dork!") (fixed)  [found by fred1]
* better way to prevent the bot from going "idle"
* CTCP AWAKE wasn't correctly removed (fixed)  [found by cmwagner]
* owners couldn't even boot themselves (fixed)  [found by gord]
* 'chattr' was letting you do +b/-b when it shouldn't (fixed)
* leaf rejection was sometimes flooding (fixed)  [found by junkie]
* bot was sometimes not noticing when it got its nickname back (fixed)
  [found by station]
* when someone on a channel changed nicks to the same as someone who was
  net-split, the bot would get confused (fixed)  [found by station]
* msg 'jump' now requires a password
* user caching used when adding users, so that the startup loading-userfile
  phase will be faster
* new console level 's' to record server connect/disconnect/etc
* 'unlink *' forces the bot tables and assoc records to be cleared to a
  sane state  [suggested by fred1]
* filt wasn't working for file system (fixed)  [found by dorgan]
* missing linefeed was causing bot tree chaos (fixed by cmwagner)
* was possible to nick-ban the bot with +ban (fixed)  [found by luke
  detering]
* better username testing on startup
* few problems with crashing when unlinking bots (fixed)  [found by xerxes]
* hack: tcl 'putserv' and 'puthelp' truncate embedded linefeeds now, to
  keep braindead scripts from shooting themselves in the foot
* excessive repetitive invites are no longer logged  [suggested by derrick]


TO-DO:
"""""
- allow dynamic bans to be marked as "forced"?  (ie, most bans are
  dynamic but some could be marked as permanently active)
- 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  [andrej]
- '.sort' to sort files
- remote sharing of directories (large project)
- channel-specific flags (large project, v1.1)
- 'listen <port> <"bot-only"|"all"|"user-only"> [nick-mask]'
- 'listen <port> script <procname>'
- 'listen <port> off'

BUG REPORTS:

- dcc chat with firewalled bot doesn't seem to work (error 2) [rajat goel]
- changing nicks every 60 seconds on the undernet (which eggdrop does when
  it can't get its nick) can be perceived as a flood; suggested fix is to
  use ISON to determine if the name is available  [troy davis]
- killdcc <idx>
  "on a relay to another bot that was stuck (I had lost the connection to
  my ISP) and the bot went haywire ('Can't find user for relay!')"

SUGGESTIONS:

- be able to leave a parting comment when doing '.quit'  [a person]
- fix up help substitutions (%[ %] is pretty lame)
- quota for file system
