You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a client is in the middle of a handhsake, and the time comes for a heartbeat to be sent to the server, the handshake will be corrupted by the heartbeat and the connection will fail.
To Reproduce
Start a server on one machine
On another machine, run MapTool under a debugger.
Set a breakpoint at the top of ClientHandshake.handleMessage
Connect to the server
Wait on the breakpoint for more than 20 seconds.
Remove the breakpoint and continue.
If all went well, the server will have received reported a MESSAGETYPE_NOT_SET and the client will be shown an error about incorrect passwords.
Expected Behaviour
Heartbeats should not be sent to the server during handshake. Handshakes complete very quickly after establishing a connection, and so there shouldn't even be an opportunity to lose the server unless something very drastic is happening.
Screenshots
No response
MapTool Info
develop
Desktop
Linux Mint 21.3
Additional Context
N/A
The text was updated successfully, but these errors were encountered:
After some more testing, this is actually a result of #4771.
In the past, we would only globally store the MapToolConnection once its handshake was completed. The meant that ServerCommand would not send messages (including heartbeats) to the new connection until after the handshake, though it would still try to send messages to the previous connection. With the changes in #4771, the connection is available immediately and so can accept heartbeats even during handshake.
Describe the Bug
If a client is in the middle of a handhsake, and the time comes for a heartbeat to be sent to the server, the handshake will be corrupted by the heartbeat and the connection will fail.
To Reproduce
ClientHandshake.handleMessage
MESSAGETYPE_NOT_SET
and the client will be shown an error about incorrect passwords.Expected Behaviour
Heartbeats should not be sent to the server during handshake. Handshakes complete very quickly after establishing a connection, and so there shouldn't even be an opportunity to lose the server unless something very drastic is happening.
Screenshots
No response
MapTool Info
develop
Desktop
Linux Mint 21.3
Additional Context
N/A
The text was updated successfully, but these errors were encountered: