A bunch of interfaces: Return scoped_ptr<SSLCertificate>
Instead of using a raw pointer output parameter. This affects
SSLStreamAdapter::GetPeerCertificate
Transport::GetRemoteSSLCertificate
TransportChannel::GetRemoteSSLCertificate
TransportController::GetRemoteSSLCertificate
WebRtcSession::GetRemoteSSLCertificate
This is a good idea in general, but will also be very convenient when
scoped_ptr is gone, since unique_ptr doesn't have an .accept() method.
BUG=webrtc:5520
Review URL: https://codereview.webrtc.org/1802013002
Cr-Commit-Position: refs/heads/master@{#12262}
diff --git a/webrtc/base/sslstreamadapter_unittest.cc b/webrtc/base/sslstreamadapter_unittest.cc
index 1e18b83..8d5b275 100644
--- a/webrtc/base/sslstreamadapter_unittest.cc
+++ b/webrtc/base/sslstreamadapter_unittest.cc
@@ -474,11 +474,11 @@
return server_ssl_->GetDtlsSrtpCryptoSuite(retval);
}
- bool GetPeerCertificate(bool client, rtc::SSLCertificate** cert) {
+ rtc::scoped_ptr<rtc::SSLCertificate> GetPeerCertificate(bool client) {
if (client)
- return client_ssl_->GetPeerCertificate(cert);
+ return client_ssl_->GetPeerCertificate();
else
- return server_ssl_->GetPeerCertificate(cert);
+ return server_ssl_->GetPeerCertificate();
}
bool GetSslCipherSuite(bool client, int* retval) {
@@ -1037,19 +1037,15 @@
MAYBE_SKIP_TEST(HaveDtls);
// Peer certificates haven't been received yet.
- rtc::scoped_ptr<rtc::SSLCertificate> client_peer_cert;
- ASSERT_FALSE(GetPeerCertificate(true, client_peer_cert.accept()));
- ASSERT_FALSE(client_peer_cert != NULL);
-
- rtc::scoped_ptr<rtc::SSLCertificate> server_peer_cert;
- ASSERT_FALSE(GetPeerCertificate(false, server_peer_cert.accept()));
- ASSERT_FALSE(server_peer_cert != NULL);
+ ASSERT_FALSE(GetPeerCertificate(true));
+ ASSERT_FALSE(GetPeerCertificate(false));
TestHandshake();
// The client should have a peer certificate after the handshake.
- ASSERT_TRUE(GetPeerCertificate(true, client_peer_cert.accept()));
- ASSERT_TRUE(client_peer_cert != NULL);
+ rtc::scoped_ptr<rtc::SSLCertificate> client_peer_cert =
+ GetPeerCertificate(true);
+ ASSERT_TRUE(client_peer_cert);
// It's not kCERT_PEM.
std::string client_peer_string = client_peer_cert->ToPEMString();
@@ -1059,8 +1055,9 @@
ASSERT_FALSE(client_peer_cert->GetChain());
// The server should have a peer certificate after the handshake.
- ASSERT_TRUE(GetPeerCertificate(false, server_peer_cert.accept()));
- ASSERT_TRUE(server_peer_cert != NULL);
+ rtc::scoped_ptr<rtc::SSLCertificate> server_peer_cert =
+ GetPeerCertificate(false);
+ ASSERT_TRUE(server_peer_cert);
// It's kCERT_PEM
ASSERT_EQ(kCERT_PEM, server_peer_cert->ToPEMString());