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

Unified Diff: webrtc/base/opensslstreamadapter.cc

Issue 1269843005: Added DtlsCertificate, a ref counted object owning an SSLIdentity (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Cleanup 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/base/opensslstreamadapter.cc
diff --git a/webrtc/base/opensslstreamadapter.cc b/webrtc/base/opensslstreamadapter.cc
index 51921f143153a171b3573edabd571f265fc9fe22..a134e1449607ad65aa66b6e87c0ea69dca243a18 100644
--- a/webrtc/base/opensslstreamadapter.cc
+++ b/webrtc/base/opensslstreamadapter.cc
@@ -290,9 +290,10 @@ OpenSSLStreamAdapter::~OpenSSLStreamAdapter() {
Cleanup();
}
-void OpenSSLStreamAdapter::SetIdentity(SSLIdentity* identity) {
- ASSERT(!identity_);
- identity_.reset(static_cast<OpenSSLIdentity*>(identity));
+void OpenSSLStreamAdapter::SetCertificate(
+ scoped_refptr<webrtc::DtlsCertificate> certificate) {
+ ASSERT(!certificate_.get());
+ certificate_ = certificate;
}
void OpenSSLStreamAdapter::SetServerRole(SSLRole role) {
@@ -869,7 +870,7 @@ void OpenSSLStreamAdapter::Cleanup() {
SSL_CTX_free(ssl_ctx_);
ssl_ctx_ = NULL;
}
- identity_.reset();
+ certificate_ = nullptr;
peer_certificate_.reset();
// Clear the DTLS timer
@@ -977,7 +978,9 @@ SSL_CTX* OpenSSLStreamAdapter::SetupSSLContext() {
}
#endif
- if (identity_ && !identity_->ConfigureIdentity(ctx)) {
+ if (certificate_.get() &&
+ !static_cast<OpenSSLIdentity*>(certificate_->identity())
+ ->ConfigureIdentity(ctx)) {
SSL_CTX_free(ctx);
return NULL;
}

Powered by Google App Engine
This is Rietveld 408576698