Index: chrome/common/net/x509_certificate_model_openssl.cc |
diff --git a/chrome/common/net/x509_certificate_model_openssl.cc b/chrome/common/net/x509_certificate_model_openssl.cc |
index cfb7ee8aa63c5e36d780f5b60545f6d81f4da974..d6d5adaa5b8365c3099dfe9d65bdadb44de450fe 100644 |
--- a/chrome/common/net/x509_certificate_model_openssl.cc |
+++ b/chrome/common/net/x509_certificate_model_openssl.cc |
@@ -17,6 +17,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "crypto/openssl_bio_string.h" |
#include "crypto/openssl_util.h" |
+#include "crypto/scoped_openssl_types.h" |
#include "grit/generated_resources.h" |
#include "net/base/net_util.h" |
#include "net/cert/x509_util_openssl.h" |
@@ -456,8 +457,9 @@ std::string ProcessNSCertTypeExtension(X509_EXTENSION* ex) { |
{NS_OBJSIGN_CA, IDS_CERT_USAGE_OBJECT_SIGNER}, |
}; |
- crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free> value( |
- reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<ASN1_BIT_STRING, |
+ crypto::OpenSSLDestroyer<ASN1_BIT_STRING, ASN1_BIT_STRING_free> > |
wtc
2014/07/09 15:08:15
I also find the new code less readable because of
|
+ value(reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
return ProcessBitField(value.get(), |
@@ -479,8 +481,9 @@ std::string ProcessKeyUsageExtension(X509_EXTENSION* ex) { |
{KU_DECIPHER_ONLY, IDS_CERT_X509_KEY_USAGE_DECIPHER_ONLY}, |
}; |
- crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free> value( |
- reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<ASN1_BIT_STRING, |
+ crypto::OpenSSLDestroyer<ASN1_BIT_STRING, ASN1_BIT_STRING_free> > |
+ value(reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
return ProcessBitField(value.get(), |
@@ -491,8 +494,10 @@ std::string ProcessKeyUsageExtension(X509_EXTENSION* ex) { |
std::string ProcessBasicConstraints(X509_EXTENSION* ex) { |
std::string rv; |
- crypto::ScopedOpenSSL<BASIC_CONSTRAINTS, BASIC_CONSTRAINTS_free> value( |
- reinterpret_cast<BASIC_CONSTRAINTS*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<BASIC_CONSTRAINTS, |
+ crypto::OpenSSLDestroyer<BASIC_CONSTRAINTS, |
+ BASIC_CONSTRAINTS_free> > |
+ value(reinterpret_cast<BASIC_CONSTRAINTS*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
if (value.get()->ca) |
@@ -516,8 +521,10 @@ std::string ProcessBasicConstraints(X509_EXTENSION* ex) { |
std::string ProcessExtKeyUsage(X509_EXTENSION* ex) { |
std::string rv; |
- crypto::ScopedOpenSSL<EXTENDED_KEY_USAGE, EXTENDED_KEY_USAGE_free> value( |
- reinterpret_cast<EXTENDED_KEY_USAGE*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<EXTENDED_KEY_USAGE, |
+ crypto::OpenSSLDestroyer<EXTENDED_KEY_USAGE, |
+ EXTENDED_KEY_USAGE_free> > |
+ value(reinterpret_cast<EXTENDED_KEY_USAGE*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
for (int i = 0; i < sk_ASN1_OBJECT_num(value.get()); i++) { |
@@ -665,8 +672,9 @@ std::string ProcessGeneralNames(GENERAL_NAMES* names) { |
} |
std::string ProcessAltName(X509_EXTENSION* ex) { |
- crypto::ScopedOpenSSL<GENERAL_NAMES, GENERAL_NAMES_free> alt_names( |
- reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<GENERAL_NAMES, |
+ crypto::OpenSSLDestroyer<GENERAL_NAMES, GENERAL_NAMES_free> > |
+ alt_names(reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ex))); |
if (!alt_names.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -674,8 +682,10 @@ std::string ProcessAltName(X509_EXTENSION* ex) { |
} |
std::string ProcessSubjectKeyId(X509_EXTENSION* ex) { |
- crypto::ScopedOpenSSL<ASN1_OCTET_STRING, ASN1_OCTET_STRING_free> value( |
- reinterpret_cast<ASN1_OCTET_STRING*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<ASN1_OCTET_STRING, |
+ crypto::OpenSSLDestroyer<ASN1_OCTET_STRING, |
+ ASN1_OCTET_STRING_free> > |
+ value(reinterpret_cast<ASN1_OCTET_STRING*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -686,8 +696,9 @@ std::string ProcessSubjectKeyId(X509_EXTENSION* ex) { |
std::string ProcessAuthKeyId(X509_EXTENSION* ex) { |
std::string rv; |
- crypto::ScopedOpenSSL<AUTHORITY_KEYID, AUTHORITY_KEYID_free> value( |
- reinterpret_cast<AUTHORITY_KEYID*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<AUTHORITY_KEYID, |
+ crypto::OpenSSLDestroyer<AUTHORITY_KEYID, AUTHORITY_KEYID_free> > |
+ value(reinterpret_cast<AUTHORITY_KEYID*>(X509V3_EXT_d2i(ex))); |
if (!value.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -742,8 +753,10 @@ std::string ProcessUserNotice(USERNOTICE* notice) { |
std::string ProcessCertificatePolicies(X509_EXTENSION* ex) { |
std::string rv; |
- crypto::ScopedOpenSSL<CERTIFICATEPOLICIES, CERTIFICATEPOLICIES_free> policies( |
- reinterpret_cast<CERTIFICATEPOLICIES*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<CERTIFICATEPOLICIES, |
+ crypto::OpenSSLDestroyer<CERTIFICATEPOLICIES, |
+ CERTIFICATEPOLICIES_free> > |
+ policies(reinterpret_cast<CERTIFICATEPOLICIES*>(X509V3_EXT_d2i(ex))); |
if (!policies.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -813,8 +826,9 @@ std::string ProcessCrlDistPoints(X509_EXTENSION* ex) { |
const int kDistPointRelativeName = 1; |
std::string rv; |
- crypto::ScopedOpenSSL<CRL_DIST_POINTS, CRL_DIST_POINTS_free> dist_points( |
- reinterpret_cast<CRL_DIST_POINTS*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<CRL_DIST_POINTS, |
+ crypto::OpenSSLDestroyer<CRL_DIST_POINTS, CRL_DIST_POINTS_free> > |
+ dist_points(reinterpret_cast<CRL_DIST_POINTS*>(X509V3_EXT_d2i(ex))); |
if (!dist_points.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -854,8 +868,10 @@ std::string ProcessCrlDistPoints(X509_EXTENSION* ex) { |
std::string ProcessAuthInfoAccess(X509_EXTENSION* ex) { |
std::string rv; |
- crypto::ScopedOpenSSL<AUTHORITY_INFO_ACCESS, AUTHORITY_INFO_ACCESS_free> aia( |
- reinterpret_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ex))); |
+ scoped_ptr<AUTHORITY_INFO_ACCESS, |
+ crypto::OpenSSLDestroyer<AUTHORITY_INFO_ACCESS, |
+ AUTHORITY_INFO_ACCESS_free> > |
+ aia(reinterpret_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ex))); |
if (!aia.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -887,8 +903,10 @@ std::string ProcessAuthInfoAccess(X509_EXTENSION* ex) { |
std::string ProcessIA5StringData(ASN1_OCTET_STRING* asn1_string) { |
const unsigned char* data = ASN1_STRING_data(asn1_string); |
- crypto::ScopedOpenSSL<ASN1_IA5STRING, ASN1_IA5STRING_free> ia5_string( |
- d2i_ASN1_IA5STRING(NULL, &data, ASN1_STRING_length(asn1_string))); |
+ scoped_ptr<ASN1_IA5STRING, |
+ crypto::OpenSSLDestroyer<ASN1_IA5STRING, ASN1_IA5STRING_free> > |
+ ia5_string( |
+ d2i_ASN1_IA5STRING(NULL, &data, ASN1_STRING_length(asn1_string))); |
if (!ia5_string.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -900,8 +918,10 @@ std::string ProcessIA5StringData(ASN1_OCTET_STRING* asn1_string) { |
std::string ProcessBMPStringData(ASN1_OCTET_STRING* asn1_string) { |
const unsigned char* data = ASN1_STRING_data(asn1_string); |
- crypto::ScopedOpenSSL<ASN1_BMPSTRING, ASN1_BMPSTRING_free> bmp_string( |
- d2i_ASN1_BMPSTRING(NULL, &data, ASN1_STRING_length(asn1_string))); |
+ scoped_ptr<ASN1_BMPSTRING, |
+ crypto::OpenSSLDestroyer<ASN1_BMPSTRING, ASN1_BMPSTRING_free> > |
+ bmp_string( |
+ d2i_ASN1_BMPSTRING(NULL, &data, ASN1_STRING_length(asn1_string))); |
if (!bmp_string.get()) |
return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); |
@@ -963,7 +983,7 @@ std::string GetCertNameOrNickname(X509Certificate::OSCertHandle cert_handle) { |
if (!name.empty()) |
return name; |
- crypto::ScopedOpenSSL<BIO, BIO_free_all> bio(crypto::BIO_new_string(&name)); |
+ crypto::ScopedBIO bio(crypto::BIO_new_string(&name)); |
if (!bio.get()) |
return name; |
X509_NAME_print_ex(bio.get(), |
@@ -1073,7 +1093,7 @@ std::string GetTitle(net::X509Certificate::OSCertHandle cert_handle) { |
if (!title.empty()) |
return title; |
- crypto::ScopedOpenSSL<BIO, BIO_free_all> bio(crypto::BIO_new_string(&title)); |
+ crypto::ScopedBIO bio(crypto::BIO_new_string(&title)); |
if (!bio.get()) |
return title; |
X509_NAME_print_ex(bio.get(), |