Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Issue 2815513012: Negotiate the same SRTP crypto suites for every DTLS association formed. (Closed)

Created:
3 years, 8 months ago by Taylor Brandstetter
Modified:
3 years, 8 months ago
Reviewers:
pthatcher1
CC:
webrtc-reviews_webrtc.org, the sun, tterriberry_mozilla.com
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Negotiate the same SRTP crypto suites for every DTLS association formed. Before this CL, we would negotiate: - No crypto suites for data m= sections. - A full set for audio m= sections. - The full set, minus SRTP_AES128_CM_SHA1_32 for video m= sections. However, this doesn't make sense with BUNDLE, since any DTLS association could end up being used for any type of media. If video is "bundled on" the audio transport (which is typical), it will actually end up using SRTP_AES128_CM_SHA1_32. So, this CL moves the responsibility of deciding SRTP crypto suites out of BaseChannel and into DtlsTransport. The only two possibilities are now "normal set" or "normal set + GCM", if enabled by the PC factory options. This fixes an issue (see linked bug) that was occurring when audio/video were "bundled onto" the data transport. Since the data transport wasn't negotiating any SRTP crypto suites, none were available to use for audio/video, so the application would get black video/no audio. This CL doesn't affect the SDES SRTP crypto suite negotiation; it only affects the negotiation in the DLTS handshake, through the use_srtp extension. BUG=chromium:711243 Review-Url: https://codereview.webrtc.org/2815513012 Cr-Commit-Position: refs/heads/master@{#17810} Committed: https://chromium.googlesource.com/external/webrtc/+/7914b8cb4127e1bca4d288f2f53f08dc13468b6a

Patch Set 1 #

Total comments: 1

Patch Set 2 : Prefer 32-bit HMAC by default. Also cleaning up some things. #

Total comments: 6

Patch Set 3 : Merge with master #

Unified diffs Side-by-side diffs Delta from patch set Stats (+230 lines, -431 lines) Patch
M webrtc/api/peerconnectioninterface.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/base/sslstreamadapter.h View 1 2 chunks +6 lines, -3 lines 0 comments Download
M webrtc/base/sslstreamadapter.cc View 1 1 chunk +15 lines, -0 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel.h View 3 chunks +6 lines, -16 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel.cc View 1 2 chunks +3 lines, -46 lines 0 comments Download
M webrtc/p2p/base/dtlstransportchannel_unittest.cc View 1 30 chunks +23 lines, -70 lines 0 comments Download
M webrtc/p2p/base/dtlstransportinternal.h View 1 2 chunks +3 lines, -8 lines 0 comments Download
M webrtc/p2p/base/fakedtlstransport.h View 1 6 chunks +8 lines, -36 lines 0 comments Download
M webrtc/p2p/base/faketransportcontroller.h View 1 chunk +18 lines, -5 lines 0 comments Download
M webrtc/p2p/base/transportcontroller.h View 2 chunks +6 lines, -5 lines 0 comments Download
M webrtc/p2p/base/transportcontroller.cc View 1 2 2 chunks +9 lines, -14 lines 0 comments Download
M webrtc/pc/channel.h View 7 chunks +0 lines, -14 lines 0 comments Download
M webrtc/pc/channel.cc View 6 chunks +0 lines, -41 lines 0 comments Download
M webrtc/pc/channel_unittest.cc View 9 chunks +4 lines, -68 lines 0 comments Download
M webrtc/pc/channelmanager.h View 2 chunks +0 lines, -5 lines 0 comments Download
M webrtc/pc/channelmanager.cc View 4 chunks +0 lines, -19 lines 0 comments Download
M webrtc/pc/mediasession.h View 1 1 chunk +13 lines, -13 lines 0 comments Download
M webrtc/pc/mediasession.cc View 1 2 7 chunks +31 lines, -34 lines 0 comments Download
M webrtc/pc/peerconnection_integrationtest.cc View 1 2 2 chunks +50 lines, -0 lines 0 comments Download
M webrtc/pc/peerconnectionfactory.cc View 3 chunks +3 lines, -7 lines 0 comments Download
M webrtc/pc/peerconnectioninterface_unittest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M webrtc/pc/test/mock_webrtcsession.h View 1 chunk +6 lines, -3 lines 0 comments Download
M webrtc/pc/webrtcsession_unittest.cc View 1 10 chunks +24 lines, -23 lines 0 comments Download

Messages

Total messages: 18 (12 generated)
Taylor Brandstetter
PTAL, this is what we were talking about earlier today. https://codereview.webrtc.org/2815513012/diff/1/webrtc/base/sslstreamadapter.h File webrtc/base/sslstreamadapter.h (right): https://codereview.webrtc.org/2815513012/diff/1/webrtc/base/sslstreamadapter.h#newcode86 ...
3 years, 8 months ago (2017-04-17 22:00:34 UTC) #7
pthatcher1
https://codereview.webrtc.org/2815513012/diff/20001/webrtc/base/sslstreamadapter.cc File webrtc/base/sslstreamadapter.cc (right): https://codereview.webrtc.org/2815513012/diff/20001/webrtc/base/sslstreamadapter.cc#newcode109 webrtc/base/sslstreamadapter.cc:109: crypto_suites.push_back(rtc::SRTP_AES128_CM_SHA1_80); I'm not so sure about this being the ...
3 years, 8 months ago (2017-04-17 22:12:41 UTC) #8
Taylor Brandstetter
https://codereview.webrtc.org/2815513012/diff/20001/webrtc/base/sslstreamadapter.cc File webrtc/base/sslstreamadapter.cc (right): https://codereview.webrtc.org/2815513012/diff/20001/webrtc/base/sslstreamadapter.cc#newcode109 webrtc/base/sslstreamadapter.cc:109: crypto_suites.push_back(rtc::SRTP_AES128_CM_SHA1_80); On 2017/04/17 22:12:41, pthatcher1 wrote: > I'm not ...
3 years, 8 months ago (2017-04-20 07:20:40 UTC) #11
pthatcher1
lgtm
3 years, 8 months ago (2017-04-21 01:12:26 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2815513012/40001
3 years, 8 months ago (2017-04-21 09:59:47 UTC) #15
commit-bot: I haz the power
3 years, 8 months ago (2017-04-21 10:23:38 UTC) #18
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/external/webrtc/+/7914b8cb4127e1bca4d288f2f...

Powered by Google App Engine
This is Rietveld 408576698