]> granicus.if.org Git - icinga2/commitdiff
Replace std::shared_ptr<boost::asio::ssl::context> with Shared<boost::asio::ssl:... 7360/head
authorAlexander A. Klimov <alexander.klimov@icinga.com>
Thu, 25 Jul 2019 14:45:39 +0000 (16:45 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Mon, 21 Oct 2019 14:12:46 +0000 (16:12 +0200)
lib/base/tlsutility.cpp
lib/base/tlsutility.hpp
lib/cli/consolecommand.cpp
lib/perfdata/elasticsearchwriter.cpp
lib/perfdata/gelfwriter.cpp
lib/perfdata/influxdbwriter.cpp
lib/remote/apilistener.cpp
lib/remote/apilistener.hpp
lib/remote/pkiutility.cpp
plugins/check_nscp_api.cpp

index 3c675100226de25db15e484bbcd8acbfc61c84ee..7b8a6967ff90a2f38806c49f315f840a9d316b86 100644 (file)
@@ -58,7 +58,7 @@ void InitializeOpenSSL()
        l_SSLInitialized = true;
 }
 
-static void SetupSslContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& pubkey, const String& privkey, const String& cakey)
+static void SetupSslContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& pubkey, const String& privkey, const String& cakey)
 {
        char errbuf[256];
 
@@ -156,13 +156,13 @@ static void SetupSslContext(const std::shared_ptr<boost::asio::ssl::context>& co
  * @param cakey CA certificate chain file.
  * @returns An SSL context.
  */
-std::shared_ptr<boost::asio::ssl::context> MakeAsioSslContext(const String& pubkey, const String& privkey, const String& cakey)
+Shared<boost::asio::ssl::context>::Ptr MakeAsioSslContext(const String& pubkey, const String& privkey, const String& cakey)
 {
        namespace ssl = boost::asio::ssl;
 
        InitializeOpenSSL();
 
-       auto context (std::make_shared<ssl::context>(ssl::context::tlsv12));
+       auto context (Shared<ssl::context>::Make(ssl::context::tlsv12));
 
        SetupSslContext(context, pubkey, privkey, cakey);
 
@@ -174,7 +174,7 @@ std::shared_ptr<boost::asio::ssl::context> MakeAsioSslContext(const String& pubk
  * @param context The ssl context.
  * @param cipherList The ciper list.
  **/
-void SetCipherListToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& cipherList)
+void SetCipherListToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& cipherList)
 {
        char errbuf[256];
 
@@ -215,7 +215,7 @@ void SetCipherListToSSLContext(const std::shared_ptr<boost::asio::ssl::context>&
  * @param context The ssl context.
  * @param tlsProtocolmin The minimum TLS protocol version.
  */
-void SetTlsProtocolminToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& tlsProtocolmin)
+void SetTlsProtocolminToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& tlsProtocolmin)
 {
        // tlsProtocolmin has no effect since we enforce TLS 1.2 since 2.11.
        /*
@@ -235,7 +235,7 @@ void SetTlsProtocolminToSSLContext(const std::shared_ptr<boost::asio::ssl::conte
  * @param context The SSL context.
  * @param crlPath The path to the CRL file.
  */
-void AddCRLToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& crlPath)
+void AddCRLToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& crlPath)
 {
        char errbuf[256];
        X509_STORE *x509_store = SSL_CTX_get_cert_store(context->native_handle());
index de7033311e5bb1dd81f741e6a638fead804b869a..0f120aaf9a5728d7c81f98f89983bd9556ebd61e 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "base/i2-base.hpp"
 #include "base/object.hpp"
+#include "base/shared.hpp"
 #include "base/string.hpp"
 #include <openssl/ssl.h>
 #include <openssl/bio.h>
@@ -22,10 +23,10 @@ namespace icinga
 
 void InitializeOpenSSL();
 
-std::shared_ptr<boost::asio::ssl::context> MakeAsioSslContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String());
-void AddCRLToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& crlPath);
-void SetCipherListToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& cipherList);
-void SetTlsProtocolminToSSLContext(const std::shared_ptr<boost::asio::ssl::context>& context, const String& tlsProtocolmin);
+Shared<boost::asio::ssl::context>::Ptr MakeAsioSslContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String());
+void AddCRLToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& crlPath);
+void SetCipherListToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& cipherList);
+void SetTlsProtocolminToSSLContext(const Shared<boost::asio::ssl::context>::Ptr& context, const String& tlsProtocolmin);
 
 String GetCertificateCN(const std::shared_ptr<X509>& certificate);
 std::shared_ptr<X509> GetX509Certificate(const String& pemfile);
index 41dcdf99ae2c60b189201a011c24ea4b701eaf2f..41b6590e4c00ec737d6f11c84b3a084e036d76a3 100644 (file)
@@ -524,7 +524,7 @@ incomplete:
  */
 Shared<AsioTlsStream>::Ptr ConsoleCommand::Connect()
 {
-       std::shared_ptr<boost::asio::ssl::context> sslContext;
+       Shared<boost::asio::ssl::context>::Ptr sslContext;
 
        try {
                sslContext = MakeAsioSslContext(Empty, Empty, Empty); //TODO: Add support for cert, key, ca parameters
index 9e9a919781752f8919dd6ae4407e60b2d563eca2..c7d33a6c5cced5e30c792eee0e36f6f9d10ccfe4 100644 (file)
@@ -588,7 +588,7 @@ OptionalTlsStream ElasticsearchWriter::Connect()
        bool tls = GetEnableTls();
 
        if (tls) {
-               std::shared_ptr<boost::asio::ssl::context> sslContext;
+               Shared<boost::asio::ssl::context>::Ptr sslContext;
 
                try {
                        sslContext = MakeAsioSslContext(GetCertPath(), GetKeyPath(), GetCaPath());
index ed3b678c313d0004009ac9c111de6ff69331e900..9ea470107532f975b175c8f7f4625348ae5869d7 100644 (file)
@@ -163,7 +163,7 @@ void GelfWriter::ReconnectInternal()
        bool ssl = GetEnableTls();
 
        if (ssl) {
-               std::shared_ptr<boost::asio::ssl::context> sslContext;
+               Shared<boost::asio::ssl::context>::Ptr sslContext;
 
                try {
                        sslContext = MakeAsioSslContext(GetCertPath(), GetKeyPath(), GetCaPath());
index 9036a79dcd487a387d045c0cd4ab9a18af82877c..9ea2a95dd253ea8b3645e291a272954597c6cde2 100644 (file)
@@ -177,7 +177,7 @@ OptionalTlsStream InfluxdbWriter::Connect()
        bool ssl = GetSslEnable();
 
        if (ssl) {
-               std::shared_ptr<boost::asio::ssl::context> sslContext;
+               Shared<boost::asio::ssl::context>::Ptr sslContext;
 
                try {
                        sslContext = MakeAsioSslContext(GetSslCert(), GetSslKey(), GetSslCaCert());
index 1d49c63d2f3c2d69a4968e6dc53b0383dbddb869..7e54d06de5c7207fcb9e3236ddccae5abfd42ca2 100644 (file)
@@ -178,7 +178,7 @@ void ApiListener::UpdateSSLContext()
 {
        namespace ssl = boost::asio::ssl;
 
-       std::shared_ptr<ssl::context> context;
+       Shared<ssl::context>::Ptr context;
 
        try {
                context = MakeAsioSslContext(GetDefaultCertPath(), GetDefaultKeyPath(), GetDefaultCaPath());
@@ -423,7 +423,7 @@ bool ApiListener::AddListener(const String& node, const String& service)
        return true;
 }
 
-void ApiListener::ListenerCoroutineProc(boost::asio::yield_context yc, const Shared<boost::asio::ip::tcp::acceptor>::Ptr& server, const std::shared_ptr<boost::asio::ssl::context>& sslContext)
+void ApiListener::ListenerCoroutineProc(boost::asio::yield_context yc, const Shared<boost::asio::ip::tcp::acceptor>::Ptr& server, const Shared<boost::asio::ssl::context>::Ptr& sslContext)
 {
        namespace asio = boost::asio;
 
index 49116ca80e70bcb2376aa686a66aac8b4e912758..ca33e4d30bc42aec4a0d2486b6602ef0244e8285 100644 (file)
@@ -125,7 +125,7 @@ protected:
        void ValidateTlsHandshakeTimeout(const Lazy<double>& lvalue, const ValidationUtils& utils) override;
 
 private:
-       std::shared_ptr<boost::asio::ssl::context> m_SSLContext;
+       Shared<boost::asio::ssl::context>::Ptr m_SSLContext;
 
        mutable boost::mutex m_AnonymousClientsLock;
        mutable boost::mutex m_HttpClientsLock;
@@ -153,7 +153,7 @@ private:
 
        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 Shared<boost::asio::ip::tcp::acceptor>::Ptr& server, const std::shared_ptr<boost::asio::ssl::context>& sslContext);
+       void ListenerCoroutineProc(boost::asio::yield_context yc, const Shared<boost::asio::ip::tcp::acceptor>::Ptr& server, const Shared<boost::asio::ssl::context>::Ptr& sslContext);
 
        WorkQueue m_RelayQueue;
        WorkQueue m_SyncQueue{0, 4};
index a9200d7396e2c63ae50acdb94d7bc1de79591f7c..9b96ca0ea318de05f7d87535ddb04daee0f03c76 100644 (file)
@@ -81,7 +81,7 @@ int PkiUtility::SignCsr(const String& csrfile, const String& certfile)
 
 std::shared_ptr<X509> PkiUtility::FetchCert(const String& host, const String& port)
 {
-       std::shared_ptr<boost::asio::ssl::context> sslContext;
+       Shared<boost::asio::ssl::context>::Ptr sslContext;
 
        try {
                sslContext = MakeAsioSslContext();
@@ -149,7 +149,7 @@ int PkiUtility::GenTicket(const String& cn, const String& salt, std::ostream& ti
 int PkiUtility::RequestCertificate(const String& host, const String& port, const String& keyfile,
        const String& certfile, const String& cafile, const std::shared_ptr<X509>& trustedCert, const String& ticket)
 {
-       std::shared_ptr<boost::asio::ssl::context> sslContext;
+       Shared<boost::asio::ssl::context>::Ptr sslContext;
 
        try {
                sslContext = MakeAsioSslContext(certfile, keyfile);
index 3113478a455d301f44d26f7c251a84b9c37237f7..3f6843ec29199cc9793772b30a3b2fdbd63f5b92 100644 (file)
@@ -176,7 +176,7 @@ static int FormatOutput(const Dictionary::Ptr& result)
  */
 static Shared<AsioTlsStream>::Ptr Connect(const String& host, const String& port)
 {
-       std::shared_ptr<boost::asio::ssl::context> sslContext;
+       Shared<boost::asio::ssl::context>::Ptr sslContext;
 
        try {
                sslContext = MakeAsioSslContext(Empty, Empty, Empty); //TODO: Add support for cert, key, ca parameters