[openssl/openssl] e88cdb: QUIC Dispatch: Enhance SSL object unwrapping funct...

Hugo Landau noreply at github.com
Fri May 12 14:03:16 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: e88cdb8eb7b719803aaaef853db16abf3a4e73d1
      https://github.com/openssl/openssl/commit/e88cdb8eb7b719803aaaef853db16abf3a4e73d1
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC Dispatch: Enhance SSL object unwrapping functions (core)

Uniform changes to all dispatch functions to use the new dispatch
functionality follows this commit. Separated into a core commit
and a commit containing the uniform pattern (monotonous) changes
for ease of review.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: f8636c7e85229bf780da7cf61c234695952f8cad
      https://github.com/openssl/openssl/commit/f8636c7e85229bf780da7cf61c234695952f8cad
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M ssl/quic/quic_local.h
    M ssl/ssl_lib.c
    M ssl/ssl_local.h

  Log Message:
  -----------
  QUIC Dispatch: Introduce the QUIC_XSO object

The QUIC_XSO (external stream object) is to a QUIC stream what a
QUIC_CONNECTION is to a QUIC connection. Both are SSL objects. The
QUIC_CONNECTION type is the internal representation of a QUIC connection
SSL object (QCSO) and the QUIC_XSO type is the internal representation
of a QUIC stream SSL object (QSSO) type. The name QUIC_XSO has been
chosen to be distinct from the existing QUIC_STREAM type which is our
existing internal stream type. QUIC_XSO is to a QUIC_STREAM what
QUIC_CONNECTION is to a QUIC_CHANNEL; in other words, QUIC_CONNECTION
and QUIC_XSO objects form part of the API personality layer, whereas
QUIC_CHANNEL and QUIC_STREAM objects form part of the QUIC core and are
distinct from the API personality layer.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 072328dddb8371b865bd18caca9a77698e883c80
      https://github.com/openssl/openssl/commit/072328dddb8371b865bd18caca9a77698e883c80
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC Dispatch: Refactor APL interface to use SSL pointers not QC pointers

We now refactor the interface between ssl_lib.c frontend functions and
the QUIC API Personality Layer so that the respective functions
comprising the interface use SSL object pointers rather than raw
QUIC_CONNECTION pointers. This is in preparation for stream support
since once streams are supported, calls to e.g. ossl_quic_write() may be
made on a QUIC_CONNECTION or a QUIC_XSO (that is, a stream object). Thus
we take a uniform approach across all functions comprising the interface
between the ssl_lib.c frontend and the QUIC API Personality Layer of
using SSL pointers always. This provides a uniform approach  and
ensures that any function of the API personality layer can be easily
adapted to support being called on a stream object in the future.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 3e5a47d4de5754a2d2f42b3402bfe887010357ae
      https://github.com/openssl/openssl/commit/3e5a47d4de5754a2d2f42b3402bfe887010357ae
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_local.h

  Log Message:
  -----------
  QUIC Dispatch: Add simple way to determine if SSL object is QUIC-related

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 6d495cc4de9efac980df0a70be5981fd94831d33
      https://github.com/openssl/openssl/commit/6d495cc4de9efac980df0a70be5981fd94831d33
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/ssl_lib.c

  Log Message:
  -----------
  QUIC Dispatch: Update ssl_lib.c frontend to use new dispatch style

This amends the dispatch code from ssl_lib.c to the QUIC API Personality
Layer to use the new approach of dispatching using SSL object pointers
rather than raw QUIC_CONNECTION pointers. This completes the said
refactor.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: dfb9ae14a44251553d4f4046ff1eb41608b3cca4
      https://github.com/openssl/openssl/commit/dfb9ae14a44251553d4f4046ff1eb41608b3cca4
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h

  Log Message:
  -----------
  QUIC: Base client/server identity on SSL method, not SSL_set_connect/accept_state

In QUIC, we have an architectural need (in future, when we implement
0-RTT, etc.) to be able to create streams before we start connecting.
This requires we allocate a stream, including a stream ID, after
creating a QCSO but prior to connecting. However stream IDs are
dependent on whether the endpoint is in the client or server role,
therefore we must know whether we are going to be a client or server
before any pre-connection streams are created. Moreover, the originally
defined QUIC_client_method() and QUIC_server_method() functions heavily
implied the original plan was to have different SSL_METHODs for clients
and servers. Up until now we had been relying on
SSL_set_connect/accept_state() instead.

Solve these problems by basing client/server identity on whether
QUIC_server_method() is used (in future, when we support servers). This
ensures that once a QCSO is created its client/server identity are fixed
and cannot change, allowing pre-connection stream IDs, etc. to be
allocated.

Client/server uncertainty was the primary reason why QUIC_CHANNEL
creation was deferred until connection time up until now, so this
enables further refactoring to facilitate eager allocation of the
QUIC_CHANNEL at QCSO allocation time. This is important as allocating a
stream including its write buffers is hard without having the
QUIC_CHANNEL (which owns the QUIC_STREAM_MAP) in existence.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 23c047090cde899059fb7489e1a35124ca7b5e8a
      https://github.com/openssl/openssl/commit/23c047090cde899059fb7489e1a35124ca7b5e8a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Create QUIC CHANNEL up front rather than deferring creation

We switch to instantiating the QUIC_CHANNEL up front at QCSO
instantiation time. This creates the QUIC_STREAM_MAP early and makes it
easy for us to allocate streams prior to connection initiation. The role
(client or server) is determined at QCSO allocation time and cannot be
changed.

SSL_set_connect/accept_state() are still modelled but their usage must
be consistent with the chosen SSL_METHOD which dictates which role is
being used.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: c6c0432cca9c46bde56a9480796762f25d2a18a7
      https://github.com/openssl/openssl/commit/c6c0432cca9c46bde56a9480796762f25d2a18a7
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h

  Log Message:
  -----------
  QUIC CHANNEL: Remove stream 0-specific code

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 54562e899c5394505417adc1e0c6410f6a0677f3
      https://github.com/openssl/openssl/commit/54562e899c5394505417adc1e0c6410f6a0677f3
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h

  Log Message:
  -----------
  QUIC CHANNEL: Clarify role of RX TPs in preparation of storing TX TPs

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 0815b725a83da10f60c60d679a88b616da01cecf
      https://github.com/openssl/openssl/commit/0815b725a83da10f60c60d679a88b616da01cecf
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h

  Log Message:
  -----------
  QUIC CHANNEL: Store TPs for initial flow control in TX direction

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 26ad16ea84c58d91375491c0872e43dc27915b4a
      https://github.com/openssl/openssl/commit/26ad16ea84c58d91375491c0872e43dc27915b4a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC CHANNEL: Handle any number of streams

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: cb5c208bf2e39bf2367b051136c599cff1fc3683
      https://github.com/openssl/openssl/commit/cb5c208bf2e39bf2367b051136c599cff1fc3683
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC APL: Refactor stream-related code into QUIC_XSO object

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 2dbc39deacf9d5850eecef515cbc50331750dd22
      https://github.com/openssl/openssl/commit/2dbc39deacf9d5850eecef515cbc50331750dd22
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_stream_map.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:
  -----------
  QUIC APL: Add stream creation APIs

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: f20fdd16d817a095f58f9c016044abef24e50e58
      https://github.com/openssl/openssl/commit/f20fdd16d817a095f58f9c016044abef24e50e58
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_stream_map.c

  Log Message:
  -----------
  QUIC CHANNEL: Handle incoming remotely-created streams

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: e8fe7a21ea253408930d570ce00e6d3a78652162
      https://github.com/openssl/openssl/commit/e8fe7a21ea253408930d570ce00e6d3a78652162
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h

  Log Message:
  -----------
  QUIC CHANNEL: Initialise state, FC credit for new streams correctly

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: b757beb5f326ce4a7da021d0f4c52e03e37e1945
      https://github.com/openssl/openssl/commit/b757beb5f326ce4a7da021d0f4c52e03e37e1945
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_tserver.h
    M ssl/quic/quic_tserver.c
    M test/quic_tserver_test.c
    M test/quicapitest.c
    M test/quicfaultstest.c

  Log Message:
  -----------
  QUIC TSERVER: Add support for multiple streams

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 21c80696e51c2b183dad3b19aeb50fe26920f0aa
      https://github.com/openssl/openssl/commit/21c80696e51c2b183dad3b19aeb50fe26920f0aa
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h

  Log Message:
  -----------
  QUIC APL: Defer default XSO creation

QUIC in single-stream mode could be used with a protocol where the
server writes first or the client writes first. This determines
whether the single stream would be client or server initiated,
which affects the stream ID allocated to the stream. We should support
both client-sends-first and server-sends-first application protocols.
Thus, defer default XSO creation until the point in time at which
we know whether a client-first or server-first application protocol
is being used. We do this by taking whether SSL_read() or SSL_write()
is called first as a cue.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 020d0389396d0ee01041188a3d1b211a1d6b6c6a
      https://github.com/openssl/openssl/commit/020d0389396d0ee01041188a3d1b211a1d6b6c6a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: Implement SSL_get0_connection

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: e1dee2e37971e068d6aff25dbfc92ef4db5adbd9
      https://github.com/openssl/openssl/commit/e1dee2e37971e068d6aff25dbfc92ef4db5adbd9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/openssl/ssl.h.in
    M ssl/ssl_lib.c

  Log Message:
  -----------
  QUIC DISPATCH/APL: Implement SSL_is_connection

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 1bca3f1b2d139c2306fd65d23583e4d16bdc11f9
      https://github.com/openssl/openssl/commit/1bca3f1b2d139c2306fd65d23583e4d16bdc11f9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: Implement SSL_get_stream_type

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 19cb0887722b66e5db7ec0d339526608444a11ef
      https://github.com/openssl/openssl/commit/19cb0887722b66e5db7ec0d339526608444a11ef
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c

  Log Message:
  -----------
  QUIC DISPATCH/APL: Implement SSL_get_stream_id

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 8b7be3aa7e90d85441f5012624cece4dca33291e
      https://github.com/openssl/openssl/commit/8b7be3aa7e90d85441f5012624cece4dca33291e
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M crypto/err/openssl.txt
    M include/internal/quic_channel.h
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M include/openssl/sslerr.h
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/ssl_err.c
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: Implement SSL_set_default_stream_mode, default XSO refactor

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 8a90df343edb194920b7a01c8b5e47d8b6e952c5
      https://github.com/openssl/openssl/commit/8a90df343edb194920b7a01c8b5e47d8b6e952c5
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: Add SSL_set_incoming_stream_reject_policy (unwired)

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: cb68ce9fa7e2312afd8e5346a799d32024b67d02
      https://github.com/openssl/openssl/commit/cb68ce9fa7e2312afd8e5346a799d32024b67d02
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: SSL_accept_stream, SSL_get_accept_queue_len

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 995ff282103d444844a476ae6aba4a05936284fa
      https://github.com/openssl/openssl/commit/995ff282103d444844a476ae6aba4a05936284fa
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC CHANNEL, APL: Reject policy handling

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 13ac037d0148b6e461ca635bb1c627a4b759318a
      https://github.com/openssl/openssl/commit/13ac037d0148b6e461ca635bb1c627a4b759318a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c
    M test/quicapitest.c

  Log Message:
  -----------
  QUIC APL: Fix locking in XSO code and fix tests

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 5d27e7e9ae7135f8ba92498e3c4e7f9b77f2f8e3
      https://github.com/openssl/openssl/commit/5d27e7e9ae7135f8ba92498e3c4e7f9b77f2f8e3
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_fifd.h
    M ssl/quic/quic_fifd.c
    M ssl/quic/quic_txp.c
    M test/quic_fifd_test.c

  Log Message:
  -----------
  QUIC FIFD: Ensure QUIC_STREAM is updated after QUIC_SSTREAM loss

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 9caf981237c3e655c18ebef7193153238f2855db
      https://github.com/openssl/openssl/commit/9caf981237c3e655c18ebef7193153238f2855db
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M test/quicfaultstest.c

  Log Message:
  -----------
  QUIC: Update faults test to use streams correctly

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 999e13f40eda5a2ca39d1efb407b96f81d2b9535
      https://github.com/openssl/openssl/commit/999e13f40eda5a2ca39d1efb407b96f81d2b9535
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_channel_local.h
    M ssl/quic/quic_rx_depack.c

  Log Message:
  -----------
  QUIC CHANNEL: Incoming streams implicitly create lower-numbered streams

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 5bd9ddd86e714705840215b8d2bbb0aedc598e96
      https://github.com/openssl/openssl/commit/5bd9ddd86e714705840215b8d2bbb0aedc598e96
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC FC: Modify RXFC to support use for enforcing MAX_STREAMS

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: a6b6ea17376572e3c0227b98f21dedc48215aa9a
      https://github.com/openssl/openssl/commit/a6b6ea17376572e3c0227b98f21dedc48215aa9a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC TXP/CHANNEL: Generate MAX_STREAMS using RXFC

Though the RXFC was designed for stream flow control, its logic
is generic enough to use to control MAX_STREAMS generation.

Control of when _we_ can open streams is already done in a bespoke
fashion and doesn't use a TXFC, however (see
ossl_quic_stream_map_update_state).

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 90cecc406f58b229ffa9c8e8473eaa6924c4a5d5
      https://github.com/openssl/openssl/commit/90cecc406f58b229ffa9c8e8473eaa6924c4a5d5
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_stream_map.c
    M test/quic_txp_test.c

  Log Message:
  -----------
  QUIC RXDP/QSM: Enforce MAX_STREAMS

Also use accept queue popping by the application as the retirement
event, i.e., as the cue to increase the limit.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: b89c81e43b88c48d7cb5ce48665bab6c36ae02ac
      https://github.com/openssl/openssl/commit/b89c81e43b88c48d7cb5ce48665bab6c36ae02ac
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_rx_depack.c
    M ssl/quic/quic_stream_map.c

  Log Message:
  -----------
  QUIC QSM: Handle STOP_SENDING correctly

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 723cbe8a73fe3644bb4d8f20d475e57f44955b54
      https://github.com/openssl/openssl/commit/723cbe8a73fe3644bb4d8f20d475e57f44955b54
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_tserver.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_tserver.c
    M test/helpers/quictestlib.c

  Log Message:
  -----------
  QUIC CHANNEL: Do not copy terminate cause as it is not modified after termination

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: e8b9f63235e82403b7e144ff9a1a3985d44f1c4e
      https://github.com/openssl/openssl/commit/e8b9f63235e82403b7e144ff9a1a3985d44f1c4e
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_stream_map.c
    M test/quic_txp_test.c

  Log Message:
  -----------
  QUIC QSM: Clean up SEND_STREAM/RECV_STREAM handling

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: b6fc2294a1a5bd6053647afea02180147018112b
      https://github.com/openssl/openssl/commit/b6fc2294a1a5bd6053647afea02180147018112b
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_rx_depack.c

  Log Message:
  -----------
  QUIC RXDP: Record STOP_SENDING/RESET_STREAM event AEC codes consistently

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: c3a04ea2fdd073e55b57e70e4f17f3ccbaa8c8a6
      https://github.com/openssl/openssl/commit/c3a04ea2fdd073e55b57e70e4f17f3ccbaa8c8a6
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC DISPATCH/APL: Add SSL_stream_reset and status query APIs

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 9cacba434b027bc6f3a3f3c4255c2453935e5357
      https://github.com/openssl/openssl/commit/9cacba434b027bc6f3a3f3c4255c2453935e5357
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_fifd.h
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_fifd.c
    M ssl/quic/quic_txp.c
    M test/quic_fifd_test.c

  Log Message:
  -----------
  QUIC FIFD: Add support for callback on frame ACK

We need to get acknowledgement notifications for our STOP_SENDING and
STREAM_RESET frames as this information is needed to know when we can
delete a QUIC_STREAM object.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 0847e63ee5d58d824390aadcbcf10281c45900c4
      https://github.com/openssl/openssl/commit/0847e63ee5d58d824390aadcbcf10281c45900c4
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream.h
    M include/internal/quic_stream_map.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_sstream.c
    M ssl/quic/quic_stream_map.c

  Log Message:
  -----------
  QUIC QSM: Stream garbage collection

This allows QUIC_STREAM objects to be deleted when they are no longer
needed.

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 9aaafc26e0f301fe07d7141dc4a575ef9a4eb4d9
      https://github.com/openssl/openssl/commit/9aaafc26e0f301fe07d7141dc4a575ef9a4eb4d9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Send STOP_SENDING/RESET_STREAM when XSO is freed

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 1e4a9d882f77977f518dcad418b05822efb172fe
      https://github.com/openssl/openssl/commit/1e4a9d882f77977f518dcad418b05822efb172fe
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    A doc/man3/SSL_accept_stream.pod
    A doc/man3/SSL_attach_stream.pod
    A doc/man3/SSL_get0_connection.pod
    A doc/man3/SSL_get_conn_close_info.pod
    A doc/man3/SSL_get_stream_id.pod
    A doc/man3/SSL_get_stream_read_state.pod
    A doc/man3/SSL_new_stream.pod
    A doc/man3/SSL_set_incoming_stream_reject_policy.pod
    A doc/man3/SSL_stream_reset.pod
    M util/other.syms

  Log Message:
  -----------
  QUIC MSST: Add documentation for new APIs

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 71e55512631332085f10fd3b02eb351383b230da
      https://github.com/openssl/openssl/commit/71e55512631332085f10fd3b02eb351383b230da
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M crypto/err/openssl.txt
    M doc/build.info
    M include/openssl/sslerr.h
    M ssl/ssl_err.c

  Log Message:
  -----------
  QUIC MSST: make update

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 8b5278942be94b5764b93c0633ea4162685264ac
      https://github.com/openssl/openssl/commit/8b5278942be94b5764b93c0633ea4162685264ac
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_stream_map.c

  Log Message:
  -----------
  QUIC QSM: Minor bugfixes

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 228940168529ba7c10b86934849b19818f79f74e
      https://github.com/openssl/openssl/commit/228940168529ba7c10b86934849b19818f79f74e
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC TSERVER: Handle FINs correctly if ossl_quic_tserver_read is not called first

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: f0e22d1be8a66106932f6f7c069087372ff33789
      https://github.com/openssl/openssl/commit/f0e22d1be8a66106932f6f7c069087372ff33789
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

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

  Log Message:
  -----------
  QUIC TSERVER: Allow STOP_SENDING/RESET_STREAM to be queried

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: acc6fde0d44d22c7fa4578c967aee69c3fbcf350
      https://github.com/openssl/openssl/commit/acc6fde0d44d22c7fa4578c967aee69c3fbcf350
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Fix a bug where incoming unidirectional streams weren't detected

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: ed835673ae5d99cac39d0bef6677597a68d1e248
      https://github.com/openssl/openssl/commit/ed835673ae5d99cac39d0bef6677597a68d1e248
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M test/build.info
    A test/quic_multistream_test.c
    A test/recipes/70-test_quic_multistream.t

  Log Message:
  -----------
  QUIC MSST: Tests

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 571aff4bfaf0407cadba2e304b60c0364684cee5
      https://github.com/openssl/openssl/commit/571aff4bfaf0407cadba2e304b60c0364684cee5
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_fc.h
    M ssl/quic/quic_local.h
    M ssl/ssl_lib.c
    M test/quic_multistream_test.c

  Log Message:
  -----------
  Minor fixups

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 93651dc245353ceda661b55332f0b163c4a3e8e9
      https://github.com/openssl/openssl/commit/93651dc245353ceda661b55332f0b163c4a3e8e9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_record_rx.c

  Log Message:
  -----------
  QUIC QRX: Fix a list usage bug

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 9715e3aacffece002f94725fb2105601111f6fa6
      https://github.com/openssl/openssl/commit/9715e3aacffece002f94725fb2105601111f6fa6
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M test/quic_multistream_test.c

  Log Message:
  -----------
  QUIC MSST: Fix tests on platforms with non-deterministic loopback interface behaviour (Apple)

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 496b8162b6b7048a05809f5e85825ed02dff8a7c
      https://github.com/openssl/openssl/commit/496b8162b6b7048a05809f5e85825ed02dff8a7c
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_accept_stream.pod
    M doc/man3/SSL_attach_stream.pod
    M doc/man3/SSL_free.pod
    M doc/man3/SSL_get_stream_id.pod

  Log Message:
  -----------
  QUIC MSST: Documentation updates

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 22b1a96ff798cf73f4b573bff1d9f80236d3f102
      https://github.com/openssl/openssl/commit/22b1a96ff798cf73f4b573bff1d9f80236d3f102
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/quic_stream_map.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_impl.c
    M ssl/ssl_lib.c

  Log Message:
  -----------
  QUIC MSST: Minor fixes and cleanups

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 59c5c016e53256e949225a2dd751b3450129cd72
      https://github.com/openssl/openssl/commit/59c5c016e53256e949225a2dd751b3450129cd72
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Fix logic of SSL_get_stream_type

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 008a61a544e16d20595731f614b2fbc1d20f793e
      https://github.com/openssl/openssl/commit/008a61a544e16d20595731f614b2fbc1d20f793e
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/refcount.h

  Log Message:
  -----------
  REFCOUNT: Add support for querying refcount

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 9cab4bd52396275338a027c02b3a52fbcede6aa5
      https://github.com/openssl/openssl/commit/9cab4bd52396275338a027c02b3a52fbcede6aa5
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Handle reference for multiple streams counting correctly

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 97f30fd5d84d3409a4720226f61e94b6442fb3c9
      https://github.com/openssl/openssl/commit/97f30fd5d84d3409a4720226f61e94b6442fb3c9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M test/quic_multistream_test.c

  Log Message:
  -----------
  QUIC MSST: Test that SSL_free works in either order

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 433d107a9b2b0250d6806ed6fdc147117637fed5
      https://github.com/openssl/openssl/commit/433d107a9b2b0250d6806ed6fdc147117637fed5
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC APL: Fix a bug where avail could be used uninitialized

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 47238a3d3f87c8381f5c9e013e6fc7c4e0d34557
      https://github.com/openssl/openssl/commit/47238a3d3f87c8381f5c9e013e6fc7c4e0d34557
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_accept_stream.pod
    M doc/man3/SSL_free.pod

  Log Message:
  -----------
  QUIC MSST: Documentation fixes

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 3a61a96c1e43694199f5ec0887d0ad21a4650e3f
      https://github.com/openssl/openssl/commit/3a61a96c1e43694199f5ec0887d0ad21a4650e3f
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC MSST: Clarify default XSO transitions

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 5e125829c01afcc21daad07ac19cf57d1a5ca579
      https://github.com/openssl/openssl/commit/5e125829c01afcc21daad07ac19cf57d1a5ca579
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_attach_stream.pod

  Log Message:
  -----------
  QUIC MSST: Further documentation fixes

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 4f2d32d6b6b4b80ff5f55c5462b545516d252d11
      https://github.com/openssl/openssl/commit/4f2d32d6b6b4b80ff5f55c5462b545516d252d11
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M test/quic_multistream_test.c

  Log Message:
  -----------
  QUIC MSST: Fix test on macOS

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 5fc256cd6b991cf0fb5f7cb1da7be14c7e90653f
      https://github.com/openssl/openssl/commit/5fc256cd6b991cf0fb5f7cb1da7be14c7e90653f
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_accept_stream.pod
    M doc/man3/SSL_attach_stream.pod
    M doc/man3/SSL_get_conn_close_info.pod
    M doc/man3/SSL_get_stream_read_state.pod
    M doc/man3/SSL_set_incoming_stream_reject_policy.pod
    M doc/man3/SSL_stream_reset.pod
    M include/internal/quic_stream_map.h

  Log Message:
  -----------
  QUIC MSST: Documentation fixes

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: bb9b8a333ffaf998e60016819ee1e8c2da58f0fd
      https://github.com/openssl/openssl/commit/bb9b8a333ffaf998e60016819ee1e8c2da58f0fd
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_get_conn_close_info.pod
    M include/openssl/ssl.h.in

  Log Message:
  -----------
  QUIC MSST: Revise SSL_get_conn_close_info API (char)

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 83df44ae53c3c3bb1e79785af38ab52bb4f865cb
      https://github.com/openssl/openssl/commit/83df44ae53c3c3bb1e79785af38ab52bb4f865cb
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/build.info
    M doc/man3/SSL_accept_stream.pod
    M doc/man3/SSL_attach_stream.pod
    A doc/man3/SSL_set_incoming_stream_policy.pod
    R doc/man3/SSL_set_incoming_stream_reject_policy.pod
    M include/internal/quic_ssl.h
    M include/openssl/ssl.h.in
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/ssl_lib.c
    M test/quic_multistream_test.c
    M util/libssl.num
    M util/other.syms

  Log Message:
  -----------
  QUIC MSST: Rename SSL_set_incoming_stream_reject_policy

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 5da3e02c5eaac2bec9c14165d62874b1232213fe
      https://github.com/openssl/openssl/commit/5da3e02c5eaac2bec9c14165d62874b1232213fe
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M include/internal/refcount.h

  Log Message:
  -----------
  QUIC: Fix CRYPTO_GET_REF

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: de521629c1f296a6eb50a84ab2d2b200fc766bc6
      https://github.com/openssl/openssl/commit/de521629c1f296a6eb50a84ab2d2b200fc766bc6
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/build.info
    R doc/man3/SSL_attach_stream.pod
    M doc/man3/SSL_get_stream_id.pod
    A doc/man3/SSL_set_default_stream_mode.pod
    M doc/man3/SSL_set_incoming_stream_policy.pod
    M include/openssl/ssl.h.in
    M ssl/ssl_lib.c
    M test/quic_multistream_test.c
    M util/libssl.num

  Log Message:
  -----------
  QUIC APL: De-publicise SSL_attach_stream/SSL_detach_stream

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


  Commit: 2b5a546ce1960883febc51f5d2a71a8b7c1b3ab9
      https://github.com/openssl/openssl/commit/2b5a546ce1960883febc51f5d2a71a8b7c1b3ab9
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M doc/man3/SSL_set_incoming_stream_policy.pod

  Log Message:
  -----------
  QUIC: Documentation fix

Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Tomas Mraz <tomas at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20765)


Compare: https://github.com/openssl/openssl/compare/e0f1ec3b2ec1...2b5a546ce196


More information about the openssl-commits mailing list