There is an error in SSL operation, which can affect other SSL connections.
Reason:
The error value of SSL operation is stored in thread-local variables. When the operation fails, the ERR_peek_error() called internally by SSL_get_error() does not retrieve the error value. Other coroutines calling SSL_get_error may retrieve the residual error value from other operations.
Current known solution:
When an error occurs in SSL operation and the error code is obtained, it is necessary to call ERR_clear_error() to clear the error list.
Scope:
This applies to the tls/dtls-related parts of versions 4.0/5.0 and similar.
Description
Question:
There is an error in SSL operation, which can affect other SSL connections.
Reason:
The error value of SSL operation is stored in thread-local variables. When the operation fails, the ERR_peek_error() called internally by SSL_get_error() does not retrieve the error value. Other coroutines calling SSL_get_error may retrieve the residual error value from other operations.
Current known solution:
When an error occurs in SSL operation and the error code is obtained, it is necessary to call ERR_clear_error() to clear the error list.
Scope:
This applies to the tls/dtls-related parts of versions 4.0/5.0 and similar.
SRS Log:
SRS Config:
Replay
Step 1: Start the image
Step 2: Modify the local hosts file by adding a domain resolution line
Step 3: Open two playback pages simultaneously
Step 4: Stream the content
Step 5: Start playing
Expect
An SSL error in one connection does not affect other SSL connections.
TRANS_BY_GPT3