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 ...