snap: fix race condition With the SNAP out-of-band SCTP connect (WebRTC-Sctp-Snap), the dcSCTP socket is created in DcSctpTransport::Start() but only connected later in MaybeConnectSocket(), once the DTLS transport becomes writable. The DTLS transport can decrypt and deliver an inbound packet as soon as its handshake completes, which precedes writability (set_writable() is deferred until ICE is writable). A packet arriving in that window is delivered to the still-kClosed socket, which rejects it as having an invalid verification tag. End-to-end this is masked by SCTP retransmission, so it only surfaces as an 'invalid verification tag' log line and a one-RTO delay opening the data channel. The dcsctp_transport unit test observes the drop directly via the mock socket. Bug: webrtc:526609852 Change-Id: Iff17f2deb766ae465d68728d613e8c17d046263e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/484720 Reviewed-by: Victor Boivie <boivie@webrtc.org> Reviewed-by: Denise Tell <dct@google.com> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com> Cr-Commit-Position: refs/heads/main@{#48061}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.