Skip to content
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

[3/3] no-std support phase I #1502

Merged
merged 27 commits into from
Feb 27, 2024
Merged

[3/3] no-std support phase I #1502

merged 27 commits into from
Feb 27, 2024

Commits on Feb 26, 2024

  1. add std feature

    Since aws-lc-rs doesn't support no-std it's moved from the default
    features to the std features.
    
    Similarly we must tweak our `once_cell` usage to provide the
    `race` feature for builds without `std`.
    
    See the upstream[0] docs section on "Does this crate support no_std?"
    for some important caveats.
    
    [0]: https://docs.rs/once_cell/latest/once_cell/
    japaric authored and cpu committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    d24c976 View commit details
    Browse the repository at this point in the history
  2. no_std: rm use of std in builder

    pvdrz authored and cpu committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    ddc4251 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. no-std: add TimeProvider to ClientConfig

    For no-std users, the new `ClientConfig::builder_with_details()` must
    be used, which requires a `TimeProvider` implementation up-front.
    
    For std builds, the `ClientConfig` uses the `DefaultTimeProvider` for
    existing `ClientConfig::builder*` functions.
    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    39c8f74 View commit details
    Browse the repository at this point in the history
  2. no-std: remove field from OtherError

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    256e3c7 View commit details
    Browse the repository at this point in the history
  3. no-std: rm TicketSwitcher

    will be back in phase II
    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    388396c View commit details
    Browse the repository at this point in the history
  4. no-std: add TimeProvider to ServerConfig

    no-std users must use the new ServerConfig::builder_with_details(),
    which requires a `TimeProvider` to be provided up-front.
    
    For std builds, the `ServerConfig` uses the `DefaultTimeProvider`
    for existing, other `ServerConfig::builder*` functions.
    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    6b6042a View commit details
    Browse the repository at this point in the history
  5. no-std: remove ClientSessionMemoryCache

    default Resumption to disabled
    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    eb7fb3b View commit details
    Browse the repository at this point in the history
  6. no-std: rm KeyLogFile

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    8504fa6 View commit details
    Browse the repository at this point in the history
  7. no-std: rm Stream*

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    dd7f37d View commit details
    Browse the repository at this point in the history
  8. no-std: rm Connection

    pvdrz authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    b1bb5f2 View commit details
    Browse the repository at this point in the history
  9. no-std: rm ServerConnection

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    91fccea View commit details
    Browse the repository at this point in the history
  10. no-std: rm ClientConnection

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    d7853a7 View commit details
    Browse the repository at this point in the history
  11. no-std: rm Acceptor

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    bb8b92c View commit details
    Browse the repository at this point in the history
  12. no-std: rm Reader

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    79826ba View commit details
    Browse the repository at this point in the history
  13. no-std: rm Writer

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    e5543dc View commit details
    Browse the repository at this point in the history
  14. no-std: rm PlaintextSink

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    3b2aec7 View commit details
    Browse the repository at this point in the history
  15. no-std: rm ConnectionCommon IO methods

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    73d7780 View commit details
    Browse the repository at this point in the history
  16. no-std: rm StdError implementations

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    fe8ca37 View commit details
    Browse the repository at this point in the history
  17. no-std: rm ResolvesServerCertUsingSni

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    b29cc29 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    63c788a View commit details
    Browse the repository at this point in the history
  19. no-std: rm ServerSessionMemoryCache

    will be back in phase II
    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    fb4e967 View commit details
    Browse the repository at this point in the history
  20. no-std: rm quic::*Connection API

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    f5ac277 View commit details
    Browse the repository at this point in the history
  21. no-std: rm MessageDeframer IO methods

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    49dd8f8 View commit details
    Browse the repository at this point in the history
  22. no-std: rm temporary extern crate std

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    90748ec View commit details
    Browse the repository at this point in the history
  23. make ring's ticketer module std-only

    pvdrz authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    0b5a434 View commit details
    Browse the repository at this point in the history
  24. crypto: use race::OnceBox for no-std support

    When built w/ the `std` feature, the `DEFAULT_CRYPTO_PROVIDER` and
    assoc. fns use a standard `once_cell::sync::OnceCell`. When built w/o
    the `std` feature we use `once_cell::race::OnceBox`, requiring some
    minor adjustments to account for the expectation of storing
    a `Box<Arc<CryptoProvider>>` in place of a `Arc<CryptoProvider>`.
    cpu authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    8805236 View commit details
    Browse the repository at this point in the history
  25. CI: check that deps are not using libstd API

    japaric authored and ctz committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    2444558 View commit details
    Browse the repository at this point in the history