forked from pool/nghttp2
* This release fixes the bug that authority and path altered by per-pattern mruby script can affect backend selection on retry. * It also fixes the bug that HTTP/1.1 chunked request stalls. * Now nghttpx does not log authorization request header field value with -LINFO. * This release fixes possible backend stall when header and request body are sent in their own packets. * The backend option gets weight parameter to influence backend selection. * This release fixes compile error with BoringSSL. - Add patch from upstream to build with new boost bsc#1134616: * boost170.patch OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/nghttp2?expand=0&rev=93
51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
From cbba1ebf8fcecb24392f0cc07b1235b17d0de9d8 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <adamg@pld-linux.org>
|
|
Date: Thu, 18 Apr 2019 12:35:54 +0200
|
|
Subject: [PATCH] asio: support boost-1.70
|
|
|
|
In boost 1.70, deprecated get_io_context() has finally been removed.
|
|
Introduce GET_IO_SERVICE macro that based on boost version uses
|
|
old get_io_service() interface (boost < 1.70), or get_executor().context()
|
|
for boost 1.70+.
|
|
|
|
Commit based idea seen in monero-project/monero@17769db9462e5201befcb05f86ccbaeabf35caf8
|
|
---
|
|
src/asio_server_connection.h | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/asio_server_connection.h b/src/asio_server_connection.h
|
|
index 6be794060..56924c71a 100644
|
|
--- a/src/asio_server_connection.h
|
|
+++ b/src/asio_server_connection.h
|
|
@@ -51,6 +51,12 @@
|
|
#include "util.h"
|
|
#include "template.h"
|
|
|
|
+#if BOOST_VERSION >= 107000
|
|
+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
|
|
+#else
|
|
+#define GET_IO_SERVICE(s) ((s).get_io_service())
|
|
+#endif
|
|
+
|
|
namespace nghttp2 {
|
|
|
|
namespace asio_http2 {
|
|
@@ -71,7 +77,7 @@ class connection : public std::enable_shared_from_this<connection<socket_type>>,
|
|
SocketArgs &&... args)
|
|
: socket_(std::forward<SocketArgs>(args)...),
|
|
mux_(mux),
|
|
- deadline_(socket_.get_io_service()),
|
|
+ deadline_(GET_IO_SERVICE(socket_)),
|
|
tls_handshake_timeout_(tls_handshake_timeout),
|
|
read_timeout_(read_timeout),
|
|
writing_(false),
|
|
@@ -82,7 +88,7 @@ class connection : public std::enable_shared_from_this<connection<socket_type>>,
|
|
boost::system::error_code ec;
|
|
|
|
handler_ = std::make_shared<http2_handler>(
|
|
- socket_.get_io_service(), socket_.lowest_layer().remote_endpoint(ec),
|
|
+ GET_IO_SERVICE(socket_), socket_.lowest_layer().remote_endpoint(ec),
|
|
[this]() { do_write(); }, mux_);
|
|
if (handler_->start() != 0) {
|
|
stop();
|