diff --git a/src/jamidht/account_manager.cpp b/src/jamidht/account_manager.cpp index aeb357694044ead82810bcaafaa0d5b9626ff613..53823f0e1bdefd803e4e278470e4f1152fa63d9c 100644 --- a/src/jamidht/account_manager.cpp +++ b/src/jamidht/account_manager.cpp @@ -491,9 +491,9 @@ AccountManager::forEachDevice(const dht::InfoHash& to, } void -AccountManager::lookupName(const std::string& name, LookupCallback cb) +AccountManager::lookupUri(const std::string& name, const std::string& defaultServer, LookupCallback cb) { - nameDir_.get().lookupName(name, cb); + nameDir_.get().lookupUri(name, defaultServer, std::move(cb)); } void diff --git a/src/jamidht/account_manager.h b/src/jamidht/account_manager.h index fd1900e60841ac221ac70dc3835dacc8818b0da3..72d75714a6f5f2934049ad49cc0a3025f5f0f656 100644 --- a/src/jamidht/account_manager.h +++ b/src/jamidht/account_manager.h @@ -209,7 +209,7 @@ public: using LookupCallback = NameDirectory::LookupCallback; using RegistrationCallback = NameDirectory::RegistrationCallback; - virtual void lookupName(const std::string& name, LookupCallback cb); + virtual void lookupUri(const std::string& name, const std::string& defaultServer, LookupCallback cb); virtual void lookupAddress(const std::string& address, LookupCallback cb); virtual void registerName(const std::string& password, const std::string& name, RegistrationCallback cb) = 0; diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index 8234423fa051b5e05b708e8f83a205225551534a..ba808d53476446444c77c55dba100488b135726c 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -1178,10 +1178,9 @@ void JamiAccount::lookupName(const std::string& name) { auto acc = getAccountID(); - accountManager_->lookupName(name, [acc,name](const std::string& result, NameDirectory::Response response) { + accountManager_->lookupUri(name, nameServer_, [acc,name](const std::string& result, NameDirectory::Response response) { emitSignal<DRing::ConfigurationSignal::RegisteredNameFound>(acc, (int)response, result, name); }); - //NameDirectory::lookupUri(); } void diff --git a/src/jamidht/namedirectory.cpp b/src/jamidht/namedirectory.cpp index f2d7818804f0846497d034842b43ce038714f67b..32ea6d3a3190e7a55a11a0ea6af83ceb9543a8b1 100644 --- a/src/jamidht/namedirectory.cpp +++ b/src/jamidht/namedirectory.cpp @@ -70,11 +70,13 @@ void NameDirectory::lookupUri(const std::string& uri, const std::string& default_server, LookupCallback cb) { + + const std::string& default_ns = default_server.empty() ? DEFAULT_SERVER_HOST : default_server; std::smatch pieces_match; if (std::regex_match(uri, pieces_match, URI_VALIDATOR)) { if (pieces_match.size() == 4) { if (pieces_match[2].length() == 0) - instance(default_server).lookupName(pieces_match[3], std::move(cb)); + instance(default_ns).lookupName(pieces_match[3], std::move(cb)); else instance(pieces_match[3].str()).lookupName(pieces_match[2], std::move(cb)); return;