519 Commits

Author SHA1 Message Date
Torbjorn Granlund
a3dc79e072 Move SSLIdentity Generate() implementations from .h to .cc file.
This amends https://codereview.webrtc.org/1683193003/

BUG=
R=hbos@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1701953002 .

Cr-Commit-Position: refs/heads/master@{#11632}
2016-02-16 12:34:04 +00:00
torbjorng
e8dc081c35 Implement certificate lifetime parameter as required by WebRTC RFC.
BUG=chromium:569005

Review URL: https://codereview.webrtc.org/1683193003

Cr-Commit-Position: refs/heads/master@{#11629}
2016-02-15 17:36:01 +00:00
tommi
04af839a88 Move refcount.h and scoped_ref_ptr.h to rtc_base_approved.
BUG=

Review URL: https://codereview.webrtc.org/1701533002

Cr-Commit-Position: refs/heads/master@{#11615}
2016-02-14 16:11:17 +00:00
kwiberg
8fb3557052 rtc::Buffer: Replace an internal rtc::scoped_ptr with std::unique_ptr
We'd like to completely replace rtc::scoped_ptr with std::unique_ptr.
This is a first trial CL to see if using unique_ptr causes any
problems.

(As a side effect of removing the scoped_ptr.h include in buffer.h,
I had to fix broken includes in no less than three files.)

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1687833006

Cr-Commit-Position: refs/heads/master@{#11588}
2016-02-11 21:36:57 +00:00
jbauch
541f1869ca Cleanup temporary files created by tests.
This CL removes some temporary files created by OptionsFileTest and
TransientFileUtilsTest.

BUG=

Review URL: https://codereview.webrtc.org/1688553002

Cr-Commit-Position: refs/heads/master@{#11554}
2016-02-10 17:10:00 +00:00
jbauch
097d54956d Added thread annotations to FifoBuffer.
This CL adds thread annotations to FifoBuffer and adds a missing CritScope
for attribute access that is modified in locked code paths.

Review URL: https://codereview.webrtc.org/1677333002

Cr-Commit-Position: refs/heads/master@{#11535}
2016-02-09 10:30:43 +00:00
jbauch
25d1f28fa9 Fix race between Thread ctor/dtor and MessageQueueManager registrations.
This CL fixes a race where for Thread objects the parent MessageQueue
constructor registers the object in the MessageQueueManager even though
the Thread is not constructed completely yet. Same happens during
destruction.

BUG=webrtc:1225

Review URL: https://codereview.webrtc.org/1666863002

Cr-Commit-Position: refs/heads/master@{#11497}
2016-02-05 08:25:04 +00:00
kjellander
988d31eb9b Move gtest_prod_util.h out of webrtc/test tree.
This is needed because the target is defined in webrtc/common.gyp
and its current location crosses package boundaries when generating
projects for some build systems.

NOTRY=True

Review URL: https://codereview.webrtc.org/1665603003

Cr-Commit-Position: refs/heads/master@{#11496}
2016-02-05 08:23:57 +00:00
jbauch
f2a2bf4ae4 Stay writable after partial socket writes.
This CL fixes an issue where the "writable" flag didn't stay set after
::send or ::sendto only sent a partial buffer.

Also SocketTest::TcpInternal has been updated to use rtc::Buffer instead
of manually allocating data.

BUG=webrtc:4898

Review URL: https://codereview.webrtc.org/1616153007

Cr-Commit-Position: refs/heads/master@{#11480}
2016-02-04 00:45:38 +00:00
tkchin
d1fb26d457 Add iOS tracing.
BUG=

Review URL: https://codereview.webrtc.org/1650993004

Cr-Commit-Position: refs/heads/master@{#11469}
2016-02-03 09:51:22 +00:00
honghaiz
a7ad7c3ca0 Get the adapter type information from Android OS.
BUG=

Review URL: https://codereview.webrtc.org/1594673002

Cr-Commit-Position: refs/heads/master@{#11463}
2016-02-02 20:54:28 +00:00
tommi
ae695e95a6 Refactor RtpSender and SSRCDatabase.
* SSRCDatabase doesn't need to be a global instance, so I've changed it to be a "regular" class (i.e. construct via ctor, not maybe via GetSSRCDatabase( + release via ReturnSSRCDatabase())).  If we ever have parallel tests running in the same process, they won't have the problem of using the same ssrc database.

* Made RtpSender a more const.  Also added some todos for myself and holmer to look into clarifying the threading model.

* Switched from CriticalSectionWrapper to rtc::CriticalSection

* Changed the random seeding to use TickTime::Now().Ticks() since TimeInMicroseconds() could return 0 when the process was starting.  This is what TimeInMicroseconds() does anyway but now we don't need to access a global clock object.

BUG=webrtc:3062

Review URL: https://codereview.webrtc.org/1623543002

Cr-Commit-Position: refs/heads/master@{#11462}
2016-02-02 16:34:16 +00:00
asapersson
799379e8c2 Let a minimum time interval pass (one bucket size) after initialization before reporting rates (to avoid rates being based on too short time intervals).
BUG=chromium:570038

Review URL: https://codereview.webrtc.org/1582333008

Cr-Commit-Position: refs/heads/master@{#11455}
2016-02-02 09:47:05 +00:00
conceptgenesis
3f70562bbb Fix WebRtc ninja x86 build using Visual Studio 2015 (set GYP_MSVS_VERSION=2015).
Visual Studio 2015 balks at the implicit truncation of values. Easily fixed with an explicit cast.

Fixed redefinition of CLOCKS_PER_SEC when using Visual Studio 2015 and the Windows 10 SDK. CLOCKS_PER_SEC is also defined in "<WIN10 SDK DIR>\include\10.0.10240.0\ucrt\time.h" and also has the value of 1000

Hiding snprintf definition if building with Visual Studio 2015

Fixed C4573 compiler complaint in audio_processing_impl_locking_unittest.cc.

BUG=webrtc:5183

Review URL: https://codereview.webrtc.org/1412653006

Cr-Commit-Position: refs/heads/master@{#11434}
2016-01-30 22:40:52 +00:00
Erik Språng
1c3909899d Use rtc::time for all your timing needs!
Initial step of unifying so that base/timeutils.h and Clock/TimeTime
from system_wrappers use the same implementation.

BUG=webrtc:5463
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1639543005 .

Cr-Commit-Position: refs/heads/master@{#11394}
2016-01-27 11:55:44 +00:00
Peter Boström
0b518bf6fc Remove incorrect cast to AsyncSocketAdapter.
socket_ in OpenSSLAdapter should be (and is in tests) an AsyncSocket but
doesn't have to be an AsyncSocketAdapter. In tests this is
rtc::VirtualSocket which is an rtc::AsyncSocket. This also matches the
BIO_new_socket type signature.

This fixes the remaining UBSan vptr bot errors.

BUG=webrtc:5124, webrtc:5226
R=tommi@webrtc.org, torbjorng@webrtc.org

Review URL: https://codereview.webrtc.org/1639883002 .

Cr-Commit-Position: refs/heads/master@{#11391}
2016-01-27 11:35:52 +00:00
Sergey Ulanov
fab0a2886d Fix BasicNetworkManager not to spam logs when internet is unreacheable.
BasicNetworkManager attemps to connect an UDP socket and logs an error
when connect() fails, e.g. when internet is not connected. These
errors are not very useful in the logs, but apper there every time
it attemps to refresh network list. Replaced the log statement with
LOG(LS_INFO).

R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1635823004 .

Cr-Commit-Position: refs/heads/master@{#11389}
2016-01-27 06:13:04 +00:00
sprang
e791ffd638 Remove non-monotonic clock support
Real time clock may cause problems as they can move (even backwards) if
the clock is changed, eg updated by NTP.

Non-monotonic clocks still in use on some platform (I'm looking at you,
Apple) for timed waits, but that should be less of an issue than actual
timestamps.

BUG=webrtc:5452

Review URL: https://codereview.webrtc.org/1613013002

Cr-Commit-Position: refs/heads/master@{#11375}
2016-01-26 09:53:24 +00:00
pbos
5ad935cb56 Remove mutable from rtc::CriticalSection members.
rtc::CriticalSection is now lockable from const methods and no longer
need to remain mutable.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1613643004

Cr-Commit-Position: refs/heads/master@{#11367}
2016-01-25 11:52:53 +00:00
tommi
7d0d0e0763 Remove dead code from webrtc/base/timing.*
BUG=

Review URL: https://codereview.webrtc.org/1626253002

Cr-Commit-Position: refs/heads/master@{#11366}
2016-01-25 11:09:32 +00:00
tommi
7406b96abc CriticalSection: Use types+methods from base/platform_thread*.*.
Use PlatformThreadRef, CurrentThreadRef and IsThreadRefEqual instead of pthread_t, pthread_self and operator== (or !=).

BUG=

Review URL: https://codereview.webrtc.org/1619153003

Cr-Commit-Position: refs/heads/master@{#11355}
2016-01-22 13:13:38 +00:00
tommi
ed281e9c9b New lock implementation for mac.
According to my measurements, it's about 100x faster than the native mutex implementation in OSX.  Google "OSX mutex performance" for more info.

BUG=

Review URL: https://codereview.webrtc.org/1594723003

Cr-Commit-Position: refs/heads/master@{#11352}
2016-01-22 07:47:30 +00:00
Peter Boström
af9e6637c0 Make rtc::CriticalSection lockable from f() const.
Removes the use of mutable rtc::CriticalSection across the code.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1611223002 .

Cr-Commit-Position: refs/heads/master@{#11342}
2016-01-21 15:57:03 +00:00
Jon Hjelle
da99da81c9 Update API for Objective-C RTCPeerConnectionFactory.
BUG=
R=jiayl@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1558473002 .

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11326}
2016-01-20 21:40:35 +00:00
kjellander
3c85cad1d4 Roll chromium_revision 7a4fb8d..f527e86 (370025:370073)
Change log: 7a4fb8d..f527e86
Full diff: 7a4fb8d..f527e86

No dependencies changed.

Clang was updated 255169:257953.
Details: 7a4fb8d..f527e86/tools/clang/scripts/update.py

NOTRY=True
NOPRESUBMIT=True

Review URL: https://codereview.webrtc.org/1593713013

Cr-Commit-Position: refs/heads/master@{#11301}
2016-01-19 12:47:24 +00:00
honghaiz
cec0a08275 Add a new interface for creating a udp socket in which it binds the socket to a network if the network handle is set.
Plus, in stunport, turnport and allocation sequence, create a socket using the new interface.

BUG=

Review URL: https://codereview.webrtc.org/1556743002

Cr-Commit-Position: refs/heads/master@{#11279}
2016-01-15 22:49:15 +00:00
guoweis
56271ed889 fix bug 5430
Fixed misusage of Connection function and also fixed the test case.

BUG=webrtc:5430

Review URL: https://codereview.webrtc.org/1592763003

Cr-Commit-Position: refs/heads/master@{#11278}
2016-01-15 22:45:11 +00:00
torbjorng
79a5a83e10 Adapt to boringssl's new defaults.
This is now a merge with patchset #2 of https://codereview.webrtc.org/1550773002 after that CL was reverted.

BUG=webrtc:5381

Review URL: https://codereview.webrtc.org/1589493004

Cr-Commit-Position: refs/heads/master@{#11273}
2016-01-15 15:16:54 +00:00
kjellander
fcfc804e43 Eliminate defines in talk/
Replace LINUX, OSX and IOS defines with WEBRTC_ prefixed versions.
Remove no longer used defines from talk/build/common.gypi due to
previously migrated sources (into webrtc/p2p and webrtc/libjingle).

When this is rolled into Chromium, we can also clean up the platform
defines in
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libjingle/libjingle.gyp

NOTRY=True
BUG=webrtc:5420
TESTED=Ran all compile trybots with --clobber flag.
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1588453005

Cr-Commit-Position: refs/heads/master@{#11254}
2016-01-14 19:01:25 +00:00
sprang
3542013f58 Revert of Update with new default boringssl no-aes cipher suites. Re-enable tests. (patchset #3 id:40001 of https://codereview.webrtc.org/1550773002/ )
Reason for revert:
We're getting boringssl version conflicts. Reverting for now.

Original issue's description:
> Update with new default boringssl no-aes cipher suites. Re-enable tests.
>
> This undoes https://codereview.webrtc.org/1533253002 (except the DEPS part).
>
> BUG=webrtc:5381
> R=davidben@webrtc.org, henrika@webrtc.org
>
> Committed: https://crrev.com/31c8d2eac5aec977f584ab0ae5a1d457d674f101
> Cr-Commit-Position: refs/heads/master@{#11250}

TBR=davidben@webrtc.org,henrika@webrtc.org,torbjorng@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5381

Review URL: https://codereview.webrtc.org/1586183002

Cr-Commit-Position: refs/heads/master@{#11253}
2016-01-14 17:14:06 +00:00
Torbjorn Granlund
31c8d2eac5 Update with new default boringssl no-aes cipher suites. Re-enable tests.
This undoes https://codereview.webrtc.org/1533253002 (except the DEPS part).

BUG=webrtc:5381
R=davidben@webrtc.org, henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1550773002 .

Cr-Commit-Position: refs/heads/master@{#11250}
2016-01-14 14:18:02 +00:00
Sergey Ulanov
beed8280d8 Fix IPAddress::ToSensitiveString() to avoid dependency on inet_ntop().
Previosly ToSesnsetiveString() wasn't working witn some implementations
of inet_ntop(). Rewrote it to avoid that dependency.

BUG=chromium:577344
R=pthatcher@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1584793004 .

Cr-Commit-Position: refs/heads/master@{#11242}
2016-01-14 02:14:59 +00:00
jbroman
5584bf4c4d Make :rtc_base_approved a public dep of :rtc_base.
It looks to me like targets :rtc_base_approved is logically a subset of
:rtc_base, and so any targets depending on :rtc_base expect to also get
access to the headers in :rtc_base_approved.

Thus I think it's appropriate for :rtc_base to have :rtc_base_approved in
public_deps, so that `gn check` will permit this without clients having to
explicitly depend on both.

NOTRY=True

Review URL: https://codereview.webrtc.org/1578833002

Cr-Commit-Position: refs/heads/master@{#11227}
2016-01-12 17:46:59 +00:00
kwiberg
36220ae24f Slap deprecation notices on Pass methods
There's no reason not to use std::move instead now that we can use the
C++11 standard library.

BUG=webrtc:5373

Review URL: https://codereview.webrtc.org/1531013003

Cr-Commit-Position: refs/heads/master@{#11225}
2016-01-12 15:24:27 +00:00
Guo-wei Shieh
a7446d2a50 Change DTLS default from 1.0 to 1.2 for webrtc.
This changes for standalone webrtc applications.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1548733002 .

Cr-Commit-Position: refs/heads/master@{#11211}
2016-01-11 23:27:12 +00:00
Guo-wei Shieh
db21f633a2 fix GN build break on native_client
TBR=guidou@webrtc.org
BUG=

Review URL: https://codereview.webrtc.org/1576723002 .

Cr-Commit-Position: refs/heads/master@{#11196}
2016-01-09 21:12:11 +00:00
kjellander
b71b4f0c7a Update attributes to match gclibc's ansidecl.h
To ease use of WebRTC in other codebases, update some macros
to match glibc's ansidecl.h, which uses double-underscores for attributes.

NOTRY=True

Review URL: https://codereview.webrtc.org/1571653002

Cr-Commit-Position: refs/heads/master@{#11185}
2016-01-08 12:51:47 +00:00
kwiberg
cea7c2f783 Replace manual casting to rvalue reference with calls to std::move
Review URL: https://codereview.webrtc.org/1570473002

Cr-Commit-Position: refs/heads/master@{#11163}
2016-01-07 13:52:09 +00:00
jbauch
4331fcd517 Remove duplicate code in SocketDispatcher
This CL is a follow-up on https://codereview.webrtc.org/1452903006/ which
moved the definition of SocketDispatcher to physicalsocketserver.h.

Here the duplicate implementations are merged with only some #ifdef parts.

BUG=

Review URL: https://codereview.webrtc.org/1537273002

Cr-Commit-Position: refs/heads/master@{#11160}
2016-01-07 06:20:31 +00:00
Jon Hjelle
29d5e570b5 Update API for Objective-C RTCIceCandidate.
BUG=
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1517253005 .

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11156}
2016-01-06 19:49:18 +00:00
Peter Boström
e2976c87f7 Remove DISABLED_ON_ macros.
Macro incorrectly displays DISABLED_ON_ANDROID in test names for
parameterized tests under --gtest_list_tests, causing tests to be
disabled on all platforms since they contain the DISABLED_ prefix rather
than their expanded variants.

This expands the macro variants to inline if they're disabled or not,
and removes building some tests under configurations where they should
fail, instead of building them but disabling them by default.

The change also removes gtest_disable.h as an unused include from many
other files.

BUG=webrtc:5387, webrtc:5400
R=kjellander@webrtc.org, phoglund@webrtc.org
TBR=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1547343002 .

Cr-Commit-Position: refs/heads/master@{#11150}
2016-01-04 21:44:16 +00:00
kjellander
60ca31bf5d Roll chromium_revision d66326c..4df108a (367167:367307)
The changes in d66326c..4df108a/build/common.gypi
enables a lot more warnings, which have been disabled/fixed in this CL.
See tracking bugs for remaining work.

Change log: d66326c..4df108a
Full diff: d66326c..4df108a

Changed dependencies:
* src/buildtools: fee7f1e..6d0c448
* src/third_party/libsrtp: b8dd754..8a7662a
DEPS diff: d66326c..4df108a/DEPS

No update to Clang.

BUG=webrtc:5397, webrtc:5398, webrtc:5399
TBR=hta@webrtc.org, perkj@webrtc.org
NOTRY=True

Review URL: https://codereview.webrtc.org/1553033002

Cr-Commit-Position: refs/heads/master@{#11147}
2016-01-04 18:16:01 +00:00
thakis
06689a1d17 Fix a -Wunused-function warning in gn builds.
BUG=chromium:573250

Review URL: https://codereview.webrtc.org/1552863002

Cr-Commit-Position: refs/heads/master@{#11145}
2015-12-30 23:05:34 +00:00
Taylor Brandstetter
0c7e9f540b Removing webrtc::PortAllocatorFactoryInterface.
ICE servers are now passed directly into PortAllocator,
making PortAllocatorFactoryInterface redundant. This CL also
moves SetNetworkIgnoreMask to PortAllocator.

R=phoglund@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1520963002 .

Cr-Commit-Position: refs/heads/master@{#11139}
2015-12-29 22:15:02 +00:00
Guo-wei Shieh
9faf154960 Reland 1531763006
Enable IPv6 temporary address filtering on iOS.

We'll only use temporary address for IPv6. However, due to a bug in iOS sdk, the necessary headers are not included. This change copies the minimum necessary definitions such that we could retrieve the ip attributes.

BUG=webrtc:4343

Committed: https://crrev.com/29488c23644721c10a45eba74c67602b0262e582
Cr-Commit-Position: refs/heads/master@{#11114}

patch from issue 1531763006 at patchset 200001 (http://crrev.com/1531763006#ps200001)

TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1551703002 .

Cr-Commit-Position: refs/heads/master@{#11133}
2015-12-28 22:07:05 +00:00
Guo-wei Shieh
a6c86b23fe Revert "Enable IPv6 temporary address filtering on iOS."
This reverts commit 29488c23644721c10a45eba74c67602b0262e582.

This broke chromium.fyi bot.

TBR=pthatcher@webrtc.org
BUG=

Review URL: https://codereview.webrtc.org/1547883002 .

Cr-Commit-Position: refs/heads/master@{#11115}
2015-12-23 04:17:37 +00:00
guoweis
29488c2364 Enable IPv6 temporary address filtering on iOS.
We'll only use temporary address for IPv6. However, due to a bug in iOS sdk, the necessary headers are not included. This change copies the minimum necessary definitions such that we could retrieve the ip attributes.

BUG=webrtc:4343

Review URL: https://codereview.webrtc.org/1531763006

Cr-Commit-Position: refs/heads/master@{#11114}
2015-12-23 00:46:48 +00:00
honghaiz
db8cf50c59 Fix two problems in network.cc:
1. It signals network changed events whenever there are more than one IP address in a network.
2. It does not signal network changed events if a network disconnects and connects again.
Also changed DumpNetworks for better debugging.

BUG=webrtc:5096

Review URL: https://codereview.webrtc.org/1421433003

Cr-Commit-Position: refs/heads/master@{#11107}
2015-12-21 21:08:54 +00:00
kjellander
2f042f26a3 Roll chromium_revision 1b6c421..db567a8 (365999:366304)
I had to disable some Dtls12Both tests failing under MSan (see bug).
Notice those errors started happening in the range of
https://boringssl.googlesource.com/boringssl.git/+log/afd565f..9f897b2
while this CL brings in an even newer BoringSSL (that still has the same problem).

Change log: 1b6c421..db567a8
Full diff: 1b6c421..db567a8

Changed dependencies:
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/afd565f..afe57cb
* src/third_party/libyuv: 1019e45..1ccbf8f
* src/third_party/nss: a676aa0..aee1b12
DEPS diff: 1b6c421..db567a8/DEPS

No update to Clang.

NOTRY=True
BUG=webrtc:5381
TBR=torbjorng@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1533253002

Cr-Commit-Position: refs/heads/master@{#11095}
2015-12-20 20:25:17 +00:00
tfarina
c155b16b22 remove deprecated StringToIP() methods from SocketAddress API
This patch removes StringToIP() methods as fixes the TODO there and
there are no callers at the moment for these methods.

BUG=None
R=perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1535993002

Cr-Commit-Position: refs/heads/master@{#11088}
2015-12-18 16:13:16 +00:00