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

Issue 2000163002: Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface (Closed)

Created:
4 years, 7 months ago by hbos
Modified:
4 years, 7 months ago
Reviewers:
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

CL re-uploaded here: https://codereview.webrtc.org/2013523002/ *** Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface. The store was used in WebRtcSessionDescriptionFactory to generate certificates, now a generator is used instead (new API). PeerConnection[Factory][Interface], and WebRtcSession are updated to pass generators all the way down to the WebRtcSessionDescriptionFactory instead of stores. The webrtc implementation of a generator, RTCCertificateGenerator, is used as the default generator (peerconnectionfactory.cc:189) instead of the webrtc implementation of a store, DtlsIdentityStoreImpl. The generator is fully parameterized and does not generate RSA-1024 unless you ask for it (which makes sense not to do beforehand since ECDSA is now default). The store was not fully parameterized (known filed bug). The "top" layer, PeerConnectionFactoryInterface::CreatePeerConnection, is updated to take a generator instead of a store. But as to not break Chromium, the old function signature taking a store is kept. It is implemented to invoke the generator version by wrapping the store in an RTCCertificateGeneratorStoreWrapper. As soon as Chromium is updated to use the new function signature we can remove the old CreatePeerConnection. Due to having multiple CreatePeerConnection signatures, some calling places are updated to resolve the ambiguity introduced. BUG=webrtc:5707, webrtc:5708

Patch Set 1 : CL 2001103002 #

Patch Set 2 : Changes to PeerConnection/Factory, WebRtcSession and WebRtcSessionDescriptionFactory #

Patch Set 3 : Update ambigous calls, don't create store wrapper for null stores #

Patch Set 4 : Fixed memory leak by making this up to date with CL 2001103002 #

Patch Set 5 : Rebase with master after CL 2001103002 landed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+207 lines, -182 lines) Patch
M talk/app/webrtc/objc/RTCPeerConnection.mm View 1 2 2 chunks +11 lines, -2 lines 0 comments Download
M webrtc/api/java/jni/peerconnection_jni.cc View 1 2 3 4 1 chunk +5 lines, -1 line 0 comments Download
M webrtc/api/peerconnection.h View 1 2 chunks +1 line, -2 lines 0 comments Download
M webrtc/api/peerconnection.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M webrtc/api/peerconnectionfactory.h View 1 4 chunks +6 lines, -6 lines 0 comments Download
M webrtc/api/peerconnectionfactory.cc View 1 6 chunks +26 lines, -24 lines 0 comments Download
M webrtc/api/peerconnectionfactoryproxy.h View 1 4 chunks +6 lines, -6 lines 0 comments Download
M webrtc/api/peerconnectioninterface.h View 1 2 2 chunks +37 lines, -2 lines 0 comments Download
M webrtc/api/peerconnectioninterface_unittest.cc View 1 2 3 4 1 chunk +6 lines, -2 lines 0 comments Download
M webrtc/api/webrtcsession.h View 1 1 chunk +1 line, -1 line 0 comments Download
M webrtc/api/webrtcsession.cc View 1 3 chunks +7 lines, -8 lines 0 comments Download
M webrtc/api/webrtcsession_unittest.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M webrtc/api/webrtcsessiondescriptionfactory.h View 1 6 chunks +28 lines, -37 lines 0 comments Download
M webrtc/api/webrtcsessiondescriptionfactory.cc View 1 6 chunks +56 lines, -82 lines 0 comments Download
M webrtc/examples/peerconnection/client/conductor.cc View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm View 1 2 3 4 1 chunk +6 lines, -5 lines 0 comments Download

Messages

Total messages: 6 (6 generated)
hbos
Patchset #1 (id:1) has been deleted
4 years, 7 months ago (2016-05-23 12:52:29 UTC) #1
hbos
Patchset #1 (id:20001) has been deleted
4 years, 7 months ago (2016-05-23 13:07:20 UTC) #2
hbos
Description was changed from ========== Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface BUG= ========== to ========== Replacing DtlsIdentityStoreInterface ...
4 years, 7 months ago (2016-05-23 13:32:40 UTC) #3
hbos
Patchset #3 (id:80001) has been deleted
4 years, 7 months ago (2016-05-23 14:07:59 UTC) #4
hbos
Description was changed from ========== Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface WIP... BUG= ========== to ========== Replacing ...
4 years, 7 months ago (2016-05-23 14:33:32 UTC) #5
hbos
4 years, 7 months ago (2016-05-24 19:27:49 UTC) #6
Description was changed from

==========
Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface.

The store was used in WebRtcSessionDescriptionFactory to generate certificates,
now a generator is used instead (new API). PeerConnection[Factory][Interface],
and WebRtcSession are updated to pass generators all the way down to the
WebRtcSessionDescriptionFactory instead of stores.

The webrtc implementation of a generator, RTCCertificateGenerator, is used as
the default generator (peerconnectionfactory.cc:189) instead of the webrtc
implementation of a store, DtlsIdentityStoreImpl.
  The generator is fully parameterized and does not generate RSA-1024 unless you
ask for it (which makes sense not to do beforehand since ECDSA is now default).
The store was not fully parameterized (known filed bug).

The "top" layer, PeerConnectionFactoryInterface::CreatePeerConnection, is
updated to take a generator instead of a store. But as to not break Chromium,
the old function signature taking a store is kept. It is implemented to invoke
the generator version by wrapping the store in an
RTCCertificateGeneratorStoreWrapper. As soon as Chromium is updated to use the
new function signature we can remove the old CreatePeerConnection.
  Due to having multiple CreatePeerConnection signatures, some calling places
are updated to resolve the ambiguity introduced.

BUG=webrtc:5707, webrtc:5708
==========

to

==========
CL re-uploaded here: https://codereview.webrtc.org/2013523002/

***

Replacing DtlsIdentityStoreInterface with RTCCertificateGeneratorInterface.

The store was used in WebRtcSessionDescriptionFactory to generate certificates,
now a generator is used instead (new API). PeerConnection[Factory][Interface],
and WebRtcSession are updated to pass generators all the way down to the
WebRtcSessionDescriptionFactory instead of stores.

The webrtc implementation of a generator, RTCCertificateGenerator, is used as
the default generator (peerconnectionfactory.cc:189) instead of the webrtc
implementation of a store, DtlsIdentityStoreImpl.
  The generator is fully parameterized and does not generate RSA-1024 unless you
ask for it (which makes sense not to do beforehand since ECDSA is now default).
The store was not fully parameterized (known filed bug).

The "top" layer, PeerConnectionFactoryInterface::CreatePeerConnection, is
updated to take a generator instead of a store. But as to not break Chromium,
the old function signature taking a store is kept. It is implemented to invoke
the generator version by wrapping the store in an
RTCCertificateGeneratorStoreWrapper. As soon as Chromium is updated to use the
new function signature we can remove the old CreatePeerConnection.
  Due to having multiple CreatePeerConnection signatures, some calling places
are updated to resolve the ambiguity introduced.

BUG=webrtc:5707, webrtc:5708
==========

Powered by Google App Engine
This is Rietveld 408576698