Skip to content

Comments

**DO NOT CLOSE** Notification V2#2

Draft
coder0107git wants to merge 100 commits intocoder0107git:notification-hackfrom
msft-mirror-aosp:upstream-main
Draft

**DO NOT CLOSE** Notification V2#2
coder0107git wants to merge 100 commits intocoder0107git:notification-hackfrom
msft-mirror-aosp:upstream-main

Conversation

@coder0107git
Copy link
Owner

Hack to get commit notifications. Do not close!!!

DKLoehr and others added 4 commits March 25, 2025 15:20
Clang has added a new warning for virtual specifiers on methods of
`final` classes. This cleans them up in preparation for enabling that
warning.

Bug: chromium:403236787
Change-Id: I1bb144494028f674d0de409a65412af1f084b56c
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6391658
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Currently, Chromium openscreen builders are failing for timeout
since remote execution is disabled.
https://ci.chromium.org/ui/p/openscreen/builders/try/chromium_linux_x64/b8719177567471980433/overview

Those builders need to switch from Ninja to Siso.
The new properties are necessary for the migration.

Bug: 379584977
Change-Id: I52f42dcc247a70cf609e0fcfd6c916ed914ba531
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6436889
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
This patch resolves a longish standing TODO to move the statistics
generation code out of the Sender class and into its own, unit tested
class. This class is called StatisticsDispatcher.

Bug: 298277160
Change-Id: I755beb6c4222f65a94a9b5503a708c431e52bc1b
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6398046
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
The chromium builders don't use Reclient anymore.

Bug: 379584977
Change-Id: I2071ea6c93c3af80e19a82dfd93ddf25fbbf5725
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6439985
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
@coder0107git coder0107git mentioned this pull request Apr 9, 2025
DKLoehr and others added 25 commits April 16, 2025 16:57
Clang maps -Wall (or /Wall) to -Weverything on windows, so it causes
low-value warnings to trigger during out build. Instead, we should
use /W4, which corresponds to gcc's `-Wall -Wextra`.

Bug: chromium:410803303
Change-Id: Id512338bf412794e4b7278e7b6332bc44fe74305
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6457698
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
This patch improves error messaging around certificate loading,
especially private keys.

Change-Id: I5c00b44a9bed04ec51826d78805b0cb29f90e855
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6473163
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
See comment on https://chromium-review.googlesource.com/c/openscreen/+/6457698

This config mostly exists to disable -Wshadow for one cc file.

Instead, just build that one file as no_chromium_code.

No effective behavior change.

Bug: chromium:410803303
Change-Id: I952057f0a31f0a150926c55e65fd6ade89b93807
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6483407
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
This patch fixes a critical infra failure where the build is
currently broken due to a minor speed improvement made to the clang
update script.

This patch rolls the build and buildtools submodules as well as updates
the clang update download script to pull a specific version of the
update script, to avoid breaking changes like this in the future.

Change-Id: I975ecaf1667cf03c57ac3f7bd15314b1c54281a9
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6544748
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This patch updates the platform implementation to not subscribe
to wait events for UDP sockets. It is part of a larger cleanup
to improve the amount of time spent in loops in the platform
implementation.

Change-Id: Ib09474a1ee05629770acd6b2d7893276bb965e79
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6539456
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This patch optimizes a check for Writable handles,
ensuring that we don't pass a handle to the write
argument for select() if we don't have anything to
write. This lowers the amount of cycles spent
polling the select loop.

This is a not-insignificant change, involving updating
the SocketHandleWaiter interface and its subscribers to
allow the waiter to poll for whether the socket has pending
write events or not.

Change-Id: Icbd38a67fbc1fa4856f9605d6306971568dcca5e
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6556928
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This also requires a change in chromium/src.

Bug: b:374199735
Change-Id: I76bc61259d939ff8c87aba84650f228de92c5c2e
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6533602
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Antonio Rivera <antoniori@google.com>
Also updated protobuf revision to match the current version.


Bug: 421988683, 421989590, 421989329, 421989630, 421989709, 421988806, 421989809, 421988937
Change-Id: I45e3cbc029bee0f5f04e2fb0c8f76c9415b7eeba
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6768426
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Brown <rop@google.com>
takumif@ is no longer on the team.

Change-Id: Ie42bf4e833253c12346e43434457c60a87e2b9f6
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6882217
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Takumi Fujimoto <takumif@chromium.org>
Python3 is used by default in recipes now and this config is not
necessary anymore.

Bug: 440235171
Change-Id: I89d420b8481fe5af08704939f74033226fd511ba
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6888255
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Bug: None
Change-Id: I6dc21fff88a8e61806e98defb5178ce4bd8bcc3a
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6896306
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Not needed and deprecated [0]. This CL should be a no-op.

[0]: https://chromium.googlesource.com/external/github.com/google/googletest.git/+/a05c0915074bcd1b82f232e081da9bb6c205c28d/googlemock/include/gmock/gmock-actions.h#2046

Bug: chromium:439838457
Test: `openscreen_unittests` in Chromium
Change-Id: I73446be5df46235049139edde087dfa17f7ded15
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6897917
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Not needed and deprecated [0]. This CL should be a no-op.

[0]: https://chromium.googlesource.com/external/github.com/google/googletest.git/+/a05c0915074bcd1b82f232e081da9bb6c205c28d/googlemock/include/gmock/gmock-actions.h#2046

Bug: chromium:439838457
Test: `openscreen_unittests` in Chromium
Change-Id: Ib4ef3f314a6b0348ac276c7145b5f5862b09853c
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6897919
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Not needed and deprecated [0]. This CL should be a no-op.

[0]: https://chromium.googlesource.com/external/github.com/google/googletest.git/+/a05c0915074bcd1b82f232e081da9bb6c205c28d/googlemock/include/gmock/gmock-actions.h#2046

Bug: chromium:439838457
Test: `openscreen_unittests` in Chromium
Change-Id: If131ba9ea908a1f2918dc9e712821341714a35a1
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6897920
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/b514bdc898e2..eb2d85edd0bf

$ git log b514bdc89..eb2d85edd --date=short --no-merges --format='%ad %ae %s'
2025-08-24 absl-team Remove unused syslog dependency for Fuchsia.
2025-08-19 absl-team Internal header include changes.
2025-08-16 absl-team Deprecate single-argument DoAll and Invoke.
2025-08-11 absl-team Update the document in typed tests to use using-declaration instead of typedef
2025-07-28 absl-team Provide a better error message when ASSERT and SKIP macros are used in methods that return values
2025-07-23 absl-team Skip the predicate on SIGSEGV in death-test on Android builds with API level <= 23.
2025-07-18 absl-team Fix the sample usage of `ConvertGenerator` by removing the type-id name.
2025-07-12 absl-team Automated Code Change
2025-07-04 absl-team Replace internal link in GoogleTest docs
2025-06-27 pizzud gtest: Reword fail_if_no_test_selected_message for sharding and filtering.
2025-06-24 absl-team Add documentation for exception matchers.
2025-06-13 absl-team Although the following paragraph explains there is a better solution, having this technique in the bullet point seems to suggest that this technique is considered as a valid alternative. It would be better to drop it or make it clear that this technique is not recommended.
2025-06-12 absl-team Add UnpackStructImpl for structs with 24, 25 and 26 fields.
2025-06-11 joel.langlois README.md: Fixed broken Markdown link formatting.
2025-06-10 absl-team Automated Code Change
2025-06-09 absl-team In MatcherCast, store the input value as its own type rather than as the Matcher type, to avoid dangling references
2025-06-09 pizzud googletest: Add a flag to fail if no tests were selected to run.
2025-06-05 absl-team Remove "blindly" from the gmock "uninteresting call" message.
2025-05-30 absl-team Fix unified diff headers.
2025-05-30 absl-team Use the provided length in ConditionalPrintAsText
2025-05-25 nextgen.gubka Fix extra ';' after member function definition
2025-05-22 absl-team Updates Google Analytics tracker.
2025-05-22 dcheng Print std::basic_string_view<Char> as a string literal
2025-05-20 dmauro Delete the absl polyfill support for std::any, std::optional and std::variant now that the absl types are aliases of the std types
2025-05-19 absl-team Add UnpackStructImpl specialization for 23 struct members.
2025-05-19 absl-team Use static_cast instead of ImplicitCast_ for character conversions
2025-05-15 dmauro GoogleTest CI Update
2025-05-13 mkruskal Add [[nodiscard]] to GetParam() to prevent accidental misuse.
2025-05-12 absl-team Clarify that the return value of `InvokeArgument` is not the return value of the action.
2025-05-01 absl-team gtest: Remove incorrect documentation of private headers as PIMPL idiom
2025-04-30 dmauro Update documentation for v1.17.0
2025-04-30 dmauro Update GoogleTest dependencies in preparation for release
2025-04-29 lar Use std::memcpy instead of a union to access floating point bits.
2025-04-29 dmauro Fix GCC15 warning that <ciso646> is deprecated in C++17
2025-04-23 absl-team AllOf, AnyOf, Optional: Avoid generating unnecessary match explanations
2025-04-17 dmauro Bump RE2 dependency to 2024-07-02.bcr.1
2025-04-09 jacobsa `gmock-actions`: add a missing conversion operator to `WithArgsAction`.
2025-04-09 jacobsa `gmock-actions`: run clang-format.
2025-03-26 durandal Remove obsolete references to LinuxThreads.
2025-03-21 absl-team Add UnpackStructImpl for structs with 22 fields.
2025-03-21 ototot Fix a typo
2025-03-20 absl-team Add a non-'const' overload for the function invoked by the IgnoreArgs action wrapper.
2025-03-18 wan Improve the failure messages of `ElementsAre()`, `ElementsAreArray()`, etc.
2025-03-11 wan Clarify the polymorphic matcher concept and explain how to define a composite matcher.
2025-03-11 wan Allow `DistanceFrom()` to use user-defined `abs()` by default.
2025-03-07 wan Add a `DistanceFrom()` matcher for general distance comparison.
2025-03-04 absl-team Add a `testing::ConvertGenerator` overload that accepts a converting functor. This allows the use of classes that do not have a converting ctor to the desired type.
2025-02-28 dmauro Try to warn the user when test filters do not match any tests
2025-02-27 pizzud googletest: Add testonly alias of :gtest for testonly cc_libraries to use.
2025-02-27 absl-team Add UnpackStructImpl for structs with 21 fields.
2025-02-26 dmauro Output to the test warning file if no tests are linked.
2025-02-24 wan Adds support for a --gtest_fail_if_no_test_linked flag to fail the test program if no test case is linked in (a common programmer mistake).
2025-02-21 dmauro GoogleTest C++17 cleanups   * Use `[[nodiscard]]` instead of GTEST_MUST_USE_RESULT_   * Use `[[maybe_unused]]` instead of  GTEST_INTERNAL_ATTRIBUTE_MAYBE_UNUSED   * Use `[[deprecated]]` instead of `GTEST_INTERNAL_DEPRECATED`   * Remove `GTEST_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL`
2025-02-17 jmr Property: Promote note to warning
2025-02-12 dmauro Require C++17
2025-02-10 absl-team Add SaveArgByMove
2025-02-07 dmauro Update docs for v1.16.x branch
2025-02-06 dmauro Update GoogleTest deps in preparation for release
2025-02-06 dmauro Remove empty glob pattern, which is now an error.
2025-01-31 absl-team Pull Regexp syntax out of Death test section in advanced.md
2025-01-31 absl-team Fix extended regular expressions reference URL in advanced.md
2025-01-30 absl-team Export testsuite properties as XML elements, not attributes.
2025-01-16 absl-team Cast mutable lvalue references to const from testing::ResultOf
2025-01-15 absl-team Enable safe matcher casts from `Matcher<const T&>` to `Matcher<T>`.
2025-01-10 hector.dearman Default to color output for ghostty
2025-01-09 absl-team Document unexpected interaction with death test error code and gmock.
2025-01-08 absl-team Add UnpackStructImpl for structs with 20 fields.
2024-12-26 absl-team gtest: Output a canned test case for test suite setup / teardown failures in XML/JSON
2024-12-23 absl-team Put the fake Fuchsia SDK in a module extension
2024-12-16 absl-team the public version already has the const qualifier
2024-12-11 absl-team Update the links to ISTQB glossary.
2024-12-10 absl-team Add support for printing C++20 std::*_ordering types to gtest. Adds feature test macro for C++20 <compare> header, a pretty-printer, and tests. Inexplicably, these types aren't enums, so can't be handled with a switch.
2024-11-15 andy.soffer Fix documentation bug.
2024-11-04 absl-team Fixing a typo in the documentation of IsSubsetOf().
2024-10-31 absl-team Remove mention of using `ASSERT_...` statements inside custom matcher definitions.
2024-10-27 pbos Use FAIL() in GTEST_SKIP() documentation
2024-10-16 absl-team Avoid creating std::vector<const T> in UnorderedElementsAreArrayMatcher and others.
2024-10-14 absl-team This change adjusts how `ASSERT_NEAR` and `EXPECT_NEAR` treats infinity, such that `ASSERT_NEAR(inf, inf, 0)` passes. This makes the behavior more consistent with `ASSERT_EQ(inf, inf)` which succeeds.
2024-10-04 absl-team Automated Code Change
2024-10-01 absl-team Optional(): Add support for std::optional<>-like types lacking bool conversion.
2024-09-16 absl-team Use matcher's description in AnyOf when matcher has no explanation.
2024-08-29 absl-team Automated Code Change
2024-08-01 dmauro Update main to point to 1.15.2 patch release
2024-07-30 dmauro Remove auto-detection of Python toolchain from MODULE.bazel since it affects downstream users
2024-07-30 absl-team Directly include `gmock.h` and `gtest.h` in gmock-matchers tests.
2024-07-24 absl-team Use matcher's description in AllOf if matcher has no explanation.
2024-07-23 jacobsa gmock-actions: make DoAll convert to OnceAction via custom conversions.
2024-07-23 jacobsa Run clang-format.
2024-07-20 dmauro Change the Bazel build to use the canonical repo names used by Bzlmod and the Bazel Central Registry
2024-07-16 dmauro Update GoogleTest Bazel quickstart for Bzlmod
2024-07-16 dmauro Update main branch to reflect the release of 1.15.0
2024-07-16 absl-team Use matcher's description in AllOf if matcher has no explanation.
2024-07-15 absl-team Use matcher's description in AllOf if matcher has no explanation.

Created with:
  roll-dep third_party/googletest/src

Change-Id: I8352afc32791030187946292a2f5aca6fcc8a05a
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6897921
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Bug: 40249958
Change-Id: I44cac4484c5172f71f96699b6dc9e41e632f5fd8
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6909331
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
…6e8a8acb91a

This picks up a couple *years* worth of BoringSSL changes. The main
relevant change here is that generate_build_files.py is no longer
needed! Everything it generated is now checked in BoringSSL proper,
including a GN source list.

$ git log 8d19c850d..26e8a8acb --date=short --no-merges --format='%ad %ae %s'
2025-08-22 davidben bssl-crypto: Fix Ed25519 SPKI parser to check key types
2025-07-09 agl Add a jitter entropy source.
2025-08-15 davidben Set an EVP_PKEY's algorithm and data together
2025-08-15 davidben Make some more half-empty EVP_PKEY states impossible
2025-08-14 davidben Limit EVP_PKEY_set_type to EVP_PKEY_X25519
2025-08-19 davidben Add a test that arbitrary curves can be wrapped in EVP_PKEY
2025-08-15 davidben Stop tracking an ENGINE in EVP_PKEY_CTX
2025-08-13 davidben Rename EVP_PKEY_METHOD to EVP_PKEY_CTX_METHOD
2025-08-15 davidben Pull the EC_GROUP_new_by_curve_name up into EVP_PKEY_CTX_set_ec_paramgen_curve_nid
2025-08-16 davidben Split evp_tests.txt into separate files
2025-08-16 davidben Add a test for SPKI and PKCS8 parsing with unknown algorithms
2025-08-20 chlily Fix markdown syntax in BUILDING.md
2025-08-17 davidben Test async BIO_flush and fix a corner case
2025-08-15 davidben Rename EVP_R_EXPECTING_AN_EC_KEY_KEY to match OpenSSL
2025-08-16 davidben Document the generators for all the MODP groups
2025-08-15 davidben Remove an old, impractical TODO
2025-08-15 davidben Say a bit more in docs about how to use EVP_PKEY_CTX
2025-08-18 davidben Bump version for BCR
2025-08-15 davidben Run through more code in PKCS#8 and SPKI parsers
2025-08-18 davidben Fix typo in comment
2025-08-17 davidben runner: Remove need for an AllCurves value
2025-08-14 davidben Remove redundant copy of EVP_PKEY type
2025-08-15 davidben Remove EVP_PKEY_print_* support for DSA
2025-08-15 davidben Don't support parameterless DSA keys in SPKIs
2025-08-15 davidben Add a couple more no-op compatibility functions
2025-08-14 davidben More consistently reset EVP_PKEYs in free_it
2025-08-14 davidben Unexport the Kyber implementation
2025-08-14 davidben Deprecate EVP_PKEY_set_type
2025-08-14 davidben Fix reference to public key in evp.h docs
2025-08-13 ellyjones pki: add PEMDecode and PEMDecodeSingle
2025-06-17 agl Switch to using a derivation function in CTR-DRBG.
2025-08-13 ellyjones pki: allow span<string_view> for allowed types in PEMTokenizer
2025-08-13 chlily Style guide: mention placement of & for reference types
2025-08-12 davidben Update releasing docs slightly
2025-08-12 chlily Implement MLKEM1024 for TLS
2025-08-06 agl delocate: support 4-bit tweak immediates for AArch64.
2025-08-08 davidben Add a discussion about callbacks to API Conventions
2025-06-17 agl Don't run CTR-DRBG in Kyber tests.
2025-08-07 agl Link to ACVP results for 20250728.
2025-08-07 davidben Bump Bazel deps and version for BCR
2025-08-05 chlily Expand BCM abbreviation in the FIPS.md documentation
2025-08-04 chlily Add IWYU export in nid.h file generated by objects.go
2025-08-04 chlily Fix documentation typo
2025-08-04 chlily Revert Rust config for 32-bit Linux CI/CQ bots
2025-08-04 chlily Run Rust recipe steps on Mac CI/CQ builders and 32-bit Linux
2025-07-31 chlily Run Rust recipe steps on "win64_rel" builder
2025-07-31 chlily Make Windows Rust try builder use a Release build
2025-07-29 chlily Add a default-off win64_rust try builder for testing
2025-07-28 chlily Run Rust recipe steps on "linux" builder
2025-07-28 agl Fix FIPS version number comment.
(...)
2023-09-01 alex.gaynor Return the correct value in EVP_CIPHER_CTX_iv_length after EVP_CTRL_AEAD_SET_IVLEN
2023-06-01 yukl Add X25519 bindings for bssl-crypto
2023-06-01 yukl Add ecdh and P256 bindings to bssl-crypto
2023-09-01 davidben Update the warnings on split handshakes and handshake hints
2023-09-01 davidben runner: Check that the shim HRRs echo the session ID
2023-09-01 davidben Reland "Build with C11 on MSVC in the standalone Bazel build"
2023-08-31 yukl Fix cargo clippy and fmt
2023-08-17 scw delocate: accept more directive expressions
2023-08-29 davidben Initialize libunwind cursors from the signal handler's ucontext_t
2023-08-24 davidben Remove another decltype(fclose)
2023-08-28 davidben Save trampoline state in unwind tests more straightforwardly
2023-08-29 davidben Explicitly mark saved registers with .cfi_restore
2023-08-28 bbe Remove undesired OPENSSL_EXPORT's in non-library code
2023-08-28 davidben Fix RBP-based unwind in fiat assembly
2023-08-28 bbe Remove another OPENSSL_EXPORT in an enum
2023-08-24 davidben Silence warn_unused_result warning on write() call
2023-08-25 bbe Remove OPENSSL_EXPORT from enum in fillins/net_errors.h
2023-08-25 bbe Ensure OPENSSL_EXPORT is only on the class not methods.
2023-08-24 bbe Add pki file lists to generated gn build files
2023-06-05 nwadih Add Rust bindings to AES_CTR through EVP_* cipher API's
2023-08-24 davidben Export CBS/CBB unicode functions
2023-08-24 bbe rename fillins/string_util.h because gn is special
2023-08-24 bbe rename fillins/base64.c to handle gn being special
2023-08-24 davidben Also suppress OPENSSL_LINUX for nanolibc
2023-08-24 davidben Add BN_bn2lebinpad and BN_lebin2bn
2023-08-17 davidben Use a callable type for ScopedFILE in settings_writer.cc
2023-06-02 nwadih Add Rust bindings to AES-GCM through the EVP_AEAD_* APIs
2023-08-18 davidben Deduplicate the three copies of OBJ_cmp
2023-08-17 bbe Remove header file accidentally added to sources.cmake
2023-08-17 bbe Sync pki to chromium d740199e083b70d13506973c6f479f0b01165a05
2023-07-25 bbe Move the fuzzers into the fuzz directory and make them build.
2023-08-16 davidben Fix typo in .size directives for aesni_gcm_encrypt
2023-08-16 bbe Hook in ocsp into libpki, and run the ocsp unit tests.
2023-08-16 bbe Update pki to chromium cf9a08ff8be3a3f2d5b13693cc13ef22ab7ee618
2023-08-16 bbe Make a BSSL_CHECK that always aborts
2023-05-19 nwadih Add rust bindings to AES-GCM-SIV through the EVP_AEAD_* API's
2023-08-14 davidben Add EVP_HPKE_KEY_move
2023-08-11 davidben Default to q = (p-1)/2 for DH keygen
2023-08-15 davidben Remove the CRYPTO_is_*_capable_at_runtime indirection
2023-08-14 davidben Select SHA-256 vs SHA-512 explicitly in perlasm
2023-08-14 davidben Hash-to-curve is now RFC 9380
2023-08-14 bbe Add the rest of the new test data files to sources.cmake
2023-08-11 davidben Align DH keygen with NIST's formulation when q is available
2023-08-14 bbe add missing test file to sources.cmake
2023-07-27 davidben Consistently reject large p and large q in DH
2023-08-14 bbe use <errno.h> instead of <sys/errno.h>
2023-08-11 davidben Document and test DH_generate_key's weird key reuse behavior
2023-08-14 bbe Sync pki to chromium 8049b24a3fa617e66c5d3fc0e9322bb07c500f49
2023-07-31 bbe Add a basic sanity test for getentropy() if we are using it.
2023-07-20 yich Add ChromeOS EC related targets

Created with:
  roll-dep third_party/boringssl/src

Change-Id: Ibfb51bca122dc6ed2cffa76fe1d2a79e4a1e47fe
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6881127
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Bug: 391445226
Change-Id: I16ee2a97fb106d2e2560991cd1bfbe92913949fa
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6917871
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Taesun Yeoum <taesuny@google.com>
My local mac compiler is complaining about incorrect semicolon
usage in the standalone sender code. This patch fixes the build
by removing the extraneous semicolons.

Change-Id: I87d33e48c59906fce203dfeacb37ab8cf57e1262
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7007553
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This patch cleans up the statistics defines file,
changing the name to statistics common to more accurately
represent its contents, and more tightly grouping related
types and classes into the StatisticsEvent struct.

This is helpful for the upcoming receiver statistics implementation.

Bug: 448199360
Change-Id: I5bc6ee380b52c10fbe839de12844ba1b03eb58c9
Bypass-Check-License: moved a file.
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7008996
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This patch significantly refactors the ClockOffsetEstimator to improve
the accuracy and stability of its network latency and clock offset
estimations. The previous implementation used a simple weighted moving
average, which was susceptible to jitter and slow to adapt to changing
network conditions.

The core of this change is the introduction of a 1D Kalman filter.
This allows the estimator to:
- More effectively smooth out network jitter, providing a more stable
  latency estimate.
- Converge more quickly and accurately to the true latency and offset,
  even in the presence of noise.
- Better track clock drift over time.

To validate this new design, the unit test suite for the
ClockOffsetEstimator has been greatly expanded to cover a wide range
of realistic and challenging network scenarios, including:
- High network jitter
- Continuous clock drift
- Bursty packet loss
- Sudden, large latency spikes
- A mix of audio and video media streams

Additionally, a new general-purpose Gmock matcher, `EqualsDuration`,
has been added to `testing/util` to provide more readable error
messages for std::chrono::duration types in unit tests.

Bug: b:448199360


Merge branch 'refactor-event' into clock_offset_estimator_refactor


WIP refactor

Change-Id: I7a3df074a7e421b051191dcbc9503a2b31dd6fea
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7007555
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Replaces the ClockDriftSmoother's weighted-average logic with a more
robust exponential moving average (EMA) filter. This provides more
stable and predictable smoothing of the clock offset.

This change also includes:
- A new, comprehensive unit test suite for the ClockDriftSmoother.
- A change to `ClockDriftSmoother::Current()` to return `std::optional`
  to make the uninitialized state explicit and improve call-site safety.
- A new `ExpectDurationNear` test helper to simplify duration
  comparisons in tests, replacing the more verbose `EXPECT_THAT` with
  `EqualsDuration`.

The `receiver.cc` implementation is updated to safely handle the
optional return value from the smoother.

Bug: 298085631
Change-Id: I9ae5816c6a6586bed99774a5b3ce21bd01f888be
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7032428
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
I recently installed Open Screen on my new laptop and wanted to update the
build instructions.

Change-Id: I9a77a15125d815ef7a3a1a9820ae15020876fe26
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7083713
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Chromium has been building openscreen with C++20 for years now, this
looks like a leftover.

Bug: 388070065
Change-Id: Id03507d446d3dfccb4aa184a4fe4431daf978978
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7124721
Commit-Queue: Victor Vianna <victorvianna@google.com>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Context in the linked bug. See also https://crrev.com/c/7123796
for the recipe-side change.

Bug: 458361503
Change-Id: I986d780ffe35ed0f8c975de63de85eb16cdba4b8
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7128379
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
baylesj and others added 29 commits December 29, 2025 12:19
Change-Id: If523bfaf5a14ad373d07dfd3df0fc07e2b129e5b
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331034
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Now that we are on C++20, we don't need our own span implementation,
since std::span is plenty adequate.

Bug: 364687926
Change-Id: Iba30e2fadddb82cca47670146b5103ed9f1369a8
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7353607
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
The file uses std::back_inserter, so it must include <iterator>.
https://source.chromium.org/chromium/chromium/src/+/main:third_party/openscreen/src/tools/cddl/parse.cc;l=218;drc=6b69ff0c0eb4ac177ea2971088e756b6be3391b2

Change-Id: Ic606bd8f37107cd665f259d30062189ade9ebc66
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7380094
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This relatively large patch is a pile of C++17 and C++20
modernizations, mostly found by searching C(xx|\+\+)\d\d in the
code base and making reasonable adjustments for modern standards.

It could probably be split up more but since it's cleanup only it's
bundled a little bit aggressively.

Bug: 364687926
Change-Id: Ifad4414a7da47879d27ddabe5bb1e8b8fa632416
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7364388
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
The file uses std::all_of, so it must include <algorithm>

Bug: 472445608
Change-Id: Ic72cbc86afe63f83e04499f6ffbcbb5498cfd154
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7368614
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This patch applies some code review feedback from
the "Improve the docs!!" patch submitted here:

https://chromium-review.googlesource.com/c/openscreen/+/7306838

Bug: 471093169
Change-Id: I5b9f11b0d0886cc09490de5525633d6b094c7dbc
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7400634
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
This patch adds support for DSCP to the Cast Streaming project,
including both the standalone sender and receiver.

Bug: 472512389

Change-Id: Icb7c835d7f41cb3cb02fffb7656fc659560b3900
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331033
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
chromium-reclient-metrics has been deprecated.

Bug: 446561233
Change-Id: I6c0d2b72ddcee74546c78f8db04376f46bb2779e
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7413837
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Junji Watanabe <jwata@google.com>
Since we have had our headers for public cast streaming dependencies
moved to the public/ subfolder for about a year now, it should hopefully
be safe to delete the forwards.

Bug: 154090565
Change-Id: I8d34e4f02c6bad21733c7ef6a226629465f89d19
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7417697
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Cleans up the googletest BUILD.gn and removes an unnecessary compile
flag that allows for using MOCK_METHODx macros without specifying
override correctly.

Updates various unit tests and mock classes to use the new MOCK_METHOD
macro syntax from Google Mock, replacing legacy MOCK_METHODn macros.
Also adds the 'override' specifier to mock methods that override virtual
functions, ensuring consistency and enabling compiler checks.

Change-Id: I9d00813b7ba48a235679ae6696ab045b2d3feba3
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7458432
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Bug: 460542206
Change-Id: I3b4f806f475485ec77011ef3959de8a6d648552b
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7455833
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Bug: 460543990
Change-Id: I1e2cbfde5c0062d0188c42f0c808d602ae5de0ac
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7455834
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Adheres to the Open Screen style guide by replacing explicit ToString()
calls with operator<< overloads for the following classes:
- Location
- ServiceInfo
- TraceEvent
- SenderStats
- SimpleHistogram

Also cleans up redundant ToString() calls on Error and IPEndpoint objects
in logging statements.

Bug: 155487640
Change-Id: I260770649b892846a21c6a6bd98866ae79a865b3
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7468100
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
This CL is part of number of CLs disabling `-Wexit-time-destructors`in
places where this warning is going off. This will allow having this
warning enabled-by-default across the codebase, whilst documenting the
places where corrections for this warning are necessary.

Bug: 40031409
Change-Id: I18ea672daa006774a8ebfb80aecaebb38c5566f3
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/6819693
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Currently, the `linux_arm64_cast_receiver` bot fails on run because
we don't have SDL2 (and probably still FFmpeg) built on the bot.

These dependencies are technically optional, since they are only
required to decode frames on the receiver.

We should be able to have more primitive end to end tests just
with encoded frames coming from the sender, which should hopefully
unblock this bot while we have larger discussions around the future
of end to end testing for libcast.

Bug: 337080120
Change-Id: I40f53ca8d8c3ff35811bfe142015ad8c63bb17ef
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7488131
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
These are versioned by their revision, which should be updated
when the library is autorolled, but the README is still expected
to set the version field for now.

Bug: 460542206, 460543990
Change-Id: I7051f28b1231b47a112fc1d31be979a53d289878
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7487621
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Rachael Newitt <renewitt@google.com>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Change-Id: Id5274f386aa8f3167476cc07fc333d582d486346
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7283925
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Taesun Yeoum <taesuny@google.com>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Change-Id: Iac6139277a2052702d76e2053d3b61ab70f5db57
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7517644
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
This CL sets the Update Mechanism to Manual in README files.

Bug: 445311061
Change-Id: I2fa7318dcbf637f6d4452af7a95ea7815f66e406
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7509849
Owners-Override: Jordan Brown <rop@google.com>
Reviewed-by: Jiewei Qian <qjw@chromium.org>
Reviewed-by: Rachael Newitt <renewitt@google.com>
Commit-Queue: Jordan Brown <rop@google.com>
This patch is the initial implementation of trace flow support
in libcast. Currently libcast does not implement Perfetto support
directly, but integrates with Perfetto if the embedder uses it,
and flows are a powerful way to improve tracing in Perfetto.

Bug: 479316209
Change-Id: I5ced0b3f07eee79d1fdfc0072af89c59726e7f56
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7528628
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Change-Id: Id2d74f1a077d2d40eaa6b8beed497fe663a3f804
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7331214
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Change-Id: Ieaac7c192590cfa0de2800618e4cbae7c0bf4fe2
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7301262
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
The cast_receiver tool was crashing when invoked with the -g flag
(generate-credentials) because it was unconditionally checking for a
mandatory interface argument. This check is only relevant when running
the actual service, not when generating credentials.

This CL updates ParseArgs to only enforce the interface name requirement
when credential generation is not requested.

Change-Id: Ideb4b4b30d1e414e75011db8238d58e0683eabd2
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7550050
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Ignores SIGPIPE in standalone sender/receiver to prevent crashes on network teardown. Handles SIGHUP in TaskRunner to allow graceful shutdown on terminal disconnect.

Change-Id: Ibd975051fea4642985670aac4613d4e46c201da8
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7549473
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Previously, I assumed that we needed to connect to Bonjour on macOS to
do discovery. Turns out, that not true, and only a minor adjust to how
we join a multicast group on macOS is necessary.

Using IP_ADD_MEMBERSHIP previously failed because macOS ignores the
imr_ifindex field in struct ip_mreqn when the address is INADDR_ANY.

This CL updates UdpSocketPosix::JoinMulticastGroup to explicitly look up
the interface's IPv4 address and use it for the membership request on
Apple platforms.

Also includes:
- Removal of outdated comments in standalone_receiver claiming mDNS incompatibility.

Change-Id: If745a89dc756ce57bf3e5576be4a1371571b89c2
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7550051
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Refactors TestNoCancelationFlow and TestNoCancelationOnUnrelatedMessages to be resilient to random initial probe delays (0-250ms).
Previously, when the initial delay was 0, the first clock advance of 250ms would trigger two probes instead of one, causing expectation failures.
The tests now verify the total number of probe packets and final success state over a sufficient duration.

Bug: 243611087
Change-Id: Icffdad147d87fce39740a4eb20bee6ea02b5650a
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7547580
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
This patch spanifies the IPAddress class and related usages, with
general C++20 modernization of this class.

Change-Id: Icaf78c4cf92d0059878ec07b74354cc7fc9016ce
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7540873
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
This patch adds Perfetto support to Open Screen, and the standalone
cast sender and receiver binaries. This should help make diagnosing
issues with Cast and other components easier.

With this patch, you can now run Open Screen binaries, such as the
Cast standalone sender and receiver, with Perfetto enabled by passing
the `-P` or `--perfetto` flag. A pftrace file is automatically generated
upon application exit that can be loaded in the Perfetto UI.

Bug: 479649464
Change-Id: I45e44017a88cf5b8ef95fe894a417b01d34c4d85
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7530400
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Adds a new `INPUT` message type to the Cast Streaming protocol to
support sending input events (touch, mouse, key) from receiver to
sender.

*   Adds `cast/streaming/input.proto` defining `InputMessage` and `InputEvent`.
*   Updates Sender/Receiver message handling to parse/serialize `INPUT` messages.
*   Adds `SendInputMessage` to `SessionMessenger`.
*   Negotiates support via `rtp_extensions` ("input_events") in the OFFER/ANSWER.
*   Updates documentation and JSON schema.

Bug: 482442349
Change-Id: I19d631f10eb70bc3e5c47a1197e7ec338fcb7eeb
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7553176
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Muyao Xu <muyaoxu@google.com>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
@coder0107git
Copy link
Owner Author

Synced changes from upstream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.