summaryrefslogtreecommitdiff
path: root/src/LibsslTLSSession.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-22 18:51:29 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-22 18:51:29 +0900
commit05d85e296563842ab57eb201fb6d11a68cf8fa41 (patch)
tree660bba2e5d2e90b5be41eb55398673ad91411e87 /src/LibsslTLSSession.cc
parente791eb9ca334e7746bc0735cebcda09e30fa65df (diff)
Remove auto_delete in favor of std::unique_ptr
Diffstat (limited to 'src/LibsslTLSSession.cc')
-rw-r--r--src/LibsslTLSSession.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/LibsslTLSSession.cc b/src/LibsslTLSSession.cc
index 65b66b43..492c87c1 100644
--- a/src/LibsslTLSSession.cc
+++ b/src/LibsslTLSSession.cc
@@ -193,7 +193,8 @@ int OpenSSLTLSSession::tlsConnect(const std::string& hostname,
handshakeErr = "certificate not found";
return TLS_ERR_ERROR;
}
- auto_delete<X509*> certDeleter(peerCert, X509_free);
+ std::unique_ptr<X509, decltype(&X509_free)> certDeleter
+ (peerCert, X509_free);
long verifyResult = SSL_get_verify_result(ssl_);
if(verifyResult != X509_V_OK) {
handshakeErr = X509_verify_cert_error_string(verifyResult);
@@ -206,8 +207,8 @@ int OpenSSLTLSSession::tlsConnect(const std::string& hostname,
altNames = reinterpret_cast<GENERAL_NAMES*>
(X509_get_ext_d2i(peerCert, NID_subject_alt_name, NULL, NULL));
if(altNames) {
- auto_delete<GENERAL_NAMES*> altNamesDeleter
- (altNames, GENERAL_NAMES_free);
+ std::unique_ptr<GENERAL_NAMES, decltype(&GENERAL_NAMES_free)>
+ altNamesDeleter(altNames, GENERAL_NAMES_free);
size_t n = sk_GENERAL_NAME_num(altNames);
for(size_t i = 0; i < n; ++i) {
const GENERAL_NAME* altName = sk_GENERAL_NAME_value(altNames, i);