dtls-in-stun: Resend last part of handshake when becoming ICE writable. When receiving the STUN_BINDING_RESPONSE on a dtls-client with piggy backing, the DTLS attribute is processed before ICE becomes writable. The DTLS attribut makes DTLS writable...but a last packet needs to be transported or else the server can not receive packets from the client. This patch makes sure that the last packet is sent. Test improvments: - Add FakeIceTransport feature to drop non stun packets unless writable. - Add count of "DTLS retransmission" (maybe also add to stats?) - Add count of DTLS data received by STUN. Bonus: Found Connection.cc propagating DTLS-in-stun attributes *before* the STUN_BINDING_RESPONSE was authenticated. The same attributes were already propagated in the correct place ( Connection::OnConnectionRequestResponse) after the RESPONSE was fully verified. This part lacks unit tests :( But is tested in the integration test using the new counter I added. BUG=webrtc:367395350 Change-Id: I126abdcb062d95389fd5ce1376c212a3634f07a6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/382981 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/main@{#44229}
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.