summarylogtreecommitdiffstats
path: root/multichain-boost-openssl.patch
diff options
context:
space:
mode:
authorAndrew2018-05-17 10:58:19 -0500
committerAndrew2018-05-17 10:58:19 -0500
commit10d7b5f7149781a17311a9f14225f052f94130c8 (patch)
tree733f31b9a69fff0b9acffd223374c709d2a7d3c0 /multichain-boost-openssl.patch
downloadaur-10d7b5f7149781a17311a9f14225f052f94130c8.tar.gz
Initial commit of multichain aur
Diffstat (limited to 'multichain-boost-openssl.patch')
-rw-r--r--multichain-boost-openssl.patch121
1 files changed, 121 insertions, 0 deletions
diff --git a/multichain-boost-openssl.patch b/multichain-boost-openssl.patch
new file mode 100644
index 000000000000..6de705af4999
--- /dev/null
+++ b/multichain-boost-openssl.patch
@@ -0,0 +1,121 @@
+--- a/src/multichain/multichain-cli.cpp
++++ b/src/multichain/multichain-cli.cpp
+@@ -223,7 +223,7 @@ Object CallRPC(const string& strMethod, const Array& params)
+ // Connect to localhost
+ bool fUseSSL = GetBoolArg("-rpcssl", false);
+ asio::io_service io_service;
+- ssl::context context(io_service, ssl::context::sslv23);
++ ssl::context context(ssl::context::sslv23);
+ context.set_options(ssl::context::no_sslv2 | ssl::context::no_sslv3);
+ asio::ssl::stream<asio::ip::tcp::socket> sslStream(io_service, context);
+ SSLIOStreamDevice<asio::ip::tcp> d(sslStream, fUseSSL);
+--- a/src/rpc/rpcserver.cpp
++++ b/src/rpc/rpcserver.cpp
+@@ -564,8 +564,8 @@ private:
+ void ServiceConnection(AcceptedConnection *conn);
+
+ //! Forward declaration required for RPCListen
+-template <typename Protocol, typename SocketAcceptorService>
+-static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
++template <typename Protocol>
++static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol> > acceptor,
+ ssl::context& context,
+ bool fUseSSL,
+ boost::shared_ptr< AcceptedConnection > conn,
+@@ -574,8 +574,8 @@ static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol,
+ /**
+ * Sets up I/O resources to accept and handle a new connection.
+ */
+-template <typename Protocol, typename SocketAcceptorService>
+-static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
++template <typename Protocol>
++static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol> > acceptor,
+ ssl::context& context,
+ const bool fUseSSL)
+ {
+@@ -585,7 +585,7 @@ static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketA
+ acceptor->async_accept(
+ conn->sslStream.lowest_layer(),
+ conn->peer,
+- boost::bind(&RPCAcceptHandler<Protocol, SocketAcceptorService>,
++ boost::bind(&RPCAcceptHandler<Protocol>,
+ acceptor,
+ boost::ref(context),
+ fUseSSL,
+@@ -597,8 +597,8 @@ static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketA
+ /**
+ * Accept and handle incoming connection.
+ */
+-template <typename Protocol, typename SocketAcceptorService>
+-static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
++template <typename Protocol>
++static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol> > acceptor,
+ ssl::context& context,
+ const bool fUseSSL,
+ boost::shared_ptr< AcceptedConnection > conn,
+@@ -713,7 +713,7 @@ void StartRPCThreads()
+
+ assert(rpc_io_service == NULL);
+ rpc_io_service = new asio::io_service();
+- rpc_ssl_context = new ssl::context(*rpc_io_service, ssl::context::sslv23);
++ rpc_ssl_context = new ssl::context(ssl::context::sslv23);
+
+ const bool fUseSSL = GetBoolArg("-rpcssl", false);
+
+@@ -732,7 +732,7 @@ void StartRPCThreads()
+ else LogPrintf("ThreadRPCServer ERROR: missing server private key file %s\n", pathPKFile.string());
+
+ string strCiphers = GetArg("-rpcsslciphers", "TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH");
+- SSL_CTX_set_cipher_list(rpc_ssl_context->impl(), strCiphers.c_str());
++ SSL_CTX_set_cipher_list(rpc_ssl_context->native_handle(), strCiphers.c_str());
+ }
+
+ std::vector<ip::tcp::endpoint> vEndpoints;
+--- a/src/wallet/crypter.cpp
++++ b/src/wallet/crypter.cpp
+@@ -59,15 +59,16 @@ bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned
+ int nCLen = nLen + AES_BLOCK_SIZE, nFLen = 0;
+ vchCiphertext = std::vector<unsigned char> (nCLen);
+
+- EVP_CIPHER_CTX ctx;
++ EVP_CIPHER_CTX *ctx=EVP_CIPHER_CTX_new();;
+
+ bool fOk = true;
+
+- EVP_CIPHER_CTX_init(&ctx);
+- if (fOk) fOk = EVP_EncryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0;
+- if (fOk) fOk = EVP_EncryptUpdate(&ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen) != 0;
+- if (fOk) fOk = EVP_EncryptFinal_ex(&ctx, (&vchCiphertext[0]) + nCLen, &nFLen) != 0;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_init(ctx);
++ if (fOk) fOk = EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0;
++ if (fOk) fOk = EVP_EncryptUpdate(ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen) != 0;
++ if (fOk) fOk = EVP_EncryptFinal_ex(ctx, (&vchCiphertext[0]) + nCLen, &nFLen) != 0;
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+
+ if (!fOk) return false;
+
+@@ -86,15 +87,16 @@ bool CCrypter::Decrypt(const std::vector<unsigned char>& vchCiphertext, CKeyingM
+
+ vchPlaintext = CKeyingMaterial(nPLen);
+
+- EVP_CIPHER_CTX ctx;
++ EVP_CIPHER_CTX *ctx=EVP_CIPHER_CTX_new();;
+
+ bool fOk = true;
+
+- EVP_CIPHER_CTX_init(&ctx);
+- if (fOk) fOk = EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0;
+- if (fOk) fOk = EVP_DecryptUpdate(&ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen) != 0;
+- if (fOk) fOk = EVP_DecryptFinal_ex(&ctx, (&vchPlaintext[0]) + nPLen, &nFLen) != 0;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_init(ctx);
++ if (fOk) fOk = EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV) != 0;
++ if (fOk) fOk = EVP_DecryptUpdate(ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen) != 0;
++ if (fOk) fOk = EVP_DecryptFinal_ex(ctx, (&vchPlaintext[0]) + nPLen, &nFLen) != 0;
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+
+ if (!fOk) return false;
+