[openssl/openssl] a7f418: Create the SSL object for QUIC-TLS

Matt Caswell noreply at github.com
Tue Jan 24 17:34:24 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: a7f41885b368c7fb63e52aadaa0a5b5bd239b876
      https://github.com/openssl/openssl/commit/a7f41885b368c7fb63e52aadaa0a5b5bd239b876
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M ssl/quic/quic_impl.c
    M ssl/ssl_conf.c
    M ssl/ssl_lib.c
    M ssl/ssl_local.h
    M ssl/ssl_sess.c
    M ssl/statem/statem_lib.c

  Log Message:
  -----------
  Create the SSL object for QUIC-TLS

The "user" SSL object which represents the QUIC connection should have an
"inner" SSL object to represent the TLS connection.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: ca20f61fd7cc424f1fd52d6471cf8d801229acf2
      https://github.com/openssl/openssl/commit/ca20f61fd7cc424f1fd52d6471cf8d801229acf2
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    A include/internal/recordmethod.h
    M ssl/record/record.h
    R ssl/record/recordmethod.h
    M ssl/ssl_local.h
    M test/sslbuffertest.c
    M test/tls13encryptiontest.c

  Log Message:
  -----------
  Move recordmethod.h to be an "internal" header

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: e5103dfc1200c2f4a450f8b4ff234ad84342d4b6
      https://github.com/openssl/openssl/commit/e5103dfc1200c2f4a450f8b4ff234ad84342d4b6
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M include/internal/recordmethod.h
    M ssl/record/methods/dtls_meth.c
    M ssl/record/methods/ktls_meth.c
    M ssl/record/methods/recmethod_local.h
    M ssl/record/methods/tls_common.c

  Log Message:
  -----------
  Remove an unneeded OSSL_RECORD_METHOD function

The reset() function was never called so it can be removed.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: bea8d70498c9ad0e2cca3652c748d327be7b841e
      https://github.com/openssl/openssl/commit/bea8d70498c9ad0e2cca3652c748d327be7b841e
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M include/internal/recordmethod.h
    M ssl/record/methods/dtls_meth.c
    M ssl/record/methods/ktls_meth.c
    M ssl/record/methods/tls_common.c
    M ssl/record/rec_layer_s3.c
    M ssl/record/record.h
    M ssl/ssl_local.h
    M test/tls13encryptiontest.c

  Log Message:
  -----------
  Add support for setting a custom TLS Record Layer

This is just an internal API for now. Something like this will be made
public API at some point - but it is likely to be based on the provider
interface rather that a direct setting of a METHOD like we do for now.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: 3f9175c7a46b13a3528d9b5776030a78eb1f9454
      https://github.com/openssl/openssl/commit/3f9175c7a46b13a3528d9b5776030a78eb1f9454
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M include/internal/recordmethod.h
    M ssl/d1_lib.c
    M ssl/record/methods/dtls_meth.c
    M ssl/record/methods/ktls_meth.c
    M ssl/record/methods/tls_common.c
    M ssl/record/rec_layer_s3.c
    M ssl/record/record.h
    M ssl/s3_enc.c
    M ssl/ssl_lib.c
    M ssl/statem/statem_clnt.c
    M ssl/t1_enc.c
    M ssl/tls13_enc.c
    M test/tls13encryptiontest.c
    M test/tls13secretstest.c

  Log Message:
  -----------
  Extend the new_record_layer function

Add the ability to pass the main secret and length, as well as the
digest used for the KDF.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: f6da3bbfb7342f3931d36e0c67bd9f79169fac2b
      https://github.com/openssl/openssl/commit/f6da3bbfb7342f3931d36e0c67bd9f79169fac2b
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M ssl/ssl_local.h
    M ssl/statem/extensions_cust.c

  Log Message:
  -----------
  Add the ability to add a custom extension on an SSL object

Previously we could only do this at the SSL_CTX level. We add the ability
to also do this on an SSL - but only for internal code.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: 19863d497dd1f74099998d4e5788d270de6423d6
      https://github.com/openssl/openssl/commit/19863d497dd1f74099998d4e5788d270de6423d6
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    A include/internal/quic_tls.h
    M ssl/quic/build.info
    A ssl/quic/quic_tls.c
    M ssl/tls13_enc.c

  Log Message:
  -----------
  Add an initial QUIC-TLS implementation

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: 2723d705b55bd0c3f1806ff42b9eed379cfee4c0
      https://github.com/openssl/openssl/commit/2723d705b55bd0c3f1806ff42b9eed379cfee4c0
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/openssl/tls1.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h

  Log Message:
  -----------
  Replace use of the Dummy Handshake Layer with the real one

We start using the QUIC TLS implementation rather than the dummy one.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: 1d57dbac190ac6082de7865ed9205cd1f41bfd97
      https://github.com/openssl/openssl/commit/1d57dbac190ac6082de7865ed9205cd1f41bfd97
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M ssl/quic/quic_tls.c

  Log Message:
  -----------
  Add support for the msg_callback

Having support for the msg_callback will improve debug capabilities.

For record headers we "manufacture" dummy ones so that as far as the
callback is concerned we are doing "normal" TLS.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: c28f1a8bb9ccfecb76bcf3b7987e2a526b427bca
      https://github.com/openssl/openssl/commit/c28f1a8bb9ccfecb76bcf3b7987e2a526b427bca
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    R include/internal/quic_dummy_handshake.h
    M ssl/quic/build.info
    R ssl/quic/quic_dummy_handshake.c

  Log Message:
  -----------
  Remove the old Dummy Handshake code

Now that we have a real TLS handshake we no longer need the dummy handshake
implementation and it can be removed.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: 4e3a55fd14cb4424fd62516345d918cdf0d9cdcc
      https://github.com/openssl/openssl/commit/4e3a55fd14cb4424fd62516345d918cdf0d9cdcc
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M include/internal/quic_tserver.h
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_tls.c
    M ssl/quic/quic_tserver.c
    M test/quic_tserver_test.c
    M test/recipes/70-test_quic_tserver.t

  Log Message:
  -----------
  Add QUIC-TLS server support

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


  Commit: e95d6e1eec2f080713aa91c12e411cea4cffee65
      https://github.com/openssl/openssl/commit/e95d6e1eec2f080713aa91c12e411cea4cffee65
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c
    M ssl/ssl_local.h

  Log Message:
  -----------
  Remove the user_ssl field

The user_ssl field in an SSL_CONNECTION is no longer used - so remove it.

Reviewed-by: Hugo Landau <hlandau at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19748)


Compare: https://github.com/openssl/openssl/compare/342e3652c791...e95d6e1eec2f


More information about the openssl-commits mailing list