Commit Graph

114 Commits

Author SHA1 Message Date
jiayl@webrtc.org
b6d69282f5 Enable shared socket for TurnPort.
In AllocationSequence::OnReadPacket, we now hand the packet to both the TurnPort and StunPort if the remote address matches the server address.

TESTED=AppRtc loopback call generates both turn and stun candidates.

BUG=1746
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19189004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7138 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-10 16:31:34 +00:00
jiayl@webrtc.org
22406fcc9b TurnPort should retry allocation with a new address on error STUN_ERROR_ALLOCATION_MISMATCH.
BUG=3570
R=juberti@webrtc.org, mallinath@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7070

Review URL: https://webrtc-codereview.appspot.com/20999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7120 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 15:44:05 +00:00
mallinath@webrtc.org
3d81b1b22a Relanding https://code.google.com/p/webrtc/source/detail?r=7093, after it got
reverted due to some internal compile failures.

In this CL changes are done in portallocator_unittest.cc, in particular to EXPECT_EQ checking in new tests.

Original patch committed in https://code.google.com/p/webrtc/source/detail?r=7093

TBR=juberti@webrtc.org
BUG=1179

Review URL: https://webrtc-codereview.appspot.com/22329004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7118 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 14:38:10 +00:00
henrike@webrtc.org
8b0b21161a Revert 7093: "Implementing ICE Transports type handling in libjingle transport."
TBR=mallinath@webrtc.org
BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/28419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7112 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-08 22:46:28 +00:00
mallinath@webrtc.org
7256d31d28 Implementing ICE Transports type handling in libjingle transport.
BUG=1179
R=juberti@webrtc.org, bemasc@webrtc.org, jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22219004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7093 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 04:08:44 +00:00
henrike@webrtc.org
f1427c6731 Revert 7070 "TurnPort should retry allocation with a new address on error
STUN_ERROR_ALLOCATION_MISMATCH."

TBR=jiayl@webrtc.org
BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/15359004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7072 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 22:21:33 +00:00
jiayl@webrtc.org
574f2f60fe TurnPort should retry allocation with a new address on error STUN_ERROR_ALLOCATION_MISMATCH.
BUG=3570
R=juberti@webrtc.org, mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7070 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 19:11:34 +00:00
buildbot@webrtc.org
fa4535b270 (Auto)update libjingle 74694022-> 74696326
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7045 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 16:49:04 +00:00
guoweis@webrtc.org
7087857afd implement handling ALTERNATE-SERVER response from turn protocol as
specified in RFC 5766, also created 2 test cases for both the normal
redirection case as well as when a pingpong situation happens, the
allocation should fail

BUG=1986 TURN ALTERNATE-SERVER support
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 21:37:49 +00:00
henrik.lundin@webrtc.org
6908b84179 Disable two tests in TurnPortTest
The tests are flaky.

BUG=3720
TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17159004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6934 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-20 09:47:58 +00:00
buildbot@webrtc.org
353cd37ae9 (Auto)update libjingle 73370064-> 73399579
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6911 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-15 18:26:12 +00:00
buildbot@webrtc.org
a09a99950e (Auto)update libjingle 73222930-> 73226398
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 17:26:08 +00:00
mallinath@webrtc.org
2d60c5e8bc Encoding and Decoding of TCP candidates as defined in RFC 6544.
R=juberti@chromium.org, jiayl@webrtc.org, juberti@webrtc.org
BUG=2204

Review URL: https://webrtc-codereview.appspot.com/21479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6857 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-08 22:29:20 +00:00
tkchin@webrtc.org
c8554be6dd Support for TURN/TLS.
Wrap the socket in an SSL adapter, then simply call StartSSL() on the
SSLAdapter instance.

Cloned from: https://webrtc-codereview.appspot.com/21799004/

R=juberti@chromium.org, juberti@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/14059004

Patch from Manish Jethani <manish.jethani@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6852 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-07 20:39:08 +00:00
buildbot@webrtc.org
d4e598d57a (Auto)update libjingle 72097588-> 72159069
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 17:36:52 +00:00
buildbot@webrtc.org
51c5508bf1 (Auto)update libjingle 72016417-> 72097588
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6792 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-28 22:26:15 +00:00
buildbot@webrtc.org
45304ff0a7 (Auto)update libjingle 71829282-> 71834788
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6773 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 16:06:35 +00:00
buildbot@webrtc.org
e2da234e27 (Auto)update libjingle 71766184-> 71775619
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6768 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 21:09:01 +00:00
jiayl@webrtc.org
a0b929b63c Revert "Reland r6707 with the fix for callclient.cc."
Breaking pulse build again.
This reverts commit 3e0bb9b5bf7f616000399e24f1d9622ad6b612f9.

TBR=wu@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/17979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6740 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 22:28:36 +00:00
jiayl@webrtc.org
a6e8cf8fb7 Reland r6707 with the fix for callclient.cc.
TBR=mallinath@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/13039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6737 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:34:11 +00:00
mallinath@webrtc.org
aa93611375 Connect to the turn server if address cannot be resolved by the browser by using
unresolved address. This case is only considered for TCP sockets. P2P layer will
assume socket will do the resolve by using a proxy.

BUG=3384
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 21:55:04 +00:00
mallinath@webrtc.org
e5995aadd5 Assigning a priority to TURN server list passed to PeerConnection. First entry in the TURN server list will get the highest priotity and so forth.
This priority will be used in calculating the candidate priority generated from the server. This will allow candidate generated from server to have unique priority.

BUG=3223
R=jiayl@webrtc.org, juberti@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6721 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 18:23:52 +00:00
wu@webrtc.org
52eddec71b Revert 6707 "Add support of multiple STUN servers in UDPPort."
Reason:
Breaks the build on callclient.cc.

> Add support of multiple STUN servers in UDPPort.
> Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.
> 
> I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.
> 
> BUG=3310
> R=mallinath@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/13879004

TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6711 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 00:03:24 +00:00
jiayl@webrtc.org
46fb331bc5 Add support of multiple STUN servers in UDPPort.
Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.

I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.

BUG=3310
R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6707 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 20:55:31 +00:00
tommi@webrtc.org
b5348c64bb Minor refactoring of the session classes.
Make member variables that never change and are touched on multiple threads, const.
Move implementations of setters/getters of variables that can change, into the cc file in preparation of adding thread correctness checks.

This is a relanding of a cl already reviewed but got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/12979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:11:49 +00:00
mallinath@webrtc.org
a70be68f65 Disabling shared socket mode for TURN ports. This is done as currently when
TURN server also used as STUN server, binding responses will be handed over
to TURN port, which simply discard these messages, as requests are originated
from StunPort.

Until we find the right solution for this problem, it's better we disable this
feature.

BUG=https://code.google.com/p/webrtc/issues/detail?id=3537
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6618 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:47:24 +00:00
jiayl@webrtc.org
974bbbb352 Fix uninitialized value in DtlsTransport and TransportDescription.
BUG=crbug/390304
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 18:33:07 +00:00
jiayl@webrtc.org
db397e5c6c Re-evalutes the ICE role on ICE restart.
Also unifies the logic of ICE restart.

BUG=1775
R=juberti@google.com, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6510 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 16:32:09 +00:00
pbos@webrtc.org
83785d37d1 Remove unused ALLOCATE_DELAY constant.
Breaks linux_tsan2 compile [-Wunused-const-variable].

TBR=mallinath@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/20749004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6505 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 10:28:39 +00:00
buildbot@webrtc.org
4c25c67146 (Auto)update libjingle 69589535-> 69600065
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6504 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 04:42:34 +00:00
jiayl@webrtc.org
e3cdd9959e Revert "Fix the "Failed unprotect audio RTP packet" error when SCTP is bundled with audio."
This reverts commit 56631a14bdae24aa0bfaceeb2b57df729fee1227.

TBR=henrike@webrtc.org
BUG=3235

Review URL: https://webrtc-codereview.appspot.com/19669004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6363 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 22:32:57 +00:00
jiayl@webrtc.org
745a39cced Fix the "Failed unprotect audio RTP packet" error when SCTP is bundled with audio.
BUG=3235
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6356 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 19:24:02 +00:00
buildbot@webrtc.org
34a08b4fb8 (Auto)update libjingle 68275107-> 68379861
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6305 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 15:48:10 +00:00
phoglund@webrtc.org
f666ecc60d Disabling flaky libjingle tests after fixit week.
BUG=webrtc:3316,webrtc:3317,webrtc:3318
TBR=fischman@google.com

Review URL: https://webrtc-codereview.appspot.com/12569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6250 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 08:08:00 +00:00
buildbot@webrtc.org
7aa1a4767f (Auto)update libjingle 67848628-> 67848776
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6237 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 17:33:05 +00:00
mallinath@webrtc.org
8e755c1ad2 Connect SignalDestroyed in AllocationSequence after TURN ports are destroyed
when TURN ports are using shared socket with UDP port.

This is required as AllocationSequence maintains a map of turn ports. If the
ports are destroyed without the knowledge of AllocationSequence, sequence will
try to deliver packets to the destoyed ports.

R=jiayl@webrtc.org
BUG=https://code.google.com/p/chromium/issues/detail?id=368877

Review URL: https://webrtc-codereview.appspot.com/14569007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6219 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 23:00:46 +00:00
mallinath@webrtc.org
bb6201ae4b TCP remote socket address should have both server hostname and IP address.
Hostname is necessary when we are creating TLS based socket, for certificate
verification.

BUG=https://code.google.com/p/chromium/issues/detail?id=306285
R=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6165 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 22:43:05 +00:00
buildbot@webrtc.org
cd846dd374 (Auto)update libjingle 66924241-> 66927231
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6134 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 22:58:27 +00:00
buildbot@webrtc.org
8a54844333 (Auto)update libjingle 66624678-> 66643715
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6095 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-09 18:10:55 +00:00
buildbot@webrtc.org
1cd14a4502 (Auto)update libjingle 66556498-> 66624678
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6093 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-09 15:01:40 +00:00
buildbot@webrtc.org
c5bb22395c (Auto)update libjingle 66424806-> 66523513
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6078 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-08 16:00:58 +00:00
jiayl@webrtc.org
53d82350c5 Ignore identical remote fingerprint in DtlsTransportChannelWrapper::SetRemoteFingerprint.
Trying to set the same remote fingerprint could happen during renegotiation and should not fail.

BUG=crbug/362431
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12449005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6035 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-01 00:00:19 +00:00
buildbot@webrtc.org
658a94595d (Auto)update libjingle 65619249-> 65622932
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5984 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 22:03:30 +00:00
buildbot@webrtc.org
ff90ed6e96 (Auto)update libjingle 65561104-> 65619249
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5983 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 21:12:10 +00:00
buildbot@webrtc.org
3f1aa24078 (Auto)update libjingle 65469804-> 65484212
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5967 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 00:00:12 +00:00
jiayl@webrtc.org
0d915ff603 Fix the return value of DtlsTransportChannelWrapper::SendPacket in the case of invalid RTP packet.
R=juberti@webrtc.org, mallinath@webrtc.org

BUG=3244

Review URL: https://webrtc-codereview.appspot.com/12299006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5966 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-23 20:46:29 +00:00
mallinath@webrtc.org
54fd70046d Remove ASSERT in TransportChannelProxy::SetImplementation, when
proxy already set to same transport channel impl.

Since session can call SetImplementation multiple times with or without BUNDLE, there are cases when SetImplementation is called with same impl (OnRemoteCandidates/PushdownTransportDescription/SetupMux). Also variables in
cricket::TransportProxy like |connecting_| and |negotiated_| are accessed
both between worker thread and signaling threads (which calls for bigger change
on how session interacts with Transport and TransportChannelProxy). I have a created a separate bug to address later issue.

Also if single thread used as worker and signaling thread, we can end up
calling SetLocalDescription and OnRemoteCandidates in same call sequence, which
will end up calling SetImplementation twice.

R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12019007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5944 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-19 01:03:33 +00:00
buildbot@webrtc.org
8e5ec52e76 (Auto)update libjingle 65152644-> 65219629
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5941 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-19 00:00:31 +00:00
buildbot@webrtc.org
1a87f529a2 (Auto)update libjingle 65151416-> 65151642
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5934 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 22:41:30 +00:00
buildbot@webrtc.org
39b868bad3 (Auto)update libjingle 65055925-> 65086785
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5921 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 00:04:39 +00:00