tinfo.sslVersion = sock->getSSLVersion();
tinfo.sslCertSize = sock->getSSLCertSize();
tinfo.sslResume = SSLUtil::getResumeState(sock);
- sock->getSSLClientCiphers(tinfo.sslClientCiphers);
- sock->getSSLServerCiphers(tinfo.sslServerCiphers);
- tinfo.sslClientComprMethods = sock->getSSLClientComprMethods();
- tinfo.sslClientExts = sock->getSSLClientExts();
- tinfo.sslNextProtocol.assign(
- reinterpret_cast<const char*>(nextProto),
- nextProtoLength);
+ tinfo.sslClientCiphers = std::make_shared<std::string>();
+ sock->getSSLClientCiphers(*tinfo.sslClientCiphers);
+ tinfo.sslServerCiphers = std::make_shared<std::string>();
+ sock->getSSLServerCiphers(*tinfo.sslServerCiphers);
+ tinfo.sslClientComprMethods =
+ std::make_shared<std::string>(sock->getSSLClientComprMethods());
+ tinfo.sslClientExts =
+ std::make_shared<std::string>(sock->getSSLClientExts());
+ tinfo.sslNextProtocol = std::make_shared<std::string>();
+ tinfo.sslNextProtocol->assign(reinterpret_cast<const char*>(nextProto),
+ nextProtoLength);
acceptor_->updateSSLStats(sock, tinfo.sslSetupTime, SSLErrorEnum::NO_ERROR);
acceptor_->downstreamConnectionManager_->removeConnection(this);
/*
* list of ciphers sent by the client
*/
- std::string sslClientCiphers{};
+ std::shared_ptr<std::string> sslClientCiphers{nullptr};
/*
* list of compression methods sent by the client
*/
- std::string sslClientComprMethods{};
+ std::shared_ptr<std::string> sslClientComprMethods{nullptr};
/*
* list of TLS extensions sent by the client
*/
- std::string sslClientExts{};
+ std::shared_ptr<std::string> sslClientExts{nullptr};
/*
* hash of all the SSL parameters sent by the client
*/
- std::string sslSignature{};
+ std::shared_ptr<std::string> sslSignature{nullptr};
/*
* list of ciphers supported by the server
*/
- std::string sslServerCiphers{};
+ std::shared_ptr<std::string> sslServerCiphers{nullptr};
/*
* guessed "(os) (browser)" based on SSL Signature
*/
- std::string guessedUserAgent{};
+ std::shared_ptr<std::string> guessedUserAgent{nullptr};
/**
* The result of SSL NPN negotiation.
*/
- std::string sslNextProtocol{};
+ std::shared_ptr<std::string> sslNextProtocol{nullptr};
/*
* total number of bytes sent over the connection