-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Subsequent ssl:transport_accept() for the same IP stuck in dtls_packet_demux.erl call with infinity #6160
Comments
Hmm ... Did you upgrade from OTP 24.3.1 or was the jump to 24.3.3 larger? Just to make sure as the only change between those versions seems unlikely to affect this. |
The jump was from 24.1.2. to 24.3.3 |
Then I would say the bug was most likely introduced in OTP.24.2. We will look into it further. |
Hmm this works for me in OTP-25.0, when closing the socket with ^D in openssl, Also for dlts you should probably set {recbuf, 32768} or more to ensure the packets is not discarded by the OS. |
I closed openssl (Version 1.1.1k 25 Mar 2021) using ^C. |
Yes it seems I broke this when I tried to fix it and misunderstood how this should work :-/ See #4393 so it didn't seem to work for everybody previously either, and it could be attacked |
…nto maint * dgud/ssl/dtls-multiple-connections/GH-6160/OTP-18371: ssl: dtls let new accept process handle new connections Refactor, remove client set Fix version test
Starting with Erlang 24.3.3 we observe issues with DTLS ssl transport_accept for clients that have been connected before.
To Reproduce
We are using the following options to create a new listen socket and wait for clients:
Using OpenSSL s_client we can now connect to the socket and see a successful handshake:
After closing the client we want to accept the next client by doing:
If we repeat the openssl command we can see the client requesting another handshake but the application is stuck in transport_accept.
Expected behavior
Subsequent ssl:transport_accept() calls do not block and return a new session socket.
Affected versions
Erlang 24.3.3 and higher
The text was updated successfully, but these errors were encountered: