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

quic: initial experimental quic implementation #30943

Closed
wants to merge 6 commits into from

Commits on Mar 10, 2020

  1. deps: add support for BoringSSL QUIC APIs

    Sourced from:
    https://github.com/akamai/openssl/commits/OpenSSL_1_1_1d-quic
    
    This is a cherry-pick of 2a4b03a306439307e0b822b17eda3bdabddfbb68
    on the master-quic-support2 branch (2019-10-07)
    Which was a rebase/squash of master-quic-support:
    
    * 5aa62ce Add support for more secrets - Todd Short/Todd Short
    (master-quic-support)
    * 58e0643 Tweeks to quic_change_cipher_state() - Todd Short/Todd Short
    * 8169702 Move QUIC code out of tls13_change_cipher_state() - Todd
    Short/Todd Short
    * a08cfe6 Correctly disable middlebox compat - Todd Short/Todd Short
    * 3a9eabf Add OPENSSL_NO_QUIC wrapper - Todd Short/Todd Short
    * f550eca Add client early traffic secret storage - Todd Short/Todd
    Short
    * 1b787ae Quick fix: s2c to c2s for early secret - Todd Short/Todd Short
    * f97e6a9 Don't process an incomplete message - Todd Short/Todd Short
    * 81f0ce2 Reset init state in SSL_process_quic_post_handshake() - Todd
    Short/Todd Short
    * 5d59cf9 Fix quic_transport constructors/parsers - Todd Short/Todd
    Short
    * 5e5f91c Fix INSTALL nit. - Todd Short/Todd Short
    * bd290ab Fix duplicate word in docs - Todd Short/Todd Short
    * 699590b fixup! Handle partial handshake messages - Todd Short/Todd
    Short
    * a472a8d Handle partial handshake messages - Todd Short/Todd Short
    * 363cf3d fixup! Use proper secrets for handshake - Todd Short/Todd
    Short
    * b03fee6 Use proper secrets for handshake - Todd Short/Todd Short
    * 2ab1aa0 Move QUIC transport params to encrypted extensions - Todd
    Short/Todd Short
    * 0d16af9 Make temp secret names less confusing - Todd Short/Todd Short
    * abb6f39 New method to get QUIC secret length - Todd Short/Todd Short
    * 05fdae9 Add support for BoringSSL QUIC APIs - Todd Short/Todd Short
    
    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
    
    New method to get QUIC secret length
    
    Make temp secret names less confusing
    
    Move QUIC transport params to encrypted extensions
    
    Use proper secrets for handshake
    
    fixup! Use proper secrets for handshake
    
    Handle partial handshake messages
    
    fixup! Handle partial handshake messages
    
    Fix duplicate word in docs
    
    Fix INSTALL nit.
    
    Fix quic_transport constructors/parsers
    
    Reset init state in SSL_process_quic_post_handshake()
    
    Don't process an incomplete message
    
    Quick fix: s2c to c2s for early secret
    
    Add client early traffic secret storage
    
    Add OPENSSL_NO_QUIC wrapper
    
    Correctly disable middlebox compat
    
    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).
    
    Tweeks to quic_change_cipher_state()
    
    Add support for more secrets
    
    PR-URL: nodejs/quic#350
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    jasnell committed Mar 10, 2020
    Configuration menu
    Copy the full SHA
    89d764f View commit details
    Browse the repository at this point in the history
  2. deps: update openssl config

    PR-URL: nodejs/quic#350
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    jasnell committed Mar 10, 2020
    Configuration menu
    Copy the full SHA
    afbc851 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2020

  1. deps: add ngtcp2 and nghttp3

    jasnell committed Mar 12, 2020
    Configuration menu
    Copy the full SHA
    295191f View commit details
    Browse the repository at this point in the history
  2. quic: initial quic implementation

    Co-authored-by: Anna Henningsen <anna@addaleax.net>
    Co-authored-by: Daniel Bevenius <daniel.bevenius@gmail.com>
    Co-authored-by: gengjiawen <technicalcute@gmail.com>
    Co-authored-by: James M Snell <jasnell@gmail.com>
    Co-authored-by: Lucas Pardue <lucaspardue.24.7@gmail.com>
    Co-authored-by: Ouyang Yadong <oyydoibh@gmail.com>
    Co-authored-by: Juan Jos<C3><A9> Arboleda <soyjuanarbol@gmail.com>
    Co-authored-by: Trivikram Kamat <trivikr.dev@gmail.com>
    Co-authored-by: Denys Otrishko <shishugi@gmail.com>
    9 people committed Mar 12, 2020
    Configuration menu
    Copy the full SHA
    2350cdf View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2020

  1. quic: fixup test-fs-chown

    PR-URL: nodejs/quic#360
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    jasnell committed Mar 13, 2020
    Configuration menu
    Copy the full SHA
    e7b25da View commit details
    Browse the repository at this point in the history
  2. quic: fixup broken test when quic unavailable

    PR-URL: nodejs/quic#359
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    jasnell committed Mar 13, 2020
    Configuration menu
    Copy the full SHA
    928c50e View commit details
    Browse the repository at this point in the history