CHANGELOG FOR EMULE OfFixed-Mod
===============================



***** MODDED BY SPIKE2 *****


About this mod:
---------------

This mod is thought for being used as replacement for official eMule, when you want to have all the bugfixes and code improvements from 
the mods, but are happy with the official client and don't need additional features.

Its source may be useful as a base for new mods, because there are nearly no new features but only fixes, optimizations and similiar.

As user you won't notice many differences from the official eMule client - if any at all. Most changes are "under the hood" and are there
to improve the security, eliminate possible crashes or memleaks, to reduce CPU-load or to make using more comfortable.



Main features:
--------------

* Better coping with servers
  Lugdunummaster, the coder of eMule's server software, coded the aux ports support for eMule. This feature enables your client to use
  the auxilliary ports the server provides. Additionally one codepart by WiZaRd, which was inspired by lugdunummaster, saves overhead
  when connecting to a server without asking the server for other servers. A hardcoded default update-URL for your server.met means no
  more hassle for you to get a new server.met if there are no servers in your list.

* Better security
  WiZaRd's AntiCorruption saves you from saving corrupted data to your partfiles. AntiShape by netfinity reduces you vulnerability to
  CreditShaping. And many AddOns to the Kademlia-Code - mainly by WiZaRd and netfinity - fight against bad nodes in the network and improve
  your protection against Kad-attacks.

* Improvements to make your download go even better
  Code changes for better passive source finding could get you more sources for your download providing you with more sources to download
  from and upload to. Xman's "find best sources" does similiar for you. 
  SearchCatch will use the sources from the searchlist for the download if you decide to start to download one of the found files - and thus   it eliminates the need for researching these sources.

* Less errors
  Many bugs fixed in the codes means less errors for you - many possibilities where the client could crash were eliminated so that your
  eMule runs more stable than with official code. Fixing of possible memleaks could lower the amount of RAM used by eMule in some cases.

* Lower CPU-load
  Many optimizations and some added code parts help to lower the CPU-load eMule causes, especially at higher upload-speeds.

* More comfortability
  Spike2's ECR (Enhanced Client Recognition), now here in version 2, ends the confusing "eM Compat"-display in your lists. Now other
  clients, i.e. eMulePlus or Hydranode, are correctly identified and counted in the stats. The change from official eMule's client icons 
  to the real icons of these clients further enhances the easy recognizing of the client types from which you are downloading or you are        uploading to.
  Friendhandling from all windows makes dealing with your friends in the network easier than ever ! And showing the hash progress in the
  status bar gives exact information how far the progress of finishing your complete download really is.

* More friendly to the network
  IntelliFlush flushs complete downloaded parts to your disk, enabling you to upload them sooner back to the network. With LowID2HighID-
  AutomaticCallBack (L2HAC) overhead is effectively saved. 
  The optionally usable SlotFocus enables you to upload with the best speed possible to the clients you're uploading to and reduces the   amount of open upload slots. 
  SourceCache caches found sources for later use, so that the overhead of searching for new sources later can be saved (the new column   "Sources in SourceCache" in your TransferList shows you how many sources are in the cache).
  Transferring of full chunks is now always enabled and cannot be disabled anymore. This way you always upload full chunks to other clients
  which can be re-shared to others faster. As small bonus you gain more credits at the clients you are uploading to, since you upload more
  to them as with FullChunkTransfer disabled.



********************************************************************************************************************************************



OfFixed 1.0
-----------
-->CODEBASE : eMule 0.49c
-->LIBRARIES: Newer as in official eMule:
	      * Cryptlib 5.6.0
              * ID3lib 2.3.0
	      * libPNG 1.2.35
	      * newest ResizableLib (they don't use version numbers...)
	      Same as in official eMule:
	      * CxImage 6.00
	      * zlib 1.2.3
-->NOTE     : Changes tagged with "BUGFIX" in this changelog include code-improvements and small optimizations as well
ADDED  : 80% score for non SI clients (Xman)
ADDED  : AntiCorruption (WiZaRd)
ADDED  : AntiShape (netfinity)
ADDED  : Aux ports support (lugdunummaster)
ADDED  : Better passive source finding (origin unknown to me, taken from X-Ray)
ADDED  : Enhanced Client Recognition (ECR) v2 (Spike2)
         * Since the nowadays ECR has much changed since it's initial code I declared it to be v2 :)
         * Tag: Spike2 - Enhanced Client Recognition v2
         * Now includes a small fix by taz for recognizing MLdonkeys
         * Stulle's CompatClientStats are now part of the ECR
ADDED  : Find best sources (Xman)
ADDED  : FriendHandling from all lists (Xman)
ADDED  : HashProgress (O2)
ADDED  : IntelliFlush (always enabled; WiZaRd)
ADDED  : L2HAC (always enabled; by eMulePlus, taken from NeoMule)
ADDED  : MessageFlash (Slugfiller)
ADDED  : ModString is being sent (using parts of WiZaRd's EasyModVer)
ADDED  : MoreFourCCCodes (zz_fly)
ADDED  : NoNeededRequeue (Slugfiller)
ADDED  : SearchCatch (Slugfiller)
ADDED  : Server.met-default-update URL added and auto update from emulefuture.eu, if no URL is entered
ADDED  : Show Modversions with mod-statistics (code by Slugfiller)
ADDED  : Show own userhash in status window (iOniX)
ADDED  : Simple SlotFocus (switchable in Extended Options; Spike2)
ADDED  : SourceCache with my own GUI-AddOn from Spike2Mod (Xman)
ADDED  : Support link in network-info-dialog (points to emulefuture.eu, my homeboard)
ADDED  : Understanding eDonkeyHybrid's pr-tag (netfinity)
ADDED  : WiZaRd's KadAddons (including many bugfixes for bugs in official Kad-code, Code-optimizations, WiZaRd's KadHelper for
         fighting bad nodes, parts of netfinity's SafeKad and reduced CPU-usage code in UInt128.cpp by netfinity)
BUGFIX : Accurate compression percentage indication fix (BlueSonicBoy)
BUGFIX : AICH-Hash - Additional security check (WiZaRd)
BUGFIX : Automatic Firewalled Retries (WiZaRd)
BUGFIX : Catch oversized public key in credit.met file (SiRoB)
BUGFIX : CheckDiskspaceFix (SlugFiller) - very important fix, fixes crash and data-corruption in part and part.met-files for me !
BUGFIX : Clean up filename: Do NOT alter DVD-Video files VOB,IFO,BUP, etc. (BlueSonicBoy)
BUGFIX : CodeImprovement for choosing to use compression (Xman)
BUGFIX : Don't kill source, if it's the only one complete source or a friend (MorphXT)
BUGFIX : Fix collection double extension (CiccioBastardo)
BUGFIX : Fixed many typos ;) (Spike2)
BUGFIX : Fix for "exit" command (leuk_he)
BUGFIX : Memory Leak on Low ID Smart Check (origin unknown; taken from one of taz' mods)
BUGFIX : Message bounce protection (for Kad; by netfinity)
BUGFIX : Obfuscation FiX (WiZaRd)
BUGFIX : Prevent switch to ... busy popup during windows startup (leuk_he)
BUGFIX : Prevent USS spam (WiZaRd)
BUGFIX : Publish small incomplete files fix (WiZaRd)
BUGFIX : Reconnect Kad on IP-change (Pawcio / Spike2)
BUGFIX : Relax on startup (WiZaRd)
BUGFIX : Request AICH-Hash-set only if necessary (WiZaRd)
BUGFIX : Reset Kad-IP on IP-Change (Pawcio / Spike2)
BUGFIX : ThreadSafe-fix (WiZaRd)
BUGFIX : ToolTip-FiX (WiZaRd)
BUGFIX : UDP Reask security check (netfinity)
BUGFIX : Various code improvements, crash fixes, memleak-fixes and other fixes (mainly by eMule's No1 debugger WiZaRd ;) and by Xman,
         Morph, myself and many others (look at the tags in the code))
BUGFIX : Webserver-Download-Fix (Stulle)
BUGFIX : Wrong Hover FiX (WiZaRd)
BUGFIX : Wrong null userhash fix (ilmira)
BUGFIX : XS-Workaround (WiZaRd)
CHANGED: Always show if obfuscation is in use (Spike2)
CHANGED: Clienttype-Icons changed to the real client's logos (merged from Spike2Mod)
CHANGED: Credits changed (added myself as modder ;p and bluecow under retired o-devs (why did they forget him there ?!?))
CHANGED: CryptTCPpaddingLength may now be adjusted in Extended Options (Xman)
CHANGED: Disabled some warnings thrown by official code (Spike2 & various)
CHANGED: Don't accept to short message-filters (WiZaRd)
CHANGED: Enabled ListSearch (already in official code)
CHANGED: Hardlimit of 5 for emule collections (Xman)
CHANGED: HighResTimer is now switchable in Extended Options (Spike2)
CHANGED: Lower CPU-load in IsBanned() (using code from WiZaRd and sivka)
CHANGED: Re-enabled "Extract meta-data via DirectShow" (Spike2; USE AT YOUR OWN RISK ! Although I never had any problems with it, there's
         a reason why the official devs disabled it..!)
CHANGED: Some default settings: Don't compress avi-files now enabled, Dead server retries risen from 1 to 3, Icon flash on new
         message enabled, filter server by IP enabled, PeerCache enabled (doesn't hurt) and message filter extended
REMOVED: FullChunk-transfer option (always enabled now)
REMOVED: Option to disable SecureIdentification - the checkbox in the options-dialog is now used to indicate if SI is working (WiZaRd)
UPDATED: Used libraries (see above)