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

Unified Diff: webrtc/p2p/base/dtlstransport.h

Issue 1312643004: Replaces SSLIdentity* with scoped_refptr<RTCCertificate> in cricket::Transport layer. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 4 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: webrtc/p2p/base/dtlstransport.h
diff --git a/webrtc/p2p/base/dtlstransport.h b/webrtc/p2p/base/dtlstransport.h
index 27cece49d04ea9cfe328ad0084eca36a7b967f93..d551a6f4492fd8b3be3312b159c74080530faf7d 100644
--- a/webrtc/p2p/base/dtlstransport.h
+++ b/webrtc/p2p/base/dtlstransport.h
@@ -30,9 +30,9 @@ class DtlsTransport : public Base {
rtc::Thread* worker_thread,
const std::string& content_name,
PortAllocator* allocator,
- rtc::SSLIdentity* identity)
+ const rtc::scoped_refptr<rtc::RTCCertificate>& certificate)
: Base(signaling_thread, worker_thread, content_name, allocator),
- identity_(identity),
+ certificate_(certificate),
secure_role_(rtc::SSL_CLIENT),
ssl_max_version_(rtc::SSL_PROTOCOL_DTLS_10) {
}
@@ -40,14 +40,16 @@ class DtlsTransport : public Base {
~DtlsTransport() {
Base::DestroyAllChannels();
}
- virtual void SetIdentity_w(rtc::SSLIdentity* identity) {
- identity_ = identity;
+ void SetCertificate_w(
+ const rtc::scoped_refptr<rtc::RTCCertificate>& certificate) override {
tommi 2015/08/25 10:28:08 since this is a _w method, can we DCHECK that we'r
hbos 2015/08/25 15:45:44 Done. (And for other _w methods)
+ certificate_ = certificate;
}
- virtual bool GetIdentity_w(rtc::SSLIdentity** identity) {
- if (!identity_)
+ bool GetCertificate_w(
+ rtc::scoped_refptr<rtc::RTCCertificate>* certificate) override {
+ if (!certificate_)
return false;
- *identity = identity_->GetReference();
+ *certificate = certificate_;
return true;
}
@@ -63,10 +65,10 @@ class DtlsTransport : public Base {
if (local_fp) {
// Sanity check local fingerprint.
- if (identity_) {
+ if (certificate_) {
rtc::scoped_ptr<rtc::SSLFingerprint> local_fp_tmp(
rtc::SSLFingerprint::Create(local_fp->algorithm,
- identity_));
+ certificate_->identity()));
ASSERT(local_fp_tmp.get() != NULL);
if (!(*local_fp_tmp == *local_fp)) {
std::ostringstream desc;
@@ -81,10 +83,12 @@ class DtlsTransport : public Base {
error_desc);
}
} else {
- identity_ = NULL;
+ certificate_ = nullptr;
}
- if (!channel->SetLocalIdentity(identity_)) {
+ // TODO(hbos): SetLocalCertificate
tommi 2015/08/25 10:28:08 will this be addressed before checkin? It's not cl
hbos 2015/08/25 15:45:44 Oh, sorry, that's sort of a "note to self"... I sp
+ if (!channel->SetLocalIdentity(
+ certificate_ ? certificate_->identity() : nullptr)) {
return BadTransportDescription("Failed to set local identity.",
error_desc);
}
@@ -237,7 +241,7 @@ class DtlsTransport : public Base {
return Base::ApplyNegotiatedTransportDescription_w(channel, error_desc);
}
- rtc::SSLIdentity* identity_;
+ rtc::scoped_refptr<rtc::RTCCertificate> certificate_;
rtc::SSLRole secure_role_;
rtc::SSLProtocolVersion ssl_max_version_;
rtc::scoped_ptr<rtc::SSLFingerprint> remote_fingerprint_;

Powered by Google App Engine
This is Rietveld 408576698