From 9469913cb299b6a471df68112049e56d88869b90 Mon Sep 17 00:00:00 2001 From: arvidn Date: Sat, 7 Mar 2020 12:53:01 +0100 Subject: [PATCH] fix typo in lsd::start --- ChangeLog | 1 + src/alert.cpp | 2 +- src/lsd.cpp | 2 +- src/session_impl.cpp | 2 ++ 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f51aeab74..f75bfbd88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + * fix LSD over IPv6 * support TCP_NOTSENT_LOWAT on Linux * fix correct interface binding of local service discovery multicast * fix issue with knowing which interfaces to announce to trackers and DHT diff --git a/src/alert.cpp b/src/alert.cpp index bc4d42eb5..efe3d4e4c 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -1879,7 +1879,7 @@ namespace { std::string lsd_error_alert::message() const { - return "Local Service Discovery error: " + convert_from_native(error.message()); + return "Local Service Discovery startup error: " + convert_from_native(error.message()); } #if TORRENT_ABI_VERSION == 1 diff --git a/src/lsd.cpp b/src/lsd.cpp index ead3436d4..833c08231 100644 --- a/src/lsd.cpp +++ b/src/lsd.cpp @@ -116,7 +116,7 @@ void lsd::start(error_code& ec) m_socket.set_option(udp::socket::reuse_address(true), ec); if (ec) return; - m_socket.bind(udp::endpoint(address_v4::any(), lsd_port), ec); + m_socket.bind(udp::endpoint(v4 ? address(address_v4::any()) : address(address_v6::any()), lsd_port), ec); if (ec) return; if (v4) m_socket.set_option(join_group(lsd_multicast_addr4, m_listen_address.to_v4()), ec); diff --git a/src/session_impl.cpp b/src/session_impl.cpp index 9631743b6..95c5a1797 100644 --- a/src/session_impl.cpp +++ b/src/session_impl.cpp @@ -1884,6 +1884,8 @@ namespace aux { if ((*remove_iter)->sock) (*remove_iter)->sock->close(ec); if ((*remove_iter)->udp_sock) (*remove_iter)->udp_sock->sock.close(); if ((*remove_iter)->natpmp_mapper) (*remove_iter)->natpmp_mapper->close(); + if ((*remove_iter)->upnp_mapper) (*remove_iter)->upnp_mapper->close(); + if ((*remove_iter)->lsd) (*remove_iter)->lsd->close(); remove_iter = m_listen_sockets.erase(remove_iter); }