NMDC vs DCPlusPlus
Behavioral Differences between NMDC and DC++
Confirmed
- NMDC responds to a blank, passive search with a private message to VandelDebug contructed as:
strftime(buf, 25, "%m/%d/%Y %I:%M:%S %p", localtime(&now)); //(almost, there are a couple of leading zeroes in there NMDC doesn't have)
privateMessage("Vandel\\Debug", "Error in wskToHub_DataArrival\r\nError: Invalid procedure call or argument\r\nExtra Data: Time: " + string(buf));
- NMDC response to passive searches whilst passive; DC++ doesn't.
- NMDC always responds to the $Lock command, even if it's not at the appropriate place in the protocol.
- NMDC has no extended description tag.
- NMDC sends a version of 1.0091 as opposed to 1,0091 (US vs. European thousands place separators).
- NMDC always returns up to 5 search results, whereas DC++ responds with up to 5 or 10, in passive and active modes respectively.
- NMDC doesn't support the $Supports command; DC++ does.
- NMDC checks for key validity and closes the connection if it's invalid.
- NMDC makes a random lock (length 80 to 134 according to that document, seems to work okay); DC++ uses EXTENDEDPROTOCOLABCABCABCABCABCABC.
- NMDC uses a random Pk (length 16); DC++ uses "DCPLUSPLUS" VERSIONSTRING "ABCABC".
- NMDC doesn't support .bz2 filelists (doesn't request them, will disconnect if someone requests one (see the $Get command).
- NMDC appends the hub port, if not 411, to the hub IP in its search results.
- NMDC won't respond to a search query that contains a term that begins with "-".
- NMDC doesn't support DC++'s extra slots for filelists & small files.
- NMDC doesn't support ZBlock downloading (but, then again, neither does stock DC++).
- NMDC responds to a different set of file extentions based on specified search type.
Unconfirmed
- NMDC only looks after the last ? in a search query due to its parsing method.
- NMDC sorts search query results, whereas DC++ doesn't.
(list compiled by BlackClaw (2003-04), creator of BCDC++)
