public:
std::string query;
AsyncCall::Pointer callback;
- SSL *ssl;
+ Security::SessionPointer ssl;
};
CBDATA_CLASS_INIT(submitData);
std::string error;
submitData *crtdvdData = static_cast<submitData *>(data);
- STACK_OF(X509) *peerCerts = SSL_get_peer_cert_chain(crtdvdData->ssl);
+ STACK_OF(X509) *peerCerts = SSL_get_peer_cert_chain(crtdvdData->ssl.get());
if (reply.result == ::Helper::BrokenHelper) {
debugs(83, DBG_IMPORTANT, "\"ssl_crtvd\" helper error response: " << reply.other().content());
validationResponse->resultCode = ::Helper::BrokenHelper;
delete item;
}
- SSL_free(crtdvdData->ssl);
delete crtdvdData;
}
crtdvdData->query = message.compose();
crtdvdData->query += '\n';
crtdvdData->callback = callback;
- crtdvdData->ssl = request.ssl;
- CRYPTO_add(&crtdvdData->ssl->references,1,CRYPTO_LOCK_SSL);
+ crtdvdData->ssl.resetAndLock(request.ssl);
Ssl::CertValidationResponse::Pointer const*validationResponse;
if (CertValidationHelper::HelperCache &&
Must(dialer);
dialer->arg1 = *validationResponse;
ScheduleCallHere(callback);
- SSL_free(crtdvdData->ssl);
delete crtdvdData;
return;
}
Must(dialer);
dialer->arg1 = resp;
ScheduleCallHere(callback);
-
- SSL_free(crtdvdData->ssl);
delete crtdvdData;
return;
}