TO-DO: 
== ==

- files '.mv' move directories.  [andrej]
- Longer user handles. (this will break the botnet)
- Enhance .chattr command to handle both global and channel-specific
  attribute changes a la: .chattr <nick> <global>&<chanspec> #channel.

WORK-IN-PROGRESS:
==== == ========

- Services.so MODULE [Raistlin]
- Conversion of all messages to defines in `english.h.'
  a - c: [BB]
  DONE (for now):
     gotdcc.c [BB]
     hash.c, main.c, match.c, mem.c, misc.c, mode.c, modules.c [BB]
     msgcmds.c, msgnotice.c, net.c, notes.c, tcl.c, tclchan.c [BB]
     tcldcc.c, tclhash.c, tclmisc.c, tcluser.c, userrec.c, users.c [BB]
	Notes:	1	BADARGS skipped -- must coordinate.
		2	chanout() skipped ("Nick Change") (tcluser.c).
		3	TCL results skipped. (tclmisc.c)
		4	fatal() messages skipped (net.c).
		5	neterror() messages skipped (net.c).
		6	serious bot errors skipped (net.c).

beldin intends to (or is doing): 
- Move more things into NO_IRC such as bans and hostmasks. & ..
- irc.so MODULE - yes I will do it eventually :)
  (chan.so, server.so & irc.so most likely)
- make botflags & global flags seperate, hence providing more global flags

BUG REPORTS:
=== =======

* ---ALL--- tcl8.0 versions WILL crash, including 8.0b2.
* DCC sends are causing memory leaks on some systems.  This affects shared
  userfile transfers.
* Solve to non-working alarm(10) in linux (calls to gethostbyaddr/name()
  have blocked for long periods when bind/named doesn't resolve quickly,
  and the alarm does not interrupt it).
* High-bit characters are being filtered from channel names.   This is
  a fault of the TCL interpreter, and not eggdrop.  The TCL interpreter
  filters the characters when it reads a file for interpreting.

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)

Changes in eggdrop: (since v1.1.5)
==================

v1.2.0 :

* changed rembot back, since order DID matter [beldin]
* fixed a few tcl function name typos [beldin]
* fixed lame vbottree error [beldin]
* optomised unvia & delparty at the expence of order [beldin]
* fixed a whole pile of OSF warnings [beldin]
* fixed eraseme's whines: .filestats is now a .files command,
  .chaninfo restricts +m ness [beldin]
* .filestats wasnt reporting nick [beldin]
* english & slang still in config file [beldin]
* mkdir $1/modules missing from putegg [beldin]
* excess print in write_debuf [beldin]
* share wasnt sendind error right if there wasnt enough dcc slots
  to SEND a userfile + missing #include [beldin]
* geticon clash in wire.c [beldin]
* #ifdef EBUG messup in tclhash.c [beldin]
* typoed name of validuse tcl command [beldin]
* '.binds <type> all' now works as you might expect [beldin]
* .wire off was SEGV'n in some cases (plus a few missing \n's) [beldin]
* bitch wasnt being bitchy enough on join :) [beldin]
* various bugfixes to bothost sharing, lastbind, [beldin]
* legendart seen.so [BB]
* +/-chanrec should propagate on the sharebot's now [beldin]
* .adduser & /msg hello now add relvant chanrec's [beldin]
* removed +bothost/-bothost/botattr since they arent needed now[beldin]
* channel +m's can only see channel's they have access to in .status
  [beldin]
* now a static linking option, link in all modules at link time
  [this ones for you somni :P] [beldin]
* .bottree upgarde (also try .vbottree) [beldin]
* laton times on a bot a prefixed by @ [beldin]
* AT LAST laston times should update on quit [beldin]
* use-console-r, max-dcc & enable-simul now tcl vars [beldin]
* .set/.tcl/.simul are now just un-bound commands in the config file
  [beldin]
* .act/.say/.kick/.kickban can now take a channel argument [beldin]
* any user can now -host themselves [beldin]
* remote-boots, bounce-bans, use-silence, private-owner & allow-resync 
  are now tcl vars [beldin]
* share.so added - which includes channel specific +s [beldin]
* help files updated to new binding format [beldin]
* you can ONLY make a module bot now [beldin]
* .sort comand for filesys [ikaney@trouty.demon.co.uk]
* tcl-commands updates for various commands [????]
* dcc chat connections were'nt logging [beldin]
* woops, fixed up the ctcp's I messed up [beldin]
* console +r is +n only now [beldin]
* modules now live in modules/ [beldin]
* fixed sticky bans sharing finally [beldin]
* .su was broadcasting parts/joins for local channels & wasnt
  showing returns upon channel return [beldin]
* static channels settings are now save (using channel set) in
  the channel file [beldin] (yes removal from config should work)
* removed NO_FILE_SYSTEM, if you want to run the bot without it,
  use modules [beldin]
* chanset/chaninfo will use your console channel if no channel
  provided [beldin]
* raw binding now use exact matching of codes [beldin]
* lastonchan now is a char * & is updated for the botnet & file
  areas too [beldin]
* lowercase-ctcp, answer-ctcp, trigger-on-ignore, debug-tcl, raw-binds
  die-on-sighup & die-on-sigterm are now tcl settings [beldin]
  (answer-ctcp is maximum ctcp's to answer)
* complete rehashed the way modules are done, relying more on the OS
  to resolve functions, this should be nearly transparent to actual
  modules [beldin]
* removed support for ancient compilers [beldin]
* .adduser would let you add the dumb characters in a handle [beldin]
* fixed dcc chat for +x only users [beldin]
* swapped the args in msg_* to make it fit the hashtable patern [beldin]
* server queues now prioritised, mode queue has precedence [beldin]
* DCC_ types are handled a function-call table now rather than (stupid)
  huge case statements..allows more versatility with connects [beldin]
* +u is now checked at the RECEIVING end of sharing [beldin]
* binding change (is it time to jump to 1.2?) ->
  the flags section of bindings is now in the form:
    [globalflags][operator[chanflags]]
  global flags matches vs global flags only, operator is one of & or |
  & implies EXACT match i.e. if you use o&n it will match only global +o AND
  channel +n, whereas | is or, i.e. any will trrigger it eg: Bo|o will
  trigger by a botnet master OR a global op OR a channel op. [beldin]
  THIS WILL BREAK ANY SCRIPT that uses O/M/N in bindings (woohoo ;)
  (OR is the default take note)
* also applies to help/text outputs (someone go through and change these all 
  please) [beldin]
* Made global variable to specify whether the server connection should be
  closed when an ERROR from the server is received. (found by EraseMe) [BB]
* Merged hash.c into tclhash.c [beldin]
* .save now displays a confirmation [robey]
* modules can now create their own hash tables [beldin]
* added load/unld <module> bindings to allow scripts to configure when
  a module is loaded [beldin]
* Added MODULE hooks in blowfish for `encrypt_string' and `decrypt_string'. [BB]
* New module `woobie' to serve as a skeletal/sample module. [BB]
* New module `wire.so' which replaces `wire.tcl'. [BB]
* Minor fixes for NO_IRC. [BB]
* More work on converting messages to `english.h' definitions for language 
  support.  Currently, only user messages are being converted (not TCL or 
  party-line messages). [Raistlin/BB]
* Moved CLIENTINFO definitions to `english.h' for language support.
* QUIET_REJECTION definition has been changed from a compile-time option
  to a run-time variable `quiet-reject.' [BB]
* If MODULES are being compiled, the NO_FILE_SYSTEM definition is now
  undefined.  (e.g. just don't `loadmodule filesystem') [BB]
* `CHECK_STONED' definition has been changed from a compile-time option
  to a run-time variable `check-stoned.' [BB]
* Installed a working wire.tcl for 1.1+ bots. (Yes, it was still broke
  here) [BB]
* FEATURES.1.1.x added, and README updated with MODULE information. [BB]
* `userinfo1.0.tcl' script added to add commands and `whois' output 
  fields for additional user information. [BB]
* New global variable `numversion' containing the numeric source
  version from `version.' [BB]
* New global variable `lastbind' for identifying what bound command
  triggered a tcl routine. [BB]
* If a permanant owner was -mn'ed, the +n would be retained, but that
  owner would not be able to effect .chattr's because he would not have
  a +m himself.  Hence, he could not even +m himself to fix it. [BB]
* .who now reports DCC socket numbers to OWNERs. [BB]
* DCC socket numbers ONCE AGAIN removed from inter-bot note displays. [BB]
* Bug in filesys module when no files-path caused a crash. (added a new 
  call to the filesys module: FILESYS_ISVALID). [BB]
* Makefiles modified and cleaned to not relink when unnecessary. 
  (eggdrop and *.so's are no longer mv'd, but are -o'd to the base
  source directory for dependancy) [BB]
* Added `strict-servernames' variable from to not update the
  server list when servers identify themselves differently. [BB]
* More fun help file grammar changes... Still not done yet. [BB]
* new tcl var: dcc-flood-thr - dcc flood threshold [BB/beldin]
* Removed #define OWNER - always an owner now [BB/beldin]
* tcl_chpass needed 16 byte password buffers [paranorml]
* small change to tcl-commands.doc [beldin]
* change to configure for helping deal with fr0k3 linux libdl.so setup [beldin]

