$RevConnectToMe question ....
Moderator: Moderators
$RevConnectToMe question ....
I thinks that $RevConnectToMe is not very well thinked, i explain why with a little commands sequence:
Me->H: $RevConnectToMe mynick user1nick
H->Me: $RevConnectToMe user1nick mynick
everything fine with passive client, cause i always receive $RevConnectToMe from them directly after sending $RevConnectToMe ...
But it's completly different with active client
Me->H: $RevConnectToMe mynick user2nick
H->Me: $ConnectToMe mynick IP:PORT
Me->H: $RevConnectToMe mynick user3nick
Me->H: $RevConnectToMe mynick user4nick
H->Me: $ConnectToMe mynick IP:PORT
H->Me: $ConnectToMe mynick IP:PORT
In most case, i receive usernick $ConnectToMe directly after sending my $RevConnectToMe, this is the case with user2
But, user3nick doesn't respond immediatly, so in case of user3nick & user4nick, it is impossible to determine from whose $ConnectToMe comes from ...
I don't understand why original DC protocol doesn't include mynick in $ConnectToMe. Is there a way to hack this lack ?
thanks ...
-
- Posts: 506
- Joined: 2003-01-03 07:33
Yes there is a way that i and cologic favor. Its called the magic cookie. But hacking the old nmdc-protocol developed by Jon when he was 17 is not interesting anymore. If you look at the ADC specification http://dcplusplus.sf.net/ADC.htm , the token will unqiley identify which connection we talk about. The token in the ADC_protocol is what cologic and I sometimes refer to as the magic cookie.
The ADC-protocol has already begun to be implimented in the dc++ core. A fully freely distributed hub for the ADC_protocol is not yet available to the masses. I think no one has gone public yet.
don't-blame-us-for-the-nmdc-protocol-we-have-only-been-involved-in-the-ADC-protocol-if-we-ignore-the-adding-of-supports-dervied-commands'ly'ers
The ADC-protocol has already begun to be implimented in the dc++ core. A fully freely distributed hub for the ADC_protocol is not yet available to the masses. I think no one has gone public yet.
don't-blame-us-for-the-nmdc-protocol-we-have-only-been-involved-in-the-ADC-protocol-if-we-ignore-the-adding-of-supports-dervied-commands'ly'ers
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.
-
- Posts: 506
- Joined: 2003-01-03 07:33
Several other tricks has been tried aswell which is more of hacks within the current protocol. We tried and played with following.
aUser to hub: $ConnectToMe AnotherUser ip:port
Hub to AnotherUser: $ConnectToMe SwitchNicknameAndHaveaUsersNicknameInstead ip:port
Unfortunantly some clients actualy checked its own nickname in recieved $ConnectToMe.
Another trick we tried is the following; To insert a cookie into the portnumber, i.e. to have
aUser to hub: $ConnectToMe AnotherUser ip:port:cookie
Hub to anotherUser $ConnectToMe AnotherUser ip:port:cookie
But this did not work either that well, some hubsofts had limits on this cookie being sent, i.e. limits on how long $ConnectToMe strings could be. And this is also very DC++ish since in the C/C++ish world very often converttointfromstring(1234foooasdlaskjasd) = 1234.
two-other-things-we-played-with-within-the-current-protocol-ly'ers.
aUser to hub: $ConnectToMe AnotherUser ip:port
Hub to AnotherUser: $ConnectToMe SwitchNicknameAndHaveaUsersNicknameInstead ip:port
Unfortunantly some clients actualy checked its own nickname in recieved $ConnectToMe.
Another trick we tried is the following; To insert a cookie into the portnumber, i.e. to have
aUser to hub: $ConnectToMe AnotherUser ip:port:cookie
Hub to anotherUser $ConnectToMe AnotherUser ip:port:cookie
But this did not work either that well, some hubsofts had limits on this cookie being sent, i.e. limits on how long $ConnectToMe strings could be. And this is also very DC++ish since in the C/C++ish world very often converttointfromstring(1234foooasdlaskjasd) = 1234.
two-other-things-we-played-with-within-the-current-protocol-ly'ers.
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.