Bug#914068: freelan FTBFS with boost 1.67
On Wed, 24 Apr 2019 14:42:24 +0100 Dimitri John Ledkov
<dimitri.ledkov@canonical.com> wrote:
>
> Possibly solved by
> https://github.com/freelan-developers/freelan/commit/573a2d38feafec1256ab97b712e963278e4b3fb0.patch
> ?
>
Actually a bit more than that:
573a2d38feafec1256ab97b712e963278e4b3fb0
89627112f66979b5918f7c4d8b7dd63d0e2e83cc
0dd37d7a9f175f390c58cf7d57314a3a41b1d541
eb6722529666523139663866200e23299bc619f6
533759501c361c13f256f207ddbe00bca693518b
f57b03d0f6503dffcdf8dbab3229876dfdad58cb
diff -Nru freelan-2.0/debian/control freelan-2.0/debian/control
--- freelan-2.0/debian/control 2018-09-19 11:43:51.000000000 +0000
+++ freelan-2.0/debian/control 2019-04-24 13:43:08.000000000 +0000
@@ -5,10 +5,10 @@
Build-Depends:
debhelper (>= 11),
- libboost-filesystem1.65-dev,
- libboost-iostreams1.65-dev,
- libboost-program-options1.65-dev,
- libboost-system1.65-dev,
- libboost-thread1.65-dev,
+ libboost-filesystem-dev,
+ libboost-iostreams-dev,
+ libboost-program-options-dev,
+ libboost-system-dev,
+ libboost-thread-dev,
libcurl4-openssl-dev,
libssl-dev,
scons,
diff -Nru freelan-2.0/debian/patches/0dd37d7a9f175f390c58cf7d57314a3a41b1d541.patch freelan-2.0/debian/patches/0dd37d7a9f175f390c58cf7d57314a3a41b1d541.patch
--- freelan-2.0/debian/patches/0dd37d7a9f175f390c58cf7d57314a3a41b1d541.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/0dd37d7a9f175f390c58cf7d57314a3a41b1d541.patch 2019-04-24 13:43:19.000000000 +0000
@@ -0,0 +1,44 @@
+From 0dd37d7a9f175f390c58cf7d57314a3a41b1d541 Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Fri, 4 May 2018 14:26:36 +0200
+Subject: [PATCH] Fixes compilation issues with Boost 1.67 on Windows and link
+ to this library version.
+
+---
+ apps/freelan/freelan.vcxproj | 16 ++++++++--------
+ libs/asiotap/libasiotap.vcxproj | 8 ++++----
+ libs/cryptoplus/libcryptoplus.vcxproj | 8 ++++----
+ libs/executeplus/libexecuteplus.vcxproj | 8 ++++----
+ libs/freelan/libfreelan.vcxproj | 8 ++++----
+ libs/freelan/src/core.cpp | 6 ++++--
+ libs/fscp/libfscp.vcxproj | 8 ++++----
+ libs/iconvplus/libiconvplus.vcxproj | 8 ++++----
+ libs/kfather/libkfather.vcxproj | 8 ++++----
+ libs/miniupnpcplus/libminiupnpcplus.vcxproj | 8 ++++----
+ libs/mongooseplus/libmongooseplus.vcxproj | 8 ++++----
+ 11 files changed, 48 insertions(+), 46 deletions(-)
+
+Index: freelan-2.0/libs/freelan/src/core.cpp
+===================================================================
+--- freelan-2.0.orig/libs/freelan/src/core.cpp
++++ freelan-2.0/libs/freelan/src/core.cpp
+@@ -1766,7 +1766,8 @@ namespace freelan
+ {
+ m_logger(fscp::log_level::information) << "IPv4 address: " << m_configuration.tap_adapter.ipv4_address_prefix_length;
+
+- tap_config.ipv4.network_address = { m_configuration.tap_adapter.ipv4_address_prefix_length.address(), m_configuration.tap_adapter.ipv4_address_prefix_length.prefix_length() };
++ asiotap::ipv4_network_address address = { m_configuration.tap_adapter.ipv4_address_prefix_length.address(), m_configuration.tap_adapter.ipv4_address_prefix_length.prefix_length() };
++ tap_config.ipv4.network_address = address;
+ }
+ else
+ {
+@@ -1778,7 +1779,8 @@ namespace freelan
+ {
+ m_logger(fscp::log_level::information) << "IPv6 address: " << m_configuration.tap_adapter.ipv6_address_prefix_length;
+
+- tap_config.ipv6.network_address = { m_configuration.tap_adapter.ipv6_address_prefix_length.address(), m_configuration.tap_adapter.ipv6_address_prefix_length.prefix_length() };
++ asiotap::ipv6_network_address address = { m_configuration.tap_adapter.ipv6_address_prefix_length.address(), m_configuration.tap_adapter.ipv6_address_prefix_length.prefix_length() };
++ tap_config.ipv6.network_address = address;
+ }
+ else
+ {
diff -Nru freelan-2.0/debian/patches/533759501c361c13f256f207ddbe00bca693518b.patch freelan-2.0/debian/patches/533759501c361c13f256f207ddbe00bca693518b.patch
--- freelan-2.0/debian/patches/533759501c361c13f256f207ddbe00bca693518b.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/533759501c361c13f256f207ddbe00bca693518b.patch 2019-04-24 13:43:19.000000000 +0000
@@ -0,0 +1,25 @@
+From 533759501c361c13f256f207ddbe00bca693518b Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Sun, 15 Apr 2018 12:51:01 +0200
+Subject: [PATCH] Fixes other compilation errors with recent Boost version.
+
+Boost socket native() method was deprecated for a long time and is
+replaced by native_handle() ones. Other part of the code is correctly
+using the native_handle() so it just a miss for this one."
+---
+ libs/freelan/src/core.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/freelan/src/core.cpp b/libs/freelan/src/core.cpp
+index 76463cdf..6148bf3e 100644
+--- a/libs/freelan/src/core.cpp
++++ b/libs/freelan/src/core.cpp
+@@ -683,7 +683,7 @@ namespace freelan
+ #ifdef LINUX
+ if (!m_configuration.fscp.listen_on_device.empty())
+ {
+- const auto socket_fd = m_fscp_server->get_socket().native();
++ const auto socket_fd = m_fscp_server->get_socket().native_handle();
+ const std::string device_name = m_configuration.fscp.listen_on_device;
+
+ if (::setsockopt(socket_fd, SOL_SOCKET, SO_BINDTODEVICE, device_name.c_str(), device_name.size()) == 0)
diff -Nru freelan-2.0/debian/patches/573a2d38feafec1256ab97b712e963278e4b3fb0.patch freelan-2.0/debian/patches/573a2d38feafec1256ab97b712e963278e4b3fb0.patch
--- freelan-2.0/debian/patches/573a2d38feafec1256ab97b712e963278e4b3fb0.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/573a2d38feafec1256ab97b712e963278e4b3fb0.patch 2019-04-24 13:42:45.000000000 +0000
@@ -0,0 +1,124 @@
+From 573a2d38feafec1256ab97b712e963278e4b3fb0 Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Sun, 15 Apr 2018 08:01:56 +0200
+Subject: [PATCH] Tentative to bring compatibility with Boost 1.66+.
+
+---
+ libs/freelan/include/freelan/core.hpp | 9 ++++++++-
+ libs/freelan/src/curl.hpp | 4 ++++
+ libs/fscp/include/fscp/server.hpp | 23 ++++++++++++++++++++++-
+ 3 files changed, 34 insertions(+), 2 deletions(-)
+
+diff --git a/libs/freelan/include/freelan/core.hpp b/libs/freelan/include/freelan/core.hpp
+index 69c3bbf0..fba15043 100644
+--- a/libs/freelan/include/freelan/core.hpp
++++ b/libs/freelan/include/freelan/core.hpp
+@@ -443,7 +443,11 @@ namespace freelan
+
+ boost::asio::io_service& m_io_service;
+ freelan::configuration m_configuration;
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_logger_strand;
++#else
+ boost::asio::strand m_logger_strand;
++#endif
+ fscp::logger m_logger;
+
+ private: /* Callbacks */
+@@ -695,8 +699,11 @@ namespace freelan
+ void do_write_switch(const port_index_type&, boost::asio::const_buffer, switch_::multi_write_handler_type);
+ void do_write_router(const port_index_type&, boost::asio::const_buffer, router::port_type::write_handler_type);
+
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_router_strand;
++#else
+ boost::asio::strand m_router_strand;
+-
++#endif
+ switch_ m_switch;
+ router m_router;
+ asiotap::route_manager m_route_manager;
+diff --git a/libs/freelan/src/curl.hpp b/libs/freelan/src/curl.hpp
+index 8cadcbaa..6ea16cea 100644
+--- a/libs/freelan/src/curl.hpp
++++ b/libs/freelan/src/curl.hpp
+@@ -688,7 +688,11 @@ namespace freelan
+ void check_info();
+
+ boost::asio::io_service& m_io_service;
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_strand;
++#else
+ boost::asio::strand m_strand;
++#endif
+ boost::asio::deadline_timer m_timer;
+ std::map<boost::shared_ptr<curl>, connection_complete_callback> m_handler_map;
+ std::map<boost::shared_ptr<curl>, CURLcode> m_result_map;
+diff --git a/libs/fscp/include/fscp/server.hpp b/libs/fscp/include/fscp/server.hpp
+index 91f4b38c..c22ec621 100644
+--- a/libs/fscp/include/fscp/server.hpp
++++ b/libs/fscp/include/fscp/server.hpp
+@@ -1294,9 +1294,14 @@ namespace fscp
+ void pop_write();
+
+ socket_type m_socket;
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_socket_strand;
++ boost::asio::io_context::strand m_write_queue_strand;
++#else
+ boost::asio::strand m_socket_strand;
+- std::queue<void_handler_type> m_write_queue;
+ boost::asio::strand m_write_queue_strand;
++#endif
++ std::queue<void_handler_type> m_write_queue;
+ std::list<SharedBuffer> m_socket_buffers;
+
+ private: // HELLO messages
+@@ -1400,7 +1405,11 @@ namespace fscp
+ void do_set_hello_message_received_callback(hello_message_received_handler_type, void_handler_type);
+
+ ep_hello_context_map m_ep_hello_contexts;
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_greet_strand;
++#else
+ boost::asio::strand m_greet_strand;
++#endif
+ bool m_accept_hello_messages_default;
+ hello_message_received_handler_type m_hello_message_received_handler;
+
+@@ -1420,7 +1429,11 @@ namespace fscp
+ void do_set_presentation_message_received_callback(presentation_message_received_handler_type, void_handler_type);
+
+ // This strand is also used by session requests and session messages during the cipherment/decipherment phase.
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_presentation_strand;
++#else
+ boost::asio::strand m_presentation_strand;
++#endif
+ presentation_store_map m_presentation_store_map;
+ presentation_message_received_handler_type m_presentation_message_received_handler;
+
+@@ -1446,7 +1459,11 @@ namespace fscp
+ void do_set_session_request_message_received_callback(session_request_received_handler_type, void_handler_type);
+
+ // This strand is common to session requests, session messages and data messages.
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_session_strand;
++#else
+ boost::asio::strand m_session_strand;
++#endif
+
+ peer_session_map_type m_peer_sessions;
+ std::list<SharedBuffer> m_session_buffers;
+@@ -1500,7 +1517,11 @@ namespace fscp
+ void do_set_contact_request_received_callback(contact_request_received_handler_type, void_handler_type);
+ void do_set_contact_received_callback(contact_received_handler_type, void_handler_type);
+
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
++ boost::asio::io_context::strand m_contact_strand;
++#else
+ boost::asio::strand m_contact_strand;
++#endif
+
+ data_received_handler_type m_data_received_handler;
+ contact_request_received_handler_type m_contact_request_message_received_handler;
diff -Nru freelan-2.0/debian/patches/89627112f66979b5918f7c4d8b7dd63d0e2e83cc.patch freelan-2.0/debian/patches/89627112f66979b5918f7c4d8b7dd63d0e2e83cc.patch
--- freelan-2.0/debian/patches/89627112f66979b5918f7c4d8b7dd63d0e2e83cc.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/89627112f66979b5918f7c4d8b7dd63d0e2e83cc.patch 2019-04-24 13:43:19.000000000 +0000
@@ -0,0 +1,50 @@
+From 89627112f66979b5918f7c4d8b7dd63d0e2e83cc Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Sun, 15 Apr 2018 18:46:37 +0200
+Subject: [PATCH] Fixes another compilation error with recent Boost version due
+ to resolver::iterator deprecation.
+
+---
+ .../include/asiotap/types/ip_endpoint.hpp | 21 +++++--------------
+ 1 file changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/libs/asiotap/include/asiotap/types/ip_endpoint.hpp b/libs/asiotap/include/asiotap/types/ip_endpoint.hpp
+index 88eb39d1..322a1b06 100644
+--- a/libs/asiotap/include/asiotap/types/ip_endpoint.hpp
++++ b/libs/asiotap/include/asiotap/types/ip_endpoint.hpp
+@@ -199,9 +199,9 @@ namespace asiotap
+ template <typename AddressType>
+ inline boost::asio::ip::udp::endpoint resolve(const base_ip_endpoint<AddressType>& ep, typename base_ip_endpoint<AddressType>::resolver& resolver, typename base_ip_endpoint<AddressType>::resolver::protocol_type protocol, typename base_ip_endpoint<AddressType>::resolver::query::flags flags, const std::string& default_service)
+ {
+- (void)resolver;
+- (void)protocol;
+- (void)flags;
++ static_cast<void>(resolver);
++ static_cast<void>(protocol);
++ static_cast<void>(flags);
+
+ if (ep.has_port())
+ {
+@@ -226,20 +226,9 @@ namespace asiotap
+ template <typename AddressType>
+ inline void async_resolve(const base_ip_endpoint<AddressType>& ep, typename base_ip_endpoint<AddressType>::resolver& resolver, typename base_ip_endpoint<AddressType>::resolver::protocol_type protocol, typename base_ip_endpoint<AddressType>::resolver::query::flags flags, const std::string& default_service, typename base_ip_endpoint<AddressType>::handler handler)
+ {
+- try
+- {
+- boost::asio::ip::udp::endpoint result = resolve(ep, resolver, protocol, flags, default_service);
+-
+- auto it = base_ip_endpoint<AddressType>::resolver::iterator::create(result, result.address().to_string(), boost::lexical_cast<std::string>(result.port()));
+-
+- handler(boost::system::error_code(), it);
+- }
+- catch (boost::system::system_error& ex)
+- {
+- typename base_ip_endpoint<AddressType>::resolver::iterator it;
++ typename base_ip_endpoint<AddressType>::resolver::query query(protocol, ep.address().to_string(), ep.has_port() ? boost::lexical_cast<std::string>(ep.port()) : default_service, flags);
+
+- handler(ex.code(), it);
+- }
++ resolver.async_resolve(query, handler);
+ }
+
+ /**
diff -Nru freelan-2.0/debian/patches/eb6722529666523139663866200e23299bc619f6.patch freelan-2.0/debian/patches/eb6722529666523139663866200e23299bc619f6.patch
--- freelan-2.0/debian/patches/eb6722529666523139663866200e23299bc619f6.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/eb6722529666523139663866200e23299bc619f6.patch 2019-04-24 13:43:19.000000000 +0000
@@ -0,0 +1,194 @@
+From eb6722529666523139663866200e23299bc619f6 Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Sun, 8 Jul 2018 19:30:36 +0200
+Subject: [PATCH] Fixes compilation issues with g++-8.
+
+---
+ libs/asiotap/include/asiotap/osi/filter.hpp | 6 +++---
+ libs/asiotap/src/posix/posix_tap_adapter.cpp | 16 +++++++++++++---
+ libs/freelan/src/core.cpp | 18 +++++++++---------
+ 3 files changed, 25 insertions(+), 15 deletions(-)
+
+Index: freelan-2.0/libs/asiotap/include/asiotap/osi/filter.hpp
+===================================================================
+--- freelan-2.0.orig/libs/asiotap/include/asiotap/osi/filter.hpp
++++ freelan-2.0/libs/asiotap/include/asiotap/osi/filter.hpp
+@@ -376,10 +376,10 @@ namespace asiotap
+ m_parent(_parent)
+ {
+ typedef _filter<OSIFrameType, ParentFilterType> filter_type;
+- typedef typename ParentFilterType::frame_type frame_type;
++ typedef typename ParentFilterType::frame_type parent_frame_type;
+
+- const auto mutable_parse = static_cast<void (filter_type::*)(mutable_helper<frame_type>) const>(&filter_type::parse);
+- const auto const_parse = static_cast<void (filter_type::*)(const_helper<frame_type>) const>(&filter_type::parse);
++ const auto mutable_parse = static_cast<void (filter_type::*)(mutable_helper<parent_frame_type>) const>(&filter_type::parse);
++ const auto const_parse = static_cast<void (filter_type::*)(const_helper<parent_frame_type>) const>(&filter_type::parse);
+
+ m_parent.add_handler(boost::bind(mutable_parse, this, _1));
+ m_parent.add_const_handler(boost::bind(const_parse, this, _1));
+Index: freelan-2.0/libs/asiotap/src/posix/posix_tap_adapter.cpp
+===================================================================
+--- freelan-2.0.orig/libs/asiotap/src/posix/posix_tap_adapter.cpp
++++ freelan-2.0/libs/asiotap/src/posix/posix_tap_adapter.cpp
+@@ -281,6 +281,7 @@ namespace asiotap
+ if (!_name.empty())
+ {
+ strncpy(ifr.ifr_name, _name.c_str(), IFNAMSIZ);
++ ifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+ }
+
+ // Set the parameters on the tun device.
+@@ -302,6 +303,7 @@ namespace asiotap
+ struct ifreq netifr {};
+
+ std::strncpy(netifr.ifr_name, ifr.ifr_name, IFNAMSIZ);
++ netifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ #if defined(IFF_ONE_QUEUE) && defined(SIOCSIFTXQLEN)
+
+@@ -318,6 +320,7 @@ namespace asiotap
+ netifr = {};
+
+ std::strncpy(netifr.ifr_name, ifr.ifr_name, IFNAMSIZ);
++ netifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+ #endif
+
+ // Get the interface hwaddr
+@@ -483,6 +486,7 @@ namespace asiotap
+ struct ifreq ifr {};
+
+ strncpy(ifr.ifr_name, name().c_str(), IFNAMSIZ);
++ ifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ // Destroy the virtual tap device
+ if (ioctl(socket.native_handle(), SIOCIFDESTROY, &ifr) < 0)
+@@ -501,6 +505,7 @@ namespace asiotap
+ struct ifreq netifr {};
+
+ strncpy(netifr.ifr_name, name().c_str(), IFNAMSIZ);
++ netifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ // Set the interface UP
+ if (::ioctl(socket.native_handle(), SIOCGIFFLAGS, static_cast<void*>(&netifr)) < 0)
+@@ -633,6 +638,7 @@ namespace asiotap
+ struct ifreq netifr {};
+
+ strncpy(netifr.ifr_name, name().c_str(), IFNAMSIZ);
++ netifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ if (::ioctl(socket.native_handle(), SIOCGIFMTU, (void*)&netifr) >= 0)
+ {
+@@ -651,6 +657,7 @@ namespace asiotap
+ struct ifreq netifr {};
+
+ strncpy(netifr.ifr_name, name().c_str(), IFNAMSIZ);
++ netifr.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ netifr.ifr_mtu = _mtu;
+
+@@ -671,7 +678,8 @@ namespace asiotap
+
+ ifreq ifr_a {};
+
+- std::strncpy(ifr_a.ifr_name, name().c_str(), IFNAMSIZ - 1);
++ std::strncpy(ifr_a.ifr_name, name().c_str(), IFNAMSIZ);
++ ifr_a.ifr_name[IFNAMSIZ - 1] = 0x00;
+
+ sockaddr_in* ifr_a_addr = reinterpret_cast<sockaddr_in*>(&ifr_a.ifr_addr);
+ ifr_a_addr->sin_family = AF_INET;
+@@ -696,7 +704,8 @@ namespace asiotap
+ {
+ ifreq ifr_n {};
+
+- std::strncpy(ifr_n.ifr_name, name().c_str(), IFNAMSIZ - 1);
++ std::strncpy(ifr_n.ifr_name, name().c_str(), IFNAMSIZ);
++ ifr_n.ifr_name[IFNAMSIZ - 1] = 0x00;
+ sockaddr_in* ifr_n_addr = reinterpret_cast<sockaddr_in*>(&ifr_n.ifr_addr);
+ ifr_n_addr->sin_family = AF_INET;
+ #ifdef BSD
+@@ -794,7 +803,8 @@ namespace asiotap
+
+ ifreq ifr_d {};
+
+- std::strncpy(ifr_d.ifr_name, name().c_str(), IFNAMSIZ - 1);
++ std::strncpy(ifr_d.ifr_name, name().c_str(), IFNAMSIZ);
++ ifr_d.ifr_name[IFNAMSIZ - 1] = 0x00;
+ sockaddr_in* ifr_dst_addr = reinterpret_cast<sockaddr_in*>(&ifr_d.ifr_dstaddr);
+ ifr_dst_addr->sin_family = AF_INET;
+ #ifdef BSD
+Index: freelan-2.0/libs/freelan/src/core.cpp
+===================================================================
+--- freelan-2.0.orig/libs/freelan/src/core.cpp
++++ freelan-2.0/libs/freelan/src/core.cpp
+@@ -2717,14 +2717,14 @@ namespace freelan
+ {
+ std::ostringstream oss;
+
+- for (auto&& endpoint : public_endpoints)
++ for (auto&& ep : public_endpoints)
+ {
+ if (!oss.str().empty())
+ {
+ oss << ", ";
+ }
+
+- oss << endpoint;
++ oss << ep;
+ }
+
+ m_logger(fscp::log_level::information) << "Setting contact information on the web server with " << public_endpoints.size() << " public endpoint(s) (" << oss.str() << ")...";
+@@ -2756,14 +2756,14 @@ namespace freelan
+ {
+ std::ostringstream oss;
+
+- for (auto&& endpoint : accepted_endpoints)
++ for (auto&& ep : accepted_endpoints)
+ {
+ if (!oss.str().empty())
+ {
+ oss << ", ";
+ }
+
+- oss << endpoint;
++ oss << ep;
+ }
+
+ m_logger(fscp::log_level::information) << "Server will advertise the following endpoints: " << oss.str();
+@@ -2773,14 +2773,14 @@ namespace freelan
+ {
+ std::ostringstream oss;
+
+- for (auto&& endpoint : rejected_endpoints)
++ for (auto&& ep : rejected_endpoints)
+ {
+ if (!oss.str().empty())
+ {
+ oss << ", ";
+ }
+
+- oss << endpoint;
++ oss << ep;
+ }
+
+ m_logger(fscp::log_level::warning) << "Server refused to advertise the following endpoints: " << oss.str();
+@@ -2852,16 +2852,16 @@ namespace freelan
+ {
+ std::ostringstream oss;
+
+- for (auto&& endpoint : contact.second)
++ for (auto&& ep : contact.second)
+ {
+- async_contact(endpoint);
++ async_contact(ep);
+
+ if (!oss.str().empty())
+ {
+ oss << ", ";
+ }
+
+- oss << endpoint;
++ oss << ep;
+ }
+
+ m_logger(fscp::log_level::information) << "Contact information for " << contact.first << ": " << oss.str();
diff -Nru freelan-2.0/debian/patches/f57b03d0f6503dffcdf8dbab3229876dfdad58cb.patch freelan-2.0/debian/patches/f57b03d0f6503dffcdf8dbab3229876dfdad58cb.patch
--- freelan-2.0/debian/patches/f57b03d0f6503dffcdf8dbab3229876dfdad58cb.patch 1970-01-01 00:00:00.000000000 +0000
+++ freelan-2.0/debian/patches/f57b03d0f6503dffcdf8dbab3229876dfdad58cb.patch 2019-04-24 13:43:19.000000000 +0000
@@ -0,0 +1,22 @@
+From f57b03d0f6503dffcdf8dbab3229876dfdad58cb Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <sebastien.vincent@cppextrem.com>
+Date: Sat, 28 Apr 2018 09:31:16 +0200
+Subject: [PATCH] Fixes build with Boost 1.66+.
+
+---
+ libs/fscp/src/server.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/fscp/src/server.cpp b/libs/fscp/src/server.cpp
+index 4dd707bb..80bd8ed2 100644
+--- a/libs/fscp/src/server.cpp
++++ b/libs/fscp/src/server.cpp
+@@ -418,7 +418,7 @@ namespace fscp
+
+ if (item != m_presentation_store_map.end())
+ {
+- return boost::make_optional<presentation_store>(item->second);
++ return boost::optional<presentation_store>(item->second);
+ }
+ else
+ {
diff -Nru freelan-2.0/debian/patches/series freelan-2.0/debian/patches/series
--- freelan-2.0/debian/patches/series 2018-07-08 09:51:09.000000000 +0000
+++ freelan-2.0/debian/patches/series 2019-04-24 13:43:19.000000000 +0000
@@ -8,3 +8,9 @@
boost1.65.patch
fix-binary-path.patch
no-Werror.patch
+573a2d38feafec1256ab97b712e963278e4b3fb0.patch
+89627112f66979b5918f7c4d8b7dd63d0e2e83cc.patch
+0dd37d7a9f175f390c58cf7d57314a3a41b1d541.patch
+eb6722529666523139663866200e23299bc619f6.patch
+533759501c361c13f256f207ddbe00bca693518b.patch
+f57b03d0f6503dffcdf8dbab3229876dfdad58cb.patch
Reply to: