There is a suspicion that it causes OpenSSL errors:
[openssl_stream_adapter.cc(961)]
OpenSSLStreamAdapter::Error(SSL_write, 5, 0)
This commit does change the interaction with OpenSSL as propagating the
socket write errors as SR_BLOCK results in calling BIO_set_retry_write,
as part of current implementation of OpenSSLStreamAdapter.
Testing this regression has proven to be hard to do manually.
This reverts commit edfaaef086ccff2dbff29d64c9a8d9f633637c57.
Bug: webrtc:12943
Change-Id: Ib6767bd4af68c59fd3b7cb051341876f175bb921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230420
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34875}
This patch adds support for manually setting subnets that
should be handled as VPN, i.e be subject to VpnPreference,
in case webrtc fails to auto-detect VPNs.
Bug: webrtc:13097
Change-Id: I42514f0677a35cfe30ad053570fa9c2a5b4a856b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230122
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34852}
This patch adds a vp preference field to RTCConfig.
DEFAULT, // No VPN preference.
ONLY_USE_VPN, // only use VPN connections.
NEVER_USE_VPN, // never use VPN connections
PREFER_VPN, // use a VPN connection if possible, i.e VPN connections sorts higher than all other connections.
AVOID_VPN, // only use VPN if there is no other connections, i.e VPN connections sorts last.
Bug: webrtc:13097
Change-Id: I3f95bdfa9134e082c7d389f803bd08facfb70262
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229591
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34842}
The UDP sockets in WebRTC are non-blocking, and when writing too much
to them so that their send buffer becomes exhausted, they will return
EAGAIN or EWOULDBLOCK, which indicates that the client will need to
retry a bit later.
Media packets are generally sent by the pacer, which generally avoids
this exhaustion, but for SCTP which has a congestion control algorithm
quite similar to TCP, it may overshoot the amount of data it writes. If
the SCTP library can be notified when writing fails, it can stop writing
for a while until the socket recovers, which will result in less
overshooting and fewer lost packets (possibly even none). But for the
SCTP library to be able to know this, errors must be propagated, which
they weren't with the argument that packets may get lost anyway.
Bug: webrtc:12943
Change-Id: I9244580abf0d48ff810da30a23f995d12be623ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228439
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34751}
This is a private method, and the `prepare_address` argument was
constant true at all call sites.
Bug: None
Change-Id: Id4714ee7c154a729a6e106c29895fc760e9d0455
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228527
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34739}
Uppercase constants are more likely to conflict with macros (for
example rtc::SRTP_AES128_CM_SHA1_80 and OpenSSL SRTP_AES128_CM_SHA1_80).
This CL renames some constants and follows the C++ style guide.
Bug: webrtc:12997
Change-Id: I2398232568b352f88afed571a9b698040bb81c30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226564
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34553}
As part of go/coil update code search links to not point to the
"master" branch.
Bug: chromium:1226942
Change-Id: I0ae9e84ecc660f789a69fe0b226f93bbc39a8a66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226081
Commit-Queue: Tony Herre <toprice@chromium.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34531}
This reverts commit e2ab77ba57bff5db8eaa7a8442fa6b2f43914b69.
See bugs, this CL seems to be the culprit of crashes in
cricket::TurnPort::OnMessage and
jingle_glue::JingleThreadWrapper::Dispatch.
TBR=handellm@webrtc.org, hta@webrtc.org
Bug: chromium:1227839, chromium:1228462
Change-Id: I7521210970fe543a01682bb08de31ac025e79981
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225880
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34462}
This reverts commit a4aabb921353125f6d3a2caa2ceb9cda7e971f22.
Reason for revert: downstream tests fixed.
TBR=hta@webrtc.org
Original change's description:
> Revert "Port: migrate to TaskQueue."
>
> This reverts commit 06540166ca97028454adea48cec9bf109b771ddc.
>
> Reason for revert: breaks downstream test.
>
> Original change's description:
> > Port: migrate to TaskQueue.
> >
> > Port uses legacy rtc::Thread message handling. In order
> > to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
> > necessitates looping through all currently queued (unbounded) messages
> > in the thread. In particular, these Clear calls are common during
> > negotiation and the probability of having a lot of queued messages is
> > high due to a long-running network thread function invoked on the
> > network thread.
> >
> > Fix this by migrating Port to task queues.
> >
> >
> > Bug: webrtc:12840, webrtc:9702
> > Change-Id: I6c6fb83323899b56091f0857a1c2d15d19199002
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221370
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Markus Handell <handellm@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34338}
>
> TBR=hta@webrtc.org,handellm@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I014ef9267d224c10595cfa1c12899eabe0093306
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:12840, webrtc:9702
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223062
> Reviewed-by: Markus Handell <handellm@webrtc.org>
> Commit-Queue: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34339}
# Not skipping CQ checks because this is a reland.
Bug: webrtc:12840, webrtc:9702
Change-Id: I4d2e086b686da8d5272d67293406300a07edef81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223260
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34345}
This reverts commit 06540166ca97028454adea48cec9bf109b771ddc.
Reason for revert: breaks downstream test.
Original change's description:
> Port: migrate to TaskQueue.
>
> Port uses legacy rtc::Thread message handling. In order
> to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
> necessitates looping through all currently queued (unbounded) messages
> in the thread. In particular, these Clear calls are common during
> negotiation and the probability of having a lot of queued messages is
> high due to a long-running network thread function invoked on the
> network thread.
>
> Fix this by migrating Port to task queues.
>
>
> Bug: webrtc:12840, webrtc:9702
> Change-Id: I6c6fb83323899b56091f0857a1c2d15d19199002
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221370
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Markus Handell <handellm@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34338}
TBR=hta@webrtc.org,handellm@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I014ef9267d224c10595cfa1c12899eabe0093306
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12840, webrtc:9702
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223062
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34339}
Port uses legacy rtc::Thread message handling. In order
to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
necessitates looping through all currently queued (unbounded) messages
in the thread. In particular, these Clear calls are common during
negotiation and the probability of having a lot of queued messages is
high due to a long-running network thread function invoked on the
network thread.
Fix this by migrating Port to task queues.
Bug: webrtc:12840, webrtc:9702
Change-Id: I6c6fb83323899b56091f0857a1c2d15d19199002
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221370
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34338}
Also applies sanitizing to prflx candidates, not just local ones.
Also add tests for the port allocator Sanitize function.
Bug: chromium:1218346
Change-Id: Ifbc7843cd6e289c09ca72b6ec610a34bbbf7e04e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222581
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34292}
CandidateStats didn't use an initializer list which caused the
`candidate` member variable to be constructed with a random id
(calling an expensive rng method), only to be overwritten directly
thereafter.
Bug: webrtc:12840
Change-Id: I0366f674281d236896cb9539812dc2d88c1b37ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221600
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34244}
AllocationSequence uses legacy rtc::Thread message handling. In order
to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
necessitates looping through all currently queued (unbounded) messages
in the thread. In particular, these Clear calls are common during
negotiation and the probability of having a lot of queued messages is
high due to a long-running network thread function invoked on the
network thread.
Fix this by migrating AllocationSequence to task queues.
Bug: webrtc:12840, webrtc:9702
Change-Id: I42bbdb59fb2c88b50e866326ba15134dcc6ce691
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221369
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34241}
Removes dependence on rtc::Thread APIs from BPAS, which removes
the need to remove callbacks via rtc::Thread::Clear().
Bug: webrtc:12840
Change-Id: I0bcc1828c5ab38f521b583f52707174961f28e8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221366
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34239}
WebRTC is going to remove cricket::DtlsTransportState and switch to
webrtc::DtlsTransportState. This CL introduces a set of new methods to
allow to subscribe to DTLS transport state updates while WebRTC
internally migrates away from cricket::DtlsTransportState.
No-Try: True
Bug: webrtc:12762
Change-Id: I79cf48e2f7122cc76fde6e4fd1541382fd096d53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218607
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34075}
This is one step in getting rid of cricket::DtlsTransportState..
Bug: webrtc:12762
Change-Id: I65a6e72b587fd3dd6cdc1ce7fe201a2a9cfe936d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218460
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33991}
Also take the opportunity to declare factory_ const.
(Bug reference is where I noticed the possibility; it is unlikely
to fix the bug.)
Bug: chromium:1205343
Change-Id: I6078f170cf68d94314ee184bdfd2dc6f4ffc1e71
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217385
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33918}
This reverts commit 5a40b3710545edfd8a634341df3de26f57d79281.
Reason for revert: Fixed the bug and ran layout tests.
Original change's description:
> Revert "Use the new DNS resolver API in PeerConnection"
>
> This reverts commit acf8ccb3c9f001b0ed749aca52b2d436d66f9586.
>
> Reason for revert: Speculative revert for https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/b8851745102358680592/overview.
>
> Original change's description:
> > Use the new DNS resolver API in PeerConnection
> >
> > Bug: webrtc:12598
> > Change-Id: I5a14058e7f28c993ed927749df7357c715ba83fb
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212961
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#33561}
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> TBR=hta@webrtc.org
>
> Bug: webrtc:12598
> Change-Id: Idc9853cb569849c49052f9cbd865614710fff979
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213188
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33591}
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:12598
Change-Id: Ief7867f2f23de66504877cdab1b23a11df2d5de4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214120
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33647}
Make a few more members const, remove members that aren't used,
set max ssl version number on construction and remove setter.
Bug: none
Change-Id: I6c1a7cabf1e795e027f1bc53b994517e9aef0e93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213780
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33622}
This API should allow existing factories to be used unmodified, but
offers a new API that documents ownership better and does not use
sigslot.
Bug: webrtc:12598
Change-Id: I0f68371059cd4a18ab07b87fc0e7526dcc0ac669
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212609
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33553}