-
Notifications
You must be signed in to change notification settings - Fork 50
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
Openssl 3.0.15+quic #171
Openssl 3.0.15+quic #171
Commits on Sep 4, 2024
-
QUIC: Add support for BoringSSL QUIC APIs
This adds a compatible API for BoringSSL's QUIC support, based on the current |draft-ietf-quic-tls|. Based on BoringSSL commit 3c034b2cf386b3131f75520705491871a2e0cafe Based on BoringSSL commit c8e0f90f83b9ec38ea833deb86b5a41360b62b6a Based on BoringSSL commit 3cbb0299a28a8bd0136257251a78b91a96c5eec8 Based on BoringSSL commit cc9d935256539af2d3b7f831abf57c0d685ffd81 Based on BoringSSL commit e6eef1ca16a022e476bbaedffef044597cfc8f4b Based on BoringSSL commit 6f733791148cf8a076bf0e95498235aadbe5926d Based on BoringSSL commit 384d0eaf1930af1ebc47eda751f0c78dfcba1c03 Based on BoringSSL commit a0373182eb5cc7b81d49f434596b473c7801c942 Based on BoringSSL commit b1b76aee3cb43ce11889403c5334283d951ebd37
Configuration menu - View commit details
-
Copy full SHA for 2af27c0 - Browse repository at this point
Copy the full SHA 2af27c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d2f15b - Browse repository at this point
Copy the full SHA 7d2f15bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac5c184 - Browse repository at this point
Copy the full SHA ac5c184View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef0b5b4 - Browse repository at this point
Copy the full SHA ef0b5b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22dc5ae - Browse repository at this point
Copy the full SHA 22dc5aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for e72b5a3 - Browse repository at this point
Copy the full SHA e72b5a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78660a2 - Browse repository at this point
Copy the full SHA 78660a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa402ff - Browse repository at this point
Copy the full SHA fa402ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13c25c1 - Browse repository at this point
Copy the full SHA 13c25c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a79c239 - Browse repository at this point
Copy the full SHA a79c239View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7cc415 - Browse repository at this point
Copy the full SHA d7cc415View commit details -
Configuration menu - View commit details
-
Copy full SHA for a934412 - Browse repository at this point
Copy the full SHA a934412View commit details -
Configuration menu - View commit details
-
Copy full SHA for c30bad0 - Browse repository at this point
Copy the full SHA c30bad0View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2c1436 - Browse repository at this point
Copy the full SHA a2c1436View commit details -
QUIC: Move QUIC code out of tls13_change_cipher_state()
Create quic_change_cipher_state() that does the minimal required to generate the QUIC secrets. (e.g. encryption contexts are not initialized).
Configuration menu - View commit details
-
Copy full SHA for b59eded - Browse repository at this point
Copy the full SHA b59ededView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13d3b7d - Browse repository at this point
Copy the full SHA 13d3b7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47e3daa - Browse repository at this point
Copy the full SHA 47e3daaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6664ef8 - Browse repository at this point
Copy the full SHA 6664ef8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffd63d9 - Browse repository at this point
Copy the full SHA ffd63d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbdba85 - Browse repository at this point
Copy the full SHA dbdba85View commit details -
QUIC: Some cleanup for the main QUIC changes
Try to reduce unneeded whitespace changes and wrap new code to 80 columns. Reword documentation to attempt to improve clarity. Add some more sanity checks and clarifying comments to the code. Update referenced I-D versions.
Configuration menu - View commit details
-
Copy full SHA for f7b2e9a - Browse repository at this point
Copy the full SHA f7b2e9aView commit details -
QUIC: Prevent KeyUpdate for QUIC
QUIC does not use the TLS KeyUpdate message/mechanism, and indeed it is an error to generate or receive such a message. Add the necessary checks (noting that the check for receipt should be redundant since SSL_provide_quic_data() is the only way to provide input to the TLS layer for a QUIC connection).
Configuration menu - View commit details
-
Copy full SHA for c3ff5bb - Browse repository at this point
Copy the full SHA c3ff5bbView commit details -
QUIC: Test KeyUpdate rejection
For now, just test that we don't generate any, since we don't really expose the mechanics for encrypting one and the QUIC API is not integrated into the TLSProxy setup.
Configuration menu - View commit details
-
Copy full SHA for e977ac3 - Browse repository at this point
Copy the full SHA e977ac3View commit details -
QUIC: Buffer all provided quic data
Make all data supplied via SSL_provide_quic_data() pass through an internal buffer, so that we can handle data supplied with arbitrary framing and only parse complete TLS records onto the list of QUIC_DATA managed by quic_input_data_head/quic_input_data_tail. This lets us remove the concept of "incomplete" QUIC_DATA structures, and the 'offset' field needed to support them. However, we've already moved the provided data onto the buffer by the time we can check for KeyUpdate messages, so defer that check to quic_get_message() (where it is adjacent to the preexisting ChangeCipherSpec check). To avoid extra memory copies, we also make the QUIC_DATA structures just store offsets into the consolidated buffer instead of having copies of the TLS handshake messages themselves.
Configuration menu - View commit details
-
Copy full SHA for 3e992ce - Browse repository at this point
Copy the full SHA 3e992ceView commit details -
QUIC: Enforce consistent encryption level for handshake messages
The QUIC-TLS spec requires that TLS handshake messages do not cross encryption level boundaries, but we were not previously enforcing this.
Configuration menu - View commit details
-
Copy full SHA for 997505a - Browse repository at this point
Copy the full SHA 997505aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e14e95 - Browse repository at this point
Copy the full SHA 5e14e95View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe7c167 - Browse repository at this point
Copy the full SHA fe7c167View commit details -
Configuration menu - View commit details
-
Copy full SHA for 68c0536 - Browse repository at this point
Copy the full SHA 68c0536View commit details -
Configuration menu - View commit details
-
Copy full SHA for de9f388 - Browse repository at this point
Copy the full SHA de9f388View commit details -
QUIC: Update shared library version
Prefix the shared library version with 17 (for 'Q'), to allow this version to be used alongside a standard OpenSSL distribution Add +quic to the version (i.e. build metadata)
Configuration menu - View commit details
-
Copy full SHA for 0cbcf7f - Browse repository at this point
Copy the full SHA 0cbcf7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ca4798 - Browse repository at this point
Copy the full SHA 6ca4798View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63011ea - Browse repository at this point
Copy the full SHA 63011eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9de82cf - Browse repository at this point
Copy the full SHA 9de82cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab26f97 - Browse repository at this point
Copy the full SHA ab26f97View commit details -
QUIC: Add early data support (openssl#11)
* QUIC: Add early data support This commit adds SSL_set_quic_early_data_enabled to add early data support to QUIC.
Configuration menu - View commit details
-
Copy full SHA for 468e54b - Browse repository at this point
Copy the full SHA 468e54bView commit details -
QUIC: Make SSL_provide_quic_data accept 0 length data (openssl#13)
This commit makes SSL_provide_quic_data accept 0 length data, which matches BoringSSL behavior. Fixes openssl#9
Configuration menu - View commit details
-
Copy full SHA for 40c82b1 - Browse repository at this point
Copy the full SHA 40c82b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07803ed - Browse repository at this point
Copy the full SHA 07803edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d9edd6 - Browse repository at this point
Copy the full SHA 5d9edd6View commit details -
QUIC: Fix typo in README.md (openssl#19)
Can be squashed with `QUIC: Swap around README files`
Configuration menu - View commit details
-
Copy full SHA for 5b29aaa - Browse repository at this point
Copy the full SHA 5b29aaaView commit details -
Fixes openssl#2 and openssl#3 and openssl#22 Updates `Configure` script to disable QUIC with `no-bulk` and `no-ec` Updates build.info doc docs Fixes an issue with extension defintions and `no-quic`
Configuration menu - View commit details
-
Copy full SHA for 92319a4 - Browse repository at this point
Copy the full SHA 92319a4View commit details -
QUIC: Break up header/body processing
As DTLS has changed, so too must QUIC.
Configuration menu - View commit details
-
Copy full SHA for 7d97945 - Browse repository at this point
Copy the full SHA 7d97945View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf5bf43 - Browse repository at this point
Copy the full SHA bf5bf43View commit details -
Configuration menu - View commit details
-
Copy full SHA for de05c52 - Browse repository at this point
Copy the full SHA de05c52View commit details -
Configuration menu - View commit details
-
Copy full SHA for 263c2e2 - Browse repository at this point
Copy the full SHA 263c2e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 546959f - Browse repository at this point
Copy the full SHA 546959fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ac2b94 - Browse repository at this point
Copy the full SHA 6ac2b94View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3234ba5 - Browse repository at this point
Copy the full SHA 3234ba5View commit details -
Configuration menu - View commit details
-
Copy full SHA for f691d38 - Browse repository at this point
Copy the full SHA f691d38View commit details -
Configuration menu - View commit details
-
Copy full SHA for eca4f12 - Browse repository at this point
Copy the full SHA eca4f12View commit details -
QUIC: update SSL_provide_quic_data() documentation
We now let you call this function outside of the handshake, to provide post-handshake QUIC data. We also no longer have the limitation that the application must provide the TLS handshake message header in a single call.
Configuration menu - View commit details
-
Copy full SHA for c649270 - Browse repository at this point
Copy the full SHA c649270View commit details -
QUIC: expound on what DoS attacks QUIC avoids
The limit on the amount of queued data is to avoid being an amplification vector, specifically.
Configuration menu - View commit details
-
Copy full SHA for 0bd0404 - Browse repository at this point
Copy the full SHA 0bd0404View commit details -
QUIC: remove SSL_get_current_cipher() reference
The QUIC APIs have no need to interact with TLS ciphers, since QUIC records use different cryptographic protections than TLS ciphers.
Configuration menu - View commit details
-
Copy full SHA for 5b73481 - Browse repository at this point
Copy the full SHA 5b73481View commit details -
Configuration menu - View commit details
-
Copy full SHA for 413b8be - Browse repository at this point
Copy the full SHA 413b8beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 971bbdb - Browse repository at this point
Copy the full SHA 971bbdbView commit details -
QUIC: Update SSL_clear() to clear quic data
Fixes openssl#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() from the server SSL.
Configuration menu - View commit details
-
Copy full SHA for 265d25e - Browse repository at this point
Copy the full SHA 265d25eView commit details -
Undo SSL_clear() changes in test Break apart SSL_clear() into SSL_clear_quic() and SSL_clear_not_quic() In SSL_clear(), call both functions In SSL_accept(), call SSL_clear_not_quic() Don't make the new functions public.
Configuration menu - View commit details
-
Copy full SHA for 4a134d7 - Browse repository at this point
Copy the full SHA 4a134d7View commit details -
Add link to OMCs plans. OpenSSL 3.0 is released, update tense. Fix some typos. Make relative URLs absolute.
Configuration menu - View commit details
-
Copy full SHA for 6d93aff - Browse repository at this point
Copy the full SHA 6d93affView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c84073 - Browse repository at this point
Copy the full SHA 9c84073View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fb9376 - Browse repository at this point
Copy the full SHA 9fb9376View commit details -
Configuration menu - View commit details
-
Copy full SHA for 745ca1d - Browse repository at this point
Copy the full SHA 745ca1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 189ee35 - Browse repository at this point
Copy the full SHA 189ee35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62d3750 - Browse repository at this point
Copy the full SHA 62d3750View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3b565e - Browse repository at this point
Copy the full SHA a3b565eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0936b26 - Browse repository at this point
Copy the full SHA 0936b26View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0952804 - Browse repository at this point
Copy the full SHA 0952804View commit details -
Configuration menu - View commit details
-
Copy full SHA for e37f050 - Browse repository at this point
Copy the full SHA e37f050View commit details -
Configuration menu - View commit details
-
Copy full SHA for 910d4b7 - Browse repository at this point
Copy the full SHA 910d4b7View commit details