openssl: SSL_clear do not reset the state of the QUIC members
Hello,
It looks like SSL_clear doesn’t reset any QUIC-specific members (like the quic_read_level / quic_write_level). This means that it is currently impossible to re-use the same SSL object to re-establish another connection.
I guess we should reset the following members:
quic_read_leveltossl_encryption_inititialquic_write_leveltossl_encryption_inititialquic_latest_level_receivedtossl_encryption_inititialquic_bufto an empty bufferquic_input_data_headtoNULLquic_input_data_tailtoNULLquic_next_record_startto0
Am I missing anything?
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 17 (11 by maintainers)
Commits related to this issue
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
- QUIC: Update SSL_clear() to clear quic data Fixes #55 Had to fixup tests because SSL_accept() eventually calls SSL_clear() and it was removing the inital ClientHello sent via SSL_provide_quic_data() ... — committed to quictls/openssl by tmshort 3 years ago
@tmshort Tested your changes with 1.1.1 and I could remove the
SSL_do_handshakethat we had to add. The clear also does work as expected.I’m working on this, but it’s non-trivial, as
SSL_clear()is called in unexpected places…