From 22145d8cfa4206e2d1fa63dd2dee131d05990140 Mon Sep 17 00:00:00 2001 From: Steven Siloti Date: Thu, 18 May 2017 19:57:06 -0700 Subject: [PATCH] don't assert when removing a link-local IPv6 interface --- src/kademlia/dht_tracker.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/kademlia/dht_tracker.cpp b/src/kademlia/dht_tracker.cpp index fe0b84492..151dcad7c 100644 --- a/src/kademlia/dht_tracker.cpp +++ b/src/kademlia/dht_tracker.cpp @@ -156,6 +156,12 @@ namespace libtorrent { namespace dht { void dht_tracker::delete_socket(aux::session_listen_socket* s) { +#if TORRENT_USE_IPV6 + address local_address = s->get_local_endpoint().address(); + // since we don't start nodes on local IPv6 interfaces we don't need to remove them either + if (local_address.is_v6() && is_local(local_address)) + return; +#endif TORRENT_ASSERT(m_nodes.count(s) == 1); m_nodes.erase(s); }