[openssl/openssl] 2b2b26: threading: Add ossl_crypto_condvar_wait_timeout

Hugo Landau noreply at github.com
Thu Mar 30 10:23:03 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/openssl/openssl
  Commit: 2b2b26788e7e46abb8fb340d49a088184fbc0b9b
      https://github.com/openssl/openssl/commit/2b2b26788e7e46abb8fb340d49a088184fbc0b9b
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/thread/arch/thread_posix.c
    M crypto/thread/arch/thread_win.c
    M include/internal/thread_arch.h
    M include/internal/time.h

  Log Message:
  -----------
  threading: Add ossl_crypto_condvar_wait_timeout

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


  Commit: c019e1efe9b5dbb43c52f516e76b3f535158aaae
      https://github.com/openssl/openssl/commit/c019e1efe9b5dbb43c52f516e76b3f535158aaae
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  QUIC Reactor: Allow a mutex to be released during waits

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


  Commit: fb2245c44b58b41a378eb47422221edd49ba9091
      https://github.com/openssl/openssl/commit/fb2245c44b58b41a378eb47422221edd49ba9091
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  QUIC Channel: Add a mutex

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


  Commit: d7b1faddab2817c6b73f18f84f8ad6cc9d2f563a
      https://github.com/openssl/openssl/commit/d7b1faddab2817c6b73f18f84f8ad6cc9d2f563a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Annotate functions needing locking

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


  Commit: 4847599b54ca3fffe0da21cdccaefd74015d9d67
      https://github.com/openssl/openssl/commit/4847599b54ca3fffe0da21cdccaefd74015d9d67
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 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
    M ssl/quic/quic_local.h

  Log Message:
  -----------
  Move channel mutex out of QUIC_CHANNEL for init/teardown flexibility

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


  Commit: a8489257e69fab643d22932dfa27afb945e78c5a
      https://github.com/openssl/openssl/commit/a8489257e69fab643d22932dfa27afb945e78c5a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Add locking to QUIC front-end

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


  Commit: e053505f0ce1a6d15cbcd42e49dabc844610b65a
      https://github.com/openssl/openssl/commit/e053505f0ce1a6d15cbcd42e49dabc844610b65a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M ssl/quic/quic_tserver.c

  Log Message:
  -----------
  Add mutex to tserver

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


  Commit: 4a530180e5b9921bc3d1b5228d9be96f2a0b4b07
      https://github.com/openssl/openssl/commit/4a530180e5b9921bc3d1b5228d9be96f2a0b4b07
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  Fix handshake locking

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


  Commit: 9f7acf071c363ed8cb5012e122e1e60447b45c78
      https://github.com/openssl/openssl/commit/9f7acf071c363ed8cb5012e122e1e60447b45c78
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  QUIC Thread Assist Core

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


  Commit: f2f7c4f15ab1d8dc36b668877253c0e497da8ca6
      https://github.com/openssl/openssl/commit/f2f7c4f15ab1d8dc36b668877253c0e497da8ca6
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Front End for QUIC Thread Assisted Mode

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


  Commit: ccd31037713ad1cdfd88c85a169bd18b08579813
      https://github.com/openssl/openssl/commit/ccd31037713ad1cdfd88c85a169bd18b08579813
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M include/internal/quic_reactor.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_reactor.c
    M ssl/quic/quic_thread_assist.c
    M ssl/quic/quic_tserver.c

  Log Message:
  -----------
  Add channel-only tick mode and use it for thread assisted mode

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


  Commit: ffce2946c7f59ad14ffeeef16a82bf7f04e8cd9c
      https://github.com/openssl/openssl/commit/ffce2946c7f59ad14ffeeef16a82bf7f04e8cd9c
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Switch to using ossl_crypto_mutex from CRYPTO_RWLOCK

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


  Commit: bbc646e91a2fccf45b0cd2030b2de7f0ef828c58
      https://github.com/openssl/openssl/commit/bbc646e91a2fccf45b0cd2030b2de7f0ef828c58
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M test/quic_tserver_test.c

  Log Message:
  -----------
  Add basic test for thread assisted mode

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


  Commit: 134b79c0568457415bdceba03cb355fd746166fc
      https://github.com/openssl/openssl/commit/134b79c0568457415bdceba03cb355fd746166fc
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  QUIC TXP: Allow caller to determine if an ACK-eliciting packet was sent

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


  Commit: b212d554e70930d8ebe425e535b0c3621b961541
      https://github.com/openssl/openssl/commit/b212d554e70930d8ebe425e535b0c3621b961541
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M include/internal/quic_channel.h
    M include/internal/quic_ssl.h
    M include/internal/quic_tserver.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_tserver.c

  Log Message:
  -----------
  QUIC CHANNEL: Allow time source to be overridden

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


  Commit: 4648eac53385c5e04bd4ec9dcefe04a74d4221c3
      https://github.com/openssl/openssl/commit/4648eac53385c5e04bd4ec9dcefe04a74d4221c3
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M ssl/quic/quic_channel.c

  Log Message:
  -----------
  QUIC CHANNEL: Fix idle timeout handling

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


  Commit: 3b1ab5a3a0a10798ea9a1547b6cb50182edaeb5b
      https://github.com/openssl/openssl/commit/3b1ab5a3a0a10798ea9a1547b6cb50182edaeb5b
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Enhance quic_tserver test to fully test thread assisted mode

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


  Commit: 27c49c06f173ce009a00778206a95dfc81618470
      https://github.com/openssl/openssl/commit/27c49c06f173ce009a00778206a95dfc81618470
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    A doc/designs/quic-design/quic-thread-assist.md

  Log Message:
  -----------
  QUIC Thread Assisted Mode: Add design document

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


  Commit: dbe7b51a8e3c0e20c3412fe4ff8309730a135255
      https://github.com/openssl/openssl/commit/dbe7b51a8e3c0e20c3412fe4ff8309730a135255
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  Minor fixes to thread assisted mode

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


  Commit: 99ed85bba9de5d9983d3796c18e62041d3ce6575
      https://github.com/openssl/openssl/commit/99ed85bba9de5d9983d3796c18e62041d3ce6575
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M test/quic_tserver_test.c

  Log Message:
  -----------
  Avoid races in tserver test code

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


  Commit: 1dd04a0fe2ffc4104db5198543ed0ec5895e9651
      https://github.com/openssl/openssl/commit/1dd04a0fe2ffc4104db5198543ed0ec5895e9651
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/build.info
    M crypto/thread/arch/thread_none.c
    M crypto/thread/arch/thread_posix.c
    M crypto/thread/arch/thread_win.c
    M include/internal/thread_arch.h
    M ssl/quic/quic_thread_assist.c
    M test/quic_tserver_test.c

  Log Message:
  -----------
  QUIC Thread Assisted Mode: Support Windows XP

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


  Commit: c4208a6a983278316c6615980f335f685c0be472
      https://github.com/openssl/openssl/commit/c4208a6a983278316c6615980f335f685c0be472
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M include/internal/quic_thread_assist.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_channel_local.h
    M ssl/quic/quic_local.h
    M ssl/quic/quic_reactor.c
    M ssl/quic/quic_thread_assist.c
    M ssl/quic/quic_tserver.c

  Log Message:
  -----------
  QUIC Thread Assisted Mode: Fix typos and use of CRYPTO_RWLOCK type

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


  Commit: 20f457436d0240f07835e098a6508668da9b02a4
      https://github.com/openssl/openssl/commit/20f457436d0240f07835e098a6508668da9b02a4
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/thread/arch/thread_win.c
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_reactor.c

  Log Message:
  -----------
  QUIC Thread Assisted Mode: Refactor locking to be infallible

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


  Commit: 6c091ca968f4c62744a5161d54f2c2dd89a76993
      https://github.com/openssl/openssl/commit/6c091ca968f4c62744a5161d54f2c2dd89a76993
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/build.info

  Log Message:
  -----------
  Refactor build.info

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


  Commit: 9cf091a3c5f34277dca1cac979c7d632c7236d7b
      https://github.com/openssl/openssl/commit/9cf091a3c5f34277dca1cac979c7d632c7236d7b
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/thread/arch/thread_win.c
    M doc/designs/quic-design/quic-thread-assist.md
    M include/internal/quic_channel.h
    M ssl/quic/quic_channel.c
    M ssl/quic/quic_impl.c
    M ssl/quic/quic_local.h
    M ssl/quic/quic_reactor.c
    M ssl/quic/quic_tserver.c
    M test/quic_tserver_test.c

  Log Message:
  -----------
  QUIC Thread Assisted mode: miscellaneous fixes

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


  Commit: 54b86b7fa313789e7cc79317c692410c8f336660
      https://github.com/openssl/openssl/commit/54b86b7fa313789e7cc79317c692410c8f336660
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M test/quicapitest.c

  Log Message:
  -----------
  QUIC test fix

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


  Commit: 5129e59494cb057bf8f744d7a5d390efa7914c67
      https://github.com/openssl/openssl/commit/5129e59494cb057bf8f744d7a5d390efa7914c67
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M ssl/quic/quic_impl.c

  Log Message:
  -----------
  QUIC: Ensure locking when injecting datagrams

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


  Commit: 652fbb62a3de29f8c9103c66ac2bc27ac44b032a
      https://github.com/openssl/openssl/commit/652fbb62a3de29f8c9103c66ac2bc27ac44b032a
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/thread/build.info
    M ssl/build.info

  Log Message:
  -----------
  Revise build.info

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


  Commit: 712360631ff95b412883fbcd56dd44752d427565
      https://github.com/openssl/openssl/commit/712360631ff95b412883fbcd56dd44752d427565
  Author: Hugo Landau <hlandau at openssl.org>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M crypto/thread/arch.c
    M crypto/thread/internal.c

  Log Message:
  -----------
  Use correct function to wait for condvar

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


Compare: https://github.com/openssl/openssl/compare/b21306b93009...712360631ff9


More information about the openssl-commits mailing list