build: update WebRTC branch version from 7339 to 7977 (m152) - #249
Conversation
bd02afc to
89de3bd
Compare
|
Rebased onto main after #245 to #248 and removed the hardcoded |
gn emits the api/video utility archives as thin archives on Windows too, via lld-link /lib, and the install tree carries them without their objects. A cold build never notices, since the objects still exist beside the build tree; the first warm run restores the hollow .lib files and lld-link cannot load their members. Re-archive them in regular form with the toolchain librarian, exactly like the Linux path already does. The cache key only hashed the pom, so this fix alone would keep restoring the poisoned install trees, including through the restore key prefix. The key and the prefix now also hash the webrtc CMakeLists, which produces the cached content, so existing entries are invalidated and future build script changes rebuild instead of reusing stale trees.
89de3bd to
dcd5184
Compare
|
The new head should fix the Windows failure: the api/video utility archives are thin archives on Windows too, so the first warm run restored them hollow from the cache. They are re-archived in regular form now, and the cache key also hashes the webrtc CMakeLists so the stale entries are not reused. Rebased onto main as well, so runs from here on carry the #256 test fix. |
Moves the engine from branch-heads/7339 (m140, September 2025) to branch-heads/7977 (m152), the newest branched milestone, and adapts the JNI layer, the build, and the CI. 2,965 upstream commits land in the range; the highlights relevant to this library:
Hardening on the unauthenticated network surface, reachable by anyone who can send packets at a listening agent: dcSCTP out of bounds access parsing SACK gap ack blocks (fd2e7ea6) and state cookie tampering limits (74d5f029); STUN attributes following MESSAGE-INTEGRITY are discarded instead of parsed (1ebeb005), a buffer underflow in GOOG_MISC_INFO parsing (18e3afc4), a use after free and heap exhaustion in the STUN dictionary code (ec367874); unauthenticated TURN responses to unauthenticated requests are discarded (aa54326d).
Session and media fixes: a data channel encryption downgrade via BUNDLE desync in provisional answers (bf633673), a use after free in AllocateSctpSids (13fdb6e8), a data channel ID reuse race (394a597b), a race with use after free potential in Thread::PostTaskImpl (6f74857e). On the media side: an integer overflow in Wayland cursor bitmap validation (7ff59ed9), buffer geometry validation before pixel copies in Wayland capture (125a9d22), a use after free in the ScreenCast and Camera portal D-Bus callbacks (9dde36eb), an audio channel count overflow (fe2da40b), and bounds checks in NetEQ crossfading (ff1be2e8). DTLS 1.3 becomes the default, twelve milestones of BoringSSL rolls ride along, and dcSCTP retransmission gets measurably less wasteful (corrected fast recovery 43845d36, NACKs for acked packets ignored bd0d6998, corrected outstanding data accounting e1373fb8).
The adaptations, in commit order:
Validation: the full six lane CI matrix ran green with this bump on my fork (Linux x86_64 and arm64, macOS x86_64 and arm64, Windows x86_64, and the test suites).