]> granicus.if.org Git - icinga2/commitdiff
Replace std::shared_ptr<AsioTlsStream> with Shared<AsioTlsStream>::Ptr
authorAlexander A. Klimov <alexander.klimov@icinga.com>
Thu, 25 Jul 2019 12:34:29 +0000 (14:34 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Mon, 21 Oct 2019 14:12:35 +0000 (16:12 +0200)
18 files changed:
lib/base/netstring.cpp
lib/base/netstring.hpp
lib/base/tlsstream.hpp
lib/cli/consolecommand.cpp
lib/cli/consolecommand.hpp
lib/perfdata/elasticsearchwriter.cpp
lib/perfdata/gelfwriter.cpp
lib/perfdata/influxdbwriter.cpp
lib/remote/apilistener.cpp
lib/remote/apilistener.hpp
lib/remote/httpserverconnection.cpp
lib/remote/httpserverconnection.hpp
lib/remote/jsonrpc.cpp
lib/remote/jsonrpc.hpp
lib/remote/jsonrpcconnection.cpp
lib/remote/jsonrpcconnection.hpp
lib/remote/pkiutility.cpp
plugins/check_nscp_api.cpp

index 2be7675a7247f4fe5873db6eef42de8b5807be0a..fb8098a6529e5a6d379673279e7979325440fc4c 100644 (file)
@@ -126,7 +126,7 @@ size_t NetString::WriteStringToStream(const Stream::Ptr& stream, const String& s
  * @exception invalid_argument The input stream is invalid.
  * @see https://github.com/PeterScott/netstring-c/blob/master/netstring.c
  */
-String NetString::ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& stream,
+String NetString::ReadStringFromStream(const Shared<AsioTlsStream>::Ptr& stream,
        ssize_t maxMessageLength)
 {
        namespace asio = boost::asio;
@@ -205,7 +205,7 @@ String NetString::ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& str
  * @exception invalid_argument The input stream is invalid.
  * @see https://github.com/PeterScott/netstring-c/blob/master/netstring.c
  */
-String NetString::ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& stream,
+String NetString::ReadStringFromStream(const Shared<AsioTlsStream>::Ptr& stream,
        boost::asio::yield_context yc, ssize_t maxMessageLength)
 {
        namespace asio = boost::asio;
@@ -284,7 +284,7 @@ String NetString::ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& str
  *
  * @return The amount of bytes written.
  */
-size_t NetString::WriteStringToStream(const std::shared_ptr<AsioTlsStream>& stream, const String& str)
+size_t NetString::WriteStringToStream(const Shared<AsioTlsStream>::Ptr& stream, const String& str)
 {
        namespace asio = boost::asio;
 
@@ -307,7 +307,7 @@ size_t NetString::WriteStringToStream(const std::shared_ptr<AsioTlsStream>& stre
  *
  * @return The amount of bytes written.
  */
-size_t NetString::WriteStringToStream(const std::shared_ptr<AsioTlsStream>& stream, const String& str, boost::asio::yield_context yc)
+size_t NetString::WriteStringToStream(const Shared<AsioTlsStream>::Ptr& stream, const String& str, boost::asio::yield_context yc)
 {
        namespace asio = boost::asio;
 
index 2d24359075ad83bd53831d423ea12b066c7ca0af..e5ec051de9364e04cc173364e7242eef3d021b09 100644 (file)
@@ -26,12 +26,12 @@ class NetString
 public:
        static StreamReadStatus ReadStringFromStream(const Stream::Ptr& stream, String *message, StreamReadContext& context,
                bool may_wait = false, ssize_t maxMessageLength = -1);
-       static String ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& stream, ssize_t maxMessageLength = -1);
-       static String ReadStringFromStream(const std::shared_ptr<AsioTlsStream>& stream,
+       static String ReadStringFromStream(const Shared<AsioTlsStream>::Ptr& stream, ssize_t maxMessageLength = -1);
+       static String ReadStringFromStream(const Shared<AsioTlsStream>::Ptr& stream,
                boost::asio::yield_context yc, ssize_t maxMessageLength = -1);
        static size_t WriteStringToStream(const Stream::Ptr& stream, const String& message);
-       static size_t WriteStringToStream(const std::shared_ptr<AsioTlsStream>& stream, const String& message);
-       static size_t WriteStringToStream(const std::shared_ptr<AsioTlsStream>& stream, const String& message, boost::asio::yield_context yc);
+       static size_t WriteStringToStream(const Shared<AsioTlsStream>::Ptr& stream, const String& message);
+       static size_t WriteStringToStream(const Shared<AsioTlsStream>::Ptr& stream, const String& message, boost::asio::yield_context yc);
        static void WriteStringToStream(std::ostream& stream, const String& message);
 
 private:
index 70a4591147334cc684b4fb8df2a2d57f6d4057ac..1d81f77933ce4423c59e318441c76d15888cb3af 100644 (file)
@@ -4,6 +4,7 @@
 #define TLSSTREAM_H
 
 #include "base/i2-base.hpp"
+#include "base/shared.hpp"
 #include "base/socket.hpp"
 #include "base/stream.hpp"
 #include "base/tlsutility.hpp"
@@ -85,7 +86,7 @@ private:
 };
 
 typedef boost::asio::buffered_stream<boost::asio::ip::tcp::socket> AsioTcpStream;
-typedef std::pair<std::shared_ptr<AsioTlsStream>, std::shared_ptr<AsioTcpStream>> OptionalTlsStream;
+typedef std::pair<Shared<AsioTlsStream>::Ptr, std::shared_ptr<AsioTcpStream>> OptionalTlsStream;
 
 }
 
index 9f8a2cf8a6298da94b11e7fa74606e5e487ed94b..41dcdf99ae2c60b189201a011c24ea4b701eaf2f 100644 (file)
@@ -42,7 +42,7 @@ namespace po = boost::program_options;
 
 static ScriptFrame *l_ScriptFrame;
 static Url::Ptr l_Url;
-static std::shared_ptr<AsioTlsStream> l_TlsStream;
+static Shared<AsioTlsStream>::Ptr l_TlsStream;
 static String l_Session;
 
 REGISTER_CLICOMMAND("console", ConsoleCommand);
@@ -522,7 +522,7 @@ incomplete:
  *
  * @returns AsioTlsStream pointer for future HTTP connections.
  */
-std::shared_ptr<AsioTlsStream> ConsoleCommand::Connect()
+Shared<AsioTlsStream>::Ptr ConsoleCommand::Connect()
 {
        std::shared_ptr<boost::asio::ssl::context> sslContext;
 
@@ -537,7 +537,7 @@ std::shared_ptr<AsioTlsStream> ConsoleCommand::Connect()
        String host = l_Url->GetHost();
        String port = l_Url->GetPort();
 
-       std::shared_ptr<AsioTlsStream> stream = std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, host);
+       Shared<AsioTlsStream>::Ptr stream = Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, host);
 
        try {
                icinga::Connect(stream->lowest_layer(), host, port);
index 95d6dce1294d5989d7fa57b020121191ada30010..973ca7f197d026d74fbb6ca817660781787aa93d 100644 (file)
@@ -40,7 +40,7 @@ private:
        mutable boost::mutex m_Mutex;
        mutable boost::condition_variable m_CV;
 
-       static std::shared_ptr<AsioTlsStream> Connect();
+       static Shared<AsioTlsStream>::Ptr Connect();
 
        static Value ExecuteScript(const String& session, const String& command, bool sandboxed);
        static Array::Ptr AutoCompleteScript(const String& session, const String& command, bool sandboxed);
index 7798ad8dc91e178b093a3becc1ece85127135310..a9d38d36f24366037753dda2c193bd94e8b009a1 100644 (file)
@@ -598,7 +598,8 @@ OptionalTlsStream ElasticsearchWriter::Connect()
                        throw;
                }
 
-               stream.first = std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+               stream.first = Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+
        } else {
                stream.second = std::make_shared<AsioTcpStream>(IoEngine::Get().GetIoContext());
        }
index c778a381335c8d2ff118b39e900f690c616c2897..3094dd71fa95946bf414456fc501e47a9cbb619b 100644 (file)
@@ -173,7 +173,8 @@ void GelfWriter::ReconnectInternal()
                        throw;
                }
 
-               m_Stream.first = std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+               m_Stream.first = Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+
        } else {
                m_Stream.second = std::make_shared<AsioTcpStream>(IoEngine::Get().GetIoContext());
        }
index 1e02e52134fa05c39d7d02223783f3a72e62c594..866dc25a04030c7080ac686cd9d5f60d5f1c8b0e 100644 (file)
@@ -187,7 +187,8 @@ OptionalTlsStream InfluxdbWriter::Connect()
                        throw;
                }
 
-               stream.first = std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+               stream.first = Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, GetHost());
+
        } else {
                stream.second = std::make_shared<AsioTcpStream>(IoEngine::Get().GetIoContext());
        }
index 81385e6dafe2a541ca3156edac2e5e3e8ddc7eac..a712376a9ba97fe3a89d41a91f150f5e62b6ba47 100644 (file)
@@ -431,7 +431,7 @@ void ApiListener::ListenerCoroutineProc(boost::asio::yield_context yc, const std
 
        for (;;) {
                try {
-                       auto sslConn (std::make_shared<AsioTlsStream>(io, *sslContext));
+                       auto sslConn (Shared<AsioTlsStream>::Make(io, *sslContext));
 
                        server->async_accept(sslConn->lowest_layer(), yc);
 
@@ -470,7 +470,7 @@ void ApiListener::AddConnection(const Endpoint::Ptr& endpoint)
                        << "Reconnecting to endpoint '" << endpoint->GetName() << "' via host '" << host << "' and port '" << port << "'";
 
                try {
-                       auto sslConn (std::make_shared<AsioTlsStream>(io, *sslContext, endpoint->GetName()));
+                       auto sslConn (Shared<AsioTlsStream>::Make(io, *sslContext, endpoint->GetName()));
 
                        Connect(sslConn->lowest_layer(), host, port, yc);
 
@@ -488,7 +488,7 @@ void ApiListener::AddConnection(const Endpoint::Ptr& endpoint)
        });
 }
 
-void ApiListener::NewClientHandler(boost::asio::yield_context yc, const std::shared_ptr<AsioTlsStream>& client, const String& hostname, ConnectionRole role)
+void ApiListener::NewClientHandler(boost::asio::yield_context yc, const Shared<AsioTlsStream>::Ptr& client, const String& hostname, ConnectionRole role)
 {
        try {
                NewClientHandlerInternal(yc, client, hostname, role);
@@ -506,7 +506,7 @@ void ApiListener::NewClientHandler(boost::asio::yield_context yc, const std::sha
  *
  * @param client The new client.
  */
-void ApiListener::NewClientHandlerInternal(boost::asio::yield_context yc, const std::shared_ptr<AsioTlsStream>& client, const String& hostname, ConnectionRole role)
+void ApiListener::NewClientHandlerInternal(boost::asio::yield_context yc, const Shared<AsioTlsStream>::Ptr& client, const String& hostname, ConnectionRole role)
 {
        namespace asio = boost::asio;
        namespace ssl = asio::ssl;
index ecbeed415efaf9e79e6aac25269577bea6a8b489..cf5abe9e363e6a8dedc11fa2bac409e174ac94d2 100644 (file)
@@ -150,8 +150,8 @@ private:
        bool AddListener(const String& node, const String& service);
        void AddConnection(const Endpoint::Ptr& endpoint);
 
-       void NewClientHandler(boost::asio::yield_context yc, const std::shared_ptr<AsioTlsStream>& client, const String& hostname, ConnectionRole role);
-       void NewClientHandlerInternal(boost::asio::yield_context yc, const std::shared_ptr<AsioTlsStream>& client, const String& hostname, ConnectionRole role);
+       void NewClientHandler(boost::asio::yield_context yc, const Shared<AsioTlsStream>::Ptr& client, const String& hostname, ConnectionRole role);
+       void NewClientHandlerInternal(boost::asio::yield_context yc, const Shared<AsioTlsStream>::Ptr& client, const String& hostname, ConnectionRole role);
        void ListenerCoroutineProc(boost::asio::yield_context yc, const std::shared_ptr<boost::asio::ip::tcp::acceptor>& server, const std::shared_ptr<boost::asio::ssl::context>& sslContext);
 
        WorkQueue m_RelayQueue;
index cdbcc7c5721afd5d99ba5a8f25eeb25678cb83d0..d4eac7d0748db942ad930f5347f20695c5de5781 100644 (file)
@@ -34,12 +34,12 @@ using namespace icinga;
 
 auto const l_ServerHeader ("Icinga/" + Application::GetAppVersion());
 
-HttpServerConnection::HttpServerConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream)
+HttpServerConnection::HttpServerConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream)
        : HttpServerConnection(identity, authenticated, stream, IoEngine::Get().GetIoContext())
 {
 }
 
-HttpServerConnection::HttpServerConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream, boost::asio::io_context& io)
+HttpServerConnection::HttpServerConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, boost::asio::io_context& io)
        : m_Stream(stream), m_Seen(Utility::GetTime()), m_IoStrand(io), m_ShuttingDown(false), m_HasStartedStreaming(false),
        m_CheckLivenessTimer(io)
 {
index 43851e76e3499b2bfa27d4678f6833c6a78f3ce1..9c812e526bd274736cb74e5292e5640d576c4ed8 100644 (file)
@@ -25,7 +25,7 @@ class HttpServerConnection final : public Object
 public:
        DECLARE_PTR_TYPEDEFS(HttpServerConnection);
 
-       HttpServerConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream);
+       HttpServerConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream);
 
        void Start();
        void Disconnect();
@@ -35,7 +35,7 @@ public:
 
 private:
        ApiUser::Ptr m_ApiUser;
-       std::shared_ptr<AsioTlsStream> m_Stream;
+       Shared<AsioTlsStream>::Ptr m_Stream;
        double m_Seen;
        String m_PeerAddress;
        boost::asio::io_context::strand m_IoStrand;
@@ -43,7 +43,7 @@ private:
        bool m_HasStartedStreaming;
        boost::asio::deadline_timer m_CheckLivenessTimer;
 
-       HttpServerConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream, boost::asio::io_context& io);
+       HttpServerConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, boost::asio::io_context& io);
 
        void ProcessMessages(boost::asio::yield_context yc);
        void CheckLiveness(boost::asio::yield_context yc);
index d17b5780f9245c1aaf966337a3bad6e39091d4e5..58288001c8454268efd6af0af432e1bee38704d8 100644 (file)
@@ -52,7 +52,7 @@ static bool GetDebugJsonRpcCached()
  *
  * @return The amount of bytes sent.
  */
-size_t JsonRpc::SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const Dictionary::Ptr& message)
+size_t JsonRpc::SendMessage(const Shared<AsioTlsStream>::Ptr& stream, const Dictionary::Ptr& message)
 {
        String json = JsonEncode(message);
 
@@ -71,7 +71,7 @@ size_t JsonRpc::SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const
  *
  * @return The amount of bytes sent.
  */
-size_t JsonRpc::SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const Dictionary::Ptr& message, boost::asio::yield_context yc)
+size_t JsonRpc::SendMessage(const Shared<AsioTlsStream>::Ptr& stream, const Dictionary::Ptr& message, boost::asio::yield_context yc)
 {
        return JsonRpc::SendRawMessage(stream, JsonEncode(message), yc);
 }
@@ -85,7 +85,7 @@ size_t JsonRpc::SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const
   *
   * @return bytes sent
   */
-size_t JsonRpc::SendRawMessage(const std::shared_ptr<AsioTlsStream>& stream, const String& json, boost::asio::yield_context yc)
+size_t JsonRpc::SendRawMessage(const Shared<AsioTlsStream>::Ptr& stream, const String& json, boost::asio::yield_context yc)
 {
 #ifdef I2_DEBUG
        if (GetDebugJsonRpcCached())
@@ -104,7 +104,7 @@ size_t JsonRpc::SendRawMessage(const std::shared_ptr<AsioTlsStream>& stream, con
  * @return A JSON string
  */
 
-String JsonRpc::ReadMessage(const std::shared_ptr<AsioTlsStream>& stream, ssize_t maxMessageLength)
+String JsonRpc::ReadMessage(const Shared<AsioTlsStream>::Ptr& stream, ssize_t maxMessageLength)
 {
        String jsonString = NetString::ReadStringFromStream(stream, maxMessageLength);
 
@@ -125,7 +125,7 @@ String JsonRpc::ReadMessage(const std::shared_ptr<AsioTlsStream>& stream, ssize_
  *
  * @return A JSON string
  */
-String JsonRpc::ReadMessage(const std::shared_ptr<AsioTlsStream>& stream, boost::asio::yield_context yc, ssize_t maxMessageLength)
+String JsonRpc::ReadMessage(const Shared<AsioTlsStream>::Ptr& stream, boost::asio::yield_context yc, ssize_t maxMessageLength)
 {
        String jsonString = NetString::ReadStringFromStream(stream, yc, maxMessageLength);
 
index cc4cc7b6d281ef7f051860e88a1bec4b402e48e9..3f3cdec8861e39c4ce78c9f6449442b3f96a3b6b 100644 (file)
@@ -21,12 +21,12 @@ namespace icinga
 class JsonRpc
 {
 public:
-       static size_t SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const Dictionary::Ptr& message);
-       static size_t SendMessage(const std::shared_ptr<AsioTlsStream>& stream, const Dictionary::Ptr& message, boost::asio::yield_context yc);
-       static size_t SendRawMessage(const std::shared_ptr<AsioTlsStream>& stream, const String& json, boost::asio::yield_context yc);
+       static size_t SendMessage(const Shared<AsioTlsStream>::Ptr& stream, const Dictionary::Ptr& message);
+       static size_t SendMessage(const Shared<AsioTlsStream>::Ptr& stream, const Dictionary::Ptr& message, boost::asio::yield_context yc);
+       static size_t SendRawMessage(const Shared<AsioTlsStream>::Ptr& stream, const String& json, boost::asio::yield_context yc);
 
-       static String ReadMessage(const std::shared_ptr<AsioTlsStream>& stream, ssize_t maxMessageLength = -1);
-       static String ReadMessage(const std::shared_ptr<AsioTlsStream>& stream, boost::asio::yield_context yc, ssize_t maxMessageLength = -1);
+       static String ReadMessage(const Shared<AsioTlsStream>::Ptr& stream, ssize_t maxMessageLength = -1);
+       static String ReadMessage(const Shared<AsioTlsStream>::Ptr& stream, boost::asio::yield_context yc, ssize_t maxMessageLength = -1);
 
        static Dictionary::Ptr DecodeMessage(const String& message);
 
index b6d1d41e6ac7c273cced05fdaf242a9aaacc93ed..22cb2b24e8548246cf9d3db53ea3d4076d3342e4 100644 (file)
@@ -30,13 +30,13 @@ REGISTER_APIFUNCTION(SetLogPosition, log, &SetLogPositionHandler);
 static RingBuffer l_TaskStats (15 * 60);
 
 JsonRpcConnection::JsonRpcConnection(const String& identity, bool authenticated,
-       const std::shared_ptr<AsioTlsStream>& stream, ConnectionRole role)
+       const Shared<AsioTlsStream>::Ptr& stream, ConnectionRole role)
        : JsonRpcConnection(identity, authenticated, stream, role, IoEngine::Get().GetIoContext())
 {
 }
 
 JsonRpcConnection::JsonRpcConnection(const String& identity, bool authenticated,
-       const std::shared_ptr<AsioTlsStream>& stream, ConnectionRole role, boost::asio::io_context& io)
+       const Shared<AsioTlsStream>::Ptr& stream, ConnectionRole role, boost::asio::io_context& io)
        : m_Identity(identity), m_Authenticated(authenticated), m_Stream(stream), m_Role(role),
        m_Timestamp(Utility::GetTime()), m_Seen(Utility::GetTime()), m_NextHeartbeat(0), m_IoStrand(io),
        m_OutgoingMessagesQueued(io), m_WriterDone(io), m_ShuttingDown(false),
@@ -158,7 +158,7 @@ Endpoint::Ptr JsonRpcConnection::GetEndpoint() const
        return m_Endpoint;
 }
 
-std::shared_ptr<AsioTlsStream> JsonRpcConnection::GetStream() const
+Shared<AsioTlsStream>::Ptr JsonRpcConnection::GetStream() const
 {
        return m_Stream;
 }
index 0fbf6c605af6d65d4083d6e196d1fba860a84f16..591ddcb1f0d52a9e7b1ac43075817643d0d01712 100644 (file)
@@ -42,7 +42,7 @@ class JsonRpcConnection final : public Object
 public:
        DECLARE_PTR_TYPEDEFS(JsonRpcConnection);
 
-       JsonRpcConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream, ConnectionRole role);
+       JsonRpcConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, ConnectionRole role);
 
        void Start();
 
@@ -50,7 +50,7 @@ public:
        String GetIdentity() const;
        bool IsAuthenticated() const;
        Endpoint::Ptr GetEndpoint() const;
-       std::shared_ptr<AsioTlsStream> GetStream() const;
+       Shared<AsioTlsStream>::Ptr GetStream() const;
        ConnectionRole GetRole() const;
 
        void Disconnect();
@@ -68,7 +68,7 @@ private:
        String m_Identity;
        bool m_Authenticated;
        Endpoint::Ptr m_Endpoint;
-       std::shared_ptr<AsioTlsStream> m_Stream;
+       Shared<AsioTlsStream>::Ptr m_Stream;
        ConnectionRole m_Role;
        double m_Timestamp;
        double m_Seen;
@@ -80,7 +80,7 @@ private:
        bool m_ShuttingDown;
        boost::asio::deadline_timer m_CheckLivenessTimer, m_HeartbeatTimer;
 
-       JsonRpcConnection(const String& identity, bool authenticated, const std::shared_ptr<AsioTlsStream>& stream, ConnectionRole role, boost::asio::io_context& io);
+       JsonRpcConnection(const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, ConnectionRole role, boost::asio::io_context& io);
 
        void HandleIncomingMessages(boost::asio::yield_context yc);
        void WriteOutgoingMessages(boost::asio::yield_context yc);
index a95e3554cbde6a6c04908318c9eb162a7d62f351..a9200d7396e2c63ae50acdb94d7bc1de79591f7c 100644 (file)
@@ -93,7 +93,7 @@ std::shared_ptr<X509> PkiUtility::FetchCert(const String& host, const String& po
                return std::shared_ptr<X509>();
        }
 
-       auto stream (std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, host));
+       auto stream (Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, host));
 
        try {
                Connect(stream->lowest_layer(), host, port);
@@ -161,7 +161,7 @@ int PkiUtility::RequestCertificate(const String& host, const String& port, const
                return 1;
        }
 
-       auto stream (std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, host));
+       auto stream (Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, host));
 
        try {
                Connect(stream->lowest_layer(), host, port);
index 1339ccbacea40fbc0e897c510dcca565a12a2e11..3113478a455d301f44d26f7c251a84b9c37237f7 100644 (file)
@@ -174,7 +174,7 @@ static int FormatOutput(const Dictionary::Ptr& result)
  *
  * @returns AsioTlsStream pointer for future HTTP connections.
  */
-static std::shared_ptr<AsioTlsStream> Connect(const String& host, const String& port)
+static Shared<AsioTlsStream>::Ptr Connect(const String& host, const String& port)
 {
        std::shared_ptr<boost::asio::ssl::context> sslContext;
 
@@ -186,7 +186,7 @@ static std::shared_ptr<AsioTlsStream> Connect(const String& host, const String&
                throw;
        }
 
-       std::shared_ptr<AsioTlsStream> stream = std::make_shared<AsioTlsStream>(IoEngine::Get().GetIoContext(), *sslContext, host);
+       Shared<AsioTlsStream>::Ptr stream = Shared<AsioTlsStream>::Make(IoEngine::Get().GetIoContext(), *sslContext, host);
 
        try {
                icinga::Connect(stream->lowest_layer(), host, port);
@@ -338,7 +338,7 @@ static Dictionary::Ptr FetchData(const String& host, const String& port, const S
        namespace beast = boost::beast;
        namespace http = beast::http;
 
-       std::shared_ptr<AsioTlsStream> tlsStream;
+       Shared<AsioTlsStream>::Ptr tlsStream;
 
        try {
                tlsStream = Connect(host, port);