[openssl/openssl] 63dfde: Add initial QUIC support for the msg_callback

Matt Caswell noreply at github.com
Wed May 24 11:27:07 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: 63dfde87c46f8ad037ad5b5e635e609f4909578e
      https://github.com/openssl/openssl/commit/63dfde87c46f8ad037ad5b5e635e609f4909578e
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_record_rx.h
    M include/openssl/ssl3.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
    M ssl/quic/quic_record_rx.c
    M ssl/s3_lib.c
    M ssl/ssl_lib.c
    M ssl/ssl_local.h

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

At this stage we just support msg_callback on receipt of a datagram.

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


  Commit: 45aac10717479b5c2445e7704cd742b0d754aaa8
      https://github.com/openssl/openssl/commit/45aac10717479b5c2445e7704cd742b0d754aaa8
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M ssl/quic/build.info
    M ssl/quic/quic_local.h
    M ssl/quic/quic_record_rx.c
    A ssl/quic/quic_trace.c
    M ssl/t1_trce.c

  Log Message:
  -----------
  Support trace for QUIC datagrams

Extend SSL_trace so that it knows how to dump information about the
receipt of a QUIC datagram.

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


  Commit: 2a35a1bec0845d314f06a88d703a9eb30dbed10e
      https://github.com/openssl/openssl/commit/2a35a1bec0845d314f06a88d703a9eb30dbed10e
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/openssl/ssl3.h
    M ssl/quic/quic_record_rx.c
    M ssl/quic/quic_trace.c

  Log Message:
  -----------
  Support trace for QUIC Packets

We enable SSL_trace support for when we receive QUIC Packets. This is
called after header protection is removed, but before the packet is
decrypted.

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


  Commit: 70f0ea280af0bed9fb48b20b61c7a12c7f03e6d9
      https://github.com/openssl/openssl/commit/70f0ea280af0bed9fb48b20b61c7a12c7f03e6d9
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/openssl/ssl3.h
    M ssl/quic/quic_record_rx.c
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_trace.c

  Log Message:
  -----------
  Support trace for QUIC Frames

Extend the existing QUIC tracing capability for frames.

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


  Commit: 45454cccf8172b5a2d7c1342067a1d8dc8396fc9
      https://github.com/openssl/openssl/commit/45454cccf8172b5a2d7c1342067a1d8dc8396fc9
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_txp.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_txp.c

  Log Message:
  -----------
  Extend tracing of frames to transmitted frames

Previously we were only doing tracing of frames received from the peer.
Now we do that for transmitted frames as well.

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


  Commit: e8528c95a0543a218b432d2ea02e6bd0c1e7ab19
      https://github.com/openssl/openssl/commit/e8528c95a0543a218b432d2ea02e6bd0c1e7ab19
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_record_rx.h
    M include/internal/quic_record_tx.h
    M include/internal/quic_types.h
    M include/internal/quic_wire_pkt.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_record_rx.c
    M ssl/quic/quic_record_tx.c
    M ssl/quic/quic_trace.c
    M ssl/quic/quic_wire_pkt.c
    M test/helpers/quictestlib.c
    M test/quic_record_test.c
    M test/quic_wire_test.c

  Log Message:
  -----------
  Enable tracing of packets that have been sent

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


  Commit: 8aff8f89f7bec3865b14b550a4c1a7ec7786e3f3
      https://github.com/openssl/openssl/commit/8aff8f89f7bec3865b14b550a4c1a7ec7786e3f3
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M ssl/quic/quic_record_tx.c

  Log Message:
  -----------
  Enable tracing of datagrams we have sent

Extend the tracing capability to also trace when we have a datagram to the
peer.

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


  Commit: b09e246aba584cd17d1d027f735f238b1b7f082c
      https://github.com/openssl/openssl/commit/b09e246aba584cd17d1d027f735f238b1b7f082c
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_wire.h
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_trace.c
    M ssl/quic/quic_wire.c
    M test/quic_txp_test.c
    M test/quic_wire_test.c

  Log Message:
  -----------
  Properly handling stream/crypto frames while tracing

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


  Commit: cc87010d27f4dc3645ea718144bf387d8833e14c
      https://github.com/openssl/openssl/commit/cc87010d27f4dc3645ea718144bf387d8833e14c
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M ssl/quic/quic_trace.c

  Log Message:
  -----------
  Add more trace details for the remaining frame types

Prior to this commit we were just printing the fact that we had received
or sent a frame of a particular type. We now provide more details about
those frames.

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


  Commit: bfcf1356f9fdc6ad939f73f2d4e505bd519c33d2
      https://github.com/openssl/openssl/commit/bfcf1356f9fdc6ad939f73f2d4e505bd519c33d2
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M doc/man3/SSL_CTX_set_msg_callback.pod
    M util/missingssl.txt

  Log Message:
  -----------
  Update the msg_callback documentation

We provide information about the new QUIC support related to the
msg_callback. We also document SSL_trace() which was previously missing
from the man pages.

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


  Commit: b946a3eed5c40230955d5acc67884c3fd2fd6b18
      https://github.com/openssl/openssl/commit/b946a3eed5c40230955d5acc67884c3fd2fd6b18
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M ssl/t1_trce.c

  Log Message:
  -----------
  Fix an SSL_trace bug

Ensure that SSL_trace can print certificate data even with a non-default
libctx.

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


  Commit: 2e1da9693a7de72643acdf3da4816c4edf96ca29
      https://github.com/openssl/openssl/commit/2e1da9693a7de72643acdf3da4816c4edf96ca29
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M test/quicapitest.c
    M test/recipes/75-test_quicapi.t
    A test/recipes/75-test_quicapi_data/ssltraceref.txt

  Log Message:
  -----------
  Add a test for the new QUIC tracing capability

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


  Commit: 5cf99b4040eb1ef63b3254090d16299cad690b1e
      https://github.com/openssl/openssl/commit/5cf99b4040eb1ef63b3254090d16299cad690b1e
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_record_rx.h
    M include/internal/quic_record_tx.h
    M include/internal/quic_txp.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/quic/quic_record_rx.c
    M ssl/quic/quic_record_tx.c
    M ssl/quic/quic_txp.c
    M test/recipes/75-test_quicapi_data/ssltraceref.txt

  Log Message:
  -----------
  Create setter functions for the msg_callback and msg_callback_arg

We create setter functions for the msg_callback and msg_callback_arg so
that these values can be properly propagated to the QRX/QTX/TXP even
after the channel has been created.

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


  Commit: 7802170f7c1d2b89c2610b7affddb3d1b26fc87d
      https://github.com/openssl/openssl/commit/7802170f7c1d2b89c2610b7affddb3d1b26fc87d
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M ssl/quic/quic_trace.c

  Log Message:
  -----------
  Use the %llu format specifier for uint64_t

We change to use %llu when printing uint64_t types for consistency with
what we've done elsewhere.

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


  Commit: c2786c8ea732592f708e588f0f5849716914a313
      https://github.com/openssl/openssl/commit/c2786c8ea732592f708e588f0f5849716914a313
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_record_rx.h
    M include/internal/quic_record_tx.h
    M include/internal/quic_txp.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h
    M ssl/quic/quic_record_rx.c
    M ssl/quic/quic_record_tx.c
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_txp.c

  Log Message:
  -----------
  Rename msg_callback_s to msg_callback_ssl for greater clarity

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


  Commit: 674b61ebd982d6a6564ac1f90d8cde22371564bc
      https://github.com/openssl/openssl/commit/674b61ebd982d6a6564ac1f90d8cde22371564bc
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M include/internal/quic_types.h
    A include/internal/ssl.h
    M ssl/ssl_local.h

  Log Message:
  -----------
  Create internal/ssl.h

We create the internal/ssl.h header file and move the typedef for
ossl_msg_cb. This is needed by both the QUIC code (which generally doesn't
include ssl_local.h) and the rest of libssl.

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


Compare: https://github.com/openssl/openssl/compare/6dea91f56dcb...674b61ebd982


More information about the openssl-commits mailing list