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

The dTLS server (1.2) is not handling properly the re-transmissions in case of delay in flight at server side (we see clientKeyExchange before serverKeyExchange and serverHelloDone) #4036

Open
shreyaaapatil opened this issue Apr 30, 2024 · 0 comments

Comments

@shreyaaapatil
Copy link

We tried to test a scenario that the server has a delay before sending message, so we expect the client to do retransmission, but it seems like the client sends the next flight before getting all the flight for the server (We can see clientKeyExchange before serverKeyExchange and serverHelloDone).

void
CallbacksPSK::tls_emit_data(uint8_t const buf[], size_t const length)
{
    if (nullptr == mEngine) {
        throw std::runtime_error("Null engine pointer!");
    }
   if(mEngine->mIsServer){
       sleep(5);  //delay of 5 sec at server side                             
   }
}

This is not the right behavior according to the RFC, because in case of partial read, we shouldn't move to Sending state.
The same delay when we add it for client side the handshake is getting completed-

if(!mEngine->mIsServer){
       sleep(5);  //delay of 5 sec at client side                             
   }

Is adding delay at server side affecting retransmission behaviour?

@shreyaaapatil shreyaaapatil changed the title The dTLS server (1.2) is not handling properly the re-transmissions in case of delay in flight we see clientKeyExchange before serverKeyExchange and serverHelloDone The dTLS server (1.2) is not handling properly the re-transmissions in case of delay in flight at server side we see clientKeyExchange before serverKeyExchange and serverHelloDone Apr 30, 2024
@shreyaaapatil shreyaaapatil changed the title The dTLS server (1.2) is not handling properly the re-transmissions in case of delay in flight at server side we see clientKeyExchange before serverKeyExchange and serverHelloDone The dTLS server (1.2) is not handling properly the re-transmissions in case of delay in flight at server side (we see clientKeyExchange before serverKeyExchange and serverHelloDone) Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant