Skip to content
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

Fixed problems in handshake handling #361

Merged
merged 11 commits into from
Jun 12, 2018

Conversation

ethouris
Copy link
Collaborator

@ethouris ethouris commented Apr 27, 2018

Fixes:

  • the rejection case in startConnect was catching a not possible behavior. The condition stayed, but it is turned into just an IPE error message.
  • added case when the processing ended with CONN_REJECT and was not properly handled - this adds the exception info
  • removed calls to removeConnector previously applied when the process gets broken due to rejection. Instead the removal is done only in case when this function is about to finish and throw exception due to any case of abnormal result.
  • in processRendezvous the "response" packet is checked if it contains data (otherwise payload size is set to -1). There were cases when a non-received payload packet was passed to this function and was interpreted as infinite-size content causing a crash
  • made the updateConnStatus respond anything only in asynchronous mode (this was probably allowed in synchronous mode in UDT because it was an accidental patch to a bug). Keeping this running in synchronous mode might in specific cases cause processing the incoming packet in two FAs and two threads separately in areas that weren't predicted to be protected against simultaneous access
  • fixed a problem when setting REQ-TIME LOW when no packet has arrived
  • passing the rst state down to processRendezvous so that it can distinguish after-packet call to periodic-update call
  • processRendezvous when called for periodic update (and is unable to get the data from KMREQ), crafts KMRSP from data recorded when doing reverse-KMX (WARNING: this makes this PR now depedent on Applied fixes for crypto in RX-to-TX cloning #365)

@ethouris
Copy link
Collaborator Author

INFORMATION FOR Status: Blocked: Requires #365 to be merged first.

@rndi rndi merged commit 7dac65e into Haivision:master Jun 12, 2018
@ethouris ethouris deleted the dev-fix-rendezvous-processing-handling branch January 23, 2019 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants