| Index: net/ssl/client_cert_store_impl_mac.cc
|
| diff --git a/net/ssl/client_cert_store_impl_mac.cc b/net/ssl/client_cert_store_impl_mac.cc
|
| index 33457358f1e7d60ff914e670c9b9fff8093b9cd7..7892e5cf73bc516bcbf46a97e412916a80107fb5 100644
|
| --- a/net/ssl/client_cert_store_impl_mac.cc
|
| +++ b/net/ssl/client_cert_store_impl_mac.cc
|
| @@ -13,6 +13,7 @@
|
| #include <algorithm>
|
| #include <string>
|
|
|
| +#include "base/callback.h"
|
| #include "base/logging.h"
|
| #include "base/mac/mac_logging.h"
|
| #include "base/mac/scoped_cftyperef.h"
|
| @@ -172,8 +173,9 @@ bool GetClientCertsImpl(const scoped_refptr<X509Certificate>& preferred_cert,
|
|
|
| } // namespace
|
|
|
| -bool ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request,
|
| - CertificateList* selected_certs) {
|
| +void ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request,
|
| + CertificateList* selected_certs,
|
| + const base::Closure& callback) {
|
| std::string server_domain =
|
| HostPortPair::FromString(request.host_and_port).host();
|
|
|
| @@ -205,8 +207,10 @@ bool ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request,
|
| base::AutoLock lock(crypto::GetMacSecurityServicesLock());
|
| err = SecIdentitySearchCreate(NULL, CSSM_KEYUSE_SIGN, &search);
|
| }
|
| - if (err)
|
| - return false;
|
| + if (err) {
|
| + callback.Run();
|
| + return;
|
| + }
|
| ScopedCFTypeRef<SecIdentitySearchRef> scoped_search(search);
|
| while (!err) {
|
| SecIdentityRef identity = NULL;
|
| @@ -239,11 +243,13 @@ bool ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request,
|
|
|
| if (err != errSecItemNotFound) {
|
| OSSTATUS_LOG(ERROR, err) << "SecIdentitySearch error";
|
| - return false;
|
| + callback.Run();
|
| + return;
|
| }
|
|
|
| - return GetClientCertsImpl(preferred_cert, regular_certs, request, true,
|
| - selected_certs);
|
| + GetClientCertsImpl(preferred_cert, regular_certs, request, true,
|
| + selected_certs);
|
| + callback.Run();
|
| }
|
|
|
| bool ClientCertStoreImpl::SelectClientCertsForTesting(
|
|
|