Here is a list of annoyances. These are specific to Windows and most of all they are not caused by mlDonkey.
Windows Server 2003, XP, 2000 (all versions)
In all these Windows version the maximum usable port number is limited to 5000.
Read [this] how to change the registry.
Without this hack you can receive messages like this in MLDonkey logfile
EXCEPTION connect failed: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
Windows XP SP2
- About the half-opened connections limitation and the integrated firewall.
- Microsoft created this limitation to slow down worms propagation. It does not protect your computer, it only prevents them from attacking too many computers at a time. If this should be rather efficient, it also slows down P2P softwares that need to interrogate lots of sources. Thus, it is better to raise the value. This will be done with lvllord's patcher : http://www.lvllord.de (details on his site)
This applies to all windows that do not belong to the NT family. As far as I know, mlDonkey will not run properly under these OSes. The problem comes in fact from OCaml that does not support them correctly (remember that OCaml is a portable language; it can not be universal)
- While browsing on the Internet under windows you are likely to get a spyware. It's a fact. We are not concerned with privacy protection, all we want is speed. Thus, the real problem comes from hijackers (and maybe rootkits). Hijackers change your homepage but sometimes they also change your internet connection settings. For example, they can force your computer to use a proxy. Thus mldonkey may have problems contacting servers (giving LowIDs) and other peers.
- Rootkits are something else, harder to detect; normal users are not likely to come over.
- There are plenty of spyware-removal tools available on the net. I use a combination of two and only two of them : Spybot S&D and HijackThis. Both are free and they don't do the same thing. In our case, the most interessant is, it will analyse proxy parameters, services, homepage, BHOs, ActiveXs, shells... It finds everything but it can't tell you what's legitimate and what is not. It's up to you to decide (it also creates backups).
Layered Service Provider (LSP)
Firewalls, antiviruses, netlimiter, spywares. See Spybot S&D's Dictionnary
Windows NT family allows a very irritating thing. It's called Layer Service Providers. Applications that use this can act on other applications socket. With LSPs any application with enough privileges can analyse, block, modify any data that a process (running on the same box as the LSP) sends over the network or to itself.
This means that a spyware is able record all your surf.
Now, let's forget about spywares and concentrate on legitimate softwares.
I know 2 (must insist on the "I") applications that uses LSPs.
- NOD32 is a powerful but light antivirus. It is composed of modules you can choose not to install. One of them is called IMON for InternetMONitor. This modules primarily scans POP3 and HTTP transfers, but is also monitors applications that use sockets. To do that, it needs LSP. IMON will cause troubles with mldonkey (not with eMule/eDonkey ?). It's maybe because mldonkey is not a process with a window. Anyway, NOD will prevent it from opening more than ~50 connections. mlDonkey wil then bug (CPU hog) and generate a log that may go up to gigabytes. Open the "NOD32 Control Center". In the list, select "IMON" and then click on "Setup". Choose "Miscellaneous" and click on "Exclusion". Now, click on add and select every program that you know to be safe. Once you're done, click on OK. Reboot (or relaunch NOD32; if you can kill it, tell me)
- NetLimiter can limit the bandwith used by a given socket (since the only one socket for one port). I heard it could cause trouble, but unlike NOD32, it doesn't interfere with all applications. You have to specify which one you want it to control.
- Heuristic method
- Run Process Explorer.
- If the process is still monitored by a LSP, you should get something like that:
- A "normal" process: