2014-03-01 HeXHub 5.12

when fake share detection is enabled and a passive search result is sent with no path in it, the user is kicked
new event for plugins: onBadSettings(userId,63) ("passive search result without file path")
GeoIP information was updated with GeoIPCountryWhois.csv from February 5th

2014-01-04 HeXHub 5.11

corrected: the user search function that uses qsdchublist.com was removed because it is no longer available (thanks to Molotov and RoLex for reporting this problem)
if other separators are used for hub's public addresses they are converted to commas (thanks to RoLex for reporting this problem)
added support for $HubInfo extensions that are supported by some hublists; currently, "category" and "encoding" are not used (requested by RoLex)
$SetIcon was moved before $HubInfo (requested by RoLex)
the license was changed to GPL

2013-12-17 HeXHub 5.10b

corrected: the hub did not close the connection after verifying the referrer (thanks to RoLex for reporting this error)
all users who have the spam1 right, LAN users, localhost and the hub host can send any referrer
hubs that have a LAN or a localhost IP no longer verify referrers

2013-12-16 HeXHub 5.10a

corrected: user's IP was not checked when receiving the referrer (thanks to RoLex for reporting this error)

2013-12-16 HeXHub 5.10

the hub address setting is no longer limited to a single address, it is now a list of addresses separated by commas; only the first address is registered to hublist registration servers and sent to hublist pingers, but all of them are used to verify the address users connected to
new option on the "unknown commands" page: "Make sure the users have the right address in their favorites" (!set cmd ucommands verifyfavs , default is on); if this option is enabled, users who connected to the hub using an unknown address are redirected to the address that is registered to public hublists (the first address from the list that was set using !set hub addresses)
new event for plugins: onBadSettings(userId,62) ("a wrong address was added to favorites as the address of this hub")
the user search feature that is used by the "!seen" command was updated to work with the hublist from www.te-home.net
GeoIP information was updated with GeoIPCountryWhois.csv from December 5th

2013-04-19 HeXHub 5.09c

corrected: when renaming users to prevent nick collisions, the hub could had re-used a buffer that didn't have the last generated nickname in it (thanks to RoLex for reporting this error)

2013-04-18 HeXHub 5.09b

corrected: the hub sent $Hello 3 times and a $Quit to renamed users if the rename was caused by a nickname collision (thanks to RoLex for reporting this error)

2013-04-15 HeXHub 5.09a

corrected: dchublist.com is no longer advertised for its user search function that is no longer available (thanks to RoLex for reporting this problem)
corrected: auto-renamed users with nicknames bigger than maximum nick length will have their nick truncated to a lower size to make room for the extra characters that are added (thanks to RoLex for reporting this problem)
corrected: auto-renamed users with nicknames bigger than maximum nick length were kicked when sending private messages (thanks to RoLex for reporting this problem)

2013-04-15 HeXHub 5.09

corrected: if support for ZPipe is enabled, the hub no longer compresses original data that may be sent to old clients (thanks to RoLex for reporting this error)
corrected: the $Lock string showed an older version in Pk (thanks to RoLex for reporting this error)
resolved a compatibility problem with clients that send $MyPass after $GetNickList and $MyINFO
if a nick is bigger than HeXHub's maximum allowed nick length, a warning message is shown and, if the client supports NickChange, a $ClientNick is sent; clients that don't support NickChange get a $Hello with their old huge nick (suggested by RoLex)
when a soft hyphen is used in a nickname, it is replaced with a minus character (suggested by PttrOSS)
corrected: private messages from users who had clients that support compression were always compressed even when they were sent to an older client (thanks to RoLex for reporting this error)
corrected: the restrictions for $MyINFO strings were sometimes verified before a $MyINFO was received (thanks to RoLex for reporting this error)
corrected: the hub showed a wrong language string for minimum hubs (thanks to RoLex for reporting this error)
corrected: users who validated a nick that was truncated were kicked for nick faking (thanks to RoLex for reporting this error)
corrected: when invalid characters were replaced in a nickname at login, the hub didn't add original nick to nicklist if the client didn't support NickChange (thanks to RoLex for reporting this error)

2013-04-09 HeXHub 5.08

added a new registration server: hublist.te-home.net
added a workaround for plugins that free the names of registered commands and help strings before unregistering them
the user search procedure that used hublist.feardc.net now uses hublist.te-home.net
new supported protocol extensions: ZLine and ZPipe0 (http://nmdc.sourceforge.net/NMDC.html); if one of these extensions is supported and the support for these extensions is enabled, the hub will compress private buffers that will be sent (needs zlib1.dll)
new option: "ZLine enabled" (!set cmd supports zline, default is off)
new option: "ZPipe0 enabled" (!set cmd supports zpipe, default is off)
new option: "ZLine required" (!set cmd zlinereq, default is off)
new option: "ZPipe0 required" (!set cmd zpipereq, default is off)
minimum possible send cycle was lowered to 1 (was 10)
GeoIP information was updated with GeoIPCountryWhois.csv from April 2nd

2011-12-03 HeXHub 5.07a Firewall 1.10

corrected: error parsing an index with a missing "</key>"

2011-05-29 HeXHub 5.07 Firewall 1.10

corrected: the function SetMode applied the chat filter to a wrong user (thanks to Meka][Meka and RoLex for reporting this problem)
added: usersearch at http://hublist.feardc.net , usersearch script was written by RoLex
GeoIP information was updated with GeoIPCountryWhois.csv from May 2nd

2011-01-30 HeXHub 5.06 Firewall 1.10

if a client sends a tag with a client version that would support extended protocol but without sending $Supports, the tag is considered fake
new option: "Kick bots that send $Quit" (!set cmd ucommands noclientquit , default is on)
new option: "Kick bots that send $Version 1.0091" (!set cmd version nodecimal , default is on)
new option: "Users must get nicklist to be able to search" (!set cmd getnicklist search , default is on)
new option: "Minimum online time to enable searches" (!set cmd search minonlinetime , default is 5 seconds)
new event for plugins: onBadSettings(userId,59) (fake client version)
new event for plugins: onBadSettings(userId,60) (search without $GetNickList)
new event for plugins: onBadSettings(userId,61) (search requests are not yet enabled for this connection)
new right for plugins: broadcast (!set ext %[dll] rights broadcast)
BayTSP search bots get banned in firewall by default
GeoIP information was updated with GeoIPCountryWhois.csv from January 3th

2010-12-11 HeXHub 5.05d Firewall 1.10

corrected: the right for $UserIP was required for passive client connections (thanks to RoLex for reporting this problem)
corrected: users who had the right to flood the hub were still blocked by DDoSflt (thanks to RoLex for reporting this problem)

2010-10-20 HeXHub 5.05c Firewall 1.09

the table used for translit conversion was replaced with a better one (thanks to RoLex and Maximum)

2010-10-18 HeXHub 5.05b Firewall 1.09

corrected: the ampersand character was escaped twice when posting links using "[url]" BBCode tag (thanks to RoLex for reporting this error)
added: new BBCode tag "[button]" (for more information see web.txt 8.16)

2010-09-06 - HeXHub 5.05a Firewall 1.09

corrected: multi-message forbid detection did not remove last forbidden string from message list (thanks to RoLex for reporting this error)
corrected: the "replace" action in forbid for mainchat messages was appending the replacement instead of replacing the string (thanks to RoLex for reporting this error)

2010-09-04 - HeXHub 5.05 Firewall 1.09

corrected: system tray menus were not closed when the user clicked outside them
corrected: the checkbox for "Hide at startup" was not initialized (thanks to RoLex for reporting this error)
corrected: the sequence "\w" was ignored in forbid (thanks to RoLex for reporting this error)
corrected: when securepass was enabled, some users with good passwords were still not validated
corrected: setting bans with values of 0 for time would make the ban permanent
corrected: when setting a temporary ban for an account that was already in a banned profile, the hub would update the "Resets to" field with the ID of that banned profile, which caused automatic unbanning when the time expired to move the account to another banned profile (thanks to GreenBee for reporting this error)
corrected: the command "!set hls network" did not update the hublist (thanks to RoLex for reporting this error)
corrected: error when sending the last private buffer when no free buffer followed it in cache
corrected: Ref detection on DDoS attacks expected lowercase strings (thanks to RoLex for reporting this error)
added: buffer overflow protection for plugins that would send too much data to same user (thanks to U.238 and Maximum for reporting related problems)
users who don't have the userip right will not be able to connect to users who chat until a timeout of 10 seconds since their last spoken message expires (thanks to CrazyGuy for reporting this problem)
passwords that are not saved if securepass is enabled are shown in GUI as "Chk(N)"
when updating settings in GUI for an account with a new password that starts with "Chk(", securepass will be enabled for that account
forbid procedure for mainchat messages will append user's last message to his previous messages to detect multi-message spam
hub admins who have adm6 right will also see the address of HeX Admins hub in about
GeoIP information was updated with GeoIPCountryWhois.csv from august 1st

2009-06-10 - HeXHub 5.04 Firewall 1.09

corrected: error while allocating cache buffers (thanks to Takel for reporting this error)
corrected: if securepass was enabled, it was always required when registering on website
added: new setting to re-scan plugins: !set ext rescan (requested by Maximum)
added: support for Keep-Alive connections
added: new parameter "post" that is used to prevent IE from reposting form data
the !seen command can be forced to search for a nick in case the nick starts with a number if a "." is appended to it - !seen. nick (requested by RoLex)
the right adm6 is needed to see copyright information for installed plugins with !about

2009-03-16 - HeXHub 5.03a Firewall 1.09

corrected: error while showing banlist using /bans (thanks to Methodman for reporting this error)
corrected: the hub did not escape the '&' character correctly when using %[motd] (thanks to RoLex for reporting this error)
corrected: extended ASCII characters had wrong escaping when they were used in topic names (thanks to Neo and RoLex for reporting this error)
corrected: error while using %[userprofile] (thanks to RoLex for reporting this error)
added: support for "Ref=" sent in $Lock in a client2client negotiation

2009-03-08 - HeXHub 5.03 Firewall 1.09

corrected: the maximum number of characters specified in %[message] no longer includes HTML tags
corrected: the character "[" could not be posted in comments unless using a [code] tag
corrected: the "+" character could not be used in variabiles and comments because its escaping (%2B) was replaced with a space
corrected: error while showing %[isp] in MOTD if no ISP was declared (thanks to RoLex for reporting this error)
corrected: some bans had an ending pipe in reason (thanks to RoLex for reporting this error)
corrected: login cookies were not set if a port was used in address
corrected: if a browser sent same address as referer, the hub was using it as return page from its default pages (thanks to RoLex for reporting this error)
corrected: error while removing items from BBCode stack (thanks to RoLex for reporting this error)
corrected: error while testing for forbidden image hosts in [img] tag (thanks to RoLex for reporting this error)
corrected: [size], [color] and [font] were expecting spaces and not "=" (thanks to RoLex for reporting this error)
corrected: unfinished [url] tag truncated the message (thanks to RoLex for reporting this error)
corrected: [code] and [quote] were affected by styles set for table borders
corrected: to enable the "upload limit" edit the dialogbox needed to be re-opened after checking the upload limit checkbox (thanks to RoLex for reporting this error)
corrected: error while parsing POST form data (thanks to RoLex for reporting this error and for helping with tests)
added: new options to notify about posting comments in mainchat and in opchat
added: new option to increase access level of registered users who post comments after every new post (the user can be upgraded to another profile that has adm0 right and the access level of the new profile completes an access level range with current profile)
added: %[date format] and %[time format] for user commands, raw messages and web macros (requested by RoLex)
added: new option to disable "DC to web" conversion for extended ASCII characters (thanks to Stomatolog and RoLex for showing this problem)
users can change their "reason / comment" field for their account to set a signature that may be shown in their comments (%[signature])
web reports can be saved to log
%[var] has additional verifications to prevent abuse (thanks to Methodman for tests)
firewall bans are now temp bans using default time set for kicks (requested by RoLex)
new macros: %[include], %[update], %[kauthor], %[kauthorip], %[kmsgdate], %[kmsgtime], %[kmessage], %[title], %[link] and %[posts]
new keyword in %[cdata]: update:key:filename, if this is present the hub will search and update all %[update]%[/update] and <key></key> labels in one or more specified files, where a key will match a posted comment or topic.
posted images that are not in an anchor are linked to their host
the forbid was updated with new strings (thanks to RoLex)
the reason field from account information is also used to store user's signature for comments (thanks to RoLex for testing this new feature)

2008-11-23 - HeXHub 5.02c Firewall 1.09

corrected: buffer overflow while updating cache buffers (thanks to Takel for reporting this error)
corrected: error while setting buffers for input data from users (thanks to Takel for reporting this error)
corrected: error while registering a nick using /login macro if the nick was an address
corrected: memory leaks in all web procedures that worked with cookies
corrected: XSS in /report macro (thanks to Methodman for reporting this error)
corrected: possible CSRF in /report macro (thanks to Methodman for reporting this error)
removed: usersearch from dchublist.com (security risk)

2008-08-10 - HeXHub 5.02b Firewall 1.09

corrected: the country bans required ISP restrictions to be enabled (thanks to Takel for reporting this error)
corrected: ISP and country bans that were set using !set isp badisp required a hub restart (thanks to Takel for reporting this error)
corrected: the hub was showing itself as offline with &37;[online 0] (thanks to Mutor for reporting this error)
corrected: registered bot were shown with profile Delete when they were enumerated with %[nicklist] or %[oplist] (thanks to Mutor for reporting this error)
the hub will now send Content-Type in HTTP headers (thanks to Hitler for reporting a possible problem with some browsers)
added: GetHubInfo and SetHubInfo functions (requested by Mutor and Hitler)
added: %[version] variable to display hub's version (requested by Mutor)
the function RegisterHelpString can add new named sections to help (requested by Mutor)
the forbid procedures can now detect IPs (using \i sequence) that are padded with random characters (thanks to Takel for helping with tests)
the hub will now correctly detect forbidden strings that are padded with non-literal and non-numeric characters

2008-07-30 - HeXHub 5.02a Firewall 1.09

corrected: the language pointer for Hub-Security was replaced with an invalid pointer by RegisterBot() and/or RegisterBotEx() functions causing crashes when displaying some language strings (thanks to Takel, Dardanicum, CrazyGuy, vanelus, Sarah, Stomatolog, -=seraphim=-, FireBlade and The Devil for reporting this error)

2008-07-29 - HeXHub 5.02 Firewall 1.09

corrected: buffer overflow in receiving thread (thanks to Takel for reporting this error)
the setting app\cyrillic was renamed to app\notranslit (disable translit)
comments can be shown on multiple pages selected by cpage parameter
added: %[cpage] and %[cpageidx] for showing page numbers and page controls for comments
added: new options for RSS feed updates
the RSS feed can be updated with new comments
if RSS is enabled for comments in one document, when deleting a comment the hub will also delete the RSS entry
for updating RSS when posting a comment the user must have an access level of at least 4000

2008-05-20 - HeXHub 5.01j Firewall 1.09

corrected: if a user reconnected, the hub was updating history only with a new connection but did not mark old connection as disconnected
corrected: the hub sent wrong user ID in HTTPEnumData
corrected: if a user was kicked and the client send a reason, the counter for $Kick was not incremented
corrected: if a user connected to hub using a LAN IP and wanted to connect to a WAN user the hub was replacing the IP with user's LAN IP (thanks to CrazyGuy for reporting this error)
corrected: error while notifying about proxy websites when proxy check was enabled (thanks to Stomatolog and DJRaoul for reporting this error)
corrected: private buffers could be sent in wrong order if more buffers were allocated for same connection and a completion packet was posted while sending other private buffers
added: usersearch at http://qsdchublist.com , usersearch script was written by Molotov
hublist configuration for !seen command is optional (!set hls usersearch)
hublist pingers that support BotINFO will get back $Supports BotINFO HubINFO as required by some hublists
clients that don't support some protocol extensions will not get them in $Supports (UserCommand and UserIP/2)
added: new command line parameter "/noseh" to disable HeXHub's exception handler (requested by Hitler)
added: new functions for plugins: RegisterPluginWindow and UnregisterPluginWindow (requested by Hitler)
restriction removed: some functions used by plugins required the affected users to be fully logged in (requested by CrazyGuy and Hitler)

2008-03-20 - HeXHub 5.01i Firewall 1.08

corrected: error while updating accounts from GUI (thanks to DJRaoul for reporting this error)
corrected: error in SetBan function when it was used by a plugin to ban an IP or IP range
registered users who changed their nick can be renamed back to their registered nick
added: "move up" and "move down" controls on User Commands editor (requested by DeMoNe)
added: "update", "move up" and "move down" constrols on Network Hubs editor (requested by The Architect)
hublist displaying is limited by maxresults
starting index for commands that are limited by maxresults (!reg, !hublist, !bans, !seen) can be appended to command name
the lists with default forbidden words were replaced with better ones made by Stomatolog

2008-02-27 - HeXHub 5.01h Firewall 1.08

corrected: error while updating cache pointers when the cache was disabled (thanks to Hitler for reporting this error)
corrected: changes of port configuration caused the accepting thread to set a synratehub of 0 on all ports (thanks to Ne0 for reporting this error)
corrected: error while setting modes on a user while a mainchat message from him was verified
corrected: error while selecting users in GUI if the nicklist was not refreshed (thanks to Nerox for reporting this error)
corrected: users could register an IP range or ISP if self registration was enabled
corrected: ports opened for redirect server were not shown correctly in !stats
corrected: nickbans set as _ban0_ were banning IP ranges in firewall
corrected a few spelling mistakes in resouce file and in help file (thanks to Stomatolog for reporting these error)
the thread that accepts connections will verify cache usage before adjusting synratehub
registration IDs are also shown with !reg profile enumerations

2008-02-01 - HeXHub 5.01g Firewall 1.08

corrected: banlist and profile updater procedure had high cpu usage when the hub was stopped (thanks to Meka][Meka for reporting this error)
corrected: error while displaying %[profile] in MOTD (thanks to Chucky for reporting this error)
corrected: error while displaying language strings for hublist entries in russian language (thanks to Stomatolog for reporting this error)
hublist registration servers that are set to invalid locations (like 127.0.0.1) are automatically removed (!set hls keepall)
the hub will resolve its own address before registering to any hublist to prevent registering a local address or a banned address
new language file: FI.lng (thanks to Badday)

2008-01-16 - HeXHub 5.01f Firewall 1.08

DDoSflt - corrected a reentrancy problem that could cause the firewall to reject all new connections (thanks to Takel for reporting this error)
DDoSflt - corrected: outgoing filtered packets were counted as outgoing packets (thanks to BlackSonar for reporting this error)
corrected: the option to block ICMP packets was not initialized in GUI (thanks to BlackSonar and Malasorte for reporting this error)
corrected: if cyrillic character set was disabled, the hub replaced some italian diacritics (thanks to Takel for reporting this error)
the hub adjusts synratehub automatically in case of a DDoS attack
the hub adjusts accept rate according to cache usage
csv2dat will save GeoIP database as a search tree
GeoIP database is no longer converted to a search tree during hub's runtime, but loaded directly as a search tree converted by csv2dat

2008-01-12 - HeXHub 5.01e Firewall 1.06

corrected: hub-security and opchat had hideshare enabled by default (thanks to DJRaoul for reporting this error)
corrected: the mode procedure did not check spam2 right
corrected: banlist from web showed wrong ban level
corrected: if cache was disabled, SendTo could use pointers from user structure of a reconnecting user while the hub was re-initializing it
corrected: error while changing hub's ports while login was in progress for users on old ports
corrected: registered modes remained set on users after being unregistered
corrected: error in ModeTransform if it was called for mode 4
added: cyrillic translation table for russian language, !set app cyrillic (thanks to Stomatolog)

2008-01-09 - HeXHub 5.01d Firewall 1.05

corrected: hub-security and opchat had hideshare enabled by default (thanks to DJRaoul for reporting this error)
corrected: the mode procedure did not check spam2 right
corrected: banlist from web showed wrong ban level
corrected: if cache was disabled, SendTo could use pointers from user structure of a reconnecting user while the hub was re-initializing it
corrected: error while changing hub's ports while login was in progress for users on old ports
corrected: registered modes remained set on users after being unregistered
corrected: error in ModeTransform if it was called for mode 4
added: cyrillic translation table for russian language, !set app cyrillic (thanks to Stomatolog)

2007-12-29 - HeXHub 5.01c Firewall 1.05

corrected: all registered bots had hideshare on (thanks to Dardanicum for reporting this error)
corrected: error while initializing firewall plugins (thanks to Hitler for reporting this error)
corrected: FirewallIOCTL was called before InitPlugin (thanks to Hitler for reporting this error)
corrected: the hub could use the freed buffers associated to a user that disconnected while a plugin called for a $MyINFO event was executing a slow operation
corrected: users who were logged in on website with their accounts could not use their accounts on hub (thanks to Ne0 for reporting this error)
corrected: users that were not logged in on website were disconnected for validation timeout if they were trying to download a big file (thanks to The Architect for reporting this error)

2007-12-20 - HeXHub 5.01b Firewall 1.05

corrected: error in HTTPEnumerateData - it was called with wrong parameters (thanks to dzadzuks for reporting this error)
HTTPEnumerateData has an extra parameter for variabiles and was renamed to HTTPEnumData
HTTPGetPage has an extra parameter for variabiles and was renamed to HTTPFormatPage
new function: FirewallIOCTL
new command: !hideshare

2007-12-15 - HeXHub 5.01a Firewall 1.05

corrected: users with anonymous proxy got the message with "you are banned" instead of "proxies are disabled"
corrected: error in russian language file (wrong special character was used in some notification messages)
SEH procedure will now show the correct module name that caused the exception
added: option for maximum number of allowed exceptions before closing a thread (!set trs maxerrors)

2007-12-11 - HeXHub 5.01 Firewall 1.05

added SEH with machine code parser to report and resume on errors and exceptions

2007-12-03 - HeXHub 5.00b Firewall 1.05

corrected: if a quote was in posted text, everything else was ignored
corrected: error in GetNextAccount (thanks to Hitler for reporting this error)
new option: minimize to tray (requested by many hub owners)
new function: GetHubWindow
new enumerator: %[dir], variabiles: %[file], %[lastdir]
memory usage was optimized, the hub should use less than half of the memory it used before

2007-12-01 - HeXHub 5.00a Firewall 1.05

corrected: if a client did not send in $Supports that it supports $UserCommand, it would still get user commands (thanks to CrazyGuy for reporting this error)
corrected: error while sending cached myinfos (thanks to Takel for reporting this error)
corrected: error in HTTPGetPage (thanks to Hitler for reporting this error)
corrected: error in onPublicMessage - buffer size was altered by other plugins (thanks to Hitler for reporting this error)
added: support for BBCode in comments, the hub also scans and removes void BBCode tags, and has a BBCode stack to auto-correct common mistakes
added: domain restrictions for image sources in comments posted by users who don't have spam1 right, that can be set in %[cdata img:]
forbid for comments will check them twice: once with BBCode and once with BBCode tags removed, making possible also forbid checks for BBCode tags
posted links will have 'rel="nofollow"' added if the user doesn't have spam1 right
if a user connects to hub's website using a proxy and logging is enabled, the real IP is also saved if it is detected

2007-11-23 - HeXHub 5.00 Firewall 1.05

corrected: error in !who command (thanks to Takel for reporting this error)
corrected: error while dropping a user - the hub would send the notification message to opchat in dropped user's language (thanks to Takel for reporting this error)
corrected: access level for GetMastersIds and GetMastersCount (!set ext %[dll] settings botaccess) was not checked
corrected: error in GetLanguage() function (thanks to Takel for reporting this error)
corrected: error while kicking an user for a forbidden word using default reason
corrected: error while reallocating buffers for MOTD (thanks to Takel for reporting this error)
corrected: if "oplist before nicklist" option was disabled the hub was not sending $OpList to old clients if a new operator joined the hub (thanks to CrazyGuy for reporting this error)
corrected: if the Default profile had pwd0 and pwd1 rights set, normal users were not registered on join (thanks to CrazyGuy for reporting this error)
corrected: the hub was blocked if a ban expired in the same time another ban was set - automatic profile changes and account/ban expiration are now processed by a separate thread (thanks to Takel for reporting this error)
corrected: automatic profile changes and ban expirations are no longer processed if the hub is stopped
added: new page: Web with new DNS-specific settings, the hub can now share different files or directories per DNS over HTTP
added: dir to html generator
added: support for comments, hub admins are also moderators
added: restriction for web proxies, detection for insecure proxy settings
added: HTTP enumerators to txtCmd for all commands, %[plugin txtCmd command] (entire command) and %[plugin txtCmd +command] (each line from a command has its own enumeration index)
added: self registration via web if default profile has pwd1 right
added: anti-spam and anti-flood checking for reports, comments and self registrations for users that don't have spam2 right
removed: support for WinPCap (support for WinPCap is now a plugin)
more of hub's variabiles can now be used with HTTP (for more information see web.txt)
new functions for plugins: onHTTPRequest, onHTTPError, HTTPEnumerateData, HTTPGetPage, HTTPSendTo, HTTPSendHeader, HTTPRedirect
HTTP requests can be saved to logs categorized by DNS and date
banning a user from accessing hub's website can be done by setting a _ban2_ on user's IP
notifications for HTTP requests can be set for each defined DNS (moved from cmd\udata to web\dns)
the hub can be set to send keep-alive packets (!set trs keepalive)

2007-09-26 - HeXHub 4.08b Firewall 1.05

pinger procedures are rewritten, the hub can now get minimum share from ynhubs and ptokax
configuration of plugins is now accessible with hub commands, !set ext
new function for plugins: GetConfigurationStringsTable
added hexhub comment messages (thanks to Starwind and Ne0)
the $UserIP for UserIP2 support is now fragmented in smaller $UserIP's if the hub has a big nicklist

2007-09-25 - HeXHub 4.08a Firewall 1.05

corrected: error while updating user profile of an user that was not fully logged in on a schedule (thanks to Takel for reporting this error)
corrected: while pinging hubs, the online/offline state was not updated for all hubs
corrected: removed breakpoint from !set hub stop / !set hub restart / !set usr sendinfo procedures
corrected: the hub could send a broadcast buffer to a user who received only the first of a multi-buffer private message (the remaining private buffers were seen as garbage data in mainchat)
added: automatic responses for Hub-Security's private messages (!set for bot)
new language file: RU.LNG (thanks to STOMATOLOG)

2007-09-24 - HeXHub 4.08 Firewall 1.05

corrected: error while deallocating buffers with port information when stopping the hub (thanks to BlackSonar for reporting this error)
corrected: error while banning a user if a language file was missing and the user had it set as default (thanks to Takel for reporting this error)
corrected: error while registering to some hublists, registration status was not updated in GUI
corrected: error while disconnecting a user (thanks to Takel for reporting this error)
corrected: if the hub was set to allow users to join without share but not to download until they share, they could search (thanks to Takel for reporting this error)
corrected: when setting rights for an IP the hub would create the account for a nick instead of specified IP
corrected: if a plugin registered 2 or more commands, one being identical to the start of another, the hub would call only the shortest one with everything else as parameters (thanks to dzadzuks for reporting this error)
corrected: clients that reconnected too much could get a wait interval of 0 seconds
if the hub searches for public proxies, no notification will be sent in opchat if notifications for connection flood are turned off
redirect statistics are now displayed with !hublist to those who have rights to add hubs
for commands !set hub stop / !set hub restart / !set hub save / !set hls regnow / !set usr %[nick] sendinfo - a notification will be sent in opchat
added: access level check for securepass (requested by deliziastufa)
added: pinger that checks hubs from hublist - a user will be redirected only to hubs that are online and with minimum share less than his (requested by Starwind)
showing contents of HeX pinger is optional (!set cmd botinfo netpinger), as well as pinging hubs from hublist (!set hls pinghubs / !set hls fullping)
the kick counter for an IP is now reset on manual unban

2007-09-12 - HeXHub 4.07 Firewall 1.05

corrected: on invalid password the hub sent wrong message in opchat about banning the user (thanks to Dardanicum for reporting this error)
corrected: on invalid connection mode users were dropped but not banned (tag states wrong mode for commands used)
corrected: users who had all slots taken and their client opened extra slot for filelist without updating $MyINFO were kicked for fake slots (thanks to CrazyGuy for reporting this error)
corrected: error while displaying fake tag in opchat if the user sent incomplete $MyINFO (thanks to Chucky for reporting this error)
corrected: when renaming a user the hub sent wrong oldNick in $NickChange
corrected: if an IP had spam2 right it was still banned if SYN / UDP / ICMP / TCP/FIN flood was detected (thanks to BlackSonar/BrainStorm for reporting this error)
corrected: the hub needed to be restarted to apply settings for default profile
checking for fake slots and client emulation are now 2 separate options (!set res nofakeslots, !set res noemulation)
new language file: ES.LNG (thanks to TheArchitect)
forbid for descriptions is now also for share size (onBadSettings(56)) and e-mail (onBadSettings(57)) (requested by Takel)
added: share and tag restriction for profiles with automatic profile change (requested by Takel, Chucky and darkwidow)
tag restriction for profiles will reserve those tags for registed accounts and if users try to use them, BannedUserJoins1(0x200) will be generated

2007-09-01 - HeXHub 4.06 Firewall 1.05

corrected: unbanned users were banned by firewall
corrected: users with registered accounts restricted to an IP/range/ISP were not allowed to use their account (thanks to Takel for reporting this error)
corrected: error in NickChange verifications (thanks to Hitler for reporting this error)
corrected: error in !set ip %[ip] country - the country was not set
corrected: if \w was used in a forbidden string it was not detected if it was the end of a message
added: detection for fake number of slots, generated event: OnBadSettings(53)
added: new restriction for clients: !set cmd botinfo noinfo, generated event: OnBadSettings(54)
added: detection for bad client emulation of some clients, event: OnBadSettings(55) (thanks to CrazyGuy)
added: !stats ip - for detailed statistics on usage of all protocols, rights needed: info2 and adm6, firewall version: 1.05
added: new broadcast buffer type for $NickChange (7)
if PM spam is detected from a user with an address, a forbid event will be generated (OnBadSettings(22))
banning and unbanning a user can also be done using the registration ID
DDoSflt: added IOCTL_GETPROTO, IOCTL_CLRPROTO for protocol information statistics

2007-08-15 - HeXHub 4.05 Firewall 1.04

corrected: error in securepass option - !set cmd mypass securepass (thanks to Takel for reporting this error)
corrected: while deleting users from GUI not all pointers were updated (new users created from GUI were moved to Delete)
corrected: Banned[1] users were also banned in firewall
corrected: error in !rights command, the hub did not save the new rights and doubled the account (thanks to Moshu for reporting this error)
added a new option to allow pingers to bypass some restrictions set for normal users, by default pingers will have fake0 and connect6 rights (!set cmd botinfo restrictpingers)

2007-05-30 - HeXHub 4.04 Firewall 1.04

corrected: error when sending a buffer that had more than max_r_data size (thanks to Takel for reporting this error)
corrected: full range (0.0.0.0-255.255.255.255) can no longer be banned using !ban command (thanks to Fireblade for reporting this problem)
corrected: error while checking connection mode string (thanks to Centurion for reporting this error)
parameters for !rename are now checked by forbid (!set for cmd)
added support for UDP registration to hublist reg servers, (thanks to Centurion for helping with tests)
added: new parameters for !unban command to clear all bans: !unban * / !unban *0 / !unban *1 / !unban *2
added: support for hub icon, $SendIcon - will send an URL of an icon to pingers for hub's page (!set hub icon)
added: password weakness detection, strong passwords will no longer be kept as plain-text - !set cmd mypass nosecurepass
more ports are supported, !set hub port1/port2/port3/port4 are replaced by !set hub ports

2007-05-12 - HeXHub 4.03 Firewall 1.04

corrected: if an IP was banned it was added twice in firewall's banlist and once in hub's banlist (thanks to Claus for reporting this error)
DDoSflt now detects TCP/FIN portscan and "Xmas scans" (thanks to Claus for helping with tests and to BlackSonar for reporting the problem with TCP/FIN)
replaced: all procedures related to hublist.org were converted to work with www.dchublist.com, support for hublist.org's features was removed (thanks to netcelli for writing user search scripts for www.dchublist.com)

2007-04-30 - HeXHub 4.02 Firewall 1.03

corrected: error while while kicking a user in the same time nicklist is sent (thanks to Takel and Dardanicum for reporting this error)
corrected: error while sending nicklist if the hub had more than 13800 users (thanks to Takel and Neuro for testing and reporting this error)
corrected: error while sending big oplist (with more than 4000 ops in it) to old stealth dc++ clients on nick changes (thanks to Moshu for reporting this error)
corrected: error while setting ban for forbidden words in share (thanks to Chucky for reporting this error)
corrected: error while using !set command with a parameter that would call a special function
corrected: when using commands to change account's password the hub did not add string terminator (thanks to andreya for reporting this error)
updated: AL.LNG (thanks to Dardanicum)
new language file: LT.LNG (thanks to ErioSoft)

2007-04-04 - HeXHub 4.01 Firewall 1.03

corrected: buffer overflow in txtCmd (thanks to Takel for reporting this error)
new functions: FirewallGetVersion, FirewallGetAboutString, FirewallEnable, FirewallDisable, FirewallBanRange, FirewallUnbanRange, FirewallLookupRange, FirewallGetSettings, FirewallChangeSettings, FirewallRegisterHubPort, FirewallUnregisterHubPort, FirewallGetStats, FirewallGetPortStats, DDoSFilterIP, DDoSDeleteFilter, DDoSCountFilteredIPs, DDoSGetFilter
DDoSflt: added IOCTL_LOOKUP, IOCTL_GETCFG, IOCTL_DDOSCNT, IOCTL_DDOSFLT
forbid now accepts _ban0_, _ban1_ and _ban2_ to change ban types
if DDoS is detected, no bans will be added for syn flood (but the flood will be filtered)
the information about who changed an account is now updated on language changes, access level changes and password changes
changes made using GUI to banned profiles are now updated in firewall
searches from users who have the "spam2" right are sent to all other users
reassigned: "spam0" right - from "can bypass mainchat restrictions" to "can bypass mainchat and search restrictions"

2007-03-29 - HeXHub 4.00b1 Firewall 1.02

corrected: error while loading GeoIP database
corrected: crash on new connections if IOCP was disabled
corrected: if the hub was stopped, a delay of 100 ms was added for each new accepted connection
corrected: some HTTP requests were not detected by hub (thanks to Moshu for reporting this error)
corrected: error while using !who command to list all users with same country or ISP
added DDoSflt driver (thanks to Claus and Centurion for helping with tests)
all ddos traffic is now filtered by DDoSflt, normal users are not filtered and can still connect to hub
SYN rate / port can now be restricted by firewall
traffic from banned[0] IPs is now filtered by DDoSflt
portscan, SYN/UDP/ICMP flood detection procedures are now detected by firewall
the options for firewall and WinPCap can be accessed using !set trs (getmacs, showsyslog, savesyslog, synratehub, synrateother, noicmp, norst, detectscans, detectsyn, detectudp, detecticmp, firewallban and firewallnotify)
removed: support for banning MAC addresses

2007-03-20 - HeXHub 3.22

corrected: error in country detection procedures (thanks to Takel for reporting this error)
corrected: error while displaying kick message for forbidden words found in share (thanks to Takel for reporting this error)
updated the GeoIP database and instructions on how to update it (as requested by Chucky)
users who don't have the right to send private messages are notified when trying to send a private message
new function: UserSearch

2007-03-07 - HeXHub 3.21

corrected: error while setting prefix for country (thanks to ATAG and Chucky for reporting this error)
corrected: error in SetTopic (thanks to Hitler for reporting this error)
corrected: welcome message set by a plugin will no longer be displayed if the plugin is not loaded
new language file: PT.LNG (thanks to Chucky)

2007-03-01 - HeXHub 3.20

corrected: missing pointer for DisconnectUser returned by GetFunction (thanks to Hitler for reporting this error)
corrected: error while setting topic using SetTopic function (thanks to Hitler for reporting this error)
corrected: number of bytes written to buffer was incorrectly reported by GetTopic and GetMOTD (thanks to Hitler for reporting this error)
corrected: InitPlugin was called on every hub restart (thanks to Hitler for reporting this error)
corrected: if nick was changed by hub on nick validation it was incorrectly added to history (thanks to Dardanicum for reporting this error)
corrected: error in SetDescription, SetTag, SetConnection, SetMail, SetShareString (thanks to Hitler for reporting this error)
corrected: NickFromId always returned -1 (thanks to Hitler for reporting this error)
new function: SetBan

2007-02-03 - HeXHub 3.19

corrected: if keeping deleted accounts was disabled the hub would show incorrect registration on !reg delete and !unban (thanks to Hitler, Ashura and Centurion for reporting this error)
new language file: HU.LNG (thanks to ATAG)

2007-02-02 - HeXHub 3.18

corrected: error while displaying registration information, maximum number of registrations displayed will be maxresults (thanks to Claus for reporting this error)
corrected: registered bots no longer join as having hub owner's IP
corrected: error in RegisterBot and RegisterBotEx - the hub did not get the tag from MyINFO

2007-01-27 - HeXHub 3.17

corrected: error while resolving the nick to an IP if the user was disconnected or kicked
corrected: rejected connections were not counted on ddos attack
corrected: if sends through IOCP were disabled bytes sent were not counted
corrected: error while changing hub ports using !set hub port (thanks to Infernus for reporting this error)
notification messages for detected forbidden words and botinfo are now limited to mainchat_message\limit number of characters
added escape sequences in forbid check: \\, \x, \w, \i
forbid now supports setting different bans for forbidden words using _ban_ in reason for kicks
added "ekick" as action in forbid
accounts and bans can now be created also on prefixes
moving deleted accounts to "Delete" profile is now optional, new option: "keep deleted accounts", !set usr keepdeleted
added: !set usr %[nick]
new function: RegisterBotEx

2007-01-08 - HeXHub 3.16

corrected: error while unloading a plugin that called ProcessUserTraffic
corrected: error while refreshing the list with plugins (the hub would load same plugin twice)
corrected: error in packet capture procedures if the adapter availability changed
corrected: error in history
new option: local address (requested by M0rF3uS)

2006-12-05 - HeXHub 3.15

corrected: error in packet capture procedure if one of the adapters was disabled
new function for plugins: GetHublistEntry
new API: onBadSettings

2006-11-26 - HeXHub 3.14

corrected: error in forbid if the action was preceded by "notify"
corrected: error in hub statistics if one of the hub's ports was change during hub runtime (thanks to Claus and Skrewie for reporting this error)
The hub now displays port information in !whois
Hub statistics will also show users connected on port that were closed during hub runtime
Added: MOTD now supports variabiles (requested by Timisoreanul)

2006-11-20 - HeXHub 3.13

added: capture SysLog events (needs winpcap)
on DoS / DDoS, more statistics will be displayed about the attack

2006-11-07 - HeXHub 3.12

corrected: if "sends through IOCP" was enabled, the hub did not free private buffers when disconnecting a user (thanks to Claus for reporting this error)
corrected: some settings for plugins were not saved
changed: hublist registration time unit: hours -> minutes
new language file: SE.LNG (thanks to Nillan)

2006-10-17 - HeXHub 3.11

corrected: error in SendToAll procedure if a plugin exported onPublicMessage (thanks to Moshu for reporting this error)
corrected: error in country restrictions (thanks to Kobra for reporting this error)
new functions: GetHubUptime (Hub), GetAboutText (plugin)
hub now displays plugin information in about
registration ID is now shown in whois and in banlist

2006-10-08 - HeXHub 3.10

corrected: error in GetProfile procedure (thanks to Meka][Meka for reporting this error)
corrected: ISP information was not updated by !set command (thanks to b_w_johan for reporting this error)
added support for new syntax of $BotINFO ( http://dcpp.net/wiki/index.php/Talk:%24BotINFO )

2006-10-01 - HeXHub 3.09

corrected: error while a user with _ban0_ tryed to join the hub
corrected: error while a user disconnected or reconnected
corrected: error in forbid for private messages, replaceall (thanks to Timisoreanul for reporting this error)

2006-09-25 - HeXHub 3.08

corrected: welcome message was not sent to registered users in a public hub (thanks to Claus and RAR-SkrewiE for reporting this error)
corrected: NickFromId did not return opchat's name (thanks to Moshu for reporting this error)

2006-09-24 - HeXHub 3.07

corrected: plugin status was incorrectly saved in plugins.dat (thanks to Takel for reporting this error)
corrected: error in setban0 procedure
corrected: error in SetInfo function
corrected: error in broadcasting procedure
corrected: error while banning for unknown data (_ban0_)
corrected: error in accepting thread that caused out of buffer space error
SendToAll will no longer generate onPublicMessage event for the caller plugin
nickname is no longer shown in MOTD
updated albanian language file (thanks to Dardanicum)
RegisterBot now supports MyINFO string for nickname
new event: onNicklistChange
new functions: GetTopic, SetTopic, GetMOTD, SetMOTD
license changed: GNU -> Open Software License 2.1

2006-08-06 - HeXHub 3.06b1

corrected: buffer overflow was caused by acceptThread procedure if more than 3000 users tryed to join the hub in a short period of time with connection flood checks disabled (thanks to Dark for debug info)
corrected: error in GUI update procedure for user selection (thanks to Kobra for reporting this error)
corrected: accounts created for IPs/ranges using reg command no longer create new account for specified IP/range if there already is one
corrected: error in worker thread procedure, non-reentrant on read events could crash the hub if another thread was executing a slow operation for same user (thanks to Kobra for reporting this error)
corrected: error while increasing access level for users that don't have adm0 right
corrected: error while a user with long nickname changed his nick to another long nickname with more than 7 languages installed
corrected: error in accepting thread when proxy scan was enabled (thanks to Takel for reporting this error)
corrected: error in access level auto-update procedure (thanks to Moshu for reporting this error)
corrected: error while displaying busy threads using !stats command if a hub owner changed the number of threads while hub was started (thanks to Claus for reporting this error)
corrected: error while moving plugins in GUI (thanks to Moshu for reporting this error)
corrected: error while saving user profiles if more buffers were allocated (thanks to Kobra for reporting this error)
corrected: error on Windows 2003 server with DEP enabled (thanks to Takel for reporting this error)
corrected: if an ISP name was found in a ban reason, that ISP was banned instead of target
on connection flood attempts and http/socks5 requests nick will be shown in opchat (if no user is connected to hub from that IP, history is searched)
ISP information is now shown in !whois IP
if flood is detected from users who send unknown data to hub a _ban0_ is added if unknown data is sent before login
on memory allocation errors affected users will be blocked until more buffers can be allocated
new language file: fr.lng (thanks to asteroid)
users who connect are set to last non-writeable buffer from broadcast cache
added WinPcap support, hub can get / ban MAC addresses, can report in opchat port scans and UDP/SYN/ICMP flood attempts
added support for plugins
new mode: mode n - n00b mode (thanks to Ashura)
modes x,y,z,s,n are removed and converted to scripts for the "Mode" plugin

2006-07-30 - HeXHub 3.05b1

Corrected: error while reading country from IP cache if the user who joins has an ISP-based account (thanks to Takel for reporting this error)
Corrected: hub no longer increases access level for non-logged in users
Corrected: error in settings for rights in user commands definitions
Corrected: error in !stats cache if cache has too many broadcast blocks
Users banned for illegal files in share are allowed to join the hub after ban expires only if share size changed (as suggested by Moshu)
Admins that have op right now can set/reset op0 right (as suggested by Moshu)
Admins that have pwd2 right now can set/reset pwd0 right
The !reg command used with no parameters will show also the number of registered users for all accessible profiles
Hub owners that connect to hub with 127.0.0.1 as IP will now be able to download using active mode, IP is replaced with hub's IP.
Reassigned: reserved1 -> adm6 (can manage hub settings)
New command: !set to view/change all hub settings.
Language files were updated (thanks to Dardanicum for al.lng and to CrazyGuy for nl.lng)

2006-07-19 - HeXHub 3.04b1

Corrected: error while too many users joined in a very short time if connection flood detection is disabled
Corrected: while listing account information for non-existing account, a new account is no longer created
Corrected: user limit is auto-updated on memory allocation errors
Country information is now cached for faster access
Nickless accounts can now be referenced by _id_
Reassigned: spam3 right -> can use forbidden words
Added forbid page with options for search, search results, descriptions, mainchat messages, command parameters and private messages (thanks to Kobra and Claus for helping with tests)
Added editor for User Commands
Access level is now checked for !drop command

2006-07-02 - HeXHub 3.03b9b

Corrected: removed breakpoint from make_nprofile procedure
Corrected: the rename procedure did not check if second parameter was prezent

2006-06-30 - HeXHub 3.03b9a

Corrected: infinite loop if a user had set a language and correspoding file was removed (thanks to Kobra for reporting this error)

2006-06-27 - HeXHub 3.03b9

Corrected: error on passive $ConnectToMe command if notification for invalid IP was enabled (thanks to DjRaoul for reporting this error)
Corrected: error while parsing corrupted users.dat file (thanks to Claus for reporting this error)
Corrected: error in SendLock procedure (thanks to Kobra for reporting this error)
Corrected: error if a user had set a language and correspoding file was removed (thanks to Kobra for reporting this error)
Corrected: missing command terminator for wrong search notification messages
Corrected: client bugs are no longer reported as hub registrations
Corrected: number of text lines and size of message written with !say / !write / !mc was checked for users who had rights to bypass mainchat restrictions
Corrected: if a user had an account with no password in a private hub and had "password required to join" flag set he couldn't set his password if he had pwd1 right
Corrected: OpChat and Hub-Security nicknames were not updated in user list if auto-refresh mode was set (thanks to Moshu for reporting this error)
History information is now updated for nick change events
Carriage Return and Line Feed are replaced with '/' for myinfo notification messages
Notification messages for HTTP requests and multiline "unknown data" are restricted to 10 lines
E-mail in whois information is not shown if user didn't set any (as suggested by Moshu)
Users that have the spam0 right can write messages with CAPS in mainchat if restriction is enabled
Unbanning a user with !unban command resets kick counter
New option: do not combine messages - available for mainchat messages (<nick> msg1|<nick> msg2|<nick> msg3| by default is "combined" to <nick> msg1 msg2 msg3|)
If a hub command written in mainchat follows a mainchat message, messages will not be combined (thanks to Moshu for reporting this possible problem)
Duplicate topic commands are just sent back to the user who set the topic (thanks to Moshu for reporting this possible problem)

2006-06-21 - HeXHub 3.03b8

Corrected: error on slots / share restriction (thanks to Sonick for reporting this error)

2006-06-20 - HeXHub 3.03b7

Corrected: error on attempt to drop Hub-Security or OpChat bot
Corrected: users that have fake0 right were shown as sharing 0 bytes if they didn't bypass slots/hubs/share checks (thanks to Sonick for reporting this error)
Corrected: if fake share is detected from a client or bot that didn't validate a nickname the string "undeclared nickname" will be shown
Corrected: error in MyINFO cache (thanks to RAR-SkrewiE for reporting this error with debug info)
Corrected: users that were not fully logged in could send messages in mainchat (thanks to Moshu for reporting this error)
Corrected: nickname length check in mainchat messages
Corrected: buffer overflow for buffers allocated by sndbuff1 procedure
Corrected: if user was renamed on login, on reconnect client ignored oplist because of $Hello with orriginal nick was not sent after $ValidateNick but on $GetNickList request (thanks to Sonick for reporting this error)
Corrected: error while unbanning wrong bans or IP ranges that were not written like in original ban
Corrected: users unbanned by !unban command are moved to "Delete" profile if ban was not set on an account
Users that are moved to a different profile will have their access incremented according to that profile's settings
Added limit for opchat notification messages (thanks to Methodman for helping with tests)
Added auto-temp ban for fakers / flooders / users with netlimiter / etc.
Added notification for !say, !write and !mc commands (if Notify on Mainchat Message is ON)
New option: send $OpList to pingers, recommended value = OFF
Italian language file fully translated (thanks to TheNicki)

2006-06-14 - HeXHub 3.03b6

Corrected: state of "Do not display this message again" was not checked if user pressed "No" in SynAttackProtect warning window (thanks to Sonick for reporting this error)
Corrected: if MOTD was locked from GUI the !motd command did not show MOTD
Corrected: if redirect address had port number in it and "redirect address must exist" was set, hub did not resolve hostname (thanks to Synergy for reporting this error)
Corrected: error in connection string check
Corrected: report in opchat for fake share (too many identical consecutive binary groups) replaced first 8 bits with 00110000 (ascii code for '0')
Corrected: error in language-dependent notification procedures for address checks (thanks to Ashura for reporting this error)
New string in supports: NickChange - clients that support this will receive $ClientNick instead of $Hello+$MyINFO and all commands can be sent to hub with new nick (thanks to CrazyGuy for helping with tests and protocol extension definitions)
Added support for UserIP2 (thanks to CrazyGuy for helping with tests)
Added new right for userip extension, access-level based
If a user has the right to join with fake share, no notification will be sent in opchat if fake share is detected from him.
Multiline reasons in bans are shown as one line in !banlist, only first 80 bytes
Default ban level changed to 1

2005-06-02 - HeXHub 3.03b5

corrected: error in GetINFO / UserIP optimization procedures
corrected: error in display time procedures for accounts 

2005-06-01 - HeXHub 3.03b4

corrected: nicklist corrected for clients that have "refresh nicklist" feature
corrected: oplist for !op command ends with '$$' (StrongDC++ doesn't accept it otherwise)
corrected: kicks without reason were adding temp ban of 5 min. instead of ban time specified in GUI (thanks to Dardanicum for reporting this error)
corrected: if an account is restricted on IP, users who will try to use it and have different IPs are renamed to Guest_[n] (thanks to Lord_X-Zibit for reporting this error)
new option: availability applies only to unused accounts (as suggested by Synergy)
new option: access level -> increase by [...] every [...] hours online, if access becomes greater than highest range and adm0 right is set, the user is moved to the matching profile
if default profile has pwd1 right set, users can self-register
account/ban expiration date+time can now be changed from GUI
reassigned: Unknown commands / Notify affected users -> Force correct syntax
nick / IP is checked for search commands

2005-05-30 - HeXHub 3.03b3

corrected: user is banned for entering too many wrong passwords
corrected: if "do not allow unregistered users" was set, registered users couldn't join (thanks to Synergy for reporting this error)
corrected: error in MC flood detection
corrected: error in user profiles that have raw commands - if generated from hub, raw command size was treated as byte instead of word
access level for users can now be changed from GUI
notifications about incorrect client settings (CTM/RCTM check) are sent in opchat only once to prevent spamming

2005-05-29 - HeXHub 3.03b2

corrected: nickname changes are updated in GUI in auto-refresh mode (thanks to Moshu for reporting this error)
corrected: _ban2_ in kick reason will ban user(s) by nickname
parameters used in PM spam check procedures are now optional
on mode 0 connection time parameter is adjusted to temporrary disable reconn/say/reconn check for affected user if somebody else sets mode 0
SynAttackProtect and MaxConnections values are read from registry, an optional warning is displayed if SynAttackProtect is not set to the recommended value
commands !kick and !drop can accept IP as parameter to kick/drop all users with same IP

2005-05-28 - HeXHub 3.03b1

corrected: Hub-Security had invalid language pointer (thanks to DjRaoul for reporting this error)
corrected: users that had right to bypass client restrictions were not set as logged in (thanks to Sonick for reporting this error)
corrected: redirect address for incorrect ISP was not updated (thanks to InKognito for reporting this error)
corrected: error while redirecting - now the user is not disconnected right after $ForceMove command
corrected: syntax problems in language files (thanks to: Ketsuron (DE) , CrazyGuy (NL) and Dardanicum (AL))
corrected: error in PM flood detection (thanks to Moshu for reporting this error)
corrected: if nickname is adjusted for prefix restrictions, it will be compared with user accounts (thanks to Moshu for reporting this error)
corrected: welcome message was displayed incorrectly for StrongDC++ users.
corrected: on [...] invalid passwords ban user for [...][...].
corrected: names of user rights are shown from language files (thanks to CrazyGuy for reporting this error)
reassigned: "Add the default ban set for $Kick command" -> "Add redirect hub to hublist"
added translation table to undo dc++ replacements for extended ascii characters
added notification for misconfigured clients (tag states incorrect mode)
default ban time can be set from GUI
redirect address can be checked and compared with addresses from hublist
repeat checks in mainchat use checksums for ASCII+non-ASCII characters (check for one user and check for all users)
if "notify on incorrect IPs' is selected, the user is notified about incorrect client settings (incorrect IP for active mode / incorrect nick for passive mode) and disconnected, and a message is sent in opchat.
new option: use search engine to test for public proxy
new option: dump cached IPs, this will prevent hub for chencking an IP for proxy twice
welcome messages can be changed from a list of text files
sending "Type !help" and "Type !language" on-join messages is now optional
added option for maximum results in !seen / !who commands
the !whois command can search in Internet Registry
unsuccessfull login events caused by fake share detection are shown in opchat only once to prevent spamming
chat sessions with Hub-Security can be shown in opchat
default hub language can now be set from GUI (Appearance or by changing language of Hub-Security bot)

2006-05-21 - HeXHub 3.02b4

new language file: de.lng (thanks to Hurricane)
corrected: using !reg profile * IP - will now register an account for the IP
corrected: buffer overflow by 1 character while registering nicks with size greater than 39 (thanks to Moshu for reporting this error)
corrected: users that try to join the hub with an IP or address as nickname are renamed as Guest
corrected: errors in procedures for language-dependent messages

2006-05-20 - HeXHub 3.02b3

new language file: nl.lng (thanks to CrazyGuy)
new language file: al.lng (thanks to Dardanicum)
language settings are saved in user registration data
new languages can be added by copying correspoding language files in LNG directory
new variabile: DefLang in hub.ini - default language
hub now detects socks5 authentication attempts
changed: fake share detection for too many identical binary groups - group size will not be decremented
corrected: some parts of "unknown data" were dumped more than once if separator was present (thanks to Moshu for reporting this error)
corrected: at reconnect the hub did not send user commands (thanks to Moshu for reporting this error)
corrected: some clients did not get own $MyINFO on first login (thanks to Moshu for reporting this error)
changed: the right chat2 "can see public messages" if removed from a user, that user will not see in mainchat messages from those with higher access level than his

2006-05-15 - HeXHub 3.02b2

corrected error in PM spam notification message (first 4 letters of spammed address were not shown)
corrected error in cache while traversing broadcast blocks (thanks to Moshu for debug info)
corrected error while selecting a user from gui in auto-refresh mode (thanks to Moshu for debug info)
corrected fake share detection procedures that scan for repeated sequences
added notification message in opchat for detected fake share / clients with details if "Notify" is set in $MyINFO page
clients with fake tags will be shown as using client Faker++ (if they are allowed to join)
if flood is detected from a user, a notification message is sent to him before disconnecting

2006-05-12 - HeXHub 3.02b1

corrected error in cache while traversing broadcast blocks for a user that will be disconnected (thanks to Claus for debug info)
corrected error in cache while removing private buffers for a user that had a send in progress
corrected error when unbanning user - if user was not registered the ban registration is now moved to "Delete".
new connections are scheduled by a thread
added socks 5 server emulation - users who try hub address as proxy will actually connect to hub no matter the address
added options to dump unknown data / http requests / hub registrations / socks5 requests in opchat
new variabile: %[addr] = hub address
flood check improved for "unknown data"
PM spam is now reported as PM spam not as $To: flood, and the spammed address is shown
DNS is now shown in !whois information (if any)
new command: !stats (hub information) / !stats cache (cache information)
reassigned: the right info2 is now associated with !stats command
reassigned: "allow account password instead of hub password" -> "do not allow unregistered users" (valid only if hub password is enabled)

2006-05-03 - HeXHub 3.01b7

Corrected: error on $Kick / $OpForceMove flood check.
Corrected: if a flooder didn't get nicklist his message in mainchat was treated as hub registration.
Changed record limits in notifications for hub registration attempts.
Added LAME-SPAMMER to default profiles.
Added a help button at user profiles section that lists accepted variabiles.
Added %[uptime], %[topic] and %[reason] as requested by many hub owners.
Welcome message is no longer sent to banned users.

2006-05-02 - HeXHub 3.01b6

Corrected bug in key calculation (thanks to [Dev].DZ for reporting this bug)
Flood check on nick changes now use parameters for $ValidateNick $ValidateNick sent by a logged in user is now treated like !nick command
Corrected error on expire time decrement procedure

2006-04-29 - HeXHub 3.01b5

If country prefix is present but not required and "do not allow irrelevant prefixes" is selected then country prefix is forbidden / removed (thanks to CaTaLy for reporting this bug)
User menus are now sent to users that don't send getnicklist too
Corrected error that doubled nicks in oplist
Added MOTD delete / MOTD change notification messages
Added hublist registration notification - hubs that use a hexhub as regserver will generate these notification messages if in $BotINFO section the Notify flag is set
Corrected error while user was switching between proxy and active/passive mode

2006-04-27 - HeXHub 3.01b4

Right rsvd0 (can rename users) renamed to connect5, also renamed all rsvd[] and plug[] rights
New right: connect6 (can join always) - bypasses hub full / ISP / prefix / country checks
Default user profiles are adjusted for new rights
Corrected error in cache that would crash the hub if buffer of a user disconnected by an error would be used by a newly connected user before IOCP packet was posted for last send
Corrected error in sending thread that would crash the hub if it would intercept an user_init operation
Corrected error in login procedure - users that sent $GetNickList are marked as logged in before getting nicklist, they will receive all broadcasts since that moment
If user loses some of his rights, the hub will not display more than once the notification message
Added send timeout check for IOCP sends

2006-04-26 - HeXHub 3.01b3

Corrected a bug in cache if hub was getting WSAENOBUFS error
Corrected a bug in cache if user was disconnected with a winsock error

2006-04-24 - HeXHub 3.01b2

Corrected a bug in cache for public messages, if a user that received half of a block was disconnected by an error, that block would be kept for sending for a very long time (until a new user would get same position in threads buffer) - thanks to Methodman and Claus for helping with tests

2006-04-24 - HeXHub 3.01b1

Added optional confirmation on application exit (thanks to Mascota for reporting this problem)
New command: !rename - deppends on "rsvd0" right, this command may be removed on future versions
Flood check improved - commands: +me, +mc, +say, +write are now treated as mainchat messages even if sent as PM to bot
Flood check improved - commands: +op, +deop are now treated as $MyINFOs
The hub now displays a message to the user / op who tryes a command and doesn't have the rights for it

2006-04-23 - HeXHub 3.00b6

Corrected a memory allocation error while delayed user reconnected
Corrected redirect address for users redirected for ISP restrictions (thanks to CaTaLy for reporting this error).

2006-04-22 - HeXHub 3.00b5

Corrected error while displaying a language-dependent message - the hub wouldn't count user login time (thanks to Claus for reporting this error)

2006-04-22 - HeXHub 3.00b4

Corrected "force prefix" function, the hub now adds a "clone" if the user is renamed for compatibility with all clients (thanks to CaTaLy for reporting this bug)
The hub now checks for prefixes with brackets (thanks to Ketsuron for reporting this bug)

2006-04-21 - HeXHub 3.00b3

Hub now sets redirect address on all myinfo checks according to myinfo/share restrictions (thanks to DJRaoul for reporting this bug)
Hub sends an error message to users disconnected for $Version / $ValidateNick restrictions (thanks to DJRaoul for reporting this bug)
Hub sends $Quit and decrements concurrent login counter if user is disconnected by a winsock error (thanks to Claus for reporting this bug)
Hub sends $Nicklist to pingers that send $Supports but don't support NoHello
Corrected a bug in fake share verification procedures. If a user has fake share and hub settings allow him to stay he will be seen as sharing 0 bytes (thanks to Claus for reporting this bug)
Corrected a bug in drop and kick procedures (thanks to Claus for reporting this bug)
Added a "save all settings" button
The connect4 right (Can connect to users) is now associated with a "fair hideshare" mechanism. User that doesn't have this right cannot upload too.

2006-04-21 - HeXHub 3.00b2

Updated users.dat format, for future updates the hub will be able to import accounts from previous versions
Corrected a bug from GUI user and profile update procedures, if a profile is moved in comboboxes the pointers will be updated
Added a restriction: users that don't have connect4 (Can connect to users) right cannot search

2006-04-20 - HeXHub 3.00b1

Corrected user record size in users.dat file
Corrected infinite loop checking an invalid password

2006-04-19 - HeXHub 3.00

First release