1bffc1d1a4
Rename rtc::Time64 --> rtc::TimeMillis.
...
In the discussion on https://codereview.webrtc.org/1888593004/ , a more
decriptive name was suggested for Time64.
BUG=webrtc:5740
Review-Url: https://codereview.webrtc.org/1923213002
Cr-Commit-Position: refs/heads/master@{#12594}
2016-05-02 15:19:00 +00:00
34b11eb66e
Using 64-bit timestamp to replace the 32-bit one in webrtc/p2p.
...
Also changed from unsigned to signed integer per the style guide.
By the way, I kept all delta-times to be 32-bit int.
The only things left in the p2p dir are
1. proberprober/main.cc where Time() is used as the input for a random number.
2. pseudotcp.cc: where 32-bit time info is sent over the wire.
BUG=webrtc:5636
Review URL: https://codereview.webrtc.org/1793553002
Cr-Commit-Position: refs/heads/master@{#12019}
2016-03-16 15:55:48 +00:00
e2af9ef638
Keep on sending stun binding requests on zero-cost networks.
...
This is useful to keep the NAT binding alive on backup connections.
BUG=
Review URL: https://codereview.webrtc.org/1737493004
Cr-Commit-Position: refs/heads/master@{#11862}
2016-03-03 16:27:53 +00:00
55674ffb32
Reland Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket.
...
Chromium reported errors when building libjingle_nacl due to some methods used virtual instead of override when they were overriding the base class. My guess is that when one method starts using override, all other in the same class must too.
R=tommi@webrtc.org
TBR=pthatcher@webtrc.org
BUG=4173
Review URL: https://codereview.webrtc.org/1589563003 .
Cr-Commit-Position: refs/heads/master@{#11251}
2016-01-14 14:49:23 +00:00
e5e0e57bdf
Revert of Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket. (patchset #3 id:40001 of https://codereview.webrtc.org/1577873003/ )
...
Reason for revert:
Broke Chrome:
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_compile_dbg_ng/builds/143025/steps/compile%20%28with%20patch%29/logs/stdio
FAILED: cd ../../third_party/libjingle; python ../../native_client/build/build_nexe.py --root ../.. --product-dir ../../out/Debug/xyz --config-name Debug -t ../../native_client/toolchain/ --arch pnacl --build newlib_plib --name ../../out/Debug/gen/tc_pnacl_newlib/lib/libjingle_nacl.a --objdir ../../out/Debug/obj/third_party/libjingle/libjingle_nacl.gen/pnacl_newlib-pnacl/libjingle_nacl "--include-dirs=../../out/Debug/gen/tc_pnacl_newlib/include ../.. \"../../out/Debug/gen\" ./source ../ ../../native_client_sdk/src/libraries ../../native_client_sdk/src/libraries/nacl_io/include ../../native_client_sdk/src/libraries/third_party/newlib-extras ../expat/files/lib ../boringssl/src/include" "--compile_flags=-O2 -g -Wall -fdiagnostics-show-option -Werror -Wno-unused-function -Wno-char-subscripts -Wno-c++11-extensions -Wno-unnamed-type-template-args -Wno-extra-semi -Wno-unused-private-field -Wno-char-subscripts -Wno-unused-function \"-std=gnu++11\" " --gomadir /b/build/goma "--defines=\"__STDC_LIMIT_MACROS=1\" \"__STDC_FORMAT_MACROS=1\" \"_GNU_SOURCE=1\" \"_POSIX_C_SOURCE=199506\" \"_XOPEN_SOURCE=600\" \"DYNAMIC_ANNOTATIONS_ENABLED=1\" \"DYNAMIC_ANNOTATIONS_PREFIX=NACL_\" \"NACL_BUILD_ARCH=x86\" V8_DEPRECATION_WARNINGS \"CLD_VERSION=2\" \"_FILE_OFFSET_BITS=64\" CHROMIUM_BUILD \"CR_CLANG_REVISION=255169-1\" COMPONENT_BUILD UI_COMPOSITOR_IMAGE_TRANSPORT \"USE_AURA=1\" \"USE_ASH=1\" \"USE_PANGO=1\" \"USE_CAIRO=1\" \"USE_DEFAULT_RENDER_THEME=1\" \"USE_LIBJPEG_TURBO=1\" \"USE_X11=1\" \"IMAGE_LOADER_EXTENSION=1\" \"ENABLE_WEBRTC=1\" \"ENABLE_MEDIA_ROUTER=1\" USE_PROPRIETARY_CODECS ENABLE_PEPPER_CDMS ENABLE_CONFIGURATION_POLICY ENABLE_NOTIFICATIONS \"ENABLE_HIDPI=1\" \"ENABLE_TOPCHROME_MD=1\" USE_UDEV DONT_EMBED_BUILD_METADATA \"DCHECK_ALWAYS_ON=1\" FIELDTRIAL_TESTING_ENABLED \"ENABLE_TASK_MANAGER=1\" \"ENABLE_EXTENSIONS=1\" \"ENABLE_PDF=1\" \"ENABLE_PLUGINS=1\" \"ENABLE_SESSION_SERVICE=1\" \"ENABLE_THEMES=1\" \"ENABLE_AUTOFILL_DIALOG=1\" \"ENABLE_BACKGROUND=1\" \"ENABLE_PRINTING=1\" \"ENABLE_PRINT_PREVIEW=1\" \"ENABLE_SPELLCHECK=1\" \"ENABLE_CAPTIVE_PORTAL_DETECTION=1\" \"ENABLE_APP_LIST=1\" \"ENABLE_SUPERVISED_USERS=1\" \"ENABLE_MDNS=1\" \"ENABLE_SERVICE_DISCOVERY=1\" V8_USE_EXTERNAL_STARTUP_DATA FULL_SAFE_BROWSING SAFE_BROWSING_CSD SAFE_BROWSING_DB_LOCAL EXPAT_RELATIVE_PATH FEATURE_ENABLE_SSL GTEST_RELATIVE_PATH HAVE_OPENSSL_SSL_H NO_MAIN_THREAD_WRAPPING NO_SOUND_SYSTEM WEBRTC_POSIX SRTP_RELATIVE_PATH SSL_USE_OPENSSL USE_WEBRTC_DEV_BRANCH \"timezone=_timezone\" XML_STATIC \"USE_LIBPCI=1\" \"USE_OPENSSL=1\" \"USE_OPENSSL_CERTS=1\"" "--link_flags=-B../../out/Debug/gen/tc_pnacl_newlib/lib " "--source-list=../../out/gypfiles/third_party/libjingle/pnacl_newlib.libjingle_nacl.source_list.gypcmd"
In file included from ../webrtc/p2p/base/tcpport.cc:67:
../webrtc/p2p/base/tcpport.h:50:23: error: 'CreateConnection' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
virtual Connection* CreateConnection(const Candidate& address,
^
../webrtc/p2p/base/portinterface.h:71:23: note: overridden virtual function is here
virtual Connection* CreateConnection(
^
In file included from ../webrtc/p2p/base/tcpport.cc:67:
../webrtc/p2p/base/tcpport.h:53:16: error: 'PrepareAddress' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
virtual void PrepareAddress();
^
../webrtc/p2p/base/portinterface.h:63:16: note: overridden virtual function is here
virtual void PrepareAddress() = 0;
^
(etc)
Original issue's description:
> Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket.
>
> To reduce the risk of future mistakes when connecting Ports, Port::OnSentPacket was made pure virtual to ensure that new implementations take care of it.
>
> BUG=4173
> R=pthatcher@webrtc.org
>
> Committed: https://crrev.com/7307952a5bf63311e5f9a2a90089a06177e42716
> Cr-Commit-Position: refs/heads/master@{#11247}
TBR=pthatcher@webrtc.org ,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=4173
Review URL: https://codereview.webrtc.org/1586063002
Cr-Commit-Position: refs/heads/master@{#11249}
2016-01-14 12:57:03 +00:00
7307952a5b
Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket.
...
To reduce the risk of future mistakes when connecting Ports, Port::OnSentPacket was made pure virtual to ensure that new implementations take care of it.
BUG=4173
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1577873003 .
Cr-Commit-Position: refs/heads/master@{#11247}
2016-01-14 12:15:56 +00:00
f9945b2d1a
Only try to pair protocol matching candidates for creating connections.
...
If the local port and the remote candidate's protocols do not match,
do not even try to pair them.
This avoids printing out confusing logs like
"Attempt to change a remote candidate..." in p2ptransportchannel
when two remote candidates have the same port number but different
protocols.
BUG=
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1516613002 .
Cr-Commit-Position: refs/heads/master@{#11034}
2015-12-15 20:20:22 +00:00
0f490a5b86
Add logs when stun or turn host lookup is completed.
...
This will help investigate issues caused by DNS lookup.
BUG=
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1493863002 .
Cr-Commit-Position: refs/heads/master@{#10919}
2015-12-07 20:06:27 +00:00
45b0efd378
Stop sending stun binding requests after certain amount of time.
...
Also stop it if the request timed out.
It is going to be complicated to keep this and make it sync with the connection bind request as they may be on two different ports.
BUG=
Review URL: https://codereview.webrtc.org/1465843004
Cr-Commit-Position: refs/heads/master@{#10899}
2015-12-04 16:57:31 +00:00
953eabc027
Revert "GetDefaultLocalAddress should return false when the address is invalid"
...
This reverts commit 67c6df6153b7b6dceb2b569daf683a498b2fc13c.
TBR=pthatcher@webrtc.org
BUG=
Review URL: https://codereview.webrtc.org/1470363002 .
Cr-Commit-Position: refs/heads/master@{#10780}
2015-11-24 20:00:38 +00:00
67c6df6153
GetDefaultLocalAddress should return false when the address is invalid
...
BUG=
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1471203002 .
Cr-Commit-Position: refs/heads/master@{#10779}
2015-11-24 19:59:26 +00:00
e03cab94c1
When running this code in chromium on a machine with IPv6 disabled, the RTC_DCHECK fails and in release build, it could leak to further crash in chromium's rtc_peer_connection_hanlder.cc.
...
Here is the right fix.
BUG=webrtc:5061
R=pthatcher@google.com
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1437933002 .
Cr-Commit-Position: refs/heads/master@{#10607}
2015-11-11 19:11:28 +00:00
9af97f8910
WebRTC should generate default private address even when adapter enumeration is disabled.
...
Introduce a DefaultAddressProvider such that rtc::Network can't access other part of NetworkManager.
This also removes the hack of generating the loopback address. The dependency has been removed by https://codereview.chromium.org/1417023003/
BUG=webrtc:5061
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1411253008 .
Cr-Commit-Position: refs/heads/master@{#10590}
2015-11-10 22:47:49 +00:00
20a3461908
Remove deprecated IsUnresolved() method from SocketAddress API.
...
This patch removes IsUnresolved() method and update the clients to use
IsUnresolvedIP() instead.
BUG=None
R=perkj@webrtc.org
TBR=glaznev@webrtc.org
Review URL: https://codereview.webrtc.org/1414793006
Cr-Commit-Position: refs/heads/master@{#10487}
2015-11-03 00:20:28 +00:00
8a4f547dad
Hang on android when DNS resolution is not done
...
BUG=webrtc:5139
R=juberti@google.com
TBR=juberti@webrtc.org
Review URL: https://codereview.webrtc.org/1429493009 .
Cr-Commit-Position: refs/heads/master@{#10463}
2015-10-30 16:12:45 +00:00
c1aeaf0dc3
Wire up packet_id / send time callbacks to webrtc via libjingle.
...
BUG=webrtc:4173
Review URL: https://codereview.webrtc.org/1363573002
Cr-Commit-Position: refs/heads/master@{#10289}
2015-10-15 14:26:17 +00:00
0c4e06b4c6
Use suffixed {uint,int}{8,16,32,64}_t types.
...
Removes the use of uint8, etc. in favor of uint8_t.
BUG=webrtc:5024
R=henrik.lundin@webrtc.org , henrikg@webrtc.org , perkj@webrtc.org , solenberg@webrtc.org , stefan@webrtc.org , tina.legrand@webrtc.org
Review URL: https://codereview.webrtc.org/1362503003 .
Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
fe3bc9d5ae
Relanding "Generate localhost candidate when no STUN/TURN and portallocator has the right flag spefied."
...
Migrated from https://codereview.webrtc.org/1275703006/ which causes test failures for android. On android, loopback interface was used as local interface to generate candidates. Add a test case to make sure this won't be broken in the future.
Also observed some failures under content_browsertests in chromium.fyi bot but can't repro locally. Might just be temporary test issue.
BUG=webrtc:4517
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1299333003 .
Cr-Commit-Position: refs/heads/master@{#9746}
2015-08-20 15:48:27 +00:00
3d564c1015
Add instrumentation to track the IceEndpointType.
...
The IceEndpointType has the format of <local_endpoint>_<remote_endpoint>. It is recorded on the BestConnection when we have the first OnTransportCompleted signaled.
BUG=webrtc:4918
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1277263002 .
Cr-Commit-Position: refs/heads/master@{#9737}
2015-08-19 23:51:22 +00:00
370c8848ad
Revert "Generate localhost candidate when no STUN/TURN and portallocator has the right flag spefied."
...
This reverts commit 0a2955f227666efd87b2a303a69c083ef801c528.
Revert "In the past, P2PPortAllocator.enable_multiple_routes is the indicator whether we should bind to the any address. It's easy to translate that into a port allocator flag in P2PPortAllocator's ctor. Going forward, we have to depend on an asynchronous permission check to determine whether gathering local address is allowed or not, hence the current way of passing it through constructor approach won't work any more. The asynchronous check will trigger SignalNetowrksChanged so we could only check that inside DoAllocate."
This reverts commit ba9ab4cd8d2e8fbc068dc36b5e6f6331d7deeccf.
TBR=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1288843003 .
Cr-Commit-Position: refs/heads/master@{#9729}
2015-08-19 00:00:21 +00:00
0a2955f227
Generate localhost candidate when no STUN/TURN and portallocator has the right flag spefied.
...
BUG=webrtc:4517
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1275703006 .
Cr-Commit-Position: refs/heads/master@{#9726}
2015-08-18 20:05:29 +00:00
1cf6f8101a
Add logging for sending and receiving STUN binding requests and TURN requests and responses.
...
BUG=
R=guoweis@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46189004
Cr-Commit-Position: refs/heads/master@{#9195}
2015-05-15 17:40:34 +00:00
0ba1533fdb
Added support for an Origin header in STUN messages.
...
For WebRTC there are instances where it may be desirable to provide
information to the STUN/TURN server about the website that initiated
a peer connection. This modification allows an origin string to be
included in the MediaConstraints object provided by the browser, which
is then passed as a STUN header in communications with the server.
A separate change will be submitted to the Chromium project that
uses and is dependent on this change, implementing IETF draft
http://tools.ietf.org/html/draft-johnston-tram-stun-origin-02
Originally a patch from skobalt@gmail.com .
(https://webrtc-codereview.appspot.com/12839005/edit )
R=juberti@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8035 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-10 00:47:02 +00:00
332331fb01
Use uint16s for port numbers in webrtc/p2p/base.
...
This is a necessary precursor to using uint16s for port numbers more
consistently in Chromium code.
This also makes some minor formatting changes in surrounding code (function declaration wrapping, virtual -> override).
BUG=chromium:81439
TEST=none
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32379004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7656 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 20:19:22 +00:00
269fb4bc90
move xmpp and p2p to webrtc
...
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and
webrtc/p2p. Also makes libjingle use those version instead of the one in the talk folder.
BUG=3379
Review URL: https://webrtc-codereview.appspot.com/26999004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 22:20:11 +00:00
28100cb388
Reverts r7459 "Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p."
...
BUG=N/A
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7472 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 22:03:39 +00:00
d1ba6d9cbf
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p.
...
BUG=3379
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27709005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7459 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15 17:30:28 +00:00