[openssl/openssl] 725718: Add support for rstream get/release record in the ...

Matt Caswell noreply at github.com
Wed Apr 12 01:04:35 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: 7257188b7054cf8acfc4837e38486459e0930718
      https://github.com/openssl/openssl/commit/7257188b7054cf8acfc4837e38486459e0930718
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-04-12 (Wed, 12 Apr 2023)

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

  Log Message:
  -----------
  Add support for rstream get/release record in the QUIC TLS layer

The QUIC TLS layer was taking an internal copy of rstream data while
reading. The QUIC rstream code has recently been extended to enable a
get/release model which avoids the need for this internal copy, so we use
that instead.

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20404)


  Commit: 2eb91b0ec325924ae4b7dc596617a6fff71d7ae6
      https://github.com/openssl/openssl/commit/2eb91b0ec325924ae4b7dc596617a6fff71d7ae6
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-04-12 (Wed, 12 Apr 2023)

  Changed paths:
    M include/internal/recordmethod.h
    M ssl/quic/quic_tls.c
    M ssl/record/methods/recmethod_local.h
    M ssl/record/methods/tls_common.c
    M ssl/record/rec_layer_d1.c
    M ssl/record/rec_layer_s3.c
    M ssl/record/record.h
    M ssl/ssl_local.h
    M ssl/statem/statem_dtls.c
    M test/sslapitest.c

  Log Message:
  -----------
  Make the data field for get_record() const

Improves consistency with the QUIC rstream implementation - and improves
the abstraction between the TLS implementation and the abstract record
layer. We should not expect that the TLS implementation should be able to
change the underlying buffer. Future record layers may not expect that.

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20404)


  Commit: 7a4e109ebe5af83bad6447889e43ac2612375070
      https://github.com/openssl/openssl/commit/7a4e109ebe5af83bad6447889e43ac2612375070
  Author: Matt Caswell <matt at openssl.org>
  Date:   2023-04-12 (Wed, 12 Apr 2023)

  Changed paths:
    M include/internal/recordmethod.h
    M ssl/quic/quic_tls.c
    M ssl/record/methods/recmethod_local.h
    M ssl/record/methods/tls_common.c
    M ssl/record/rec_layer_d1.c
    M ssl/record/rec_layer_s3.c
    M ssl/record/record.h

  Log Message:
  -----------
  Allow partially releasing a record for TLS

This enables the cleansing of plaintext to occur in the record layer and
avoids the need to cast away const above the record layer.

Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20404)


Compare: https://github.com/openssl/openssl/compare/dfb8e185134d...7a4e109ebe5a


More information about the openssl-commits mailing list