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

Unified Diff: talk/app/webrtc/webrtcsessiondescriptionfactory.h

Issue 1151943005: Ability to specify KeyType (RSA, ECDSA) for SSLIdentity generation in libjingle (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Addressing ASAN, LSAN issues in unittests Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/webrtcsessiondescriptionfactory.h
diff --git a/talk/app/webrtc/webrtcsessiondescriptionfactory.h b/talk/app/webrtc/webrtcsessiondescriptionfactory.h
index 41798a485fb6c7604cd512ad13d035c78e0513f0..43b811cce92a6881bf21b0e2a1784f674cbcad23 100644
--- a/talk/app/webrtc/webrtcsessiondescriptionfactory.h
+++ b/talk/app/webrtc/webrtcsessiondescriptionfactory.h
@@ -28,10 +28,12 @@
#ifndef TALK_APP_WEBRTC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
#define TALK_APP_WEBRTC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+#include "talk/app/webrtc/dtlsidentitystore.h"
#include "talk/app/webrtc/peerconnectioninterface.h"
-#include "webrtc/p2p/base/transportdescriptionfactory.h"
#include "talk/session/media/mediasession.h"
#include "webrtc/base/messagehandler.h"
+#include "webrtc/base/sslidentity.h"
+#include "webrtc/p2p/base/transportdescriptionfactory.h"
namespace cricket {
class ChannelManager;
@@ -46,10 +48,10 @@ class SessionDescriptionInterface;
class WebRtcSession;
// DTLS identity request callback class.
-class WebRtcIdentityRequestObserver : public DTLSIdentityRequestObserver,
+class WebRtcIdentityRequestObserver : public DtlsIdentityRequestObserver,
public sigslot::has_slots<> {
public:
- // DTLSIdentityRequestObserver overrides.
+ // DtlsIdentityRequestObserver overrides.
void OnFailure(int error) override;
void OnSuccess(const std::string& der_cert,
const std::string& der_private_key) override;
@@ -91,12 +93,13 @@ class WebRtcSessionDescriptionFactory : public rtc::MessageHandler,
rtc::Thread* signaling_thread,
cricket::ChannelManager* channel_manager,
MediaStreamSignaling* mediastream_signaling,
- DTLSIdentityServiceInterface* dtls_identity_service,
+ DtlsIdentityStoreInterface* dtls_identity_store,
// TODO(jiayl): remove the dependency on session once b/10226852 is fixed.
WebRtcSession* session,
const std::string& session_id,
cricket::DataChannelType dct,
- bool dtls_enabled);
+ bool dtls_enabled,
+ rtc::KeyType key_type);
virtual ~WebRtcSessionDescriptionFactory();
static void CopyCandidatesFromSessionDescription(
@@ -150,13 +153,17 @@ class WebRtcSessionDescriptionFactory : public rtc::MessageHandler,
cricket::TransportDescriptionFactory transport_desc_factory_;
cricket::MediaSessionDescriptionFactory session_desc_factory_;
uint64 session_version_;
- rtc::scoped_ptr<DTLSIdentityServiceInterface> identity_service_;
+ // TODO(hbos): who should have the ownership? us or caller? it's not refptr, it's ptr!
+// rtc::scoped_ptr<DtlsIdentityStoreInterface> identity_store_; // should not have the ownership
+ DtlsIdentityStoreInterface* identity_store_;
rtc::scoped_refptr<WebRtcIdentityRequestObserver>
identity_request_observer_;
WebRtcSession* session_;
std::string session_id_;
cricket::DataChannelType data_channel_type_;
IdentityRequestState identity_request_state_;
+ // Key type to use when generating identity (SSLIdentity::Generate).
+ rtc::KeyType key_type_;
DISALLOW_COPY_AND_ASSIGN(WebRtcSessionDescriptionFactory);
};

Powered by Google App Engine
This is Rietveld 408576698