Sign in to follow this  
Followers 0
braindancer

[0.4.0]download disconnects on $adcget

6 posts in this topic

first of all, nice to see a peerguardian plug-in :D

the problem i'm having is this:

i have a download running, and every 90 seconds it disconnects for no apparent reason.

i checked the logs and it seems that it is trying to initiate another download of the same file:

<snip>

Client: [Outgoing][10.0.0.2] $ADCGET file TTH/[hash of file]

Client: [incoming][10.0.0.2] $ADCSND file tth/[hash of file]

</snip>

90 seconds later

<snip>

Client: [Outgoing][10.0.0.2] $ADCGET file TTH/[hash of file]

Client: [incoming][10.0.0.2] X/?4u+$<J=k

</snip>

*poof* disconnect.

i also noticed that the [C] tag is not showing on my progress bar,

so i assume the file is not being downloaded in chunks. if so, why?

and how to force chunkage? and how to set chunk size?

regards, braindancer

-edit-

the other client is a dcgui/valknut 0.3.8

Share this post


Link to post
Share on other sites

Erm, could you try and reproduce this scenario with a DC++/SDC++/ApexDC++ client on Windows at the opposite end? Just to ensure it is not Valknut's fault.

Share this post


Link to post
Share on other sites

can't atm, since i'm in a vpn and i have the only windows box :unsure:

some piece of hardware in this box is unstable, and until that's

fixed, it's no use even trying to run a sourcebased distro on it.

what i was wondering is, why the second $adcget?

to download a second segment at the same time?

on another note: another user was able to download from me

without any problems, [Z] and [C] worked. he was using valknut too.

so i guess it's that second $adcget that's doing no good.

regards, braindancer

-edit- having the exact same problem when downloading from a different valknut.

i noticed that before the second $adcget the client does not issue the

$lock extendedprotocol[addmorehere]

if it'd help, i can provide bigger log snips,

so someone who Knows What He Is Doing can compare the requests.

-editedit-

we may be able to test this with another win client. a friend just offered

to run a vmware :blink:

-yet another edit-

on closer inspection...

the initial file request has a header like this:

<snip>

$mynick [local nick]

$mynick [remote nick]

$lock [local, value]

$lock [remote, value]

$supports [local, value]

$direction [local, value]

$key [local, value]

$supports [remote, value]

$direction [remote, value]

$key [remote, value]

>$adcget file tth/[hash]

<$adcsnd tth/[hash]

</snip>

download starts. 90 secs later, without any header at all,

my client issues

$adcget file tth/[hash]

to which valknut responds with apparent garbage

[incoming][10.0.0.2] JNKIQ3

Share this post


Link to post
Share on other sites

so we did some testing, and it appears that the adcget implementation of valknut is at fault.

on an initial request, apexdc sends the headers i listed above, and then the initial adcget command.

valknut understands that and responds adcsend.

then after an arbitrary amount of time (i guess after a chunk/segment is done),

apexdc issues a second adcget, this time completely without headers.

since i am fairly new to apex, i can only guess that this is a 'next chunk/segment' or 'continuation' request.

but valknut seems not to understand this 'headerless request' and responds with garbage,

causing a disconnect.

apex does not have a problem with those 'headerless requests'

i will contact the valknut people about this, will post back here.

Share this post


Link to post
Share on other sites

Thanks also to you and ejs1920 for the investigation. Sorry for my late reply, but forums were offline.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0