Your Direct Connect client has supplied an invalid SR
July 12, 2007 Leave a comment
This post is a copy from the YnHub forum, courtesy of Todi, where the “”Your Direct Connect client has supplied an invalid SR” message is explained.
When does this bug occur? When you have multiple nicknames. I’ll explain: Your client sometimes send out a protocol message called an “SR”. This is a search result sent to a passive user, in response to that users search. When YnHub recieves this, it checks that the nickname you are reporting in the SR is the same as the one you are logged into the hub as. This is done to stop evil clients from pretending they are someone else, and returning search results in their name.
However, when doing this check, YnHub is case sensitive. That means that you can’t say your nick is “myNICK” when you log into the hub, and then say it is “MYnick” when you return the SR. Technically these are the same nicks, but the casing is different and that is not allowed by YnHub.
Normally you would never have this problem. If you tell your client that your nick is “myNICK”, then it should always use that when it’s communicating with the hub. Unfortunately, in older DC++ versions, this was not entirely true.
If you logged into a hub once using “myNICK”, logged out, and then changed your nick to “MYnick”, DC++ would tell the hub when you logged in the next time that you were now “MYnick”. However, due to a bug, when sending an SR, the client would still think you were called “myNICK”. I.e the original nickname. This would cause YnHub to disconnect you whenever your client tried to respond to a passive search matching something in your share.
In later versions of DC++ (I do not know exactly which version. 0.674 has the bug, 0.698 does not) this bug has been fixed, and the odds that you would run into this problem has been more or less eliminated.
(I don’t either know in which version of DC++ this was fixed.)