35#include <boost/optional/optional_fwd.hpp>
41const static int DNS_CLASS_IN = 1;
42const static int DNS_TYPE_A = 1;
43const static int DNS_TYPE_TXT = 16;
44const static int DNS_TYPE_AAAA = 8;
85 std::vector<std::string>
get_ipv4(
const std::string& url,
bool& dnssec_available,
bool& dnssec_valid);
97 std::vector<std::string>
get_ipv6(
const std::string& url,
bool& dnssec_available,
bool& dnssec_valid);
108 std::vector<std::string>
get_txt_record(
const std::string& url,
bool& dnssec_available,
bool& dnssec_valid);
134 static DNSResolver
create();
149 std::vector<std::string> get_record(
const std::string& url,
int record_type, boost::optional<std::string> (*reader)(
const char *,
size_t),
bool& dnssec_available,
bool& dnssec_valid);
158 bool check_address_syntax(
const char *addr)
const;
167std::vector<std::string>
addresses_from_url(
const std::string& url,
bool& dnssec_valid);
169std::string
get_account_address_as_str_from_url(
const std::string& url,
bool& dnssec_valid, std::function<std::string(
const std::string&,
const std::vector<std::string>&,
bool)> confirm_dns);
171bool load_txt_records_from_dns(std::vector<std::string> &records,
const std::vector<std::string> &dns_urls, std::string type);