-
Notifications
You must be signed in to change notification settings - Fork 7
Comparing changes
Open a pull request
base repository: rustls/rustls-openssl-compat
base: v/0.2.0
head repository: rustls/rustls-openssl-compat
compare: v/0.2.1
- 20 commits
- 16 files changed
- 1 contributor
Commits on Jun 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5b164a7 - Browse repository at this point
Copy the full SHA 5b164a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e56646 - Browse repository at this point
Copy the full SHA 5e56646View commit details -
Configuration menu - View commit details
-
Copy full SHA for cca1d0a - Browse repository at this point
Copy the full SHA cca1d0aView commit details
Commits on Jun 25, 2024
-
start implementing SSL_CONF_* APIs
This commit introduces the scaffolding for the `SSL_CONF_*` APIs that were previously stubbed. All of the API fns with the exception of `SSL_CONF_cmd_argv` are now implemented as of this commit. Note: we do not yet suppor the vast majority of possible `SSL_CONF_cmd` options. To start, only `MinProtocol` and `MaxProtocol` are supported. Additional commands will be supported in subsequent commits.
Configuration menu - View commit details
-
Copy full SHA for be004dd - Browse repository at this point
Copy the full SHA be004ddView commit details -
* Replace `ubuntu-latest` with `ubuntu-22.04` - we expect that soon that tag will point at 24.04 and we want to keep testing w/ 22.04 explicitly * Add `ubuntu-24.04` - in the future, once the switch mentioned above has happened, we can replace this with `ubuntu-latest` once more. * Add a helper to `tests/runner.rs` for checking the Nginx version. We use this to conditionally skip the TLS session resumption nginx tests when running on 24.04 with Nginx 1.24+ - there's an outstanding issue where resumption doesn't work with this nginx version.
Configuration menu - View commit details
-
Copy full SHA for 38e4c44 - Browse repository at this point
Copy the full SHA 38e4c44View commit details -
tests: add nginx 1.24 specific tests
We want to test the `ssl_conf_command` directive, but this is only available in nginx 1.24+. This commit adds a 1.24 specific config file and updates the test runner so we can spin up and test a nginx 1.24 server with this config when available. For now we test the `MinProtocol` and `MaxProtocol` OpenSSL CONF_CTX commands that the compat shim supports.
Configuration menu - View commit details
-
Copy full SHA for ff3c6e5 - Browse repository at this point
Copy the full SHA ff3c6e5View commit details
Commits on Jun 26, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5358d7a - Browse repository at this point
Copy the full SHA 5358d7aView commit details -
build: add SSL_CONF_CTX_clear_flags entrypoint
We define a `_SSL_CONF_CTX_clear_flags` entrypoint, but weren't using it prior to this commit.
Configuration menu - View commit details
-
Copy full SHA for d8b0ccd - Browse repository at this point
Copy the full SHA d8b0ccdView commit details -
We already implemented `SSL_CTX_get_verify_mode` and had all the pieces laying around for the `SSL` equiv. Implementing this for `SSL` objects will make writing a unit test for a piece of the `SSL_CONF_` API easier.
Configuration menu - View commit details
-
Copy full SHA for e2df099 - Browse repository at this point
Copy the full SHA e2df099View commit details -
conf: implement VerifyMode command
An nginx integration test is blocked on implementing `SSL_CTX_set_verify`.
Configuration menu - View commit details
-
Copy full SHA for 7cf7898 - Browse repository at this point
Copy the full SHA 7cf7898View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36a50bc - Browse repository at this point
Copy the full SHA 36a50bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 180f6a9 - Browse repository at this point
Copy the full SHA 180f6a9View commit details -
conf: add a TODO for some future commands
Most of these will require implementing more logic elsewhere before we can add a supported command.
Configuration menu - View commit details
-
Copy full SHA for 1241d51 - Browse repository at this point
Copy the full SHA 1241d51View commit details
Commits on Jun 27, 2024
-
disable nginx session tickets for resumption test
With Nginx 1.24.0 we saw a regression in the runner `nginx` test when checking that session resumption worked as expected with a `curl` client. This commit fixes the issue by disabling `ssl_session_tickets` for the server config using `ssl_session_cache shared:...` (port 8446). Since Nginx 1.23.2, the `shared` session cache has done double duty, also managing generating, storing, and updating TLS session ticket keys. This is done primarily with the OpenSSL `SSL_CTX_set_tlsext_ticket_key_cb`/`SSL_CTX_set_tlsext_ticket_key_evp_cb` APIs, which we don't yet support. We're also not setting a ticketer for the Rustls `ServerConfig` we construct. The net result is that when using our compat shim with Nginx 1.23.2+ we need to explicitly disable session ticket support in order for the `shared` session cache to work the way we expect for classic sessions.
Configuration menu - View commit details
-
Copy full SHA for 2ac5c77 - Browse repository at this point
Copy the full SHA 2ac5c77View commit details -
lib: configure ticketer by default
Unless `SSL_OP_NO_TICKET` has been set in the `raw_options` we should configure a ticketer in the `ServerConfig` constructed by `Ssl::init_server_conn`. The nginx test server configurations are updated to all disable session tickets. For the no resumption case, this is what we want explicitly. For the existing resumption tests this is necessary to test the stateful session resumption. A new configuration that enables session tickets is added to test that resumption method. The `nginx` runner test is updated to test this new configuration works as expected w/ a `curl` client.
Configuration menu - View commit details
-
Copy full SHA for 3289e21 - Browse repository at this point
Copy the full SHA 3289e21View commit details -
implement SSL_*_(get|set)_num_tickets
Some simple coverage is added to `server.c`
Configuration menu - View commit details
-
Copy full SHA for d737b63 - Browse repository at this point
Copy the full SHA d737b63View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8ebfc5 - Browse repository at this point
Copy the full SHA a8ebfc5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f68342 - Browse repository at this point
Copy the full SHA 0f68342View commit details -
stub set tls ext ticket callbacks
The `SSL_CTX_set_tlsext_ticket_key_cb` and `SSL_CTX_set_tlsext_ticket_key_evp_cb` API functions can be used to set up callbacks for managing TLS session tickets. Implementing this properly will be challenging as they take `EVP_CIPHER_CTX` and `EVP_MAC_CTX` arguments and expect the caller to do a lot of the heavy-lifting. For now let's stub it and see how far we can get by just opaquely handling TLS session tickets internal to Rustls w/ our own ticketer.
Configuration menu - View commit details
-
Copy full SHA for de4eb6e - Browse repository at this point
Copy the full SHA de4eb6eView commit details
Commits on Jun 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c114451 - Browse repository at this point
Copy the full SHA c114451View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v/0.2.0...v/0.2.1