From 3321ca10f175cd88fbbba1268f0f2db5d660e823 Mon Sep 17 00:00:00 2001 From: Steven Siloti Date: Sun, 24 Jul 2016 18:30:36 -0700 Subject: [PATCH] update our id in the rpc manager when it changes (#942) update our id in the rpc manager when it changes --- ChangeLog | 1 + include/libtorrent/kademlia/rpc_manager.hpp | 2 ++ src/kademlia/node.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index cedd201f1..a1ae48654 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ * fix set_settings in python binding * Added missing alert categories in python binding * Added dht_get_peers_reply_alert alert in python binding + * fixed updating the node id reported to peers after changing IPs 1.1.0 release diff --git a/include/libtorrent/kademlia/rpc_manager.hpp b/include/libtorrent/kademlia/rpc_manager.hpp index 55c40c3ae..a1ae527ec 100644 --- a/include/libtorrent/kademlia/rpc_manager.hpp +++ b/include/libtorrent/kademlia/rpc_manager.hpp @@ -111,6 +111,8 @@ public: int num_allocated_observers() const { return m_allocated_observers; } + void update_node_id(node_id const& id) { m_our_id = id; } + private: boost::uint32_t calc_connection_id(udp::endpoint addr); diff --git a/src/kademlia/node.cpp b/src/kademlia/node.cpp index 51be55850..a268efd94 100644 --- a/src/kademlia/node.cpp +++ b/src/kademlia/node.cpp @@ -138,6 +138,7 @@ void node::update_node_id() m_id = generate_id(m_observer->external_address()); m_table.update_node_id(m_id); + m_rpc.update_node_id(m_id); } bool node::verify_token(std::string const& token, char const* info_hash