Web Application

Release Notes








Home (alt.)


Thanks to:

The people who inspired me to create this software.

The one guy who gave me the chance to make it online at the first moment it arrived in the world.

SceneCritique crew.

The people who helped me in debugging it, incl. funky Lithuanian dudes.

The people who experience it and feel something happy or unhappy with it.



Release Notes



version build 2007122201

Switched the SSL engine from Windows SSPI to OpenSSL
Switched the C++ library from STLPort to VC++ standard library
Implemented UPnP port mapping
Dropped Windows 2000 support
Added proper Windows Vista support
Removed DICEAdminShell
Added DICE Manager
Changed the database format
Changed formats of configuration files and resource files, unified the encoding into UTF-8
Moved the user data folder
Separated log folders for each protocol
Implemented locale resolver dependent on the system culture name
Fixed a bug in banned hosts clean-up
Unified all banned hosts that were separated for each protocol
Moved the shim for the embedded Perl interpreter out of the main executable
Removed safety limit monitoring
Introduced the Evaluation Version
[IRC] Fixed a bug in the PASS command
[IRC] Removed remote channel link
[IRC] Unified the encoding for normalized object identifiers as UTF-8
[IRC] Implemented server-side logging
[IRC] Removed IRC-User-Shell administration commands that were moved to the DICE User Control Panel
[IRC] Removed +w channel mode in favor of the new server-side logger
[IRC] Removed +x channel mode in favor of a new configuration option
[VD] Removed dynamic parameter change
[HTTP] Moved the listening port setting from the configuration file to the system Registry
[HTTP] Implemented the web UI as the DICE User Control Panel based on the DICE Presentation Framework
[HTTP] Implemented HTTP over SSL (HTTPS)
[HTTP] Fixed a bug in .NET hosting caused by environmental variables vandalized by the Perl interpreter
[HTTP] Fixed a bug in HEAD response
[HTTP] Implemented remote file download manager in the DICE User Control Panel
[HTTP] Implemented CAPTCHA for the DICE User Control Panel
[HTTP] Added HTTP Keep-alive timeout option
[HTTP] Fixed a bug in decoding JIS multibyte text in the Web IRC Client
[HTTP] Updated the Web IRC Client with the DICE Presentation Framework
[HTTP] Removed the web channel browser and moved the channel list to the Web IRC Client
[HTTP] Updated hosted CLR and ManagedAppContainer from .NET Framework 1.1 to .NET Framework 2.0
[HTTP] Reduced unnecessary .NET assembly loading



version 0.86 build 2006112201

[IRC] Modified the PONG message to meet the X-chat behavior
[IRC] Fixed channel management commands in the IRC Shell for avatars
[HTTP] Added the Web IRC Client in the package
[HTTP] Embedded a Perl interpreter to run Perl CGI web applications
[HTTP] Fixed a bug in accepting large post data
[HTTP] Fixed the HTTP/1.0 path handling for a full URL
[HTTP] Removed post capability in the channel browser
Fixed a socket leak in the proxy scanner
Fixed a bug in the registration process in Windows Firewall
Excluded some GAC modules from the list of .NET modules to be loaded



version 0.85 build 2005050501

Implemented generation of a keypair and a self-signed server certificate for SSL
Added an option to bypass Windows Firewall on Windows XP SP2/Windows Server 2003 SP1
Fixed a crash bug in the memory allocator
Changed a hosted CLR to start on demand by HTTP users
Removed MMX optimization
Removed "maxPageNumberPerThread" from Pragma.xml
[IRC] Implemented IRC over SSL
[IRC] Added SSL-user-only channel mode: +z
[IRC] Added an option to reject login by non-SSL users
[IRC] Added an option to change the maximum length of a channel name
[IRC] Fixed a bug in ban on host names in the resolution cache
[IRC] Fixed a bug in setting/removing +r channel mode
[IRC] Fixed ISON reply for multiple users



ver 0.84 build 2004042301

Implemented coercive channel-join as the "/shell admin forcejoin" command
Added an upper limit to the size of per-thread heap to remove a memory leak
Added an option to change the size of the banned IP-address store
[IRC] Added default configuration for CTCP/PM/DCC block in Pragma.xml
[IRC] Added an upper limit to WHO query replies
[IRC] Added an option to change the Excess Flood threshold
[IRC] Added a command to enable/disable spam-killer bot rejoin
[VD] Fixed a bug in search query that had incorrectly limited results
[VD] Optimized the search algorithm
[VD] Added an option to change the limit of the number of query hits per user
[VD] Enabled VD users to join in +a (anonymous) channels
[VD] Fixed the ban messages for a disabled/zero minimum-directory-size
[VD] Safety limit can be disabled now
[VD] Added an option to suppress search query issued immediately after login
[HTTP] Embedded CLR to let DICE run as a .NET application server
[HTTP] Implemented on-demand C#/ script compilation system
[HTTP] Added an option to change the maximum data size that can be sent by POST



ver. 0.83 build 2004010801

Added a configuration option to change the size of banned IP address pools
[IRC] Implemented built-in spam-killer bot as "/shell admin ghost spamkill"
[IRC] Renamed the '+r' channel mode to '+c' for the new '+r' as logged-in user only
[IRC] Fixed error recovery from hostname lookup to allow /shell for users with an unresolved IP address
[IRC] Enabled ghost to respond to INVITE by IRC avatar by making it join in the invited channel
[VD] Added global server password
[HTTP] Fixed content-length calculation in POST



ver. 0.82 build 2003111201

Fixed a bug in session-pool expansion
Fixed a synchronization bug in the memory allocator
Added a reserved nickname list
Fixed a bug in message-flood detection
Fixed a disconnection bug in AdminShell login without an alias
[IRC] Added the ISON command
[IRC] Added a username and hostname to a +a-channel-user hostmask
[IRC] Enabled configuration of a +a-channel-user nick/username
[HTTP] Implemented the file-transfer mode for Windows Workstation versions
[HTTP] Added HTTP reply override in WWW.xml
[HTTP] Fixed a nick of a parting VD user in the channel browser



ver. 0.81 build 2003081601

Optimized the burst transfer scheme to have less stack space
Added a Japanese resource dll to DICEAdminShell
Added WWW.xml to the installer package
Modified CPU type display for Pentium 4 and Celeron in the log and the server status browser
Fixed an insufficient initialization bug in channel recycle
[HTTP] Added time to a channel log
[HTTP] Added topic to a channel log
[HTTP] Added '='-prefix to a VD nickname
[HTTP] Added HTML sanitization to a channel log
[HTTP] Added a HTTP/1.0 compatibility fix
[HTTP] Removed unnecessary socket disconnection
[HTTP] Fixed support for non-ASCII file names
[HTTP] Added a query string variable to the WWW template
[HTTP] Moved channel-log HTML rendering to an external JavaScript



ver. 0.8 build 2003072501

Fixed a bug at object reference count in the memory allocator
Implemented the HTTP (WWW) service
Optimized the memory allocator with MMX
Fixed DICEAdminShell Options panel font issues
Implemented automatic MOTD.xml reload
Fixed a bug in event logging
[IRC] Added automatic reconnection to a disconnected remote channel
[IRC] Implemented +a (anonymous) channel mode
[IRC] Fixed a bug in counting registered users
[IRC] Fixed a bug in hostmask resolution after hostname lookup
[IRC] Fixed a bug in /whois
[IRC] Removed "/shell admin resetls"
[IRC] Added non-restricted VD search as "/shell admin testvd"
[IRC] Implemented the +w (WWW-logged) channel mode
[IRC] Added KICK to the supported commands in remote channel mirroring
[IRC] Added a new option for shorter-update for the channel list
[VD] Fixed a bug in starting connection to a stats report server
[VD] Implemented reconnection to a stats report server
[VD] Supported the command numeric 10300
[VD] Total file size is now 64-bit
[VD] Added a configuration option to toggle off ban on users without minimum directory size
[HTTP] Added Range support
[HTTP] Implemented Server Status Browser
[HTTP] Implemented Channel Browser and interaction with channels



ver. 0.701 build 2003050301

Fixed the interval between listener socket verification
Removed Windows XP/2003 specialization for socket recycle
Added port overlap check at server startup
[IRC] Added validation for remote IRC server connection
[IRC] Modified destruction of a remote channel image



ver. 0.7 build 2003050101

Implemented reset of listener sockets and sessions as a workaround for a TCP backlog bug in Windows Server 2003
On Windows XP / Windows Server 2003 the DICE runs without the workaround for lingering socket bug in Windows 2000
Implemented dynamic istening-port change
[IRC] Added remote connection to a ghost
[IRC] Implemented mirroring of a remote channel image
[IRC] Changed the behaviour of /mode with 3 parameters
[IRC] Added "/shell admin resetls"
[IRC] IRC avatar can add channel members now
[VD] Added support for Napigator-protocol stats reporting
[VD] IRC nick change is emulated in channels
[VD] Added extension check in bad words filtering for file names
[VD] Separated the idle kill time for those in channels and out



ver. 0.601 build 2003040501

Fixed a bug at new database creation
[IRC] Modified vdassoc to accept a '='-prefixed VD username
[IRC] Fixed a bug at the PASS command



ver. 0.6 build 2003040301

Implemented binding to a specific network interface
Fixed an asm prefetch optimization bug on Pentium!!!
Added channel mode to a topic line in the channels list
Fixed JIS->SJIS conversion to skip a JIS-kana/roman/hojyo escape-sequence
Moved the exempt IP-address list from <ProxyScanner> to <trustedMachines>
IP addresses in local network interfaces are automatically added to the trusted list
Added backup IP addresses to proxy-scanner test-servers in case of temporary DNS failure
Added proxy-scanner options for IRC and AdminShell
Implemented the update checker
[IRC] Added RPL_ISUPPORT in IETF draft-brocklesby-irc-isupport-01
[IRC] Implemented /LIST with a lesser/greater operator (people/C/T)
[VD] Added a shortcut for WinMX2/3 WantQueue



ver. 0.5 build 2003032301

Removed DICEAdminShell dependency on SSPI SSL
Implemented an RSA+AES secure channel protocol for DICEAdminShell
Removed a DICEAdminShell configuration option in registry
Changed the configuration file to "Pragma.xml" in the application directory
Changed the MOTD file to "MOTD.xml" in the application directory
Implemented shortcut resolver for configuration files
Optimized channel provider
Removed "hostedClients" from channel properties
Removed "nameSize" from channel properties
Removed executable expiration
Modified ProxyScanner to make it accept FQDN as HTTP test servers
[IRC] Added new channel user mode +d/-d (set a user dumb)
[IRC] Added "/shell info ipad"
[IRC] Added channel-member info query by avatars
[IRC] Fixed kick on VD users
[IRC] Fixed private message via ghost
[IRC] Fixed ban mask
[IRC] Fixed ban behaviour to match (partially) RFC, setting +d on ban
[IRC] Fixed channel notice under +m/+d
[IRC] Removed minimum username length option
[IRC] Removed the "awayReasonSize" user property
[IRC] Removed the "nickSIze", "realNameSize", "userNameSize" user property
[IRC] Whois on VD users shows joined channels
[IRC] Hidden avatar can change a channel topic now
[VD] Channel limit considers the number of VD users
[VD] Removed "noticeBindingInAlternativeMethod" (default)



ver. 0.22 build 2003021103

Fixed the view of registered clients count
Removed sentinels on server full
[VD] Fixed a search precision bug
[VD] Removed path-handling optimization to favor the system locale
[VD] Fixed a double initialization bug on a connection reset
[VD] Fixed safety-limit on thread count
[VD] Added broadcast of topic change from IRC



ver. 0.212 build 2003010701

[IRC] Fixed again a bug in conjuring a ghost
[IRC] Added online time to "/shell admin statvd"



ver. 0.211 build 2003010601

Set back the database to nosync mode
[IRC] Fixed initial loading of ghosts



ver. 0.21 build 2003010501

Added IP-address/nick-based kill on reconnection to a zombie session
Implemented association with channel-bound VD from IRC
Changed the database sync mode from nosync to sync
[IRC] Added "/shell set vdassoc"
[IRC] Fixed ghost message redirection to VD
[IRC] Implemented channel creation lock
[IRC] Propagated PM-block influence to NOTICE
[IRC] NOTICE is announced not only to IRC but to VD
[IRC] Fixed "/shell db detach"
[VD] Implemented not-enough-sharing ban



ver. 0.201 build 2002122301

[IRC] Fixed nick registration in the user-shell
[IRC] Fixed nick change of a ghost
[IRC] Added "/shell admin unban all" "/shell admin unbanvd all"
[IRC] Added client stats in "/shell admin statvd"
[VD] Adjusted an auto-ban threshold
[VD] Changed the announcement method to non-approved clients



ver. 0.2 build 2002122101

Removed the SQL Server connector and moved related data to SQLite DB
[IRC] Implemented DB-related commands under "/shell admin db"
[IRC] Moved ghosts and banned hosts from SQL Server to an XML store
[IRC] Removed age/sex/lang/country properties from the IRC-user shell
[IRC] Avatars can remove users' channel-membership
[IRC] Fixed ghost cleanup
[IRC] Modified /whois to put multiple channels in 1 reply
[IRC] Disabled removal of own privileges in the user-shell
[IRC] Fixed key loading in registered +k channels
[IRC] Fixed kick on VD clients
[VD] Added safety limits
[VD] Disabled message to self



ver. 0.1 Service Release 1 build 2002112601

[IRC] Modified user count to include VD users as "visible" users
[IRC] Added the number of VD users in channels in "/shell admin statvd"
[IRC] Added whois to VD clients
[VD] Modified the dice.xml channel binding section
[VD] Enabled private messaging under channel-binding
[VD] Added two alternative methods for channel-binding advertisement



ver. 0.1 build 2002110101 - the first formal release

Implemented a per-thread allocator
Separated pools of banned IPs: one for IRC/Admin and another for VD
Applied more strict manner of socket handle management
Set back the initial service state to non-interactive
Fixed release of dead nicknames
Changed hostname-hashing scheme
[VD] Improved search concurrency
[VD] Removed index compression
[VD] Removed the pageout system and other SQL Server 2000-related-releated parts
[VD] Increased the size of the outgoing message-buffer
[VD] Implemented a pipelined hotlist-store
[VD] Fixed thread-safety of the message-parser
[VD] Removed ignore check in search
[VD] Disabled queueing between firewalled clients
[VD] Removed the old memory-pooling scheme for query functors
[IRC] Added "/shell admin setvd"
[IRC] Added "/shell admin statvd"
[IRC] Added "/shell admin setws"
[IRC] Modified "/shell admin lsban"
[IRC] Fixed thread-safety of the message-parser
[IRC] Removed a possible resource contention
[IRC] Changed the format of /time
[IRC] Fixed registered sessions count



ver. 0.1 build 2002091101 - cancelled release candidate

Implemented IRC/opennap interoperability for channel & private message
Implemented server-side JIS-SJIS conversion for IRC-opennap interop
Added the database/certificate-less-running mode
Modified "/shell admin broadcast" to send messages to VD clients
Removed some deadlock sources
Rebuilt as a Unicode application
[VD] Implemented an on-memory compressed-index of 2-gram signatures
[VD] Removed old query-distribution algorithm
[IRC] DCC/PM/CTCP preferences are shown in whois
[IRC] Added a dynamic VD-pageout-threshold configuration in the avatar shell
Assembly-optimized hashing/conversion routines



build 2002080100 (come back as "DICE" - private beta)

[IRC] Implemented new message parser
[IRC] Improved message burst-transfer
[IRC] Fixed parsing of MODE argument list
[IRC] Modified JOIN argument parser to allow ',' in channel name
[IRC] Fixed synchronization of ghost commands
[IRC] Added ghost joining announcement at server startup
[IRC] Increased DB connections to 3
[IRC] Implemented a verified-hostname cache
[IRC] Implemented "/shell logout"
[VD] Implemented message burst-transfer
[VD] Implemented asynchronous query for OLE/DB
[VD] Implemented a configurable round-robin connection-pool to RDBMS
[VD] Implemented a character-based query-distribution algorithm
[VD] Implemented a fixed-size SQL-batch buffer
[VD] Fixed disconnection on receiving a file list
[VD] Fixed PONG forwarding in a WinMX queueing request
[VD] Added MOTD and highest connection count display
Redone XML structure of the dice.xml configuration file
Added SJIS to JIS conversion in MOTD
Added unhandled-exception trap / stackwalker / Windows eventlog output
Optimized interaction with the SQL server OLE/DB provider
Customized SQL to TransactSQL for SQL server 2000
MMX-optimized some routines



build 2002060101 (renamed to "DICE prototype")

[IRC] Fixed socket management in the proxy scanner
[IRC] Implemented message burst-transfer
[VD] Fixed synchronization of DB connections
Added the unbound-to-IRC mode to VirtualDirectory



build 2002050101

[IRC] Modified announcement of connection reset



build 2002040901

First public release - somehow without a solid version number



Added some goodies into the avatar mode and put some bugfix
Added a n*pster-compatible service ("VirtualDirectory")



Started beta testing



Implemented the IRC user-shell and an entity connector to the backend DB
Implemented admin-shell message handlers on the both side of C/S



Made a half-GUI client for the administration network (admin-shell)
Created the admin-shell protocol
Implemented an NTLM proxy (later replaced with SSL)



Implemented IRC-message-handler methods



Started coding after 2 months of struggle for the application design
Implemented an IRC-message parser FSM, basic network-I/O strategy and stateful-session container