

: Kad tries to determine the overall ration of firewalled clients in the Kad network and shows them in the statistics tree. : Kad no longer tries to add UDP firewalled (and therefore mostly unreachable) nodes into its routing table, reducing overhead and increasing reliability : Added: Tooltip in Statistics Graphs show the Y-value. : Fixed 100% CPU usage bug with tooltips in Statistics Graphs. : Optimized the Kad packettracking code to only tack packets which we check later, to save ressources

: Added additional sanitize checks to make sure eMule never writes downloaded data into an already completed part : Fixed: Pressing ESC in Shared Files window filter destroyed the entire window. : Added: Vista styles for context menus. : Fixed a bug which let Kad sometimes assume a Kad2 contact to be Kad1 after probing for both versions Kad1 clients will nevertheless still be work for now. : Did first small step in dropping Kad1 support by not probing unknown Kad contacts for Kad1 anymore to save overhead. : Fixed: Shared Files window splitter did not properly save/restore position. : Unverified contacts are not used for routing tasks and a marked with a special icon in the GUI : Kad uses now a three-way-handshake (or for older version a similar check) for new contacts, making sure they do not use a spoofed IP : Kad contacts will only be able to update themself in others routing tables if they provide the proper key (supported by 0.49a+ nodes) in order to make it impossible to hijack them : Several changes were made to Kad in order to defy routing attacks researched by University of Minnesota guys, in particular:

: Project files for VS2005 and VS2008 have been added, however the official eMule is still developed and compiled on VS2003

: When reading a nodes.dat without any verified contacts (possible an old file version), eMule will assume all contacts to be verified to avoid slowing down the connecting process : A specific UPnP implementation can be disabled by adding "DisableMiniUPNPLibImpl=1" or "DisableWinServImpl=1" into the "UPnP" section of the preferences.ini This will hopefully make eMule's UPnP compatible to most available routers. : Added MiniUPnPLib as additional UPnP implementation, the current Windows service based implementation is used as fallback.
