diff --git a/contrib/src/opendht/SHA512SUMS b/contrib/src/opendht/SHA512SUMS index 655f36e2edeb984b16ec2ed982ffdf4cf27a0df0..cc4f242bf6acbdde7b8941e3cb8c11e38fdd18c8 100644 --- a/contrib/src/opendht/SHA512SUMS +++ b/contrib/src/opendht/SHA512SUMS @@ -1 +1 @@ -af2a3be1305a47043b932339545da7c947266e3120b6bedea3d5c837c5a6d4eb55d85a3008ba0ca7e90501a2c4ca9bc84c3c3d7fb1b0f8e2a6bcd0d5fe1ba3dd opendht-fcaaa01b2d40011df650cd092cb841e825c4e49c.tar.gz +eb2ffc2662cd981a552ae19109260a2d675de748906f5e1037b85fe123cfbd2b4a714ef1428444f69828d5cd2405f7cb70cd53ad36c71b298d9930c49fca16ba opendht-1.5.0.tar.gz diff --git a/contrib/src/opendht/fetch_and_patch.bat b/contrib/src/opendht/fetch_and_patch.bat index db3bf9815e6fc077fe5a258725afdf8ff43ba54d..0678217de4906de347c2aa2fdd60a4eecf6586be 100644 --- a/contrib/src/opendht/fetch_and_patch.bat +++ b/contrib/src/opendht/fetch_and_patch.bat @@ -1,6 +1,6 @@ set BUILD=%SRC%..\build -set OPENDHT_VERSION=fcaaa01b2d40011df650cd092cb841e825c4e49c +set OPENDHT_VERSION=1.5.0 set OPENDHT_URL=https://github.com/savoirfairelinux/opendht/archive/%OPENDHT_VERSION%.tar.gz mkdir %BUILD% @@ -19,4 +19,4 @@ cd %BUILD%\opendht git apply --reject --whitespace=fix %SRC%\opendht\opendht-uwp.patch -cd %SRC% \ No newline at end of file +cd %SRC% diff --git a/contrib/src/opendht/rules.mak b/contrib/src/opendht/rules.mak index 981e806dee792fc57d40d88e1ab2947e2dfa3935..4443a6fc03c47353aa4a5adeab539fbe6f19acf7 100644 --- a/contrib/src/opendht/rules.mak +++ b/contrib/src/opendht/rules.mak @@ -1,5 +1,5 @@ # OPENDHT -OPENDHT_VERSION := fcaaa01b2d40011df650cd092cb841e825c4e49c +OPENDHT_VERSION := 1.5.0 OPENDHT_URL := https://github.com/savoirfairelinux/opendht/archive/$(OPENDHT_VERSION).tar.gz PKGS += opendht diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp index 796b81ed04cd736cb73f527d34f3787dd55d2f79..65c1106e76e8750ad7461dd82e94aba16d780e1f 100644 --- a/src/ringdht/ringaccount.cpp +++ b/src/ringdht/ringaccount.cpp @@ -1848,32 +1848,33 @@ RingAccount::doRegister() } -std::vector<std::pair<sockaddr_storage, socklen_t>> +std::vector<dht::SockAddr> RingAccount::loadBootstrap() const { - std::vector<std::pair<sockaddr_storage, socklen_t>> bootstrap; + std::vector<dht::SockAddr> bootstrap; if (!hostname_.empty()) { std::stringstream ss(hostname_); std::string node_addr; while (std::getline(ss, node_addr, ';')) { - auto ips = ip_utils::getAddrList(node_addr); + auto ips = dht::SockAddr::resolve(node_addr); if (ips.empty()) { IpAddr resolved(node_addr); if (resolved) { if (resolved.getPort() == 0) resolved.setPort(DHT_DEFAULT_PORT); - bootstrap.emplace_back(resolved, resolved.getLength()); + bootstrap.emplace_back(static_cast<const sockaddr*>(resolved), resolved.getLength()); } } else { + bootstrap.reserve(bootstrap.size() + ips.size()); for (auto& ip : ips) { if (ip.getPort() == 0) ip.setPort(DHT_DEFAULT_PORT); - bootstrap.emplace_back(ip, ip.getLength()); + bootstrap.emplace_back(std::move(ip)); } } } - for (auto ip : bootstrap) - RING_DBG("Bootstrap node: %s", IpAddr(ip.first).toString(true).c_str()); + for (const auto& ip : bootstrap) + RING_DBG("Bootstrap node: %s", ip.toString().c_str()); } return bootstrap; } diff --git a/src/ringdht/ringaccount.h b/src/ringdht/ringaccount.h index d5eb8a0a91e3578648438c949be469e8454914e3..e0769f889e024f6b8a8d6bb1815fc31a0eefbeb9 100644 --- a/src/ringdht/ringaccount.h +++ b/src/ringdht/ringaccount.h @@ -505,7 +505,7 @@ class RingAccount : public SIPAccountBase { void updateArchive(AccountArchive& content) const; void saveArchive(AccountArchive& content, const std::string& pwd); AccountArchive readArchive(const std::string& pwd) const; - std::vector<std::pair<sockaddr_storage, socklen_t>> loadBootstrap() const; + std::vector<dht::SockAddr> loadBootstrap() const; static std::pair<std::string, std::string> saveIdentity(const dht::crypto::Identity id, const std::string& path, const std::string& name); void saveNodes(const std::vector<dht::NodeExport>&) const;