]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Remove use of SSL* raw-pointer from Ssl::CertValidationRequest
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 3 Dec 2016 08:05:09 +0000 (21:05 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 3 Dec 2016 08:05:09 +0000 (21:05 +1300)
src/ssl/cert_validate_message.cc
src/ssl/cert_validate_message.h
src/ssl/helper.cc

index 8e2d6acc1bc041396fb260541472998ad78ef8aa..459526f2f456f9daec7953ba4108c9ed73607d1e 100644 (file)
@@ -21,16 +21,16 @@ Ssl::CertValidationMsg::composeRequest(CertValidationRequest const &vcert)
 {
     body.clear();
     body += Ssl::CertValidationMsg::param_host + "=" + vcert.domainName;
-    STACK_OF(X509) *peerCerts = static_cast<STACK_OF(X509) *>(SSL_get_ex_data(vcert.ssl, ssl_ex_index_ssl_cert_chain));
+    STACK_OF(X509) *peerCerts = static_cast<STACK_OF(X509) *>(SSL_get_ex_data(vcert.ssl.get(), ssl_ex_index_ssl_cert_chain));
 
-    if (const char *sslVersion = SSL_get_version(vcert.ssl))
+    if (const char *sslVersion = SSL_get_version(vcert.ssl.get()))
         body += "\n" +  Ssl::CertValidationMsg::param_proto_version + "=" + sslVersion;
 
-    if (const char *cipherName = SSL_CIPHER_get_name(SSL_get_current_cipher(vcert.ssl)))
+    if (const char *cipherName = SSL_CIPHER_get_name(SSL_get_current_cipher(vcert.ssl.get())))
         body += "\n" +  Ssl::CertValidationMsg::param_cipher + "=" + cipherName;
 
     if (!peerCerts)
-        peerCerts = SSL_get_peer_cert_chain(vcert.ssl);
+        peerCerts = SSL_get_peer_cert_chain(vcert.ssl.get());
 
     if (peerCerts) {
         Ssl::BIO_Pointer bio(BIO_new(BIO_s_mem()));
index 299395cdbb3608177acfd6c95bf4bc8f6fa981a1..16f468420bd880a7419195c3bec9c2a7818603bf 100644 (file)
@@ -26,10 +26,9 @@ namespace Ssl
 class CertValidationRequest
 {
 public:
-    SSL *ssl;
-    Security::CertErrors *errors; ///< The list of errors detected
+    Security::SessionPointer ssl;
+    Security::CertErrors *errors = nullptr; ///< The list of errors detected
     std::string domainName; ///< The server name
-    CertValidationRequest() : ssl(NULL), errors(NULL) {}
 };
 
 /**
index e9e6366ecc8045446d1b6960eeabe9a2e800ae3d..1e1093e841ca3da1faba4baf55f3407746a7acc2 100644 (file)
@@ -236,7 +236,7 @@ void Ssl::CertValidationHelper::sslSubmit(Ssl::CertValidationRequest const &requ
     crtdvdData->query = message.compose();
     crtdvdData->query += '\n';
     crtdvdData->callback = callback;
-    crtdvdData->ssl.resetAndLock(request.ssl);
+    crtdvdData->ssl = request.ssl;
     Ssl::CertValidationResponse::Pointer const*validationResponse;
 
     if (CertValidationHelper::HelperCache &&