Monero
Loading...
Searching...
No Matches
net Namespace Reference

Namespaces

namespace  dandelionpp
namespace  socks
namespace  http
namespace  dnssec
namespace  zmq

Classes

class  i2p_address
 b32 i2p address; internal format not condensed/decoded. More...
class  tor_address
 Tor onion address; internal format not condensed/decoded. More...

Enumerations

enum class  error : int {
  bogus_dnssec = 1 , dns_query_failure , expected_tld , invalid_host ,
  invalid_i2p_address , invalid_mask , invalid_port , invalid_tor_address ,
  unsupported_address
}
 General net errors. More...

Functions

std::error_category consterror_category () noexcept
std::error_code make_error_code (error value) noexcept
bool operator== (const i2p_address &lhs, const i2p_address &rhs) noexcept
bool operator!= (const i2p_address &lhs, const i2p_address &rhs) noexcept
bool operator< (const i2p_address &lhs, const i2p_address &rhs) noexcept
void get_network_address_host_and_port (const std::string &address, std::string &host, std::string &port)
 Takes a valid address string (IP, Tor, I2P, or DNS name) and splits it into host and port.
expect< epee::net_utils::network_addressget_network_address (const boost::string_ref address, const std::uint16_t default_port)
expect< epee::net_utils::ipv4_network_subnetget_ipv4_subnet_address (const boost::string_ref address, bool allow_implicit_32)
expect< boost::asio::ip::tcp::endpoint > get_tcp_endpoint (const boost::string_ref address)
bool operator== (const tor_address &lhs, const tor_address &rhs) noexcept
bool operator!= (const tor_address &lhs, const tor_address &rhs) noexcept
bool operator< (const tor_address &lhs, const tor_address &rhs) noexcept

Enumeration Type Documentation

◆ error

enum class net::error : int
strong

General net errors.

Enumerator
bogus_dnssec 

Invalid response signature from DNSSEC enabled domain.

dns_query_failure 

Failed to retrieve desired DNS record.

expected_tld 

Expected a tld.

invalid_host 

Hostname is not valid.

invalid_i2p_address 
invalid_mask 

Outside of 0-32 range.

invalid_port 

Outside of 0-65535 range.

invalid_tor_address 

Invalid base32 or length.

unsupported_address 

Type not supported by get_network_address.

Function Documentation

◆ error_category()

std::error_category const & net::error_category ( )
noexcept
Returns
std::error_category for net namespace.

◆ get_ipv4_subnet_address()

expect< epee::net_utils::ipv4_network_subnet > net::get_ipv4_subnet_address ( boost::string_ref address,
bool allow_implicit_32 = false )

Identifies an IPv4 subnet in CIDR notatioa and returns it as a generic network_address. If the type is unsupported, it might be a hostname, and error() == net::error::kUnsupportedAddress is returned.

Parameters
addressAn ipv4 address.
allow_implicit_32whether to accept "raw" IPv4 addresses, with CIDR notation
Returns
A tor or IPv4 address, else error.

◆ get_network_address()

expect< epee::net_utils::network_address > net::get_network_address ( boost::string_ref address,
std::uint16_t default_port )

Identifies onion, i2p and IPv4 addresses and returns them as a generic network_address. If the type is unsupported, it might be a hostname, and error() == net::error::kUnsupportedAddress is returned.

Parameters
addressAn onion address, i2p address, ipv4 address or hostname. Hostname will return an error.
default_portIf address does not specify a port, this value will be used.
Returns
A tor or IPv4 address, else error.

◆ get_network_address_host_and_port()

void net::get_network_address_host_and_port ( const std::string & address,
std::string & host,
std::string & port )

Takes a valid address string (IP, Tor, I2P, or DNS name) and splits it into host and port.

The host of an IPv6 addresses in the format "[x:x:..:x]:port" will have the braces stripped. For example, when the address is "[ffff::2023]", host will be set to "ffff::2023".

Parameters
addressThe address string one wants to split
[out]hostThe host part of the address string. Is always set.
[out]portThe port part of the address string. Is only set when address string contains a port.

◆ get_tcp_endpoint()

expect< boost::asio::ip::tcp::endpoint > net::get_tcp_endpoint ( const boost::string_ref address)

◆ make_error_code()

std::error_code net::make_error_code ( error value)
inlinenoexcept
Returns
net::error as a std::error_code value.

◆ operator!=() [1/2]

bool net::operator!= ( const i2p_address & lhs,
const i2p_address & rhs )
inlinenoexcept

◆ operator!=() [2/2]

bool net::operator!= ( const tor_address & lhs,
const tor_address & rhs )
inlinenoexcept

◆ operator<() [1/2]

bool net::operator< ( const i2p_address & lhs,
const i2p_address & rhs )
inlinenoexcept

◆ operator<() [2/2]

bool net::operator< ( const tor_address & lhs,
const tor_address & rhs )
inlinenoexcept

◆ operator==() [1/2]

bool net::operator== ( const i2p_address & lhs,
const i2p_address & rhs )
inlinenoexcept

◆ operator==() [2/2]

bool net::operator== ( const tor_address & lhs,
const tor_address & rhs )
inlinenoexcept