Electroneum
Classes | Namespaces | Macros | Typedefs | Functions | Variables
dns_utils.cpp File Reference
#include "common/dns_utils.h"
#include "unbound.h"
#include <stdlib.h>
#include "include_base_utils.h"
#include "common/threadpool.h"
#include "crypto/crypto.h"
#include <boost/optional.hpp>
#include <random>
#include <boost/filesystem/fstream.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/thread.hpp>
#include <boost/algorithm/string/join.hpp>
Include dependency graph for dns_utils.cpp:

Classes

class  tools::scoped_ptr< type, freefunc >
 
struct  tools::DNSResolverData
 
class  tools::string_copy
 

Namespaces

 anonymous_namespace{dns_utils.cpp}
 
 tools
 Various Tools.
 
 tools::dns_utils
 
 tools::dns_utils::anonymous_namespace{dns_utils.cpp}
 

Macros

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "net.dns"
 

Typedefs

typedef class scoped_ptr< ub_result, ub_resolve_free > tools::ub_result_ptr
 

Functions

static const char *const * anonymous_namespace{dns_utils.cpp}::get_builtin_ds (void)
 
static const char * tools::get_record_name (int record_type)
 
boost::optional< std::string > tools::ipv4_to_string (const char *src, size_t len)
 
boost::optional< std::string > tools::ipv6_to_string (const char *src, size_t len)
 
boost::optional< std::string > tools::txt_to_string (const char *src, size_t len)
 
static void tools::add_anchors (ub_ctx *ctx)
 
std::string tools::dns_utils::address_from_txt_record (const std::string &s)
 
std::vector< std::string > tools::dns_utils::addresses_from_url (const std::string &url, bool &dnssec_valid)
 gets a electroneum address from the TXT record of a DNS entry More...
 
std::string tools::dns_utils::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)> dns_confirm)
 
bool tools::dns_utils::anonymous_namespace{dns_utils.cpp}::dns_records_match (const std::vector< std::string > &a, const std::vector< std::string > &b)
 
bool tools::dns_utils::load_txt_records_from_dns (std::vector< std::string > &good_records, const std::vector< std::string > &dns_urls, std::string type)
 
std::vector< std::string > tools::dns_utils::parse_dns_public (const char *s)
 

Variables

static const char * DEFAULT_DNS_PUBLIC_ADDR []
 
static boost::mutex instance_lock
 

Macro Definition Documentation

◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "net.dns"

Variable Documentation

◆ DEFAULT_DNS_PUBLIC_ADDR

const char* DEFAULT_DNS_PUBLIC_ADDR[]
static
Initial value:
=
{
"194.150.168.168",
"80.67.169.40",
"89.233.43.71",
"109.69.8.51",
"193.58.251.251"
}

◆ instance_lock

boost::mutex instance_lock
static