From 8baae1e178af7e530e261b56a702fe16b83135a76c3681ad4fc4a4bf2bcac740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 10 May 2019 08:44:30 +0000 Subject: [PATCH] - Update to 1.38.0: * 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 --- boost170.patch | 50 +++++++++++++++++++++++++++++++++++++++++++ nghttp2-1.36.0.tar.xz | 3 --- nghttp2-1.38.0.tar.xz | 3 +++ nghttp2.changes | 13 +++++++++++ nghttp2.spec | 4 +++- 5 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 boost170.patch delete mode 100644 nghttp2-1.36.0.tar.xz create mode 100644 nghttp2-1.38.0.tar.xz diff --git a/boost170.patch b/boost170.patch new file mode 100644 index 0000000..7ce2a3c --- /dev/null +++ b/boost170.patch @@ -0,0 +1,50 @@ +From cbba1ebf8fcecb24392f0cc07b1235b17d0de9d8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= +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>, + SocketArgs &&... args) + : socket_(std::forward(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>, + boost::system::error_code ec; + + handler_ = std::make_shared( +- 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(); diff --git a/nghttp2-1.36.0.tar.xz b/nghttp2-1.36.0.tar.xz deleted file mode 100644 index f6e34d0..0000000 --- a/nghttp2-1.36.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9bb86157b88eda5a6844a232e039febbb52c1aa44b640acbbfabe729b8287fc -size 1629020 diff --git a/nghttp2-1.38.0.tar.xz b/nghttp2-1.38.0.tar.xz new file mode 100644 index 0000000..3f66b8e --- /dev/null +++ b/nghttp2-1.38.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef75c761858241c6b4372fa6397aa0481a984b84b7b07c4ec7dc2d7b9eee87f8 +size 1628356 diff --git a/nghttp2.changes b/nghttp2.changes index 0e4a7db..c863179 100644 --- a/nghttp2.changes +++ b/nghttp2.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri May 10 08:24:23 UTC 2019 - Tomáš Chvátal + +- Update to 1.38.0: + * 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 + ------------------------------------------------------------------- Fri Jan 18 16:42:34 UTC 2019 - seanlew@opensuse.org diff --git a/nghttp2.spec b/nghttp2.spec index 23afc7d..9edc206 100644 --- a/nghttp2.spec +++ b/nghttp2.spec @@ -29,7 +29,7 @@ %bcond_with python %endif Name: nghttp2%{psuffix} -Version: 1.36.0 +Version: 1.38.0 Release: 0 Summary: Implementation of Hypertext Transfer Protocol version 2 in C License: MIT @@ -39,6 +39,7 @@ Source: https://github.com/tatsuhiro-t/nghttp2/releases/download/v%{vers Source1: baselibs.conf # PATCH-FIX-OPENSUSE nghttp2-remove-python-build.patch Patch0: nghttp2-remove-python-build.patch +Patch1: boost170.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -132,6 +133,7 @@ HTTP/2 client, server and proxy. %prep %setup -q -n nghttp2-%{version} %patch0 -p1 +%patch1 -p1 # fix python shebang sed -i -e 's:#!%{_bindir}/env python:#!%{_bindir}/python3:g' script/fetch-ocsp-response