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}
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}
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}
The new verification makes verification a function on a message.
It also stores the password used in the request message, so that
it is easily accessible when verifying the response.
Bug: chromium:1177125
Change-Id: I505df4b54214643a28a6b292c4e2262b9d97b097
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209060
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33366}
- Usage of these sigslots are removed in previous changes in WebRTC
and downstream repositories.
- Remove one more usage of the variables in port_unnittests.
No-Try: True
Bug: webrtc:11943
Change-Id: Ia424f598248a5d9a0cf88f041641a3dd8aa6effe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/206500
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33205}
- During the process had to change port_interface sigslot usage and
async_packet_socket sigslot usage.
- Left the old code until down stream projects are modified.
Change-Id: I59149b0bb982bacd4b57fdda51df656a54fe9e68
Bug: webrtc:11943
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191520
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Commit-Queue: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33167}
This version of the method is deprecated in favor of the one that takes
an url parameter.
Bug: webrtc:10198
Change-Id: I7614b9cb98217663b0e2fbf1785ae1fb1484beec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173333
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31068}
If a STUN attribute is in the "comprehension-required" range
(0x0000-0x7FFF), and the implementation does not recognize it, this
should be treated as an error (as per RFC5389), with different behavior
depending on the type of the message received.
Bug: webrtc:9063
Change-Id: Ic31b0cdd3c26772c21d770b44fe4ee4a1b47030a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/64500
Commit-Queue: Taylor <deadbeef@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30925}
This patch introduces a new type of STUN ping,
GOOG_PING_REQUEST/RESPONSE which is similar
to a STUN_BINDING but does not transmit any values.
The Connection class automatically sends these if
no STUN attributes has changed since last call to Connection::Ping()
if the remote peer has signaled that it supports it.
BUG=webrtc:11100
Change-Id: Ib1b590f0b90ca6cb56f2eb07cd62f976e246bc8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159961
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30062}
This patch moves the SendBindingResponse from Port
to Connection. This is a behavioural NOP, and I don't
understand why it was in Port in the firs place!
Found when working on GOOG_PING.
BUG=webrtc:11100
Change-Id: I0466c5381f08ec4926ca3380e6914f0bc0dfcf63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161081
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29963}
This patch is a NOP and moves
- class Connection
- class ConnectionInfo
- class ProxyConnection
from port.{h/cc} to a new file called connection.{h/cc}
BUG=webrtc:10647
Change-Id: I89322d3421d272657e24a46b28ab6679fcdc9450
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/137509
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28101}
This is a reland of e779847fb6499ac2dc4757de8c625ac377e9d0d4
Original change's description:
> Change SimpleStringBuilder::Append to not use strcpyn and SIZE_UNKNOWN
>
> Also add explicit includes of rtc_base/string_utils.h in files depending on it.
>
> Bug: webrtc:6424
> Change-Id: Id6b53937ab2d185d092a5d8863018fd5f1a88e27
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135744
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#27903}
Tbr: kwiberg@webrtc.org
Bug: webrtc:6424
Change-Id: Ic08d5d7fbc25ff89e4182d7c9cb3b0e8e356339a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135946
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27957}
Also add explicit includes of rtc_base/string_utils.h in files depending on it.
Bug: webrtc:6424
Change-Id: Id6b53937ab2d185d092a5d8863018fd5f1a88e27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135744
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27903}
This patch introduces a minor tweak to how often
the extra ice pings are sent.
- never send if non of the candidates is relay
- only send (extra) if it was more than 100ms
since you sent a ping.
The motivation for this is that we measured
an regression of 0.05% in call setup success rate.
Bug: webrtc:10273
Change-Id: Icff36297d57030853a9ff8d4f74aaf6c84051d26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132702
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27601}
This patch adds a field trial for sending an extra ice ping
when receiving a ice ping and we have not received an ice ping
response. The theory is that this will decrease time it takes
for a connection to become writable and improve behavior with
ice reroutes (choosing a new ice candidate pair).
Bug: webrtc:10273
Change-Id: I98d442649869e7c7655edbbb5ab42c596f5d3b9d
Reviewed-on: https://webrtc-review.googlesource.com/c/120722
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26503}
The address and the related address of local candidates are sanitized
accordingly when the mDNS concealment of local IPs is enabled. Also,
remote hostname candidates created from signaling are sanitized in stats
as well. A couple of unit tests are revised to reflect the desired
behavior of AsyncResolverInterface so that when a hostname candidate is
resolved, the hostname is kept in the candidate address.
Bug: webrtc:9605, chromium:914452
Change-Id: Iad9ad04ce4e50304e44cf04b15b97a7ae2dec960
Reviewed-on: https://webrtc-review.googlesource.com/c/113643
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25996}
cricket::Port::SignalPortComplete.
The mDNS name registration is asynchronously executed by the mDNS
responder, and a host candidate with an mDNS name is only gathered after
this completes. SignalPortComplete however is currently done
synchronously by UDPPort, and any candidate gathered by a UDPPort after
this signal is fired would be discarded.
Bug: webrtc:9964, webrtc:9605
Change-Id: If8aaf193ef26c06bd118e6418b62ba0de5e87e3c
Reviewed-on: https://webrtc-review.googlesource.com/c/109541
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Zach Stein <zstein@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25534}
Replaced by a int64_t representing time in us. To aid transition of
downstream code, rtc::PacketTime is made an alias for int64_t.
Bug: webrtc:9584
Change-Id: Ic3a5ee87d6de2aad7712894906dab074f1443df9
Reviewed-on: https://webrtc-review.googlesource.com/c/91860
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25503}
to Mdns.*.
MdnsResponderInterface now explicitly requires the reference counting
of created names to allow the coexistence of multiple users of the same
responder where one user would not remove identical names created by
others.
MDns.* is also renamed to Mdns.* per the style guide.
TBR=aleloi@webrtc.org
Bug: webrtc:9605
Change-Id: I047fc41f34de8d4e97c980409a7f373769c4c252
Reviewed-on: https://webrtc-review.googlesource.com/c/101921
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25458}
updated to prflx.
When the address of a local candidate is intentionally removed after
gathered, its would be incorrectly updated to prflx when receiving a
STUN message from a remote candidate after forming a candidate pair and
starting the connectivity check.
Bug: webrtc:9756, webrtc:9605
Change-Id: I6c699250565c1458e825eba742c2991a82229817
Reviewed-on: https://webrtc-review.googlesource.com/100624
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24837}
Replace calls to .str() which copies with .Release which moves in cases where that's safe.
This CL was generated by this command:
git grep -l 'StringBuilder' |
xargs perl -i -0 -pe "s/(rtc::StringBuilder (\S+);.*?return )\\g2.str\(\)/\$1\$2.Release\(\)/sg"
Bug: webrtc:8982
Change-Id: If4dadbeb039df010aaaa9e58da81c1971a84fe8f
Reviewed-on: https://webrtc-review.googlesource.com/100307
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24790}
MDnsResponderInterface can be accessed by rtc::NetworkManager to
generate mDNS hostnames for local IP addresses, so that the addresses of
ICE host candidates are obfuscated in gathering whenever an mDNS
responder is present. The mDNS responder will handle incoming mDNS
queries about the generated mDNS hostnames, e.g. queries received from
the AsyncResolverInterface of the remote ICE endpoint.
Bug: webrtc:9605
Change-Id: Ib9e77427327b3d1fabdb1f3854d5e8457db40375
Reviewed-on: https://webrtc-review.googlesource.com/97881
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#24714}
We used to use an integer-valued hash as the candidate pair ID in ICE
event logs, and the preimage of this hash contains address information.
Bug: None
Change-Id: Ib24aa89164600c62e0b0a7d771af379ace80a0e3
Reviewed-on: https://webrtc-review.googlesource.com/91920
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24168}
Move base64.h to the proper location and put redirect header into the
old place to be able to switch downstream users on new location.
Bug: webrtc:8366
Change-Id: I5191fe631d32178d2efd1315ca9abd4250102291
Reviewed-on: https://webrtc-review.googlesource.com/88223
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24069}