[openssl/openssl] 1b89d8: Fix SSL_pending() and SSL_has_pending() with DTLS

Matt Caswell noreply at github.com
Wed Aug 17 15:44:02 UTC 2022


  Branch: refs/heads/openssl-3.0
  Home:   https://github.com/openssl/openssl
  Commit: 1b89d835ab8a3c3e971049d090b71a52649b1423
      https://github.com/openssl/openssl/commit/1b89d835ab8a3c3e971049d090b71a52649b1423
  Author: Matt Caswell <matt at openssl.org>
  Date:   2022-08-17 (Wed, 17 Aug 2022)

  Changed paths:
    M ssl/record/rec_layer_s3.c
    M ssl/ssl_lib.c

  Log Message:
  -----------
  Fix SSL_pending() and SSL_has_pending() with DTLS

If app data is received before a Finished message in DTLS then we buffer
it to return later. The function SSL_pending() is supposed to tell you
how much processed app data we have already buffered, and SSL_has_pending()
is supposed to tell you if we have any data buffered (whether processed or
not, and whether app data or not).

Neither SSL_pending() or SSL_has_pending() were taking account of this
DTLS specific app data buffer.

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


  Commit: d4b9a613839c07d9dd18d51106f6b94c64291402
      https://github.com/openssl/openssl/commit/d4b9a613839c07d9dd18d51106f6b94c64291402
  Author: Matt Caswell <matt at openssl.org>
  Date:   2022-08-17 (Wed, 17 Aug 2022)

  Changed paths:
    M test/dtlstest.c
    M test/helpers/ssltestlib.c
    M test/helpers/ssltestlib.h

  Log Message:
  -----------
  Test that swapping the first app data record with Finished msg works

If the first app data record arrives before the Finished message we should
be able to buffer it and move on to the Finished message.

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


Compare: https://github.com/openssl/openssl/compare/ba8fd22b358c...d4b9a613839c


More information about the openssl-commits mailing list