Hi everyone,

I have an issue with the C#  implementation. In the DTLS handshake, the
last flight from the server to the client must contain Finished message.
Imagine that this message is lost. In this case, under RFC 6347, client,
who never receives the Finished message from server, will send its messages
again. In response, server must re-transmit Finished message (despite being
in the FINISHED state).

It seems as though, when server reaches FINISHED state, it stops
triggering  public int Receive(byte[] buf, int off, int len, int
waitMillis) method. Thus, it is not receiving the repeated requests from
the client and never responds to them (with the retransmit of the Finished
message). However, if I trigger it programmatically, then the server
retransmits its last flight. Is there something I could be missing.
Perhaps, you are running an internal thread that exits when the server
reaches Finished state?

Thanks in advance and hope this is not too confusing!

Andriy

Reply via email to