Replying to searches

Technical discussion about the NMDC and <a href="http://dcpp.net/ADC.html">ADC</A> protocol. The NMDC protocol is documented in the <a href="http://dcpp.net/wiki/">Wiki</a>, so feel free to refer to it.

Moderator: Moderators

Locked
Dolda2000
Posts: 20
Joined: 2003-11-12 20:11
Location: Täby, Sweden
Contact:

Replying to searches

Post by Dolda2000 » 2006-12-20 22:00

I was just experimenting a bit with ADC, and for that purpose, I'm running adchpp and DC++ (in VMWare), and connected manually to adchpp. I tried submitting a search with DC++, and with the data I'm seeing in my manual connection, I'm a bit perplexed about how to reply to the search with UDP, because nowhere can I see the IP address of the client that submitted the search.

I'm getting this INF for that client:

Code: Select all

BINF 6KU5 HR0 HO0 SUTCP4,UDP4 NI[BBB]Dolda2000++ SL3 SF74 U41079 SS136324650 US5242 IDRHLBXAM5V7JL3BTJA2VKX3YYOVCNXHKEGEGVNUA HN1 DETest VE++\s0.698
The search request looks like this:

Code: Select all

BSCH 6KU5 ANtest TOmanual
How am I supposed to know how to respond to this search (except for a D message through the hub, which I guess is kind of undesirable)? I had expected to see an I4 field in the INF.

ivulfusbar
Posts: 506
Joined: 2003-01-03 07:33

Post by ivulfusbar » 2006-12-21 03:20

If you don't have a U4 and a I4 (or v6-alike versions) you have to ofcourse route the message through the hub. Remember that INF are increasing, so there might have been a I4 in a previous INF for that sid. You should also notice that adchpp and dc++ is implementations, and do not fully support all aspects yet. The protocol has not been completely finished either. How to reply to SCH is not mentioned either in the protocol. These kind of issues have ofcourse to be explained before finalizing everything.
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.

Dolda2000
Posts: 20
Joined: 2003-11-12 20:11
Location: Täby, Sweden
Contact:

Post by Dolda2000 » 2006-12-21 07:25

ivulfusbar wrote:Remember that INF are increasing, so there might have been a I4 in a previous INF for that sid.
I'm pretty sure no other INF is being sent, though. There isn't a whole lot of info flowing through a hub with two users, and if I missed it, I'd truly have to be blind (not that it'd be the first time, but still).
ivulfusbar wrote:You should also notice that adchpp and dc++ is implementations, and do not fully support all aspects yet.
Yeah, I just tried the other way around -- sending a SCH through my manual connection, and DC++ does reply through the hub. Does that mean that I should probably consider this a bug in adchpp for not sending the I4 INF field properly?

EDIT:
By the way, I did send both I40.0.0.0 and a U4 field in my manual INF. I packet sniffed the virtual machine, and no UDP packets came from it.

Locked