diff --git a/contrib/src/kashmir-dependency/SHA512SUMS b/contrib/src/kashmir-dependency/SHA512SUMS deleted file mode 100644 index 0579f7a0c7ba7d899126f2ae4ee5847b90353734..0000000000000000000000000000000000000000 --- a/contrib/src/kashmir-dependency/SHA512SUMS +++ /dev/null @@ -1 +0,0 @@ -e86964f4269e9f8b760b749163b92d6d3c72a94a8c5732e3c36c41fc74e2b16de35e2494c3ffe468e38a09aafe58a973fab702da0d632b5eb829480da6b32376 kashmir-dependency-2f3913f49c4ac7f9bff9224db5178f6f8f0ff3ee.tar.gz diff --git a/contrib/src/kashmir-dependency/rules.mak b/contrib/src/kashmir-dependency/rules.mak deleted file mode 100644 index d324e1d3c9e1b988e7a91a413428adc4028ded6e..0000000000000000000000000000000000000000 --- a/contrib/src/kashmir-dependency/rules.mak +++ /dev/null @@ -1,39 +0,0 @@ -# -*- mode: makefile; -*- -# -# Copyright (C) 2018 Savoir-faire Linux Inc. -# -# Author: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# - -KASHMIR_VERSION := 2f3913f49c4ac7f9bff9224db5178f6f8f0ff3ee -KASHMIR_URL := https://github.com/Corvusoft/kashmir-dependency/archive/$(KASHMIR_VERSION).tar.gz - -# Pure dependency of restbed: do not add to PKGS. - -$(TARBALLS)/kashmir-dependency-$(KASHMIR_VERSION).tar.gz: - $(call download,$(KASHMIR_URL)) - -kashmir-dependency: kashmir-dependency-$(KASHMIR_VERSION).tar.gz - $(UNPACK) - $(MOVE) - -.kashmir-dependency: kashmir-dependency .sum-kashmir-dependency - mkdir -p "$(PREFIX)/include" - cd $< && cp -r kashmir "$(PREFIX)/include" - touch $@ - -.sum-kashmir-dependency: kashmir-dependency-$(KASHMIR_VERSION).tar.gz diff --git a/contrib/src/restbed/SHA512SUMS b/contrib/src/restbed/SHA512SUMS index 6db3ed127a87153279d0374c95126b5dc944191f..a69270eb03fca8c47ee84d2528553f1566bf2d7b 100644 --- a/contrib/src/restbed/SHA512SUMS +++ b/contrib/src/restbed/SHA512SUMS @@ -1 +1 @@ -26fa79c08cf9414bb26a0a6d3573e71d4df0facfe1a0d86a5935bdf5203f7d1fb633fa99802bc2c9104eed7ab67e9cef3e1679ca4a12b982bfd49d7f5a1c088c restbed-df867a858dddc4cf6ca8642da02720bd65ba239a.tar.gz +b4a4c37eaadeb5f39b743c0bff74b8be526b7cda4777266a7ffde1fa5a89e0879b5523102f4b585989e8c029ebc9b5f1d18fa26876fd5eca239cf96222fea501 restbed-c3e28adaf8b15b34162da6c1ed5514606288f91b.tar.gz \ No newline at end of file diff --git a/contrib/src/restbed/async_read_until.patch b/contrib/src/restbed/async_read_until.patch deleted file mode 100644 index 9dd0760cee30d1661f6884d4aff00ffcba556d49..0000000000000000000000000000000000000000 --- a/contrib/src/restbed/async_read_until.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 09b542eea3fb3038d02ff056d41dea16bfe889bd Mon Sep 17 00:00:00 2001 -From: AmarOk <contact@enconn.fr> -Date: Tue, 5 Dec 2017 10:45:53 -0600 -Subject: [PATCH]socket_impl: replace read_until by async_read_until - ---- - source/corvusoft/restbed/detail/socket_impl.cpp | 62 +++++++++++++++++++------ - 1 file changed, 49 insertions(+), 13 deletions(-) - -diff --git a/source/corvusoft/restbed/detail/socket_impl.cpp b/source/corvusoft/restbed/detail/socket_impl.cpp -index 90e8b04..379f1c7 100644 ---- a/source/corvusoft/restbed/detail/socket_impl.cpp -+++ b/source/corvusoft/restbed/detail/socket_impl.cpp -@@ -417,28 +417,47 @@ namespace restbed - m_timer->expires_from_now( m_timeout ); - m_timer->async_wait( bind( &SocketImpl::connection_timeout_handler, this, shared_from_this( ), _1 ) ); - -+ - size_t size = 0; -+ auto finished = std::make_shared<bool>(false); -+ auto sharedError = std::make_shared<error_code>(); -+ auto sharedSize = std::make_shared<size_t>(0); -+ - #ifdef BUILD_SSL -- -+ - if ( m_socket not_eq nullptr ) - { - #endif -- size = asio::read( *m_socket, *data, asio::transfer_at_least( length ), error ); -+ asio::async_read( *m_socket, *data, asio::transfer_at_least( length ), -+ [ this, finished, sharedSize, sharedError ]( const error_code & error, size_t size ) { -+ *sharedError = error; -+ *sharedSize = size; -+ *finished = true; -+ }); - #ifdef BUILD_SSL - } - else - { -- size = asio::read( *m_ssl_socket, *data, asio::transfer_at_least( length ), error ); -+ asio::async_read( *m_ssl_socket, *data, asio::transfer_at_least( length ), -+ [ this, finished, sharedSize, sharedError ]( const error_code & error, size_t size ) { -+ *sharedError = error; -+ *sharedSize = size; -+ *finished = true; -+ }); - } -- - #endif -+ auto& io_service = m_socket->get_io_service( ); -+ while (!*finished) -+ io_service.run_one(); -+ error = *sharedError; -+ size = *sharedSize; - m_timer->cancel( ); -- -+ - if ( error ) - { - m_is_open = false; - } -- -+ - return size; - } - -@@ -549,28 +568,45 @@ namespace restbed - m_timer->async_wait( bind( &SocketImpl::connection_timeout_handler, this, shared_from_this( ), _1 ) ); - - size_t length = 0; -- -+ auto finished = std::make_shared<bool>(false); -+ auto sharedError = std::make_shared<error_code>(); -+ auto sharedLength = std::make_shared<size_t>(0); -+ - #ifdef BUILD_SSL -- -+ - if ( m_socket not_eq nullptr ) - { - #endif -- length = asio::read_until( *m_socket, *data, delimiter, error ); -+ asio::async_read_until( *m_socket, *data, delimiter, -+ [ this, finished, sharedLength, sharedError ]( const error_code & error, size_t length ) { -+ *sharedError = error; -+ *sharedLength = length; -+ *finished = true; -+ }); - #ifdef BUILD_SSL - } - else - { -- length = asio::read_until( *m_ssl_socket, *data, delimiter, error ); -+ asio::async_read_until( *m_ssl_socket, *data, delimiter, -+ [ this, finished, sharedLength, sharedError ]( const error_code & error, size_t length ) { -+ *sharedError = error; -+ *sharedLength = length; -+ *finished = true; -+ }); - } -- - #endif -+ auto& io_service = m_socket->get_io_service( ); -+ while (!*finished) -+ io_service.run_one(); -+ error = *sharedError; -+ length = *sharedLength; - m_timer->cancel( ); -- -+ - if ( error ) - { - m_is_open = false; - } -- -+ - return length; - } - --- -2.14.3 - diff --git a/contrib/src/restbed/findopenssl.patch b/contrib/src/restbed/findopenssl.patch deleted file mode 100644 index 835d7c383cc4bf95c3391a2a79a08abc2f39586b..0000000000000000000000000000000000000000 --- a/contrib/src/restbed/findopenssl.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4df62857834ac7d2f7919e2d71f07530883a8dc2 Mon Sep 17 00:00:00 2001 -From: Sébastien Blin <sebastien.blin@savoirfairelinux.com> -Date: Thu, 5 Apr 2018 21:11:13 -0400 -Subject: [PATCH] findopenssl: avoid cmake to add root_path - ---- - cmake/modules/Findopenssl.cmake | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) - -diff --git a/cmake/modules/Findopenssl.cmake b/cmake/modules/Findopenssl.cmake -index 4edbf5a..3455a1f 100644 ---- a/cmake/modules/Findopenssl.cmake -+++ b/cmake/modules/Findopenssl.cmake -@@ -1,8 +1,19 @@ - # Copyright 2013-2017, Corvusoft Ltd, All Rights Reserved. - --find_library( ssl_LIBRARY ssl ssleay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) --find_library( crypto_LIBRARY crypto libeay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) --find_path( ssl_INCLUDE openssl/ssl.h HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/inc32" "${PROJECT_SOURCE_DIR}/dependency/openssl/include" "/usr/local/opt/openssl/include" "/usr/include" "/usr/local/include" "/opt/local/include" ) -+find_library( ssl_LIBRARY ssl ssleay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib") -+find_library( crypto_LIBRARY crypto libeay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib") -+find_path( ssl_INCLUDE openssl/ssl.h HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/inc32" "${PROJECT_SOURCE_DIR}/dependency/openssl/include" "/usr/local/opt/openssl/include" "/usr/include" "/usr/local/include" "/opt/local/include") -+ -+if ( NOT ssl_LIBRARY ) -+ find_library( ssl_LIBRARY ssl ssleay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" NO_CMAKE_FIND_ROOT_PATH) -+endif ( ) -+if ( NOT crypto_LIBRARY ) -+ find_library( crypto_LIBRARY crypto libeay32 HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" NO_CMAKE_FIND_ROOT_PATH) -+endif ( ) -+if ( NOT ssl_INCLUDE ) -+ find_path( ssl_INCLUDE openssl/ssl.h HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/inc32" "${PROJECT_SOURCE_DIR}/dependency/openssl/include" "/usr/local/opt/openssl/include" "/usr/include" "/usr/local/include" "/opt/local/include" NO_CMAKE_FIND_ROOT_PATH) -+endif ( ) -+ - - if ( ssl_INCLUDE AND ssl_LIBRARY AND crypto_LIBRARY ) - set( OPENSSL_FOUND TRUE ) --- -2.14.3 diff --git a/contrib/src/restbed/locale-fix.patch b/contrib/src/restbed/locale-fix.patch deleted file mode 100644 index 3cb30879e0a1da938a91ce4de9f34013c648d496..0000000000000000000000000000000000000000 --- a/contrib/src/restbed/locale-fix.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 4c8762f0cd993613c29f051fde19a3f8caeac401 Mon Sep 17 00:00:00 2001 -From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> -Date: Mon, 31 Jul 2017 09:47:50 -0400 -Subject: [PATCH] http: check for locale before duplicating string - ---- - source/corvusoft/restbed/detail/http_impl.cpp | 16 +++++++++++----- - source/corvusoft/restbed/http.cpp | 16 +++++++++++----- - 2 files changed, 22 insertions(+), 10 deletions(-) - -diff --git a/source/corvusoft/restbed/detail/http_impl.cpp b/source/corvusoft/restbed/detail/http_impl.cpp -index 54b7c15..f25d6eb 100644 ---- a/source/corvusoft/restbed/detail/http_impl.cpp -+++ b/source/corvusoft/restbed/detail/http_impl.cpp -@@ -96,17 +96,23 @@ namespace restbed - protocol = "HTTP"; - } - -- char* locale = strdup( setlocale( LC_NUMERIC, nullptr ) ); -- setlocale( LC_NUMERIC, "C" ); -+ char* locale = nullptr; -+ if (auto current_locale = setlocale( LC_NUMERIC, nullptr ) ) -+ { -+ locale = strdup(current_locale); -+ setlocale( LC_NUMERIC, "C" ); -+ } - - auto data = String::format( "%s %s %s/%.1f\r\n", - request->get_method( ).data( ), - path.data( ), - protocol.data( ), - request->get_version( ) ); -- -- setlocale( LC_NUMERIC, locale ); -- free( locale ); -+ -+ if (locale) { -+ setlocale( LC_NUMERIC, locale ); -+ free( locale ); -+ } - - auto headers = request->get_headers( ); - -diff --git a/source/corvusoft/restbed/http.cpp b/source/corvusoft/restbed/http.cpp -index 7648501..9722f64 100644 ---- a/source/corvusoft/restbed/http.cpp -+++ b/source/corvusoft/restbed/http.cpp -@@ -62,17 +62,23 @@ namespace restbed - - Bytes Http::to_bytes( const shared_ptr< Response >& value ) - { -- char* locale = strdup( setlocale( LC_NUMERIC, nullptr ) ); -- setlocale( LC_NUMERIC, "C" ); -+ char* locale = nullptr; -+ if (auto current_locale = setlocale( LC_NUMERIC, nullptr ) ) -+ { -+ locale = strdup(current_locale); -+ setlocale( LC_NUMERIC, "C" ); -+ } - - auto data = String::format( "%s/%.1f %i %s\r\n", - value->get_protocol( ).data( ), - value->get_version( ), - value->get_status_code( ), - value->get_status_message( ).data( ) ); -- -- setlocale( LC_NUMERIC, locale ); -- free( locale ); -+ -+ if (locale) { -+ setlocale( LC_NUMERIC, locale ); -+ free( locale ); -+ } - - auto headers = value->get_headers( ); - --- -2.11.0 - diff --git a/contrib/src/restbed/rules.mak b/contrib/src/restbed/rules.mak index 4f96fc55a424f67d039ebdf05d526068bed6ea0f..a8c517bc55af16be87882f95e30411308c9410fc 100644 --- a/contrib/src/restbed/rules.mak +++ b/contrib/src/restbed/rules.mak @@ -19,8 +19,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -RESTBED_VERSION := df867a858dddc4cf6ca8642da02720bd65ba239a -RESTBED_URL := https://github.com/corvusoft/restbed/archive/$(RESTBED_VERSION).tar.gz +RESTBED_VERSION := c3e28adaf8b15b34162da6c1ed5514606288f91b +RESTBED_URL := https://github.com/aberaud/restbed/archive/$(RESTBED_VERSION).tar.gz # Pure dependency of OpenDHT: do not add to PKGS. @@ -31,11 +31,11 @@ endif $(TARBALLS)/restbed-$(RESTBED_VERSION).tar.gz: $(call download,$(RESTBED_URL)) -DEPS_restbed = asio kashmir-dependency libressl +DEPS_restbed = asio libressl RESTBED_CONF = -DBUILD_TESTS=NO \ - -DBUILD_EXAMPLES=NO \ -DBUILD_SSL=YES \ + -DBUILD_STATIC=YES \ -DBUILD_SHARED=NO \ -DCMAKE_INCLUDE_PATH=$(PREFIX)/include \ -DCMAKE_INSTALL_PREFIX=$(PREFIX) \ @@ -43,9 +43,6 @@ RESTBED_CONF = -DBUILD_TESTS=NO \ restbed: restbed-$(RESTBED_VERSION).tar.gz .sum-restbed $(UNPACK) - $(APPLY) $(SRC)/restbed/strand.patch - $(APPLY) $(SRC)/restbed/async_read_until.patch - $(APPLY) $(SRC)/restbed/findopenssl.patch $(MOVE) .restbed: restbed toolchain.cmake diff --git a/contrib/src/restbed/strand.patch b/contrib/src/restbed/strand.patch deleted file mode 100644 index 84ed5ff90898b1880f809a8ead2b0571735a90b9..0000000000000000000000000000000000000000 --- a/contrib/src/restbed/strand.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a330edb28151830aeaf08a71e42cb6618c25ef2f Mon Sep 17 00:00:00 2001 -From: Sébastien Blin <sebastiem.blin@savoirfairelinux.fr> -Date: Tue, 5 Dec 2017 10:31:21 -0600 -Subject: [PATCH]update strand header for asio - ---- - source/corvusoft/restbed/detail/socket_impl.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/source/corvusoft/restbed/detail/socket_impl.hpp b/source/corvusoft/restbed/detail/socket_impl.hpp -index b10c3f7..02df572 100644 ---- a/source/corvusoft/restbed/detail/socket_impl.hpp -+++ b/source/corvusoft/restbed/detail/socket_impl.hpp -@@ -23,7 +23,7 @@ - #include <asio/streambuf.hpp> - #include <asio/steady_timer.hpp> - #include <asio/io_service.hpp> --#include <asio/io_service_strand.hpp> -+#include <asio/strand.hpp> - - #ifdef BUILD_SSL - #include <asio/ssl.hpp> --- -2.14.3