aboutsummaryrefslogtreecommitdiff
path: root/src/common/dns_utils.cpp
diff options
context:
space:
mode:
authorwarptangent <warptangent@inbox.com>2015-05-19 02:33:30 -0700
committerwarptangent <warptangent@inbox.com>2015-05-19 02:56:04 -0700
commitfee8424938a6403bdd12d568037a3305cfcf5341 (patch)
tree45d36ba07cc65f21423140885d80507b4c75b818 /src/common/dns_utils.cpp
parentRevert "Allow name@domain.tld for OpenAlias lookups" (diff)
downloadmonero-fee8424938a6403bdd12d568037a3305cfcf5341.tar.xz
Allow name@domain.tld for OpenAlias lookups
Based on tewinget's update. Make OpenAlias address format independent of existing DNS functions. Add tests. Test: make debug-test cd build/debug/tests/unit_tests # test that regular DNS functions work, including IPv4 lookups. # also test function that converts OpenAlias address format make && ./unit_tests --gtest_filter=DNSResolver* # test that OpenAlias addresses like donate@getmonero.org work from # wallet tools make && ./unit_tests --gtest_filter=AddressFromURL.Success
Diffstat (limited to 'src/common/dns_utils.cpp')
-rw-r--r--src/common/dns_utils.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp
index ea7f1078b..98e3d0ea6 100644
--- a/src/common/dns_utils.cpp
+++ b/src/common/dns_utils.cpp
@@ -304,6 +304,19 @@ std::vector<std::string> DNSResolver::get_txt_record(const std::string& url, boo
return records;
}
+std::string DNSResolver::get_dns_format_from_oa_address(const std::string& oa_addr)
+{
+ std::string addr(oa_addr);
+ auto first_at = addr.find("@");
+ if (first_at == std::string::npos)
+ return addr;
+
+ // convert name@domain.tld to name.domain.tld
+ addr.replace(first_at, 1, ".");
+
+ return addr;
+}
+
DNSResolver& DNSResolver::instance()
{
static DNSResolver* staticInstance = NULL;