eMule 49b. TK4 Mod 2.2b

Version 2.2b - Base eMule 49b 17-02-2009

Merged: to 49b eMule base code
Fixed: UploadQueue.cpp CUploadQueue::UpdateActiveClientsInfo() fix by tHeWiZaRdOfDoS

Version 2.2a - Base eMule 49a 28-06-2008

Merged: to 49a eMule base code
Added: Verbose log entries for unknown hello tags
Added: Left in the Obfuscation field in TK4 client details
Removed: Did not merge the old Safe Kad with the latest Kad
Fixed: Old style graphs checkbox init - found and fixed by Gomez82
Fixed: 32bit TK4 icons, they were distored with a black background.

Version 2.1d - Base eMule 48a 7-09-2007

Added: Support of Comodo Antivirus.
Added: KAD search keyword field and keyword deriving code.
Fixed: Preset filters checkbox position when search tab is vertical.

Version 2.1c - Base eMule 48a 27-08-2007

Fixed: MSS calculation and MTU display. Errors pointed out by Rapid_Mule
Fixed: Session time field overwritting 'Total' title in shared file window when screen at minimum width.

Version 2.1b - Base eMule 48a 18-07-2007

Fixed: ToolTipCtrlX - Fixed altered code for XP and above now it should work on 2000 and XP and above.

Version 2.1a - Base eMule 48a 15-07-2007

Added: Fixed and reworked ToolTipCtrlX the Devsī code reworked a little. :)
Added: No Nagle option for uploads, theoretcial/possible reduction in upload latancy
Added: Creation date display for IPFilter.dat in IPFilter dialog
Fixed: Headerview - Crash on view deleted/moved file stupid error
Fixed: Headerview - WMV/WMA extension display false mismatch message
Fixed: Headerview - OGG/OGM extension display false mismatch message
Improved: Headerview - DMG type confirmation
Fixed: Unicode search text field overlaps preset filter check box
Added: Missing Code In Listensocket.cpp,Missing reaction to OP_REQUESTFILENAME Fix by tHeWiZaRdOfDoS
Added: MORPH optimization for large shared filelist, only reset if published. optimize by Leuk_he
Merged: to 48a
Changed: Retained TK4 statistics dialog code
Added: Implemented old style graphs option, the devs already coded it.
Added: Warn & prompt of deletion of possibly rare completed files
Added: Warn on exessive compression gain for none trivial files (>89% && >1 Partsize)
Fixed: Show "compressed by" as a percentage of actual data transfered,(uncompressed)
Added: Safe Kad (slows down the spread of bad KAD nodes) - by Netfinity
Added: Kad optimizes and function inline for improved performance - by Netfinity
Added: Kad Vista path fix by godlaugh2007 merged from Morph code

Version 2.0d - Base eMule 47c 07-02-2007

Altered: Auto MTU to Auto MTU/MSS - Determines the highest usable and fair ATM efficient value for MSS and uses it in UploadBandwidthThrottler. Thanks to SiRoB, Enig123 and Leuk_he pointing out my ,(stupid) error.

Version 2.0d - Base eMule 47c 03-02-2007

Added: Auto MTU - Determines the highest usable ATM efficient value for MTU and uses it in UploadBandwidthThrottler.
Altered: UploadBandwidthThrottler to use actual upload value to determine double send or not.
Altered: Permanent search filters to be more server/bandwidth friendly.
Fixed: Forceshare bug in stats collection code. Crashed sometimes on shared file deletion.

Version 2.0c - Base eMule 47c 19-01-2007

Added: CClientUDPSocket::SendTo() Optimize
Added: CUDPSocket::SendTo() Optimize
Added: CPartFile::DrawStatusBar() Optimize by tHeWiZaRdOfDoS
Fixed: CPartFile::ReduceAllocatedBlocks() Bug fix by tHeWiZaRdOfDoS
Fixed: TK4 Memleak in CKnownFile::LoadTagsFromFile()
Added: Very small optimizes in UploadBandwidthThrottler and LastCommonRouteFinder

Version 2.0b - Base eMule 47c 02-01-2007

Added: Fix to prevent filename cleanup mangling DVD video filenames
Added: Hash check in AddReqBlock() - Fix By: SiRoB,zz,tHeWiZaRdOfDoS
Added: Memleak fix in MoveItem() - Fix By: eklmn
Added: Country field added to IP Filter Dialog and opimized init() and other code
Added: Country field added to Tool tips in dowloads & uploading lists
Added: Country field and Tool tips added to dowloading,On queue,known clients lists and Server list
Added: Small performance tweak for GetScore()
Added: Fine credit system - Created by CiccioBastardo
Added: Performance tweak for TK4 and Fine credit systems in GetScoreRatio()
Fixed : VOB file type indication in header view

Version 2.0a - Base eMule 47c 3-11-2006

Merged : TK4 Code to 47c codebase
Added : Monthly Automatic IPFilter Update in separate thread (Option)
Added : Faster Re-Ask on MLdonkeys - Idea Spike2, WiZaRd, Eng123 (suggested by spiralvoice - mlDonkey-DevTeam).
Removed: NeoMule ISP_T

Version 1.5f - Base eMule 47a 14-08-2006

Fixed: Don't remove static servers function bug fixed.
Fixed: Anti-Mod thief bug fix code wasn't intialized! Bug reported by EvolutionCrazy
Fixed: Header View bug fixes for long extentions. Bug reported by Masta2002/elettronvolt
Added: "not A Valid Link fix"zoom,WiZaRd and CiccioBastardo
Altered: Version 1 ISP_Transversal code updated with optimizes and Updates taken from David Xanatos' NeoMule 5.20

Version 1.5e - Base eMule 47a 29-07-2006

Added: Header View+ - Views header of downloading or complete file and attempts identification of the file type.
Added: Don't log filtered messages option - Feature suggested by 9onzalo
Fixed: Stats Screen OnInitDialog TK4 Bug + code optimized
Fixed: A bug that could cause a good server to be removed on connect attemp when TK4 IP Filter update was in progress.
Altered: TK4 Credit System - Optimized /4 replaced with >>2 (result altered slightly)
Added: A couple more >> 1 << 1 optimizes (no change in result) :)
Added: Wrap around data block request - Fix by Aw3
Removed: Remove 'explict' mode for Neo encryption user options.

Version 1.5d - Base eMule 47a 08-06-2006

Added: Neo Encryption/ISP Transveral Created by David Xanatos
Added: Antivir Premium v7 support
Fixed: Remove IP Filtered servers found by XMan this Fix by SiRoB
Fixed: Fix Unable To Open Completed File After Rename... - Fix by SiRoB
Fixed: Collection Double Extension, Modifing an already existing one - Fix by CiccioBastardo
Fixed: Advance client regocognition eMule+ 1.2 fix - Fix by Enig123
Fixed: Wasted Ratings Fix, Clients can't "decode" it - Fix by WiZaRd
Fixed: Download Sort Glitchfix - Fix by WiZaRd
Fixed: Memory leak LastCommonRouteFinder - Fix by WiZaRd
Fixed: Emule Forget To Publish Files To Server - Fix by XMan

Version 1.5c - Base eMule 47a 30-04-2006

Added: Unknown1's new Kad patch
Added: Virus scanner dialog fix by Spe64
Added: Optimize for ReduceAllocatedBlocks() by Wizard
Added: Fix for Statistics Dialog Minor Bug

Version 1.5b - Base eMule 47a 23-04-2006

Added: Statistics window Functional Enhancements Tagged: [SFE]
Added: [SFE] Scope pane zoom/restore on double left click
Added: [SFE] Context menu for display options, hide/restore scopes, hide/restore stats tree
           full height any scope and plot fill options via statistics options.
Added: Fix for Statistic BOOL CStatisticsDlg::OnInitDialog() initial scope positions
Added: DL Part completion speed-up code, block size reduction outside DBR range
           also improved single block request evaluation.
Improved: DL Part completion speed-up code, 1 block allocation code.
Added: Small Fix Related To Hello-handshake fix - eklmn
Added: Emsocket Multiptach fix - XMan
Added: Check Handshake Finished fix - Wizard
Added: Clientlist & Cpu Optimize - Wizard
Added: Display Fix For Downloadclient Progressbar fix - SiRoB
Added: eMule steals focus fix - raccoonI
Added: Summary not updated after deleting shared file fix - raccoonI
Fixed: Virus scan enable/disable *bug* would change state on cancel :(
Fixed: Bug related to SCE 1. Wouldn't evaluate files<540 Kb blocks in size
Fixed: Bug related to SCE 2. Would continue to cause re-hash of failed files ,caused by above bug,
          instead of using fallback value for failed to evaluate
Fixed: Bug related to SCE 3. Did not check TAG value properly when loading initial value.

Version 1.5a - Base eMule 47a 15-03-2006

Removed: Dazzle's Faster Endgame
Added : Netfinity's Dynamic Block Requests
Added : File ratings bug fix - Aenarion[ITA]
Added : Support for AntiVir version 7 personal edition
Altered: Filename Disparity Check *improved*

Version 1.4h - Base eMule 47a 26-02-2006

Added: Always filter IP Filtered Servers!
Added: Remove IP Filtered Servers on connection attempt. (code/idea by Wizard).
Added: Wizards "cleaner" Server Remove function.
Fixed: when using TK4 credit system Show yellow icon only for clients who have positive credit. - Bug found by PluG

Version 1.4g - Base eMule 47a 21-02-2006

Added: lupzz no sleep patch for uploadthrottler.
Fixed: IP filter update to always extract .gz to IPFilter.dat
Added: Permentent search filters (option)(idea by infinitive)
Added: Require 2 bad names before alert FDC (option)
Added: Remove IP Filtered servers (option)
Added: Don't remove static servers (option)(request by niRRity)
Fixed: missing mod version in version name (lost in merge)
Added: Support of Avast! Pro and Home anti-virus (request by niRRity)
Fixed: path bug for eTrust EZ anti-virus
Fixed: improved/fixed anti-virus selection code
Added: Enhanced Client Recognization code by Famerlor from Spike2 Mod
Added: Glitch In Downloadclientsctrl.cpp Fix by Wizard
Added: Gui Bug In Settings Wizard Fix by FrankyFive
Altered: Eastshare credit system now using code from the latest Eastshare (credit system by TAHO)

Version 1.4f - Base eMule 47a 04-02-2006

Fixed: Display priority with bullet in conext menu of shared files,(bug introduced in merging)
Added: Unknown1's Kademlia patch GetClosestTo.

Version 1.4e - Base eMule 47a 30-01-2006

Merged: To 47a
Altered: SCE to deal with large files.
Fixed: (my code) Lock out official IP update if TK4 update is running in its own thread.
Fixed: (official code) Grey out official IP load button when address edit control is empty on init.

Version 1.4d - Base eMule 46c 16-01-2006

Added: IRC Colour and text formatting - IRC Colour and text formatting. Feature suggested by Masta2002

Version 1.4c - Base eMule 46c 24-12-2005

Added: IP Filter Update - Updates the IPFilter.dat from your chosen web source at the click of a button.
Added: Slot Focus - Concentrates bandwidth on the slot(s) that can best use it.Shown as green text in uploading list.
Fixed:  IP Filtered servers showing as normal servers & dead servers showing as normal, mod code,(Fix for official code and mod code)
Added: Failure In Atl Leading To Uncatched Exception fix. Fix by Kro
Added: Rememeber Server Priority From Server.met, for static servers fix. Fix by leuk_he
Added: Small speed optimizes in IPFilter.cpp for ParseFilterLine1() and AddFromFile().
Added: Files never seen complete shown in red in downloads list, feature suggested by tunayx

Version 1.4b - Base eMule 46c 02-12-2005

Added: IP2Country - shows country flags from IPs. Code from/by Eastshare/Morph/eXtreme

Version 1.4a - Base eMule 46c 25-11-2005

Added: New code to prevent slow sources locking blocks in any part, comparative speed assessment.
Added: 3 block request from one 180Kb block single block request. For better compatibility with other clients.
Added: Dazzle's Faster Endgame slightly tweaked version.
Fixed: Small bug SCE code, Pass compressibility state from assessed KnownFile object to listed KnownFile object
Removed: Anti-ghost Mod.
Added: Ghost-Mod detection.
Added: Protocol Extensions Displayed in client details
Added: eTrust EZ support to anti-virus configuration.

Version 1.3e - Base eMule 46c 25-10-2005

Fixed: Hardened the SCE code, to hopefully deal with file read problems & files that can't be evaluated. - Bug found by JulGer

Version 1.3d - Base eMule 46c 21-10-2005

Altered: Improved Filename Disparity Check [FDC]. Differentiating code improved. Reset and sensitivity adjustment added.
Altered: New fix for High cpu load, fast double clicks minimule crash.

Version 1.3c - Base eMule 46c 8-10-2005

Altered: m_bAddServersFromClients get new servers from clients set to default to false.
Fixed: Anti-Virus options page, 'Bad path dialog' displayed when virus scan disabled. - Bug found & Fix thanks to Spe64
Fixed: Anti-Leech settings will not change correctly,(Missing local variable initialization). - Bug found by JulGer
Fixed: Online Signature check box, setting inversed,(moved the checkand didn't remove the NOT operator). - Bug found by JulGer
Altered: TK4 credit system tweaked for slightly lower CPU usage. Credit system document updated also. - issue reported by JulGer

Version 1.3b - Base eMule 46c 8-10-2005

Added: Simple Compressibility Evaluation.
Added: Filename Disparity Check.
Added: Fix To Searchlistctrl.cpp, index check.by Avi-3k
Added: Memleak In Sharedfilesctrl fix - by Wizard
Added: Missing ban checks - by Wizard
Fixed: Statistics for Banned, client remains in banned list of some time after ban expires, allowed for now.

Version 1.3a - Base eMule 46c 12-9-2005

Altered: Forceshare - Removed forceshare of partfiles, limited slots available to forceshare.
Added: Anti-GhostMod+ - Anti-Ghost Mod & and Mod thief code.(optional)
Added: Wizard's Anti-Leech class - Anti-Nick thief and Anti-Mod thief.(optional)
Added: Hidden - Hot Key hiding of emule.(optional)
Added: Statistics for Banned.
Fixed: Statistics bug introduced in previous TK4 versions.
Added: High cpu load, fast double clicks minimule crash fix by SiRob
Added: Fix for max file size by Avi-3k
Added: Support for Zone Alarm anti-virus.
Added: Additional options page.
Replaced: Splash screen.

Version 1.2a - Base eMule 46c 14-8-2005

Merged to eMule 46c
Added: 3 additional credit systems, implemntations of Eastshare & Lovelace + the default TK4 system.
Added: A new options panel to choose between Credit Systems.
Added: Code to get the 'program files' directory name from the system registry to allow preconfigured virus scan selections in more countries.
Added: Scoring Credit System field to Client Details dialog.
Added: New splash screen.
Added: Session Time to Shared files stats.
Added: Hyperlink to TK4 Mod site in the server info pane.
Altered: Friend, and Forceshare scores to make more 'room' for larger credit system scores also added code to 'protect' forceshare and above.
Added:'Open folder' bug fix by Avi-3k
Fixed: Virus scan enabled with no selected file shared files window context menu.
Fixed: Forceshare state set in CKnownFile()
Altered: 'Mod Version' sortproc entry.
Altered: Virus Scan Icon

Version 1.1a - Base eMule 46b 16-7-2005

Altered/Fixed Forceshare so that forceshared files don't have to wait for none forceshared downloads to end.
with 'transfer full chunks' enabled,(default).
Redesigned the layout of the Up Client Details dialog.
Altered spacing on virus scan options page and set all text fields from the string table,(making it easier to change to another language).

if (!thePrefs.IsOnlineSignatureEnabled())

From the start of OnlineSig() function and put checks before each of the 4 calls saving the function call overhead.
Note: upload CUploadQueue::UploadTimer function calls this about every 5 seconds!
I inlined __inline void UpdateMaxClientScore()

Version 1.0k - Merged to eMule 46b 11-7-2005

Added 'reset' button & group box for statistics option page.
Reversed Forceshare average and current plot order, so average does not overwrite current.
Fixed the Sortproc entry I'd written for 'Mod version'.
Cleaned up Client Details dialog a little.

Version 1.0J - Base eMule 46a release date 7-7-2005

The execution of an external virus scanner.
Available from context menu's of shared files and downloads.
Triggered on all file completions.
Configurable form Options->Virus Scanner

Two additional priority levels, designated Forceshare.
These give requests for Forceshared files priority by raising their score
above that which can be attained by any other file except a friend slot file.

Graphical stats for Forceshare as well as Session throughput displayed in the transfer stats tree under Transfers->Uploads->Session

Highlighting of mismatched 3 char extensions in searches.(anti-fake).
Client Mod version displayed in the 'Known clients' and 'Downloading' windows. Also added to 'Client details' dialog.

Minimum uploading files changed from 2 to 1.

Changed exit message.

Fixed 2 typos in Baseclient.cpp :

m_strModVersion = _T("ModID=< Unknwon >");

and changed the GPLevildoer message to:

_T("Please use a GPL compliant version of eMule")