-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server can't properly handshake clients #458
Comments
roman-khimov
added a commit
that referenced
this issue
Nov 6, 2019
This allows to start handshaking from both client and server (mainnet/testnet nodes were seen to not care about string ordering for it), but still maintains some sane checks in the process. It also makes functions thread-safe because we have two goroutines servicing read and write side of the Peer connection, so they can clash on access to the struct fields. Add a test for it also.
roman-khimov
added a commit
that referenced
this issue
Nov 6, 2019
This allows to start handshaking from both client and server (mainnet/testnet nodes were seen to not care about string ordering for it), but still maintains some sane checks in the process. It also makes functions thread-safe because we have two goroutines servicing read and write side of the Peer connection, so they can clash on access to the struct fields. Add a test for it also.
Merged
roman-khimov
added a commit
that referenced
this issue
Nov 6, 2019
This allows to start handshaking from both client and server (mainnet/testnet nodes were seen to not care about string ordering for it), but still maintains some sane checks in the process. It also makes functions thread-safe because we have two goroutines servicing read and write side of the Peer connection, so they can clash on access to the struct fields. Add a test for it also.
roman-khimov
added a commit
that referenced
this issue
Nov 6, 2019
Fixes #458, MaxPeers handling and some other related things.
volekerb
pushed a commit
that referenced
this issue
Nov 11, 2019
This allows to start handshaking from both client and server (mainnet/testnet nodes were seen to not care about string ordering for it), but still maintains some sane checks in the process. It also makes functions thread-safe because we have two goroutines servicing read and write side of the Peer connection, so they can clash on access to the struct fields. Add a test for it also.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Our production nodes have a lot of cases like this in their logs:
The problem is that the server doesn't expect
Version
packet to come from the client. Usually our node is a client and it sends itsVersion
first, but on the server side this conversation is mirrored and should be processed the other way around.The text was updated successfully, but these errors were encountered: