UPDATES.md 94 KB

1.4.9

  • Fix various compile warnings and spam
  • Fix ptrace detection on OpenBSD (after 1.4.6 regression for the Linux fix)
  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Fix command executions.
  • Fix OpenSSL 1.1 build (API) and forward-runtime (ABI) compatibility. (#116)
  • Properly honor exemptions when kicking matched RBL clients
  • Fix LASTON not being shared
  • Fix OpenBSD eg++ detection
  • Add LibreSSL support

1.4.8

  • Support Debian/Ubuntu's libssl1.0.0[:i386] package.
  • Improve hints about OpenSSL library packages to install.
  • Fix AddressSanitizer [1] being enabled by default causing 16TB+ of VM to be used. On most systems this was harmless since the memory was not actually used. This feature is still enabled by default for debug binaries. [1] http://clang.llvm.org/docs/AddressSanitizer.html
  • Fix './wraith -C' file being immediately modified when saving on FreeBSD (#94)
  • Support FreeBSD closefrom(2)
  • Use vfork(2) in some places

1.4.7

  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Fix Linux binary compat on FreeBSD due to lack of ptrace(2).
  • Avoid warnings from Debian's FORTIFY_SOURCE
  • Remove an old +take limiter that was forgotten.
  • Use Linux's prctl(PR_SET_DUMPABLE) to disable core dumps and ptrace(2).
  • Use FreeBSD 10's procctl(PROC_TRACE_CTL) to disable core dumps and tracing.
  • Fix binary compat issue causing ptrace permission errors on Linux 3.4+
  • Fix ban/exempt/invite masking not working with 10-char idents.
  • Fallback to ISON if the server falsely claims to support MONITOR.
  • Fix bot not auto-opping after just connecting.
  • Fix invites not being applied in -dynamicinvites channels when +i is set.
  • Fix not handling auto-op in minutely channel rechecks.
  • Fix auto-voice and auto-op not applying after a nick change.
  • Don't truncate bot's join time on .reset.
  • Fix various small memory leaks.
  • Fix case where .[bot]set would not share to new bots until their localhub was relinked.
  • Raise netsplit timeout to 1000 seconds and allow it to be configured with 'set wait-split' (#60).
  • Indent BOTNET entries some in .whois.
  • Disallow negative 'chanset limit' (#96).
  • Raise server cycle time from 15 to 30 seconds and add 'set server-cycle-wait for configuring it. (#81)
  • Show reason when initiating FiSH Key exchange
  • Auto initiate FiSH key exchange (with fish-auto=1) when invalid message received. (Invalid or unknown key) (#74)
  • Show more clear error on Centos 7 that static-libstdc++ is required, rather than an obscure Libcrypto error.
  • Restrict 'chanset groups' to owners.
  • Stop building the binary as i486. Let it use modern x86/x86_64.
  • Stop trying to regain jupenick when it is unavailable and main nick is temporarily juped (#101).
  • Fix bots not tracking groups for other bots. This also fixes slowjoin with groups.
  • Fix bot forgetting its nick/jupenick during restart and reverting to botnick if restarting in the middle of a server connect or attempted NICK change that fails.
  • Fix some various internal caching issues.

1.4.6

  • Disable demo TCL support by default to prevent confusion during build.
  • Avoid apparmor ptrace(2) warnings on Ubuntu
  • Allow 'set trace ignore' again. Undoes a change from 2005.
  • Fix ptrace detection on Linux
  • Fix broken startup with GCC from ports on FreeBSD.
  • Fix simulated terminal mode (-nt) defaulting to all console flags.
  • Fix simulated terminal mode (-nt) not having color supported.
  • Fix race between DCC and terminal output which could result in bolds being backwards (#86).
  • Fix TCL warnings during build if TCL is not being used.
  • Rework the build to parallelize better and rebuild some things less often.
  • GCC: Always link libstdc++ statically. This avoids distributing a binary that would rely on having a specific compiler version installed and avoids issues when updating the local compiler. This also fixes building a binary with GCC on FreeBSD and using it on a clang-only system.
  • Fix conversion of command passes from ancient 1.3 format.

1.4.5

1.4.4

  • Read in /etc/hosts on startup
  • Fix 'bl %group cmd' giving incorrect message when group/bots not found.
  • Fix cmd_slowjoin eating the first channel option (This fixes groups support)
  • Fix help for 'topic' to show optional channel argument
  • Fix cmd_hublevel not properly requiring a hublevel argument
  • Fix build with clang (FreeBSD 10)
  • Fix startup crash when some shared library symbols were missing
  • Fix build on systems without working libssp
  • Fix build detecting invalid openssl installations (ones with only static libs)
  • Give hint on bot when disconnected from hub for reason
  • Fix cmd_netnick formatting issue with offline bots
  • Fix crash when built with clang (FreeBSD)
  • Binary now uses libelf internally for handling conf data.
  • Bot responses are now clear and nice. Recompile with your own list if you want in doc/responses.txt
  • Remove channel limit when limitraise is disabled (#77)
  • 'fork-interval' removed.
  • Build with -fstack-protector by default
  • Remove 60 process limit

1.4.3

  • Default 'set promisc' to ignore since it's usually a false positive and doesn't matter much.
  • Bots linking in must now have a matching host on their user to succeed linking. This was always requiring a valid host, but was not restricted to that bot.
  • Fix leaf bots being able to initiate userfile transfer to hubs
  • Protect binary updates so that only hubs can offer/send them
  • Fix backwards compatibility with older 1.2/1.3 bots
  • Fix vulnerability in linking

1.4.2

  • Prevent crashing on startup if openssl can not be loaded
  • Rename option -c to -m for 'manual' edit, and redirect -c to -C
  • Show a nicer compile error when BUILDTS unable to be determined / gmake is not used.
  • Show 'Do!' in 'chaninfo' for 'Voice-moderate' to be consistent with other flags.
  • Fix CALLERID not respecting ignores (#63)
  • When using msg OP, check for and allow '#chan PASS' as well as 'PASS #chan'
  • Warn when using 'chattr +a' as some users may expect it to be auto-op (#58)
  • Really fix CAPS/COLOR flood detection not obeying x|x flags
  • Support TCL 8.6 in the beta libtcl support (no scripting support yet)
  • Fix hub startup not respecting changed HUB lines in config
  • Fix './wraith -V' not showing the updated HUB info

1.4.1

  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Remove 'chanset +meankicks'. You can customize your kicks in doc/responses.txt and recompile.
  • Don't allow running as root
  • Don't allow more than 5 bots per binary.
  • Fix CAPS/COLOR flood detection not obeying x|x flags
  • Fix OPs engaging the mass flood protection
  • Fix +bitch not working under some conditions
  • Fix "+d virus" causing bots to enforce deop anyone who ops someone who opped a +d user
  • Fix compiling without TCL support (#50)
  • Reading in pack.cfg will now do some sanity checks
  • Add better explanation when rejecting botlink due to not being +o (#51)

1.4.0

  • Updated server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Change +bitch reaction to use normal queue for deopping opper/opped clients
  • Fix +take clearing -fastop (fixes #371)
  • Added botbitch to mmode (fixes #139)
  • Added SSL support This includes new set options: 'servers-ssl', 'servers6-ssl', 'server-port-ssl', 'server-use-ssl'
  • libcrypto (openssl) is now loaded at startup and is required.
  • Added TCL support. This is only a .tcl command currently, no scripts are loadable yet.
  • Fix blowfish not working correctly on 64bit
  • Suicide will now remove all bots related to the binary being removed (fixes #435)
  • FiSH message support added.
    • FiSH support for DH1080 key-exchange. 'keyx' command added to start from bot, and responds to key-exchanges.
    • Auto FiSH key-exchange when accepting users via callerid (controllable with set 'fish-auto-keyx')
    • Automatic re-key exchange after every message to avoid replay attacks (controllable with set 'fish-paranoid')
    • Set FiSH key via cmd_setkey and 'chanset fish-key'
    • Bot expires key exchange if there's no response in 7 seconds.
    • Bot expires key-exchanged keys after 60 minutes.
  • When 'mdop' protection is on, re-op all previously opped clients automatically.
  • When 'mop' protection is on, deop all previously regular clients automatically.
  • Add './wraith -V' which will display the packconfig that the bot is using.
  • Add cmd_newhub for adding a new hub. All bots will add this to their config.
  • Hubs can now be overridden inside the botconfig (-C)
  • Optimize userfile writing by doing it asynchronously
  • Groups support added. See: http://wraith.botpack.net/wiki/Groups
    • Add [bot]set var 'groups' to configure what groups bots are in
    • Add chanset 'groups' to take a list of groups that should join. 'chanset #chan groups { main backup }'
    • Added group support to 'botcmd': 'botcmd [*|&|?] %group cmd'
    • 'botjoin' and 'botpart' have been removed. Just use .+chan, .chanset, .botset to control groups.
    • Add command 'groups' to list all groups and which bots are in them.
    • Command 'channels' now accepts a '%group' param to show which channels a group are in.
    • Add '%group' support to 'bots' command.
  • Improve output of 'bots' command by displaying and sorting nodename
  • Minus chrec if .chattr set no flags
  • Added 'chanset +floodban' to ban clients that violate 'flood-chan' and 'flood-ctcp'
  • Bots now auto-reop other bots that get deopped
  • Bots now ask for ops quicker if another bot is opped
  • Bots now request/join +ilk channels much quicker
  • Add 'chanset revenge' which will react/kick/ban/remove users who kick/ban/deop bots.
  • Fix flood kicking not properly tracking multiple clients at once (#43)
  • Add chanset 'flood-bytes' to count how many bytes:second a user sends before getting kicked for flood. (#42)
  • Bot will now lockdown channel (+im) if banlist becomes full (#37)
  • Bot will now lockdown channel (+im) if a drone flood is detected (#37)
    • Add chansets 'flood-mchan', 'flood-mbytes', 'flood-mctcp' to control reactions to mass floods (#37)
  • Remove unneeded chanset 'nomassjoin'
  • Add chanset 'caps-limit' to handle % of message that can be in caps before kick (#8)
  • Add chanset 'color-limit' to handle how many color codes are allowed in a message before kick (#8)
  • Add chanset 'closed-exempt' which will allow exempting non-users (who are opped or voice) from being kicked. (fixes #171)
  • Tweak limit range checking such that bot will set limit less often
  • Bots now again respect devoices made by other bots and will not revoice those users.
  • Add chanset 'voice-moderate' which will auto set +m in '+voice' channel and devoice flooding clients instead of kick. (#48)
  • Bots now will enforce devoices made by ops (user +o) and allow any op (user +o) to revoice to disable that enforcement. This used to use +m to enforce/allowed revoicing.
  • Bots will now remember a client's flood/devoice settings if they cycle (#49)

1.3.4

  • Fix various compile warnings with newer GCC
  • Fix bot getting confused when changing to long nicks
  • Fix case where nick would rotate to NICK1 when already on NICK2 and NICK was unavailable
  • Documentation cleanups
  • Fixed 'request' kick msg with cmd_kick
  • Enforce cmd_invite syntax
  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.

1.3.3

  • Fix --disable-ipv6 compiling
  • Update cmd_mop to support console channel (so it works via Auth commands better)
  • Add an extra 2 second delay before releasing nick to aide in syncing and time to type /nick
  • When a nick is released, start regaining as soon as it is witnessed to have been taken again
  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • cmd_mns_user now accepts multiple users (fixes #77)
  • Permanent owners can no longer be removed via cmd_mns_user
  • Fix various places incorrectly truncating passwords at 15 characters
  • Fix BSDmakefile not being included in distribution package

1.3.2

  • Misc bug fixes
  • 'make' on BSD will now redirect to gmake.
  • Fix partyline cmds for |m and |o users who do not have console set correctly. (.adduser)
  • Allow simulated terminal (HQ) user to access owners (ie, .chpass owner)
  • Fix 'mop' causing a mass deop when -bitch
  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Don't kick friendly bots that are desynced: op them.
  • Wraith is now linked dynamically. This should improve binary compat. Compile on the oldest OS you want to support, and ensure newer ones have all necessary compat libraries.

1.3.1

  • Fix crash related to slowpart
  • Fixed parsing errors in .chanset
  • Only global +n can use .chanset * now
  • cmd_die no longer puts user's nick into the quit msg.
  • Update rbl list, 'set -yes rbl-servers -' to get new list.
  • Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
  • Fix default compile so it doesn't use a ton of processes.
  • Fix bot getting killed on OpenBSD 4.7 on startup
  • Ignore 'pflog' interfaces in promisc
  • Fix buffer overflow in DCC
  • Fix problems with changing IP
  • Fix bot going zombie if it jumps during a restart
  • Fix auth IRC lookups getting the wrong cached idx
  • Fix cmd_relay so it does not use IPv6 if not supported.
  • Fix bot linking so it does not use IPv6 if not supported.

1.3

  • Binary / shell / startup changes
    • Binary error messages are no longer obscure numbers or fake segfaults. (Compile with OBSCURE_ERRORS to re-enable)
    • Binary pass prompt has been changed to not be an obscure 'bash$' prompt anymore.
    • Removed pscloak feature, it was too malicious, pointless and stupid.
    • Fix problem of upgrading with uninitialized binaries causing corruption (will kick in on future upgrades)
    • Optimized how some shell operations are executed.
    • Uname checking (and associated emails) have been removed.
    • Email functionality has been removed.
    • Fix crash on OpenBSD due to mmap(2) bug.
    • Removed gethostbyname() dependency. This fixes Linux binary compatibility issues / crashes on startup.
  • Cookie op changes
    • Cookie op algorithm changed again, they can no longer be easily reused (fixes #402) Thank you mulder.
    • Cookies no longer fail if the opping bot changes nick after queueing the mode.
    • Cookie time window increased, false-positives from lag/netsplits should be completely eliminated now.
    • Auto disable cookies on ircu(undernet) and Unreal servers as they do not support unbanning nonexistant bans.
  • DNS changes
    • More DNS errors are now handled which fixes some misc DNS issues.
    • DNS now works on servers which tend to only return partial results (fixes #424)
    • Lower DNS lookup timeout from 40 seconds to 10 seconds.
    • Use random query ids for DNS lookups.
    • Remove cox.net nameservers from backup list.
    • Add Google DNS servers as backups: 8.8.8.8, 8.8.4.4 (http://code.google.com/speed/public-dns/)
    • If a .resolv.conf exists, only use the nameservers listed in it.
    • Fix problem of bots never reconnecting to hub after being up for long periods. (Was a DNS issue)
    • Bot no longer connects to IRC over IPv6 if it was specifically given an IPv4 IP.
  • Botlink
    • Bots now link to the first bot in their binary (the localhub) over a UNIX domain socket. Only the localhub connects to the main hubs.
    • Bots must have a matching host to be able to link now.
    • Telnet/DCC now checks both forward/reverse to ensure they match. (fixes #19)
    • Fix botlink problems when hub and leaf nicks are long.
    • Only use oident for server connects, not for bot linking.
  • Compiling changes
    • Prefer g++ 4.4.1 when compiling.
    • No longer bundling Openssl code; It is now required to be installed to compile.
    • build.sh cleanups.
    • Now including bdlib.
    • Enable SSP for debug binary/testing.
  • PackConfig changes
    • PackConfig can now be securely read over STDIN. Use ./wraith -Q, then paste it in.
    • Binary will no longer generate SALTS if missing from the PackConfig. This was causing too much confusion.
    • SHELLHASH renamed to BINARYPASS (SHELLHASH is still supported)
    • BINARYPASS and Owner passwords in the PackConfig can now be salted-sha1. '+' + RAND(5) + '$' + SHA1(RAND(5) + 'password')
    • BINARYPASS may no longer be an MD5 Hash.
  • Userfile / sharing changes
    • Userfile transfer is now made over botlink (no extra ports needed) (works behind NAT/firewall)
    • New userfile pass algorithm (salted-sha1)
    • New userfile cmdpass algorithm (salted-sha1)
    • New userfile storage format.
    • Raise Handle length up to 32 characters.
  • cmd_set fixes
    • Sanitize cmd_set input locally as well as remotely (fixes #273)
    • Ensure that some set variables are only 1 word long.
    • Fix cmd_botset not setting default/global value on leaf bots when clearing a var (fixes #389)
  • Misc fixes
    • All existing compile errors fixed.
    • Cleanup +r implementation a bit to lookup users more often than only on join. (fixes #127)
    • Bot now properly reacts to IP bans if it is +r.
    • If a user does not have a console setting, they will be given default settings on login.
    • Fix a case where the temporary file was not cleaned up when exiting config editor (-C) (fixes #428)
    • Fix cmd_slowpart issues.
    • Fix cmd_pls_chan causing bots to reset a channels settings when it already existed.
    • Fix password length discrepencies / off-by-1 problems in cmd_chpass and cmd_nopass (fixes #436)
    • Fix botcmd to make sure that results are delivered only to the requester (fixes #208)
    • Fix issues with server-port not being updated to the current server list (fixes #176)
    • Fix aliases not properly indicating bad command on leaf bots (fixes #297)
    • Fix (+|-)(ban|exempt|invite) commands to properly handle if the channel is given first so that a #chan!@ ban is not created.
    • Fix chanint 'flood-exempt' not exempting ops when set to 'voice'.
    • Fix segfault with /KNOCK on csircd.
    • Fix restart causing bot to change nick (this was a regression in jupenick)
    • Fix cmd_slowjoin not working on backup bots correctly.
    • Fix a crash from long hubnicks.
    • Fix +botbitch being very slow and inefficient
    • Better +bitch/+botbitch/+closed handling when in floodless mode.
    • Bot now attempts to join a channel immediately on invite.
    • Fix bot not setting 'chanmode' channel modes when getting opped.
    • Fix bot forgetting server uptime on restart
    • Fix '+user user' with no hostmask adding the hostmask '!@' to the user.
    • Fix case where bot would not get the +e and +I lists when getting opped.
    • If a bot devoices a user in a +voice channel, the +y bot will no longer enforce this.
    • Fix cmd_botjoin not properly setting up addedby/addedts for the channel.
    • Fix bots never timing out when connecting to servers sometimes.
    • Bot no longer tries opening an identd socket unless it's root or running on cygwin.
    • Fix crash when setting a bot +B
    • Fix crash and lockup in cmd_bottree
  • Misc changes
    • Cleanup DCC/Telnet listening so bot only listens on IPV6 if it was specifically given an IPV6 IP.
    • CTCP bot CHAT will no longer work if the bot does not have an IPV4 IP set.
    • Add cmd 'release', 'netrelease' and msg-release for releasing a bot's jupenick on a 7 second timer.
    • Add MONITOR support. This speeds up NICK grabbing. (fixes #320)
    • Add set 'deaf' to run bot in DEAF mode on supporting IRCDs. This prevents channel conversations coming to the bot. On by default.
    • Add set 'callerid' to run bot in CALLERID mode (+g). +c bots will automatically accept messages from known users. (fixes #45)
    • Rename set 'flood-g' to 'flood-callerid', which only takes effect if the server supports CALLERID.
    • Relays are now encrypted between bots. Username is sent automatically. Just enter in pass now.
    • Added pseudo-channel 'default' which can be modified with 'chanset' and 'chaninfo'. This is used to modify what the default channel options will be for new channels.
    • Removed 'set chanset' as it has been replaced by 'chanset default'
    • Add new channel setting 'ban-type' which support mIRC style ban types (adapted from recent eggdrop patch)
    • EFnet server list updates (To update yours: .set -YES servers - | .set -YES servers6 -)
    • Default alias updates (To update yours: .set -YES alias - ) 'cq' added as an alias to 'clearqueue play' to stop .play
    • EFnet's CSIRCD servers have been removed as they have proven to be highly incompatible with Ratbox features. (irc.nac.net/irc.efnet.no)
    • Give localhubs credit for adding their child bots in 'whois'.
    • Ident lookup timeout is now 5 seconds (will speed up linking / partyline connecting)
    • Cleanup all string parsing to trim excess whitespaces (fixes #268)
    • Cleanup cmd_botcmd restrictions/sanity checks.
    • RBL Checking: Add 'chanset +rbl' which uses list of servers from 'set rbl-servers'. Only +r bots will enforce this.
    • Removed 'chanset +knock' and replaced with 'chanset knock (Op|Voice|User)', see 'help chaninfo'.
    • Default log timestamp now includes seconds.
    • Hubs no longer include their own timestamp over botnet.
    • Floodbots (+f) and Resolvbots (+r) are now listed in cmd_userlist
    • Floodbots (+f) will automatically unDEAF themselves to they can monitor the channel for floods (namely flood-chan). Note that this is done about 10 seconds after adding +f to a bot. Removing +f will set DEAF again.
    • This auto DEAF/UNDEAF works if you auth with the bot and it supports channel cmds
    • Added SHA256 support (cmd_sha256, Auth cmd: sha256)
    • Add cmd_encrypt_fish and cmd_decrypt_fish which uses eggdrop's blowfish (same as FiSH)
    • Add cmd_hash which returns the MD5, SHA1 and SHA256 of the given string.
    • Credits/cmd_about updates.
    • Add chanset '+/-voicebitch' for a +bitch style enforcement over voices. (fixes #381)
    • Add chanset '+/-protect' which will set +botbitch and mass deop if any takeover is detected.
    • Add chanset 'protect-backup' which will optionally set +backup in the event of a takeover with +protect.
    • Channel settings 'mop' and 'mdop' now react to non-users.
    • set 'fight-threshold' now requires +protect and is a trigger for +protect. See 'help chanset' for +protect info.
    • Bots no longer cycle channels when restarting/upgrading. (This will take effect AFTER upgrading to 1.3) (fixes #187)
    • Speedup irc server queue by bursting more often and fully. Thanks VXP.
    • Add set 'msgrate' to define how often to dequeue to the server, if non-ratbox.
    • Add set 'msgburst' to define how many commands to burst to server per msgrate.
    • On hybrid/ratbox servers, burst some commands on connect
    • On ratbox type servers, use an optimized queue for better throughput on the queue.
    • Add cmd_play for playing files to irc. (ASCII art gallery exhibition)
    • Utilize CPRIVMSG/CNOTICE if available.
    • Chain WHO requests to try avoiding Max SendQ
    • More Auth channel commands are now available. Auth up and run +help to see them all. (fixes #2)
    • Add debug buffer output on crash - please give to bryan if it ever comes up.
    • Remove hardcoded -bot alias and move to 'set alias'. Also add a '+bot' alias to 'newleaf'

1.2.16.1

  • Fix linux compile errors

1.2.16

  • Add 'set altchars' so that alternative characters used for nicks can be changed. (fixes #418)
  • Fix channels added by cmd_slowjoin not having the user who added them associated with the channel.
  • Removed BDHASH as it wasn't even used.
  • SHELLHASH now supports SHA1 hashes.
  • Fix segfault from receiving truncated DNS replies.
  • Remove 'set mean-kicks' and change to 'chanset +meankicks' (default on, does not upgrade from old .set, must unset after upgrade if wanted)
  • Don't check last/promisc unless linked.
  • Speed up botnet parsing / set lookups /cmd_help a bit
  • Fix some various issues with initial setups and new PackConfig format
  • Greatly sped up binary startup - lower resource usage for cron checks, etc.
  • checkchannels now displays server. (fixes #420)
  • Added 'jupenick'. Jupenick is preferred over 'nick' but only 'nick' will be rotated with altchars. Ie, nick_, nick-, etc. (fixes #421)
  • Added 'link_cleartext' which allows disabling of cleartext bot linking (needed for upgrades)
  • Fixed bug where salts were not written to binary when first generating them
  • Fixed countless buffer overflows. (fixes #226)
  • Fixed a rare segfault on userfile transfer timeouts
  • Fixed bots getting confused about their hub/uplink after userfile transfer fails (fixes #61)
  • Fixed cmd_handle not properly bounds checking max handlen. (fixes #305)
  • Bans are now only retrieved from server after being opped. (addresses #406)
  • Update efnet server list and add new alias 'bs' for botset. (To get new defaults: 'set -YES servers -' and 'set -YES alias -')
  • Fix /ctcp FINGER leaking shell username when using oidentd
  • Fix ISON not working on some ircds.
  • Fix a socket leak from timed out userfile transfers.
  • Fixed bot dying off when it can't create a temporary file. (fixes #412)
  • Show connection time in cmd_(net|bot)server now.
  • Fix a segfault in the settings handling code. (Could create very random looking segfaults)
  • Disable bot +f as all it did was cause a segfault. The flood code is unfinished. (fixes #429)
  • Fix cmd_slowjoin not counting bots correctly. (fixes #431)
  • Added telnet 'tcl expect' script in scripts/telnet.exp. Can be used for easier hub management over telnet from shell.
  • Fix 'cmd_rehash' problems on hubs.
  • Fix 'HQ' user getting wiped in -t mode resulting in a crash. (fixes #298)
  • Fix bots linking to the wrong hub not giving a good reason why they failed in the log. (fixes #369)
  • Fix segfault on some ircds after restart due to them not giving 005 information on VERSION. (fixes #378)

1.2.15.1

  • Fix leaf bots not updating behind other hubs (fixes #419)

1.2.15

  • Fix a possible segfault when binaries compiled wrong
  • Fix a segfault in op cookies during a desync
  • Remove cmd_netmsg and restrict cmd_msg so it cannot be used from botcmd.
  • Fixed '+user' so that hostmasks are sanity checked. Ie, (test@test.com is added as *!test@test.com)
  • Add links to FAQ/new site in cmd_help/cmd_about
  • Cleanup some ctcp responses
  • Add more ctcp version responses (mirc scripts), and some others, such as irssi/xchat/snak/cgi::irc
  • Add more 'responses' (ie, kicks reasons)
  • Added new chanset flag '+knock' which will make +y bots auto invite USERS. (No flag restrictions currently)
  • Bots now check their own hostmask before opping or requesting assistance to join a channel
  • Fix bans not being removed from channels when removed from bot. (fixes #352)
  • Dont show portmin/portmax/pscloak/autouname/datadir/autocron in binary config unless they are not set to the default
  • Fix possible situation where an error while saving userfile is not reported (fixes #287)
  • Fix a bug where some nets did not save userfile correctly
  • Fix a case where 'botcmd ?' would loop forever when a hub had a 1 character handle
  • Change default realname to mimic bitchx
  • Make the 'detect login' use less shell resources
  • Fix bot hosts/users being cached internally as wrong, even when a new host is added
  • Fix segfault in cmd_mmode (fixes #399)
  • Fix segfault from receiving from non-recursive dns servers. (fixes #401)
  • Fix some cases where the bot would pointlessly do WHO on users instead of on the channel to resolve a desync.
  • Fix the bot not starting up when it is not allowed to run ptrace() (FreeBSD: security.bsd.unprivileged_proc_debug=0)
  • Misc help cleanups
  • Show kline reasons on connect to servers. (fixes #400)
  • Fix case where binpath/datadir were not updated correctly when homedir changed. (fixes #169)
  • For security purposes the following commands are now hub-only: botnick, botserver, botversion, botmsg, netnick, netserver, netversion
  • Added cmd_nick to display leaf's current nick
  • Change default ip/host/ip6 to a * in the binary config
  • Silently fix user mistake of giving hostname in ip field in binary config
  • Fix datadir being expanded to full path (fixes #405)
  • Bots can now be started as ./binary bot.conf instead of ./binary bot. (Disable autocron and manually crontab it to start like this)
  • Fix a very rare segfault when closing the identd socket (fixes #410)

1.2.14

  • Fix another bug in shell functions. (fixes #321)
  • Fix some bugs with bot flags. (fixes #334 and #337 and #344)
  • Remove the notes system and related commands. (fixes #275)
  • Fix ./binary -C not signalling the correct process under some situations. (actually fixes #315)
  • Fix bots being removed from binary not being killed. (fixes #338)
  • Fix typo in help for 'set' (fixes #342)
  • Fix typo in help for 'botset' in regards to wildcards. (fixes #365)
  • Fix cmd_swhois stripping multiple channel modes. (fixes #348)
  • Fix processing/killing/signalling of possible new localhub when editing binary.
  • The socket file generated for restarting is now encrypted.
  • Delay 'op-requests'.time seconds before re-requesting op on opeless channels.
  • Fix some issues with case with pid files, nicks, conf loading. (This will break some bots upgrading to 1.2.14)
  • Fix bot not reconnecting with new ip/host when -HUPd. (fixes #340)
  • All bots are now rehashed after editing binary - nick casing, ip changes are taken into effect.
  • Bots now use the shell username instead of botnick when ident does not work.
  • Localhubs now auto add *!~username@... hosts instead of *!~nick@... hosts for their leafs.
  • Make bot chmod() itself when accessing its binary.
  • Fix bots sharing wrong channel keys over botnet.
  • Cmd_swhois now displays a list of only 'public' channels as well.
  • Fix cmd_mns_user being ran on self-bot. (fixes #350)
  • Fix cmd_checkchannels not taking slowjoin into account.
  • Fix cmd_swhois returning results after a server jump.
  • Fix bots not connecting to their uplink.
  • Add ghost-inspired feature: backup bots. Bots marked +B will only join channels marked +backup.
  • Fixed cmd_nohelp (for viewing undocumented cmds - mainly debugging cmds)
  • cmd_adduser sends a PRIVMSG now instead of a NOTICE
  • Rewrote op-cookies to be fix a security hole. (They also react to '.set hijack' now)
  • Fixed +voice flaw where users in channels that were +voice AND +private would only be voiced with |v. (fixes #54)
  • Added cmd_clearhosts
  • Added 'whois restrictions' to more cmds.
  • Add channel flags 'nomassjoin' and 'flood-mjoin' to set +im on a timer during join floods (drones)
  • Add BOT flag +f for handling cpu intensive floods (none supported yet)
  • Add chanset 'flood-exempt' to exempt ops/voices from flood controls (see 'help chaninfo')
  • Add chanset 'flood-lock-time' to control how long to keep the channel locked during drone floods.
  • chanset flood-join now also counts PARTs as flooding.
  • Fix segfault in cmd_channel during splits.
  • Remove chanflag 'protectops' and 'idle-kick'
  • Fix bot not checking +e/+I modes when opped sometimes.
  • Fix chanset flag 'userbans' not being saved correctly. (may cause warnings on upgrade)
  • Fix authing on non-chathubs (fixes #356)
  • Fix segfault with cmd_set and adding to empty lists.
  • Cleaned up some bugs in the 'getin' system.
  • Add '$n' expansion into realname. (fixes #361)
  • Reformat CTCP logging. (fixes #358)
  • Cleanup cmd_userlist to list hubs/leafs/backups (fixes #363)
  • Bots will now cycle nicks on servers which claim their nick is invalid. (fixes #311)
  • Limit bots no longer set limit when 'chanmode -l' is set. (fixes #294)
  • Fixed +closed from interfering with 'chanmode -pi'. (fixes #294)
  • Fix misc bugs with cmd_mop. (fixes #313 and #392)
  • Bad uname EMAILS now include the localhub's nick. (fixes #354)
  • -host now accepts partial host masks, ie, '-host user@host'.
  • Rewrote cmd_mdop into cmd_mmode. See 'help mmode' on a leaf bot.
  • Fixed bots having problems with kick/bans on undernet.
  • Added oidentd support. set 'oidentd' on makes bot spoof as BOTNICK.
  • Made 'ident-botnick' variable to decide to send username vs botnick for non-ident.
  • Default servers/servers6/alias list updated ('set -YES var -' to use it)
  • Fix MODE parsing bug
  • Bot no longer requires (or uses) '-B' to spawn bots. (now: ./binary )
  • Fixed +take opping the wrong clients due to desync (+take now sets +bitch)
  • Fix cmd/dcc prefix leaking to -p users (when chat is off) (fixes #376)
  • Fix checking for flood on hosts which are already ignored. (fixes #343)
  • Added OSVER entry for bots in .whois
  • Userfile transfers now use a random filename instead of .share.botnick.users.timestamp
  • Fix ambiguous warning when a bot tries linking after being added with +user (fixes #383)
  • Add set 'irc-autoaway' to be able to disable autoaway feature. (addresses #380)
  • Fix an automatic hostmask bug (fixes #339)
  • Bots no longer die when receiving a corrupt userfile under some conditions
  • Delay for auto-op/voice (+O, +v) and +voice can now be set with 'chanset auto-delay' (default 5 seconds)
  • Update system now uses revisions instead of build timestamp
  • Linux 2.2, Linux 2.4, and FreeBSD 4 are no longer supported.
  • 1.2.13

    • Fix cmd_chanset accepting invalid flags
    • Fix Auth system not tracking nick changes correctly. (fixes #318)
    • Fix set not allowing defaults under the lower limit. (addresses #315)
    • For ./binary -C prefer environment variable EDITOR over VISUAL.
    • Fix ./binary -C not signalling the correct process under some situations. (fixes #315)
    • Fix security hole in all shell cmds. (fixes #321)
    • Make ./binary -E default to displaying every error. (fixes #322)
    • Fix a possible memory leak with DNS. (fixes #296)
    • cmd_[bot]set now accepts wildcards (*) for listing variables. (not for setting)
    • Added set var 'usermode' for IRC usermode to set on connect/rehash.
    • Added cmd_umode (+m) to manually set bots' usermodes at will.
    • Fix botnicks becoming lower case after being opped.
    • Minor documentation change for cmd_newleaf. (fixes #291)
    • Fix cmd_chattr accepting invalid flags. (fixes #293)
    • See 'help whois' as some flags are now user, bot, chan, global only.
    • Fix cmd_console not working for +private channels correctly (fixes #325)
    • -user on a bot now works on linked bots. (fixes #200)
    • Fix cmd_link being used to link to non-hubs. (fixes #329)
    • Fix cmd_mns_chan not sharing console changes. (fixes #328)
    • Fix many instances of hub nicks leaking to leaf bots. (fixes #326)
    • Fix bot not checking if it can access datadir on startup. (fixes #330)

    1.2.12

    • Clearing a variable via 'set var -' now resets that variable to default settings. (implements #111)
    • Fix bug introduced from fixing #274
    • Fixed overflow with cmd_set (fixes #289)
    • cmd_set now sanitizes input with ranges/limits. (fixes #289)
    • cmd_set now accepts 'true', 'on', 'false' and 'off' for boolean variables.
    • Added somewhat advanced password scoring to replace current password restrictions. (#56)
    • Added build os/architechture to output for ./binary -v
    • Added ARCH entry for bots in .whois
    • Added a new error code (22) which displays if attempting to run binary before using -C.
    • cmd_swhois is now -|- and hides all restricted information, channels; see 'help swhois'.
    • cmd_mop no longer defaults to console channel if no channel is specified. (fixes #302)
    • Fix cmds: bot[jump|server|version|msg] not running locally correctly. (fixes #304)
    • Fix cmd_chinfo to use the standard 'whois restrictions' (fixes #303)
    • Fix ',' character being allowed with 'set list' functions. (fixes #308)
    • Make 'set list' check to see if an item exists or not before add/remove. (fixes #307)
    • Fix problems with alias rewriting. (fixes #306)
    • Fix bots trying to boot virtual user created via cmd_botcmd.

    1.2.11

    • Fixed typo in help for .set/.conf/.channel
    • Fixed a bug in cmd_chattr with |m users. (fixes #267)
    • Suicide now removes userfile backups, most pid files, and crontab entries. (Fixes #125)
    • Fixed removed bots not being automatically unlinked from botnet. (fixes #254)
    • Aliases may no longer reference other aliases (only checked when used) (fixes #244)
    • Fixed cmd_checkchannels so that results are not shown in log, but to user only. (fixes #217)
    • Disabled watcher feature.
    • Fixed problems with symlinked binaries. (fixes #240)
    • Fixed CIDR masks not being checked on JOIN. (also fixes some other cases of CIDR matching) (fixes #270)
    • Fixed a segfault from removing bots. (fixes #271)
    • Fix /MSG invite not showing proper cmd for usage. (Fixes #278)
    • Fix cmdpass processing on ambiguous cmds. (fixes #279)
    • Fix ban/invite/exempt removal flaw. (fixes #280)
    • Clean and speedup ban/exempt/invite processing. (addresses #277)
    • Fix processing of localhubs when binary is editted. (fixes #274)
    • Fix some minor bugs with cmd_conf. (fixes #284)
    • Made requested changes to cmd_dump to help clear up confusion. (fixes #269)
    • Fix improper notice when doing .set -- (this actually shouldn't say 'not set') (fixes #272)
    • cmd_bans/exempts/invites [global] now displays a list of bans for ALL channels. (fixes #276)
    • Fix a segfault with ctcp-cloak. (fairly random) (fixes #285)
    • Fixed cmd_botset not making a bot grab a different capitalization of a nick. (fixes #283)
    • Hub nicks no longer show on leaf bots for partyline chat.
    • Hub bots can no longer be whois'd or match'd from leaf bots.
    • Disabled the process list checking.
    • 1.2.10

      • Removed old references to '+/-manop' and '+/-nomop' for chaninfo in help file.
      • Fixed auth cmds not working in privmsg. (fixes #228)
      • Fixed a major security hole in cmdpass checking.
      • cmd_chhandle can no longer be used on bots. (fixes #224)
      • Revised help listing for 'auth-chan' in 'help set'. (fixes #229)
      • Fixed an invalid socket warning with failed relay. (fixes #216)
      • Fixed a potential dns socket leak. (might fix #230)
      • Fixed leaf bots sending color to hub bots still. (fixes #161)
      • Fixed cmd_trace to use 2 decimal places in display for seconds. (fixes #207)
      • Fixed cmd_trace not displaying hops correctly.
      • Expand symbolic links when searching for tempdirs. (fixes #210)
      • Fixed a segfault in cmd_rehash and revised help listing for it. (fixes #242)
      • Fixed cmd_set not saving the userfile when needed. (fixes #245)
      • Fixed cmd_set list removal bugs. (fixes #246)
      • Fixed chanmode -i conflicting with closed-invite 1. (fixes #249)
      • Fixed yet another .relay bug (YARB) (fixes #250)
      • cmd_checkchannels now states if a bot is not online. (fixes #239)
      • Added mIRC 6.17 version reply
      • Fixed empty version replies. (fixes #236)
      • Fixed a sharing segfault with an empty userfile. (fixes #243)
      • Hubs will now boot removed users/bots upon userfile reload. (addresses #243)
      • Fix typo in help file for 'botpart' (fixes #259)
      • Now supressing "port taken" error on hub startup.
      • Removed stop-nethack and associated flags. (fixes #219)
      • +bitch is now properly enforced on a netsplit return. (fixes #219)
      • Fixed a timer bug which could cause prolonged looping.
      • Removed some stale (backup) dns servers. (fixes #263)
      • Bot handles are now restricted to 9 characters. (fixes #253)
      • Fixed hubs not preserving uptime when restarted.
      • Fixed hub flaw in cmd_uptime.
      • Fixed auth cmd: help.

      1.2.9

      • Fixed cmd_[un]stick not properly using numbers for channel masks. (#160)
      • Fixed binary spawning/updating to escape needed chars for shell. (#158)
      • Fixed a flaw in binary checksums.
      • Removed references to the old 'greet' features of eggdrop from help.
      • Removed/fixed references to the old 'config' to the new 'set' in help.
      • Fixed references to 'set manop/mop' to point to chanset instead.
      • Fixed tempdir checking to attempt to 'mkdir ~/.ssh/' for '~/.ssh/...' tempdir.
      • Fixed bot link getting colors. (fixes #161)
      • Fixed +r bots resolving users by resolved ip before host.
      • Fixed 2 socket leaks in the dns/socket code. (#167)
      • Fixed cmd_[bot]set showing an invalid example for using '-YES'
      • Fixed a mem leak on bot unlinks.
      • Fixed an error with msg-* displaying as msg* in 'help set'. (seinfeld)
      • Setting 'manop-warn' was only being used for 'OP #chan' not 'OP' alone.
      • Fixed channel notices not being parsed.
      • Took out all punish/revenge code, it's been disabled since 1.2.7 anyway.
      • Fixed bots giving up on joining juped channels (may be due to split) (#168)
      • Fixed cmdpass list getting desynced during userfile transfer. (#143)
      • Removed old compatability code for converting CONFIG->SET during userfile loading.
      • Fixed "un-allocated socket" errors when a relay fails.
      • Fixed var 'server-port' not being used correctly. (Now lists/saves/loads before servers)
      • Fixed a typo in msg_pass.
      • Failed relay no longer says failed link.
      • Fixed a socket protocol error.
      • Fixed a small error in help file for 'whom'.
      • Removed some legacy code from failed relays that attempts to connect to port+1, port+2, port+3... (might fix #177)
      • Fixed an invalid killsock error in sharing.
      • Fixed chanset 'flood-*' not working correctly. (#69)
      • Fixed cmd_rehash killing hubs. And revised help for 'rehash'. (#186)
      • Fixed a bug in the listen code, which caused a segfault in /ctcp chat (a few other places too) (#189)
      • Fixed botcmd using wrong user on remote bot after doing su'ing to another user. (#190)
      • Fixed botcmd -> su/quit causing remote bots to close random socket.
      • Fixed another cmd_whom bug which showed remote users from .botcmd. (#9)
      • Fixed returning from 'su' not returning user to correct channel. (ie, partyline)
      • Fixed cmds showing failed cmdpass. (#188)
      • The respository is now stored in subversion; binaries now hold a revision number.
      • cmd_botcmd <?> now displays which bot is chosen in the log. (#192)
      • There is now a 'datadir' option in the binary config. The tempdir is still automatically found. (#162)
      • The datadir defaults to './.../' replacing the old '~/.ssh/.../'
      • Fixed ACTION ctcp log msg to be more standard. (fixes #138)
      • Added set var 'notify-time' to change the interval for regaining nick. (fixes #182)
      • Fixed segfault caused by CHANFIX/server modes. (fixes #25)
      • Modified a kick to be less offensive (fixes #175)
      • Fixed bots not enforcing bans when exempts were removed. (fixes #193)
      • Updated CREDITS/cmd_about
      • Fixed some startup segfaults resulting from bugs in glibc.
      • Fixed bot going floodless when it wasn't granted it.
      • Fixed bots requesting op in chans they don't have access to. (fixes #196)
      • Fixed a startup segfault. (fixes #195)
      • Unsetting auth-prefix disables authing/cmds.
      • Fixed segfault in cmd_slowpart (#191)
      • Fixed a memory leak in the cookie checking functions.
      • Fixed some segfaults with tempfiles
      • Update binaries can now be stored in bins/ within the hub's binary directory.
      • If a tempdir suddenly becomes unavailable, a new one is now immediately sought out.

      1.2.8

      • Fixed [bot]* cmds depending on case of botnicks.
      • Fixed hubs attempting to generate a ctcp version reply after 'cloak-script' was set.
      • Fixed some similar problems with servers/servers6/nick
      • Fixed a memleak in var_set_mem()
      • Now specifying what was removed from a list with set -listvar and set +listvar.
      • Fixed hub forgetting it's uplink.
      • Fixed hubs not correctly installing/checking crontab on startup. (#156)
      • Fixed hub segfaults (on Linux) with bot links. (#155)
      • Removing an ignore by number now displays which ignore was removed. (#126)
      • Added hub cmd 'checkchannels' which displays in loglevel misc (+o) which chans leaf bots aren't on. (#149)
      • Fixed 'chanset chanmode { -p }' conflicting with 'closed-private 1' (closed-private now sets to 0 if -p) (#14)

      1.2.7

      • Forgot 'log_bad = 0;' to fix the '!' showing up for aliases.
      • When a user is removed and is on partyline, they are now booted. (#142)
      • Booting a su'd user now returns the user to their original connection. (Problem when removing +i)
      • (eggdrop1.6) Fixed bot not requesting topic after reseting channel.
      • Fixed hubs not updating NODENAME/OS/USERNAME, which broke updating on new nets.
      • Added var 'auth-chan' which allows disabling auth cmds in all channels.
      • Fixed being able to 'chsecpass' a bot.
      • Fixed cmd_chsecpass to use whois_access() (#120)
      • Added code to eat zombie processes minutely (shouldn't interfere with anything)
      • Fixed ignores not being used. (#147) (Breaks a fix to not display msgs after added to ignore for floods)
      • Fixed improper hub recognition in binary config parser. (#148)
      • Help for 'botcmd' was off/outdated
      • Fixed cmd_[un]stick not using "ban" by default for mask type. (#145)
      • Fixed default binary name always becoming "wraith" instead of original binary name.
      • Cleaned up trace detection code.
      • Fixed hang on running binary on some FreeBSD systems.
      • Fixed bots not correctly recognizing changes in botset to empty vars after restart/update. (#150)
      • Disabled chanset flags '+/-revenge' and '+/-revengebot' as they are 100% incompatable/untouched egg code.
      • Fixed an issue with cmd_pls_host not adding all hosts given, and 'hostmask already there' now displays WHICH host. (#153)
      • Fixed binary data parsing to strip trailing spaces for entries.
      • Removed support for encrypted link for bots older than 1.2.4
      • Implemented a hack to fix a bug with link encryptions.

      1.2.6

      • (REVERTED FROM 1.2.3) Disabled all memory allocations after a segfault (Fixes CPU spinning) -This actually CAUSED cpu-spins after segfaults.
      • Disabled debug contexts as they were useless.
      • Fixed many channel cmds blocking access due to +botbitch. (#141)
      • Now using g++3.3[.6] as g++3.4 was causing spontaneous SEGFAULTS(see cpu-spin bug) on FreeBSD.
      • Fixed aliases not properly using cmdpass given. (#140)
      • Changed display for when a user uses an alias over partyline. (#116)
      • Related to above change, invalid cmds are logged in a different order now for users.
      • Fixed cloak-script not updating correctly.
      • Some fixes to slowjoin/slowpart were mixed up, fixed.

      1.2.5

      • Fixed a segfault/cpu-spin with mode parsing. (#25)
      • Fixed a segfault/cpu-spin during WHO parsing, although, it could have occurred at any time. (#110)
      • Possibly fixed a random segfault/cpu-spin after linking/connecting to irc.
      • Fixed spaces being stripped in .botcmd reply.
      • Changed order of 'rehashed config data from binary' notice to appear before any bot/userfile changes.
      • 'localhub's now check minutely if their bots need added or hosts added to userlist.
      • Fixed bot username casing causing bad cookies. (disable cookies for upgrade)
      • Fixed binary config stating there was no change with -C under certain conditions.
      • Fixed binary config not decrypting data on rare occasions.
      • Fixed bots set +k being able to request ops.
      • Fixed bots asking for ops/invite when set to +d or +k.
      • Fixed delay of requesting op spamming logs with delay msgs.
      • Added a 5 second delay on requesting/checking ops when no bots are available to ask.
      • Fixed 16 bytes after packdata being cleared in memory, causing random memory corruption.
      • Fixed localhub attempting to spawn itself during binary rehash and cmd_conf
      • Fixed another fatal bug with cmd_conf, this should fix it for good.
      • Added var 'manop-warn' to allow disabling the new manop NOTICE warnings when msg opping.
      • Added irc.ptptech.com/efnet.port80.se to default servers/servers6, added irc.pte.hu, irc.efnet.fr to servers.
      • Fixed an issue with bot respdoning to TCM CTCP VERSIONS too slowly at times on connect. (#128)
      • Added syslog style repeated log detection for all logging.
      • Fixed cmd_net[ps|last] not working. (#130, #131)
      • Added note at end of display for cmd_match to try using cmd_matchbot
      • Fixed 'reset*' being blocked with 'botcmd *'
      • Added code to prevent cmd_botcmd from being chained over botnet.
      • Prevent use of cmd_botcmd for cmds: cmd_me, cmd_away, cmd_back
      • Fixed security flaw with 'auth-obscure', and improved: auth-obscure now gives a hash regardless of 'dccauth'.
      • Fixed the whois_access() function to not allow non-perm owners to see/access perm-owners.
      • cmd_chpass now uses the whois_access() function. (#122)
      • Updated CREDITS/cmd_about (#119)
      • Fixed wrong notice on partyline when a user with no access attempts to telnet in.
      • Added binary config botline output to cmd_newleaf. (#135)
      • Fixed cmd_chattr saving userfile when no changes were made. (#123)
      • Fixed cmd_chattr displaying flags for higher users, therefore bypassing 'whois' restrictions. (#123)
      • Added examples on how to use cmd_set in the helpfile. (#118)
      • Added confirmation for using 'set' on list variables without using the list functions. (#118)
      • Fixed bots auto-opping passwordless users on JOIN, to match cmd_mop.
      • Fixed typo for 'help nopass'
      • Added CIDR/mask matching support for all user hosts, ie, '.+host user *!jerry@1.2.0.0/16' will match 'bob!jerry@1.2.3.4'
      • Balanced out mdop/mop kicks to not make entire net flood off.
      • Added flag '+r' which will make a bot resolve all hosts it sees to match against userlist. (You should only set this per-chan) (#127)
      • Removed cmd line param '-s'; Tracing bot on startup will always make the bot die right away.
      • Trace detection cannot be set to 'ignore', lowest setting is now: 'die'
      • Fixed cmd_slowjoin (#129)
      • Automatic host adding by localhubs now sanity checks if the hosts will conflict with other bots/users. (#137)
      • Fixed cmd_chanset not displaying ALL invalid channel flags, although, there are still many errors like with with the chanset code. (#136)
      • Perm owners may no longer change their handle via cmd_handle or cmd_chhandle. (#107) (A user may change to a perm-owner handle though in a situation where the list changes in binary)
      • Disabled ability to cmd_chpass a bot. (#42)
      • Fixed hubs sharing out channels that were 'slowparted'. (#93)
      • Fixed m|o being able to chattr a user for a +private channel. (#98)

      1.2.4

      • Fixed cmd_botset not displaying botnick.
      • cmd_adduser now sends a NOTICE to the person being added with their initial password.
      • Fixed cmd_conf not working at all.
      • When msging bot for op, a NOTICE is sent to user if the channel is set to no manop.
      • Fixed 'chanset *' not working.
      • Fixed bot's not being able to link when the botnick case did not match (userlist vs binary -C).
      • cmd_nopass when given any argument will give random passes to users with no password. (#114)
      • Fixed a small cosmetic error with displaying bot info in whois.
      • Fixed CPU lockup for bots which did not have NODENAME/USERNAME/SYSNAME entries filled out.
      • Slightly changed/added a comment in -C for uname.
      • Default binary name is now what you name it, or "wraith" if left in "wraith.OS-ver" format.
      • Increased buffer size in binary config for binname/binpath/homedir
      • Removed '+/-manop' from 'chanset' var and added to ignore list for chanset.
      • Fixed a segfault with 'set +' (#117)
      • List functions now only work on variables marked as list variables.
      • Changed binary data encryption to not be viewable under 'strings'.
      • Fixed/Finished some cmd_set bugs/cosmetics. -Now 'set +VAR' and 'set -VAR' will work for adding/removing to lists. ('set +/- VAR' still works)

      1.2.3

      ADDITIONS/IMPROVEMENTS

      • HUB/LEAF binaries have been combined into 1 binary named 'wraith'
      • Rewrote config/botconfig from scratch as [bot]set with list support. See 'help set'.
      • Added dcc alias support, see 'help set' (only perm owner may set aliases as loops are easy and fatal) -Added aliases: bl, bc. See 'set list alias' for more info.
      • Added cmdline option '-r ' for restarting/starting specified bot.
      • chanset -bitch/-private/-botbitch/+botbitch/+closed/+private will now trigger bots to recheck channel (op/deop/kick people)
      • Added channel flag +|-botbitch, when set only bots will be allowed to be opped, users are auto-deopped.
      • Added cmd_version (does same as .botversion)
      • Added some debug logging for failed bind() listen() and getsockname()
      • Users can no longer whois PERM OWNERS unless they are themselves one.
      • cmd_find now takes an optional username instead of a nick!user@host to search for.
      • Some changes to ./binary -C: -Default binpath is now the directory the binary is first ran in -Running the bot with -C will automatically update uid/uname/homedir/username -Added cmd line param '-c' to avoid auto updating uid/uname/homedir/username -The binary is only rewritten now if CHANGES are made in the editor.
      • cmd_conf changes: -Added 'enable' and 'disable' for bots -'remove', 'rem', 'delete' are now also recognized for 'del' -Fixed the binary not correctly being rewritten/saved -Bots are now correctly killed/spawned -'del' now also removes the bot from the userlist
      • Things done after using cmd_conf / editing config with -C: -New bots are spawned and added (if linked) -Changed (NEW) ip/host for bots are added to the botnet (if linked) -Removed bots are killed and removed from the userlist (if linked)
      • Added match option for cmd_botcmd: '&' will match on all localhubs (first bot in config) (#28)
      • Added some debug logging when a telnet connection is ignored.
      • Added some missing logging for msg_pass (#34)
      • Added log msg (+w) for when a msg is received when umode +g. (#44)
      • Added ability to +chan/chanset flood-* x:n (#69)
      • Added entry to help for ban-time in chanset: ban-time requires +dynamicbans
      • Added new feature (soft_restart) which restarts/updates bots while keeping them on IRC and preserving uptime/pid
      • Added cmd_rehash to reload binary data (conf/bots) (this is done auto after -C anyway)
      • Added cmd_suicide. (#80)
      • Added a note for users who are 'SU'd in cmd_whom for +a|. (LOCAL WHOM ONLY) (#64)
      • Added channel name to bad cookie/manop commenting (#97)
      • Added var 'auth-obscure': Don't halt on dcc w/dccauth if the pass is wrong; halt at hash (right or wrong). (#100)
      • Added var 'autoaway': How long in seconds until an idle user is set away on dcc auto. (Def: 1800, 30min)
      • Added rate vars 'flood-msg' and 'flood-ctcp' to control how quickly a bot ignores on flood.
      • Added rate var 'flood-g' which will set +g for 60 seconds after this many msgs:sec has been detected. (#74)
      • Added bool var 'mean-kicks' which enables offensive/mean kick msgs.
      • Added chanint 'voice-non-ident' which can be used to not voice non-idented clients with +voice.
      • Optimized WHO parsing more to alieviate some cpu usage in large chans
      • Binary writing is now a bit faster as the hash is calculated on the fly now.
      • Rewrote how logs are shared over botnet, now uses much less bw and resources. (#31) -[will break logging during update]
      • Tempdir is now chosen from a list as follows: (hub) ./tmp/ (leaf) ~/.ssh/..., /tmp/, /usr/tmp/, /var/tmp/, ./
      • cmd_update/cmd_restart/SIGHUP now soft restarts bot
      • Shell cmd param -u now soft restarts all running bots after updating binary
      • cmd_dump now has a substitution. '$n' is replaced with the bot's current IRC nick.
      • Changed password encryption, should auto convert, might need to reset all though. (#75)
      • Adding hosts with missing nick/ident will now prefix the host with '!' and '!*' respectively.
      • FIXES

        • Fixed binary getting an excess of 1-15 bytes during write.
        • If a binary is already initialized when updating, the pack data will not be overwritten.
        • Fixed chanset (manop/mop/mdop/bad-cookie) to accept english parameters: ignore/deop/kick/delete/remove.
        • bots now only kick for -ooo (mdop) if 'mdop' is set with chanset.
        • Fixed up bugs in cmd_cmdpass and cleared up usage/help. Also fixed not being able to set a pass on leaf cmds from hub.
        • Using a cmd with a cmdpass without proper flags now acts as if cmd is not valid (no longer spams wrong pass error)
        • Fixed some botnet userfile sharing logs showing up on leaf bots.
        • Fixed a memory leak in dns
        • Fixed DNS staying on nameservers that fail to give replies
        • Fixed some bad passes being generated/set beginning with -/+
        • Fixed binary exiting with ERR_NOBOTS under conditions that it shouldn't. (updating)
        • Fixed bots not rechecking channel for invalid users after a .-chrec
        • Fixed dccauth not correctly working according to it's setting (#30)
        • Fixed bot not updating it's hostmask when reconnecting to server (#11/#85)
        • Fixed bot sending +Ie modes before recieving list from server after opping.
        • Fixed channel bans not displaying on hubs (#1)
        • Fixed users showing up in .whom after doing .botcmd and relinking the bot which the cmd was ran on. (#9)
        • Fixed DNS returning a blank reply for reverse lookups with missing records.
        • Fixed userfile becoming desynced during transfer; A bot downloading a userfile would miss changes made during the transfer. (#11)
        • Fixed a fatal loop with accepting new telnet connections.
        • Fixed segfault after booting users when a leaf has lost +c. (#18)
        • Fixed a bug with connecting to servers that did not send any data on connect.
        • Fixed colors still showing for characters ":@()<>" when colors were turned off.
        • Fixed cmd_boot to only allow users to boot users they can whois. (Users with lower flags) Also, cmd_boot will now boot all sessions of a user on the bot specified. (#37)
        • Fixed a file descriptor leak in the 'last' checking.
        • Fixed bot's being tagged with op/login stats. (#22)
        • Fixed a bug which caused a leaf to not request ops in a channel after adding it's new host to the userfile.
        • Fixed bots unbanning bots via botnet requests when the bot is set +k for the chan.
        • Fixed a bunch of lame bugs in the getop system
        • Fixed some excess newlines when a user is booted for losing hub/leaf access.
        • Fixed unsetting a global ban when the same ban is local to a chan causes the bots to unban it. (#24)
        • botcmd * wasn't correctly being restricted to +n (#35)
        • Fixed some missing sanity checking on certain user flags for channel records.
        • Fixed msgs being logged when the msg has triggered an ignore for flooding. (#23)
        • Fixed cmdmns(ban|exempt|invite) to remove the proper ban if a number is used (#38)
        • Fixed cmd_stick/cmd_unstick not making leaf bots set/unset the masks in channels. (#41)
        • Fixed bots kicking with +bitch responses when a +d user is opped.
        • Fixed a possible loop of -v+v with +voice/+v
        • Fixed a bug where a bot would stop trying to connect to servers if using ipv6.
        • Fixed a bug in the hash creation of cookies due to an ircd stripping excess '*' in cookies.
        • Fixed hub delinking bots for not sharing instead of just offering the userfile again. (#59)
        • Possibly fixed a very rare userfile sharing desync (#58)
        • Fixed wrong spacing in cmd_status
        • Fixed cmd_boot attempting to boot a remote simulated dcc created by botcmd. (#90)
        • Fixed bots with '`' in nick not spawning correctly. (#88)
        • cmd_dns wasn't checking for params.
        • cmd_getkey over botcmd was displaying excess newlines.
        • Fixed an outstanding bug on linking from a hub to another hub.
        • Fixed 'user has joined partyline' when after using cmd_botcmd/cmd_chattr on remote bots. (#84)
        • Fixed many buffer overflows in the botnet code. (#94)
        • Fixed cmd_[ch]handle saving userfile when changes weren't actually made.
        • Fixed cmd_quit working over botcmd. (#108)
        • Fixed 'bots' not showing up in help, and a typo in 'botpart'.
        • Fixed cmd_jump/cmd_botjump not parsing 'server:port' correctly.
        • Fixed cosmetic bug with removing ignores.
        • Fixed ANSI colors not showing for logs when bot is not in background.
        • Reverted patch from 1.2 which disabled removing duplicate msgs in server queue. (Fixes most queue/excess flood bugs)
        • During update, bot uplinks aren't permanently changed now.
        • cmd_botcmd now works correctly when the target is the bot you're on. (#46)
        • cmd_pls_user wasn't correctly sharing multiple hosts to the botnet. (#48)
        • Only auto-op a user if they have a password set. (#52)
        • Several cmds were not saving userfile: -/+chrec|ban|exempt|invite, [un]stick, chinfo (#68)
        • Changes to console flag requirements: +rbh (PERM OWNER), +vd (+a), +egu (+n). (#99)
        • cmd_botcmd blocks the following cmds for '*': die, restard, suicide, jump. (#17)
        • Fixed users not being deopped in +bitch channels after being removed from the botnet. (#112)

        MISC CHANGES

        • cmd_mns_user cosmetic change
        • Typos in help for 'info'
        • Removed compatability code left from 1.2->1.2.1 switch
        • Removed/cleaned up more code left from eggdrop/modules
        • Read in '.resolv.conf' before '/etc/resolv.conf'
        • cmd_deluser change: only allow a |m user to remove users whom they have added.
        • Eliminated a duplicate struct (conffile)
        • Removed chanset cookie-time-slack
        • Removed channel flag '+|-manop' as it was redundant with chanint 'manop'
        • Removed channel flag '+|-nomop' as it was redundant with chanint 'mop'
        • Upped user limit for processes to 60.
        • Users who are v|o in a +private chan are now voiced, as before |v was needed.
        • Default UID is now: -1 (Fixes running as root by accident. #12)
        • Setting -take now automatically sets +fastop as well (#13).
        • cmd_cycle now will only cycle the net if done on the hub. Doing it on a leaf cycles only that one bot.
        • Now using ANSI color code 0 to close bold (as opposed to new standard: 22)
        • +O now implies +o
        • Combined kick reasons for +k and .kickban
        • Detection system run by localhub will kill all other running bots with DIE/SUICIDE now.
        • Bans aren't checked on join anymore if the channel is +take
        • Made cmd_addlog o|o
        • Rewrote cmd_stick to use less code, as all the ban/exempt/invite code was redundant.
        • New channels get a default chanset of: flood-ctcp 5:30
        • Changed the output of cmd_uptime to reflect irc/shell uptime (shows in cmd_status as well)
        • Disabled auto-renaming server names internally on connect if they don't match our own list
        • In config/-C, the ip field for bots can now be either ipv4 or ipv6. (ipv6 field still present)
        • Clearing chanset var now correctly uses defaults.
        • cmd_[net|bot|]version now displays if a bot has been updated and is on timer for restart.
        • Increased slack time for cookies.

        1.2.2

        • Don't sanity check flags for users on DCC CHAT if they are on the bot via .botcmd.
        • help for cmd_unlink was missing [reason] parameter
        • Updated binary -h
        • Fixed limit, wasn't correclty checking each chan every 2 minutes.
        • Fixed DNS to timeout queries after 30 seconds, server socket after 40, and to parse EOF correctly.
        • Added some responses/cloaks
        • Fixed '+ban' not showing up in help system.
        • Fixed double cmd log with cmd_whom.
        • The mode queue being flushed could cause excess flood, reverted back to eggdrop code for flushing the mode queue.
        • Added errno output to "Can't create new socket" error.
        • Display channel name from console if one is not used with cmd_chanset
        • Fix cmdmns[ban|exempt|invite] 0 removing first ban, instead of failing. (#55)

        1.2.1

        • No longer reading in /etc/hosts, still reading .hosts though
        • Disabled all the DEBUG emailing
        • Fixed closed-invite not being checked correctly.
        • Fixed segfault while relaying.
        • Telnet host matching is now fixed to match these hosts against the userfile (ONLY FOR ACCESS): -telnet!telnet@ip -telnet!telnet@HOST -telnet!IDENT@IP -telnet!IDENT@HOST
        • Fixed cmd_comment bug with changing comment on lower level users.
        • Bots now unban bans that match linked bots, +m bans besides this will not be unset auto.
        • Fixed several typos in help file.
        • Fixed a leaked socket on failed address bind.
        • Removed compatability support for <= 1.1.9 userfiles (bot records).
        • Now compiling all x86 binaries as i486 (as opposed to pentium binaries on FreeBSD like before).
        • cmd_conf now correctly writes new data to binary (not tested)
        • Fixed stdin/stdout/stderr not being closed when bot is forked into background.
        • Fixed cmd_dns not displaying results.
        • Fixed dcctable list 'leak' (no shift, leaves gaps, now dcclist is shifted only if gap at end)
        • cmd_whois with no parameters now shows your own record.
        • Fixed a typo in cmd_slowjoin.
        • Fixed display bug when bot is msgd with (op|pass|ident|invite) while the respective .config msg option is set to something else.
        • Fixed dns queries returning invalid (compressed) results for reverses.
        • Fixed some other relay segfaults and stack smashings (one from eggdrop).
        • Fixed ipv6 bots connecting over ipv4.
        • Fixed getin system continuing to parse for bans and assorted requests when bot wasn't even opped.
        • Fixed typo in cmd_date.
        • Added ability to negotiate a different link encryption for future use.
        • Fixed cmd_botcmd not checking for "die" correctly.
        • Fixed random secpass being set 1 char too long.
        • Fixed cmd_ch(sec)pass to display "[random]" now isntead of "[something]"
        • SECPASS only displays for same user and +a/perm_owner now.
        • Fixed a problem with dcc authing not being validated correctly
        • Fixed some possible problems with msgop/pass/invite/ident checking.
        • cmd_quit failed to log.
        • Now making a small attempt to auto make the tmpdir.
        • Increased password timeout to 40 seconds and auth timeout to 80 seconds.
        • Quietly ignore/drop invalid nicks for telnet login.
        • Detect botcmds from leaf bots (hijack).
        • WHO parsing was redundant and had a ton of inner loops per line, fixed.
        • Fixed a problem with leaf bots not chosing a hub when only 1 was set.
        • Fixed cmd_channel showing a user as an op in a +private chan where they might have not access.
        • Added an action when a bot performs an invite, including username and full address.
        • No longer making the bot fatal() if it cannot open a new socket.
        • Fixed NAT bug for botlinks.
        • All bots are now spawned with -B regardless of order in config.
        • +m no longer implies +j.
        • Fixed irc authing only working on +c bots (should be like this, but isnt needed soon)
        • Fixed chanset limit not being set every 2 minutes.
        • '~' replacement is now internal for paths in config.
        • No longer enforcing $binpath/$binname when using -C.
        • $binname is no longer defaulted to ".sshrc"
        • cmd_whom now assumes argument '*'
        • Changed HIJACK warning to suggest that it may just be a box reboot.
        • Now using OpenBSD's strlcpy()
        • Added a (temporarily) static auto-op delay of 6 seconds.
        • Added primitive CIDR ban support (enforcebans/kickban/getop).
        • Fixed cookie/manop protections to kick all opped nicks.
        • Misc bug fixes/improvements to internal userlist adding (perm owners/hubs).
        • Fixed bots not updating/restarting correctly (being killed before finishing process of restart/update)
        • 1.2

          • New multi-op cookie ops and hash
          • No longer displaying SALTS on ./bin -v
          • Wrote new 'response' code for misc stuff like kick reasons, and dcc responses...
          • Removed all compile time defines, moved to .config/.chanset -Moved PSCLOAK entries to misc/responses.txt
          • Removed MESSUPTERM feature, no one used it anyway.
          • All dates are UTC (GMT) now.
          • cmd_newleaf was sharing the new bot incorrectly.
          • Fixed a cosmetic/memory bug in cmd_who.
          • cmd_bots was displaying the wrong number of bots up.
          • -userbans no longer exempts +m|m
          • AUTHHASH now works as follows: If authkey is set in .config, auth hashing will occur. If a user has a SECPASS set (default: random), auth hashing will occur. If either of the above two things are empty, auth hashing will NOT occur. -Dccauth is now a .config option (1/0)
          • CLOAK_MIRC now randomly will add a SECOND version reply; some lame mIRC script.
          • Users are no longer auto-opped on netsplit rejoin.
          • Passwords now require: 2lcase, 2ucase, 8 chars.
          • Moved config settings (bad-cookie, op-time-slack, manop, mdop, mop) to 'chanset'
          • SIGHUP now restarts bot.
          • Fixed possible SEGFAULT on bot timeout.
          • Sped up mode parsing
          • +take is now enforced much quicker (take() moved up ~300 lines of code)
          • +take now uses MAXMODES-1 deops
          • LAST info for .whois is now properly shared
          • Optimized lots of code to use less CPU
          • +c bots will now boot users when they lose +c
          • Fixed a bug with removing hosts while having +d or +k
          • Fixed /me over partyline; now auto changes into cmd_me
          • Fixed cosmetic error in cmd_mns/invite/ban/exempt regarding which chan was displayed in log
          • Ignores are now checked before host is checked for access for telnet
          • cmd_mop no longer ops users without a pass set.
          • Alphabetized config list
          • cmd_mns_host now accepts multiple hosts
          • Fixed cmd_comment to work like cmd_whois/match with regards to accessing higher level users.
          • Added proper support for $b/$u
          • msg_cmd_PASS/cmd_adduser/+user were flawed. Displayed wrong length of ACTUAL set pass
          • closed-private and ban-time were mixed up in the saving/loading process.
          • cmd_swhois now shows matching username
          • cmd_botcmd * is now limited to +n only
          • cmd_chhandle did not check if the old handle existed!
          • Fixed a problem with what ip was binded to when using '.' as the ip.
          • Fixed some problems with special characters in conf files.
          • cmd_chaninfo/chanset didn't check for +private access correctly.
          • hubs now enforce binpath/binname as leaf bots do.
          • Made a solution to what to do when the fds max, from 100-130, bot will WARN once a min, >=180 -> auto restart.
          • Raised max dcc/fd to 300.
          • Bots will auto-restart if 150 or more bogus fd are detected.
          • Conf/uname email now includes binary path.
          • After changing conf with -C, binary is now moved to binpath/binname.
          • 'strict-host' is now '1'; ident is now parsed CORRECTLY, *!ident@host will no longer match *!~ident@host.
          • cmd_su allowed su'ing to a permanent owner.
          • New channels are now default closed-private = 1
          • Added chanint closed-invite, when set to 0, channel will NOT be +i.
          • cmd_su/cmd_relay no longer work through .botcmd
          • Added some simple dcc ip sanity checking back in.
          • All dns resolving is now asynchronous, all dns bugs now fixed.
          • Check server lag every 30 seconds, not every 5 minutes.
          • +v users are no longer enforced if opped.
          • cmdpasses now require that the old pass be used to clear old pass.
          • cmd_bottree now shows HUBS as yellow.
          • Added cmd_login to change login display settings seen in .whois for a few versions
          • pscloak is now default 0.
          • cmd_bots now takes an optional parameter. A nodename (hostname) to match for bots. Down bots are prepended with a *.
          • Recoded and spiffed up cmd_userlist.
          • When connecting with a floodless iline, bot will now dump msgs instead of queueing them to server.
          • Removed the checks for duplicate msgs in the queue, they're there for a reason. (also is slow)
          • Don't auto add a hostmask that would conflict with another user.

          1.1.9

          • Fixed cmd_help to display the proper entry.
          • HUBS now save userfile on remote cmd_chattr.
          • cmd_bots was showing all bots instead of just the ones up.
          • Fixed a memory corruption bug caused by failed DNS.

          1.1.8

          • Fixed cosmetic error in help:decrypt.
          • Fixed a chmod() problem when the config was missing.
          • Fixed config file not saving/recognizing IPV6 ip.
          • Fixed problem with cmd_chattr +pj
          • No longer warning about "Can't create new socket" for identd.
          • Re-wrote cmd_bots.
          • Don't auto-op users in a +take chan.
          • +take now does +oooo on remaining bots instead of individual +o lines.
          • Bots now record: USERNAME, NODENAME (shell host), OS in .whois.
          • +private checking was segfaulting some cmds under certain conditions.
          • Leaf bots weren't sharing partyline members on link.
          • cfg: cmdprefix is now working as intended.
          • Fixed a very obscure bug in auth/share that would corrupt the memory.
          • Now only perm owners may change cfg settings: authkey, cmdprefix, hijack, bad-cookie, manop
          • Hubs weren't saving userflie on remote -chan.
          • Bot specific channels (cmd_botjoin/cmd_botpart)
          • Added CFG: servport.
          • Fixed setting ban/invite/exempt on hub, and leafs not setting it.
          • Annoying log -NOTICE- *** should be fixed.
          • Removed cmd_botinfo.
          • Unrolled some loops in the botlink encrypt.
          • Added server 005 support, fixes many potential bugs.
          • Fixed many bugs with color system, including color over relay/botcmd.
          • Recoded some of the AES core, fixed several outstanding bugs.
          • Now dumping the stack on SIGSEGV.
          • Fixed hub not searching for update bins in it's own dir.
          • Shell config option 'watcher', will make 1 extra PID per bot to block process hijackers.
            • This is disabled and will be in * 1.9 -
          • Added cmd: swhois, see help.
          • Rewrote nick generator on 'nick in use'
          • Detected promisc now shows which interface.
          • Now using daemon(3) to fork into background.
          • Possibly fixed a bug with bots dying on link.
          • Bots no longer have userflag +b, they are distinguished in whois by BOTNICK instead of HANDLE.
          • Added cmd_matchbot for matching bots, cmd_match now only does users.
          • Fixed +d|d bots still being opped.
          • Fixed a bug with bot links that was causing too many open files errors.
          • Fixed a ton of unchecked buffers in cmds.c.
          • All dcc cmds are now logged regardless if they are valid.
          • Changed the log showing 'HUB: change BLAH' into debugging.
          • Fixed some truncating with long text on dcc.
          • cmd_help now shows all usable cmds regardless of console settings.

          1.1.7

          • Fixed cosmetic error in cmd_conf.
          • Fixed fatal bug in linux check_trace()

          1.1.6

          • Fixed a cosmetic error in cmd_downbots.
          • Cleaned up and removed a ton (50K+ compiled) of un-needed and old code.
          • Fixed a bug in deflag_user()
          • Several user cmds on BOTS were not being shared.
          • Fixed a fatal bug in +take.
          • Removed garblestrings dependancy on binary checksum checking.
          • Cmd_pls_host now is available to o|o. Users can add hosts to themselves now.
          • Fixed msg_invite spamming the password for non-users.
          • Removed cmd_vbottree (cmd_bottree now shows the information).
          • Fixed msgc_voice, was checking for +v instead of +q.
          • Fixed cmd_botcmd not matching '?' correctly again!
          • Added console settings for what to show on login: banner, channels, bots, whom.
          • Changed default .color to on, and all of the new settings are default on as well.
          • Several msgc cmds were replying incorrectly, fixed.
          • Fixed the bad uname email not giving the login.
          • SIGTERM now kills the bot.
          • Cmds: voice, devoice, op, deop, invite, mop, kick, kickban now check if the user issuing the cmd has access for the channel*
          • cmd_getkey now recognizes +private.
          • Resource limits were not being set.
          • No longer chmodding on CYGWIN
          • The AES core should be slightly faster now.
          • Added channel flag +autoop (+o users only, +private accounted for). (+y bots op)
          • Added user flag for autoop (+O). (+y bots op)
          • Fixed a problem with my chmod() function.
          • Fixed many various somewhat random bugs.
          • Hubs weren't setting their link socket to encrypt early enough.
          • Added cmd_conf for modifying the bot's shell conf via dcc.

          1.1.5

          • Fixed a small bug in update which only affected hubs.
          • Checksum is now calculated and added to binary during compile.
          • Fixed a bug in transfer/update which caused transfers to fail often.
          • Segfault fix in cmd_debug.
          • Fixed a potential bug in share.
          • Traffic stats are now properly cleared on leaf bots every day.
          • Removed a bunch of unused code on leaf bots.
          • Cmds over dcc now recognize ambiguous cmds and if a cmd is not valid.

          1.1.4

          • User flag +x is now correctly recognized in more places.
          • Auth system was broken similar to the channel ctcp bug.
          • Added config option 'cmdprefix' back.
          • Fixed two bugs in the auto-email code for bad uname.
          • Added cmds: encrypt, decrypt, md5, sha1.
          • Added AUTH cmds: md5, sha1.
          • First time logins were broken.
          • Cleaned up some code here and there (small fixes).
          • With +nomop set in a chan, a mass op will trigger enforce_bitch() now, regardless of +bitch.
          • Now all bots check for promisc.
          • Added chanint: closed-private. Will set +p in +closed chans.
          • New +take. -ooo with a random +o. All non-bots deopped.
          • Removed 53K from the binary (no more compression functions)
          • Bots were not recognizing keys set in .chanset.
          • cmd_pls_host now accepts multiple hosts.
          • Fixed bots not joining right away when a +chan was made.
          • New cmd: addline, see .help addline for more info.
          • CYGWIN support now.
          • Bots now respond to /ctcp CHAT quicker
          • lock-threshold config option is now close-threshold.
          • Fixed a bug with a full harddrive.
          • Added config setting "chanset". Change to what flags new channels will have. Original default list will apply for options you leave out*
          • Bot now saves/checks it's binary md5 checksum. (Except on CYGWIN)
          • Removed the majority of the garblestrings. Was slowing the bot down.
          • cmd_status now shows all information correctly.

          1.1.3

          • Fixed a very fatal bug with channel ctcps.
          • Fixed a bug in cmd_botcmd.

          1.1.2

          • Fixed a major bug with server connections.
          • Fixed a bug in share.mod where it was reconnecting if the userfile was corrupt.
          • cmd_dccstat is now available on leaf bots for (+a|-)
          • Remote idx's now set their socket to -1 (shouldnt cause any problems)
          • Removed 'ppid: ' from startup.
          • Fixed colors being shown even if .color was set to OFF.
          • Fixed a segfault in cmd_chaddr (ipv6 ips still not supported)
          • Changed format for ADDRESS display again.
          • Fixed dcc cmdpasses.
          • Fixed the annoying 'attempt to kill unallocated socket' log when a device is broken.

          1.1.1

          • Fixed a problem with using /DCC CHAT
          • Fixed a bug in cmd_botcmd with picking a random leaf.
          • Fixed a bug in the conf parsing which didn't read 'homedir' correctly. (broke update in 1.1)
          • Fixed cosmetic bugs when doing /DCC CHAT or /CTCP CHAT.
          • Fixed a double log cosmetic bug with dcc cmds.
          • If no config file, one is generated now.
          • And if no bots are listed, the bot nows gives an error.
          • cmd_quit was not returning from 'su' correctly.
          • Fixed bots mass sending out CONFIG entries when they linked.
          • Fixed some bugs in writing to server (caused too many open files errors)
          • Updated all hooks to new timer system.
          • Added more information to cmd_timers (for development)
          • 1.1.0

            • Rewrote the shell config parsing...
            • Stripped that long version (1001400) stuff out, now just 1.1.0 and the build timestamp...
            • Rewrote the core from scratch.
            • Stripped out TCL.
            • Restructured the source tree to be more organized.
            • Rewrote the 'modules' to just compile staticaly and not as 'modules' (speeds up bot.)
            • Removed define: AUTH, added: AUTHCMDS, AUTHHASH, DCCAUTH, see pack.cfg for details.
            • Leaf binary now accepts -B
            • Bot is now much more portable.
            • Fixed a bug in cmd_channels, was allowing to view higher flagged users.
            • Added extort to CREDITS.
            • Rewrote cmd_chanset to parse options correctly.
            • Cmds that auto save userfile now alert you of that.
            • binary -C now opens up a config editor, (crontab -e style).
            • Invalid cmdline options are now silently ignored.
            • Bad cmdline passwords now spoof an error.
            • A long-standing bug with updating channel lists has been fixed, MAY cause "max sendq" quits.
            • Added -k for cmdline (to kill botnick)
            • Small cosmetic fix in cmd_status for closed channels (show "+i")
            • 1.0.15

              • cmd_randstring is now limited to 300.
              • cmd_botversion and cmd_netversion are now HUB only.
              • Bots will now email owners once a day if their uname() output changes.
              • Fixed a segfault in cmd_botcmd.
              • msg_op now shows OP before STATS log.
              • Fixed a cosmetic error in cmd_secpass.
              • Bots will now relink if they get a corrupt userfile.
              • cmd_botcmd ? was not targetting leafs only, fixed.
              • Eliminated salt.h and conf.h, they are now part of pack.cfg.
              • Define PERMONLY is now known as TCLPERMONLY.
              • Added warning in .help whois about CPU INTENSIVE flags.
              • Bots now check if they need op every 5 seconds and not every 3.
              • Removed 98% of Debug Contexts; they were slowing the bot down and eating resources.
              • Removed and reorganized some various excess system calls in the core.
              • cmd_color now tells you which color mode you are shown.
              • Changed some cosmetics in cmd_chaninfo.
              • Removed some redundant system calls in getin system.
              • Fixed bots asking bots for ops in a chan where the op-bot is +d
              • Changed cosmetics of ADDRESS: display in .whois for bots.
              • cmd_match/cmd_userlist allowed getting around cmd_whois security checks.
              • Config option "nocheck" has been removed and is now implied by "ignore".
              • Bots now do NOT check for tracing/promisc/login/etc... unless something is SET.
              • Removed note ignore commands, ie .+/-noteign .noteigns

              1.0.14

              • Fixed order of log/info for cmd_whoami.
              • Fixed a redundancy in cmd_channels.
              • cmd_uplink now more clear about what is is doing.
              • Fixed a typo in cmd_ignores
              • Auto save userfile in cmd_chanset now.
              • Fixed normal bots dumping core on FreeBSD.
              • Disabled setting +p on +closed chans.
              • Fixed fatal bug in cmd_console.
              • Pass/Secpass now cut off at 15 chars correctly.
              • Fixed ./binary -E for error codes.
              • Added mIRC version 6.14 spoofing.
              • Cmds over dcc no longer will flood boot. Users with +x are exempt from dcc flood as well now.
              • Fixed several bugs in showhelp() and help.txt.
              • Some channel protections weren't checking if the bot was opped first.
              • If a user msgs a bot OP (For global), now the OPS counter in STATS is only incremented by 1.
              • Added info in cmd_chaninfo for when a channel was added and by whom.
              • Log order in cmd_chaninfo was wrong.
              • cmd_mop didn't check for n| with '*' as a chan.
              • Added help entry for cmd_whom.
              • chanset #chan +/-inactive now requires global n|-
              • Fixed some bugs in the readuserfile() function.
              • cmd_mop didn't check if the bot was opped before sending +o lines.
              • Fixed several file descriptors that weren't closed.
              • The bot will now wait until it is finished recieving the +e listing before enforcing bans.
              • Fixed a bug with .config msginvite.
              • Added a config option for msgident.
              • Changed bad op-cookie (TS) to LOG_DEBUG.
              • cmd_newleaf now modifies USERENTRY_ADDED for .whois
              • Passing '?' as the bot to cmd_botcmd will send the cmd to a random leaf.
              • Userfile is now sorted correctly.
              • Fixed a segfault bug in cmdmns/exempt/ban/invite
              • Fixed a small bug in the mIRC script.
              • Fixed a bug in the update system; wasn't RUNNING the new binary.

              #1.0.13

              • Fixed a fatal bug in console_gotshare()

              1.0.12

              • When a user first logs in, if they don't have a secpass set, one is set and displayed.
              • +closed now enforces +i AND +p (+p notifies you of invites in hybrid)

              1.0.11

              • Fixed countless various bugs. (see ChangeLog for full list)
              • All strings are now "garbled" or crypted such that they cannot be read cleartext from the binary.
              • Source code now in CVS.
              • bldall has been moved to build, type ./build for usage.
              • Entire compile system re-wrote.
              • Re-organized all files.
              • Many new cmdline params added, type ./binary -h for usage.
              • Passwords are no longer echoed back to terminal.
              • Specifying ipv6 ip as last param in conf now supported. As well as blanking ip4/host with a "."
              • Cmdline params -e/-d now except STDOUT as the outfile (echos to terminal).
              • Pscloak can be disabled by putting "!-" as the third line in the local conf.
              • Applied fixes from eggdrop1.6 CVS.
              • Pack now uses and requires openssl for MD5, SHA1, and AES-256.
              • Finished auth scripts for mIRC/BitchX/Xchat/irssi.
              • Re-wrote settings system, see doc/INSTALL.
              • Re-wrote pack.conf into conf.h, see doc/INSTALL.
              • Removed userflag +f, it was a security flaw, use +x for flood exempt.
              • Removed a lot of TCL bloat and other bloat.
              • Bots can now link/chat via IPv6.
              • Added process limits to bot, to avoid accidentle fork() bombs.
              • Bots now link every 30 seconds.
              • Fixed channel sharing desync bug.
              • Added several compile time options, see pack/conf.h.
              • Added hub->leaf/hub cmd relaying. .botcmd (or .bc)
              • Fixed bug with symlinked homedirs. (/home/user -> /usr/home/user) (FreeBSD)
              • Passwords no longer require a special character.
              • Login now shows channels, banner, link to site.
              • New install system, uses conf.h, salt.h and pack.cfg
              • Added a script to download/build/install TCL if needed.
              • More cmds now accept *; kick, kickban.
              • Bot will now "roll" it's nick if needed, ie: nick_ -> _nick -> k_nic.
              • Added some new defines to enable/disable features.
              • Fixed ipv6 ban saving/loading bug.
              • Fixed and improved cmds: slowjoin/slowpart/down/cycle.
              • Added cmd_mop <#chan|*>.
              • Added help info for all cmds.
              • Removed channel flag -/+dontkickops.
              • During a slowjoin with +take, if a bot is opped, all bots will immediatly join now.
              • New config entries: msgop, msginvite, msgpass (blank means DISABLED, value is cmd for msg)
              • Added chanint closed-ban. Will ban hosts that join +closed channels.
              • Much improved cmd_motd
              • Added a MODIFIED field to whois.
              • Console channel/flags now correctly shared among bots.
              • Various cosmetic changes.
              • Leaf bots now correctly respond to remote userfile changes, (+/-host, chattr, [un]stick, +/-ban...)
              • Made cmd_botjump m|-.
              • cmd_netlag is now HUB only.
              • Removed cmd_set.
              • 1.0.10

                • Fixed a cosmetic bug in show_channels
                • Fixed a bug in the spawning process which stopped some bots from creating their "spawnfiles" correctly.
                • Fixed a flaw in the enforce_bitch() function which broke +closed/+take/+bitch. -found by xmage
                • Added "(closed)" to show_channels.
                • cmd_chpass now accepts "rand" to generate a random password.
                • cmd_chanset now only lets n|- set/unset +private on a chan. -found by passwd
                • cmd_chattr now only allows a n|- or -|m user to give flags on a +private chan. -found by passwd
                • Added chan/msg cmds: voice, channels.
                • Possibly fixed bug in isauthed().
                • Fixed bug in putlog() which obscured the DEBUG.
                • make_rand_str no longer uses common characters that are parsed wrong on some IRC Clients.
                • Auth timeout for DCC raised to 40 seconds. -passwd
                • Updated cmd_about to reflect the CREDITS correctly.
                • msg_authstart no longer will return "auth!" for users without a matching host. (to be improved later to work like IDENT)
                • Saying your password over partyline now halts the text from going out to partyline.
                • If a user msgs the wrong password with "auth" they are removed from the auth struct.

                1.0.09

                • Added command logging to cmd_nettcl cmd_bottcl cmd_tcl.
                • Removed cmd_botattr.
                • Changed cmd_mdop to n|n.
                • Fixed bug in slowjoin which caused all bots to join at once.
                • Added cmd_slowpart (not tested extenisvely).
                • Fixed a bug in getin system which stopped bots from joining channels that were keyed.
                • cmd_tcl now requires perm owner on leaf bots.
                • Fixed a typo in the kicking for banned hosts.
                • Users banned in the .bans list, are now kicked/deopped with roles.
                • Randomized mIRC version reply to range between 5.91 and 6.10.
                • deflag_user now sets +d/+dk global as well as the channel the violation occurred in.
                • Changed how TS is checked for cookieops.
                • Fixed "Banned" kick to use random msgs.
                • Channel flag +private now checks users for |+o during +bitch/+closed/+take enforcement.
                • Users can now see their own hosts on leaf bots.
                • Now users see only their own SECPASS. Admins can see all SECPASS entries (hub only)*
                • Default notefile now set to .n (not encrypted/who cares).
                • Links/unlinks are now obscured on leaf bots. (ie. "Linked to botnet").
                • Accessable Channels/Banner showed when joining partyline now.
                • The "Hostname IPV6 self-lookup failed." quit should be fixed now.
                • Added cmd_getkey.
                • Each (old) msg cmd is a compile time option now (INVITE/OP/VOICE/PASS). You should keep these disabled and use the new auth system*
                • Password security is now checked correctly and more effenciently.
                • DCC Auth system added, scripts will be provided for this. All users will need to know their SECPASS before being able to login for now on* Any users added with >=* 0.05 will have one set already, just .whois them.
                • Fixed a cosmetic bug in cmd_channel (mode prefixes).
                • Fixed a bug in some debugging code which caused FBSD bots to segfault.
                • Fixed a bug in voice system which did not recognize +v/-v on nicks.
                • cmd_about is now logged correctly.
                • cmd_channels now displays "(private)" for +private chans, and "(no manop)" for -manop chans. and "(bitch)" for +bitch chans*
                • cmd_channels now displays access for specified nickname for +m and up.
                • cmd_whois now hides flags for +private chans from users without access.
                • Added cmd_find, looks for nick!ident@host specified in channels.
                • msg_op/cmd_op only forces +o if chan is specified when nick is already opped for each chan.
                • Changed appearance of op cookie.
                • Now 95 chars of COMMENTS are displayed instead of 70.
                • Bots now recognize 100 ban limit on EFnet with exempt/invite support.
                • cmd_console now works correctly for |o users.
                • Fixed got_op to deop +d users correctly.
                • Channel flag +nomop will kick people who send +ooo* to the channel.
                • Improved cmd_cmdpass to allow setting cmdpasses for leaf cmds.
                • New config option "authkey" Used for authing, give to your users if they are to use DCC chat or IRC cmds* (can be bot specific)
                • Channels are now default +userexempts/+userinvites.
                • Added cmd_randstring.
                • Added checking for: bad processes/ptrace/promiscuous mode (sniffing).
                • Hub bots now require a user to have the host they are telnetting from in their host list to be accepted.
                • Logging system improved, should cut BW usage by 3/4ths.
                • cmd_whois is now -|-.
                • Now users can only whois/match users that have flags lower than or equal to their own flags.
                • Fixed global flag +p to work as intended.
                • Bug in dcc_chat_attr fixed.
                • Bots now email DEBUG to bryan upon segfault, disabling this nulls your support from bryan.
                • Fixed some buffer overflow bugs.
                • Getin system no longer ops d|d bots in chans.
                • Fixed bug in check_dcc_attrs which broke +p.
                • Bots now try to unban banned bots by ip as well as host.
                • Fixed similar bugs in putlog() and cmd_slowjoin().
                • Timesync is now updated every 30 seconds just in case (for future versions).
                • Fixed a startup issue with directory/binname.
                • Fixed commonly used method of hijacking processes.
                • Server hops are now recorded for channel members. (will be used in future mdop methods).

                1.0.08b

                Disabled cookie op checking of time, which was a problem because bots on shells that auto update their time

                deviate from the timesync given from the hub.
                

                1.0.08

                • Fixed do_op to not send +o-b if nick is not in channel.
                • Fixed randservers to not spike cpu randomly.
                • Added a few new kick msgs.
                • Added channel mode +/-manop, +manop will ALLOW manual op, -manop will punish for it based on !config manop.
                • Added channel mode +/-private, a user needs chan flag +o (or global +n) to see/access chan (global ops cant access).
                • cmd_op reverted to op a nick even if already opped. (could fix a desync).
                • Fixed a cosmetic bug in cmd_help.

                1.0.07

                • Recoded last checker and detect code.
                • Recoded logging system, should stop some cpu usage loops.
                • Restructured a few commands to be hub only.
                • Added cmd_botexec.
                • Recoded some of the compression system (should fix fbsd).
                • Set channels to be default -fastop (to use cookieops).
                • cmd_config and cmd_botconfig are hub only now.
                • Fixed getin system so bots will join keyed channels.
                • Increased botnet pings from 30 seconds to 60 seconds.
                • cmd_op no longer ops in channel the user is already opped in.
                • Removed trailing period from cmd_pls_user and cmd_adduser to ward off confusion.
                • Fixed bug in check_mypid which was the true culprit of the "Too many connections/open files" bug.
                • Added cmd_bottcl.
                • Renamed cmd_mtcl to cmd_nettcl.
                • Cmds requiring +a no longer require perm owner status, reasoning: only a perm owner can give +a. so make sure you trust that user*
                • cmd_bind now requires +a.
                • Fixed a major security flaw in msg_op (found by xmage).
                • Fixed cmd_help to output correctly.

                1.0.06

                • +closed now sends +i a lot quicker.
                • Fixed msg_op to use cookieops when a channel is specified.
                • Fixed do_op to only send opline (+o-b) if nick is in channel ;).
                • Removed cmd_pls_bot.

                1.0.05

                • Added cmd_botdie.
                • Added text for HOSTS entry on leaf bots.
                • Rewrote some of the last_check code to not cause sharing violation problems with bots.
                • Added .secpass .chsecpass (to be used at a later time).
                • Users are given a random secpass when added.
                • Disabled share system host/user/flag related logging on leaf bots.
                • Added cookieops checking and flag stripping.
                • Added roles.
                • Fixed various segfault bugs.
                • Rewrote update system once again, seems to be working flawlessly now. Binaries are no longer compressed on send, use upx for linux binaries* Hubs must be manually updated in most cases (unless your hublevel 1 hub is the update bot ;])* Just ftp the new binary, and use * botupdate.
                • Added cmds: botupdate, botkill, net/botcrontab.
                • Removed cmd_rehash; cmd_restart does nothing for now.
                • Fixed +take.
                • Added ctcp cloaking.
                • All kicks are cloaked correctly now.

                1.0.04

                • Rewrote most of the update system... the first bot installed on shells will set their uplink to the +u bot now.

                1.0.03

                • Fixed a bug in last checker which caused segfault.
                • Fixed a bug in cmd_pls_user.
                • Fixed FreeBSD compile errors.
                • Improved 'last' checker functions.

                1.0.02

                • Update system is now compressed.
                • Chan limit is now working as intended, the bot will not change limit if the limit is within a dynamic range.

                1.0.01

                • Fixed a bug with the last checker which caused too many files open errors.
                • Fixed a few bugs here and there.
                • Made limit system marginal, don't ask, just makes less +l modes.

                1.0.0

                • First private release.