servo/components/net/tests
Martin Robinson bce7622cde
Switch to rustls and webpki-roots (#30025)
This change replaces OpenSSL with rustls and also the manually curated
CA certs file with webpki-roots (effectively the same thing, but as a
crate).

Generally speaking the design of the network stack is the same. Changes:

- Code around certificate overrides needed to be refactored to work with
  rustls so the various thread-safe list of certificates is refactored
  into `CertificateErrorOverrideManager`
- hyper-rustls takes care of setting ALPN protocols for HTTP requests,
  so for WebSockets this is moved to the WebSocket code.
- The safe set of cypher suites is chosen, which seem to correspond to
  the "Modern" configuration from [1]. This can be adjusted later.
- Instead of passing a string of PEM CA certificates around, an enum is
  used that includes parsed Certificates (or the default which reads
  them from webpki-roots).
- Code for starting up an SSL server for testing is cleaned up a little,
  due to the fact that the certificates need to be overriden explicitly
  now. This is due to the fact that the `webpki` crate is more stringent
  with self-signed certificates than SSL (CA certificates cannot used as
  end-entity certificates). [2]

1. https://wiki.mozilla.org/Security/Server_Side_TLS
2. https://github.com/briansmith/webpki/issues/114

Fixes #7888.
Fixes #13749.
Fixes #26835.
Fixes #29291.
2023-08-08 14:00:10 +00:00
..
parsable_mime Merge net and net_tests 2018-01-20 15:36:09 +01:00
cookie.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
cookie_http_state.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
cookie_http_state_utils.py Fix remaining flake8 warnings 2020-06-21 03:34:32 +02:00
data_loader.rs Fix warnings introduced in newer Rust Nightly 2021-02-25 15:36:03 +01:00
fetch.rs Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
file_loader.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
filemanager_thread.rs add a fetch token for blob urls 2020-02-21 14:26:45 +08:00
hsts.rs Rustfmt has changed its default style :/ 2018-12-28 13:17:47 +01:00
http_cache.rs Upgrade Hyper 2022-01-16 09:34:17 -08:00
http_loader.rs Upgrade Hyper 2022-01-16 09:34:17 -08:00
main.rs Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
mime_classifier.rs Upgrade Hyper 2022-01-16 09:34:17 -08:00
resource_thread.rs Switch to rustls and webpki-roots (#30025) 2023-08-08 14:00:10 +00:00
subresource_integrity.rs refactored performance timing to align with updated spec 2018-11-20 16:21:32 +00:00
test.jpeg Merge net and net_tests 2018-01-20 15:36:09 +01:00