mirror of https://github.com/oxen-io/lokinet
clang-format
This commit is contained in:
parent
090fac7b4e
commit
1c6031c677
|
@ -94,9 +94,9 @@ main(int argc, char *argv[])
|
|||
dns_iptracker_init();
|
||||
|
||||
// llarp::SetLogLevel(llarp::eLogDebug);
|
||||
|
||||
|
||||
bool enableDLL = false;
|
||||
bool useLlarp = true;
|
||||
bool useLlarp = true;
|
||||
|
||||
if(enableDLL)
|
||||
{
|
||||
|
@ -270,29 +270,31 @@ main(int argc, char *argv[])
|
|||
if(nbytes == -1)
|
||||
continue;
|
||||
llarp::LogInfo("Received Bytes ", nbytes);
|
||||
|
||||
|
||||
llarp_buffer_t lbuffer;
|
||||
lbuffer.base = (byte_t *)buffer;
|
||||
lbuffer.cur = lbuffer.base;
|
||||
lbuffer.sz = nbytes;
|
||||
|
||||
|
||||
dns_msg_header *hdr = decode_hdr(lbuffer);
|
||||
|
||||
// if we sent this out, then there's an id
|
||||
struct dns_tracker *tracker = (struct dns_tracker *)dnsd.client.tracker;
|
||||
struct dnsc_answer_request *request = tracker->client_request[hdr->id].get();
|
||||
|
||||
if (request)
|
||||
struct dnsc_answer_request *request =
|
||||
tracker->client_request[hdr->id].get();
|
||||
|
||||
if(request)
|
||||
{
|
||||
request->packet.header = hdr;
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(), lbuffer, hdr);
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(),
|
||||
lbuffer, hdr);
|
||||
}
|
||||
else
|
||||
{
|
||||
llarp::LogWarn("Ignoring multiple responses on ID #", hdr->id);
|
||||
}
|
||||
|
||||
//raw_handle_recvfrom(&m_sockfd, (const struct sockaddr *)&clientAddress,
|
||||
|
||||
// raw_handle_recvfrom(&m_sockfd, (const struct sockaddr *)&clientAddress,
|
||||
// buffer, nbytes);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
#include <llarp/net.hpp> // for llarp::Addr , llarp::huint32_t
|
||||
#include <llarp/dns_rectypes.hpp>
|
||||
|
||||
#define LLARP_DNS_RECTYPE_A 1
|
||||
#define LLARP_DNS_RECTYPE_NS 2
|
||||
#define LLARP_DNS_RECTYPE_CNAME 5
|
||||
#define LLARP_DNS_RECTYPE_SOA 6
|
||||
#define LLARP_DNS_RECTYPE_PTR 12
|
||||
#define LLARP_DNS_RECTYPE_MX 15
|
||||
#define LLARP_DNS_RECTYPE_TXT 16
|
||||
#define LLARP_DNS_RECTYPE_A 1
|
||||
#define LLARP_DNS_RECTYPE_NS 2
|
||||
#define LLARP_DNS_RECTYPE_CNAME 5
|
||||
#define LLARP_DNS_RECTYPE_SOA 6
|
||||
#define LLARP_DNS_RECTYPE_PTR 12
|
||||
#define LLARP_DNS_RECTYPE_MX 15
|
||||
#define LLARP_DNS_RECTYPE_TXT 16
|
||||
|
||||
struct dnsd_context;
|
||||
|
||||
|
|
|
@ -74,7 +74,6 @@ void
|
|||
generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
|
||||
llarp_buffer_t buffer, dns_msg_header *hdr);
|
||||
|
||||
|
||||
/// DNS client context (one needed per upstream DNS server)
|
||||
struct dnsc_context
|
||||
{
|
||||
|
@ -96,7 +95,8 @@ raw_resolve_host(struct dnsc_context *const dnsc, const char *url,
|
|||
dnsc_answer_hook_func resolved, void *const user,
|
||||
uint16_t type);
|
||||
|
||||
/// async (non blocking w/callback) resolve a hostname using llarp platform framework
|
||||
/// async (non blocking w/callback) resolve a hostname using llarp platform
|
||||
/// framework
|
||||
bool
|
||||
llarp_resolve_host(struct dnsc_context *const dns, const char *url,
|
||||
dnsc_answer_hook_func resolved, void *const user,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include <cstdint>
|
||||
|
||||
using llarp_proto_version_t = std::uint8_t;
|
||||
using llarp_time_t = std::uint64_t;
|
||||
using llarp_seconds_t = std::uint64_t;
|
||||
using llarp_time_t = std::uint64_t;
|
||||
using llarp_seconds_t = std::uint64_t;
|
||||
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -245,7 +245,7 @@ packet2bytes(dns_packet &in)
|
|||
// don't pull these from the header, trust what we actually have more
|
||||
vput16bits(write_buffer, in.questions.size()); // QD (number of questions)
|
||||
vput16bits(write_buffer, in.answers.size()); // AN (number of answers)
|
||||
vput16bits(write_buffer, in.auth_rrs.size()); // NS (number of auth RRs)
|
||||
vput16bits(write_buffer, in.auth_rrs.size()); // NS (number of auth RRs)
|
||||
vput16bits(write_buffer,
|
||||
in.additional_rrs.size()); // AR (number of Additional RRs)
|
||||
|
||||
|
@ -321,11 +321,11 @@ extern "C"
|
|||
llarp_buffer_read_uint16(&buffer, &hdr->anCount);
|
||||
llarp_buffer_read_uint16(&buffer, &hdr->nsCount);
|
||||
llarp_buffer_read_uint16(&buffer, &hdr->arCount);
|
||||
|
||||
|
||||
// decode fields into hdr
|
||||
uint8_t lFields = (fields & 0x00FF) >> 0;
|
||||
uint8_t hFields = (fields & 0xFF00) >> 8;
|
||||
|
||||
uint8_t lFields = (fields & 0x00FF) >> 0;
|
||||
uint8_t hFields = (fields & 0xFF00) >> 8;
|
||||
|
||||
// process high byte
|
||||
// hdr->qr = fields & 0x8000;
|
||||
hdr->qr = (hFields >> 7) & 0x1;
|
||||
|
@ -459,7 +459,7 @@ extern "C"
|
|||
*/
|
||||
moveable += answer->rdLen;
|
||||
(*pos) += answer->rdLen; // advance the length
|
||||
|
||||
|
||||
answer->record = std::make_unique< llarp::dns::type_1a >();
|
||||
answer->record->parse(answer->rData);
|
||||
}
|
||||
|
@ -479,7 +479,7 @@ extern "C"
|
|||
// don't really need to do anything here
|
||||
moveable += answer->rdLen;
|
||||
//(*pos) += answer->rdLen; // advance the length
|
||||
|
||||
|
||||
answer->record = std::make_unique< llarp::dns::type_2ns >();
|
||||
answer->record->parse(answer->rData);
|
||||
}
|
||||
|
@ -493,7 +493,7 @@ extern "C"
|
|||
|
||||
moveable += answer->rdLen;
|
||||
//(*pos) += answer->rdLen; // advance the length
|
||||
|
||||
|
||||
answer->record = std::make_unique< llarp::dns::type_5cname >();
|
||||
answer->record->parse(answer->rData);
|
||||
}
|
||||
|
@ -604,13 +604,13 @@ extern "C"
|
|||
const struct sockaddr *addr, const void *buf,
|
||||
ssize_t sz)
|
||||
{
|
||||
//auto abuffer = llarp::StackBuffer< decltype(buf) >(buf);
|
||||
|
||||
// auto abuffer = llarp::StackBuffer< decltype(buf) >(buf);
|
||||
|
||||
llarp_buffer_t buffer;
|
||||
buffer.base = (byte_t *)buf;
|
||||
buffer.cur = buffer.base;
|
||||
buffer.sz = sz;
|
||||
|
||||
|
||||
dns_msg_header *hdr = decode_hdr(buffer);
|
||||
llarp::LogDebug("msg id ", hdr->id);
|
||||
llarp::LogDebug("msg qr ", (uint8_t)hdr->qr);
|
||||
|
|
|
@ -230,9 +230,10 @@ ReverseHandlerIter(struct llarp::service::Context::endpoint_iter *endpointCfg)
|
|||
+ tokensCheck[2] + "." + tokensCheck[3];
|
||||
llarp::LogDebug(searchIp, " vs ", checkIp);
|
||||
|
||||
llarp::IPRange range = llarp::iprange_ipv4(
|
||||
std::stoi(tokensCheck[0]), std::stoi(tokensCheck[1]), std::stoi(tokensCheck[2]),
|
||||
std::stoi(tokensCheck[3]), tunEndpoint->tunif.netmask); // create range
|
||||
llarp::IPRange range =
|
||||
llarp::iprange_ipv4(std::stoi(tokensCheck[0]), std::stoi(tokensCheck[1]),
|
||||
std::stoi(tokensCheck[2]), std::stoi(tokensCheck[3]),
|
||||
tunEndpoint->tunif.netmask); // create range
|
||||
// hack atm to work around limitations in ipaddr_ipv4_bits and llarp::IPRange
|
||||
llarp::huint32_t searchIPv4_fixed = llarp::ipaddr_ipv4_bits(
|
||||
std::stoi(tokensSearch[searchTokens - 6]),
|
||||
|
|
|
@ -5,10 +5,10 @@ namespace llarp
|
|||
{
|
||||
namespace dns
|
||||
{
|
||||
record::~record() {
|
||||
|
||||
record::~record(){
|
||||
|
||||
};
|
||||
|
||||
|
||||
bool
|
||||
record::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
|
@ -64,7 +64,8 @@ namespace llarp
|
|||
type_2ns::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
// trim last 2 bytes... probably the size
|
||||
this->ns = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size() - 2);
|
||||
this->ns = std::string(reinterpret_cast< char * >(bytes.data()),
|
||||
bytes.size() - 2);
|
||||
return true;
|
||||
};
|
||||
|
||||
|
@ -86,7 +87,8 @@ namespace llarp
|
|||
type_5cname::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
// trim last 2 bytes... probably the size
|
||||
this->cname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
|
||||
this->cname =
|
||||
std::string(reinterpret_cast< char * >(bytes.data()), bytes.size());
|
||||
// LogDebug("type5 parsed ", this->cname);
|
||||
return true;
|
||||
};
|
||||
|
@ -110,20 +112,23 @@ namespace llarp
|
|||
this->expire = 0;
|
||||
this->minimum = 0;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
type_6soa::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
// FIXME: implmement me
|
||||
//this->cname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
|
||||
return bytes.size()?true:false;
|
||||
// this->cname = std::string(reinterpret_cast<char *>(bytes.data()),
|
||||
// bytes.size());
|
||||
return bytes.size() ? true : false;
|
||||
};
|
||||
|
||||
std::vector< byte_t >
|
||||
type_6soa::to_bytes()
|
||||
{
|
||||
std::vector< byte_t > retval;
|
||||
vput16bits(retval, 4 + this->mname.length() + this->rname.length() + 20); // rdLength
|
||||
vput16bits(
|
||||
retval,
|
||||
4 + this->mname.length() + this->rname.length() + 20); // rdLength
|
||||
vcode_domain(retval, this->mname);
|
||||
vcode_domain(retval, this->rname);
|
||||
vput32bits(retval, this->serial);
|
||||
|
@ -134,7 +139,7 @@ namespace llarp
|
|||
|
||||
return retval;
|
||||
};
|
||||
|
||||
|
||||
type_12ptr::type_12ptr() : record()
|
||||
{
|
||||
this->revname = "";
|
||||
|
@ -143,7 +148,8 @@ namespace llarp
|
|||
bool
|
||||
type_12ptr::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
this->revname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
|
||||
this->revname =
|
||||
std::string(reinterpret_cast< char * >(bytes.data()), bytes.size());
|
||||
return bytes.size() ? true : false;
|
||||
};
|
||||
|
||||
|
@ -169,7 +175,8 @@ namespace llarp
|
|||
bool
|
||||
type_15mx::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
this->mx = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
|
||||
this->mx =
|
||||
std::string(reinterpret_cast< char * >(bytes.data()), bytes.size());
|
||||
// LogInfo("parsed ", this->mx);
|
||||
return true;
|
||||
};
|
||||
|
@ -192,7 +199,8 @@ namespace llarp
|
|||
bool
|
||||
type_16txt::parse(std::vector< byte_t > bytes)
|
||||
{
|
||||
this->txt = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size() - 1);
|
||||
this->txt = std::string(reinterpret_cast< char * >(bytes.data()),
|
||||
bytes.size() - 1);
|
||||
return true;
|
||||
};
|
||||
|
||||
|
|
|
@ -163,15 +163,15 @@ generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
|
|||
return;
|
||||
}
|
||||
// llarp::LogInfo("got a response, udp user is ", udp->user);
|
||||
|
||||
//unsigned char *castBuf = (unsigned char *)buf;
|
||||
//const char *const castBufc = (const char *)buf;
|
||||
|
||||
// unsigned char *castBuf = (unsigned char *)buf;
|
||||
// const char *const castBufc = (const char *)buf;
|
||||
// auto buffer = llarp::StackBuffer< decltype(castBuf) >(castBuf);
|
||||
size_t sz = buffer.sz;
|
||||
|
||||
llarp::LogDebug("Header got client responses for id: ", hdr->id);
|
||||
// llarp_dnsc_unbind(request);
|
||||
|
||||
|
||||
// unsigned char *castBuf = (unsigned char *)buf;
|
||||
// auto buffer = llarp::StackBuffer< decltype(castBuf) >(castBuf);
|
||||
|
||||
|
@ -196,9 +196,9 @@ generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
|
|||
// rcode = (buffer[3] & 0x0F);
|
||||
// llarp::LogInfo("dnsc rcode ", rcode);
|
||||
|
||||
//dns_msg_header *msg = decode_hdr((const char *)castBuf);
|
||||
//dns_msg_header *msg = hdr;
|
||||
//castBuf += 12;
|
||||
// dns_msg_header *msg = decode_hdr((const char *)castBuf);
|
||||
// dns_msg_header *msg = hdr;
|
||||
// castBuf += 12;
|
||||
llarp::LogDebug("msg id ", hdr->id);
|
||||
uint8_t qr = hdr->qr;
|
||||
llarp::LogDebug("msg qr ", qr);
|
||||
|
@ -319,9 +319,9 @@ generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
|
|||
*/
|
||||
if((size_t)pos > sz)
|
||||
{
|
||||
llarp::LogWarn("Would read past end of dns packet. for ",
|
||||
request->question.name);
|
||||
break;
|
||||
llarp::LogWarn("Would read past end of dns packet. for ",
|
||||
request->question.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -629,20 +629,21 @@ raw_resolve_host(struct dnsc_context *const dnsc, const char *url,
|
|||
lbuffer.base = (byte_t *)buffer;
|
||||
lbuffer.cur = lbuffer.base;
|
||||
lbuffer.sz = size;
|
||||
|
||||
//unsigned char *castBuf = (unsigned char *)buffer;
|
||||
|
||||
// unsigned char *castBuf = (unsigned char *)buffer;
|
||||
// auto buffer = llarp::StackBuffer< decltype(castBuf) >(castBuf);
|
||||
dns_msg_header *hdr = decode_hdr(lbuffer);
|
||||
llarp::LogInfo("response header says it belongs to id #", hdr->id);
|
||||
|
||||
// if we sent this out, then there's an id
|
||||
struct dns_tracker *tracker = (struct dns_tracker *)dnsc->tracker;
|
||||
struct dns_tracker *tracker = (struct dns_tracker *)dnsc->tracker;
|
||||
struct dnsc_answer_request *request = tracker->client_request[hdr->id].get();
|
||||
|
||||
if (request)
|
||||
|
||||
if(request)
|
||||
{
|
||||
request->packet.header = hdr;
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(), lbuffer, hdr);
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(),
|
||||
lbuffer, hdr);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -665,21 +666,21 @@ llarp_handle_dnsc_recvfrom(struct llarp_udp_io *const udp,
|
|||
llarp::LogWarn("Error Receiving DNS Client Response");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
llarp_buffer_t buffer;
|
||||
buffer.base = (byte_t *) buf;
|
||||
buffer.base = (byte_t *)buf;
|
||||
buffer.cur = buffer.base;
|
||||
buffer.sz = sz;
|
||||
|
||||
//unsigned char *castBuf = (unsigned char *)buf;
|
||||
|
||||
// unsigned char *castBuf = (unsigned char *)buf;
|
||||
// auto buffer = llarp::StackBuffer< decltype(castBuf) >(castBuf);
|
||||
dns_msg_header *hdr = decode_hdr(buffer);
|
||||
buffer.cur = buffer.base; // reset cursor to beginning
|
||||
buffer.cur = buffer.base; // reset cursor to beginning
|
||||
|
||||
llarp::LogDebug("Header got client responses for id: ", hdr->id);
|
||||
|
||||
// if we sent this out, then there's an id
|
||||
struct dns_tracker *tracker = (struct dns_tracker *)udp->user;
|
||||
struct dns_tracker *tracker = (struct dns_tracker *)udp->user;
|
||||
struct dnsc_answer_request *request = tracker->client_request[hdr->id].get();
|
||||
|
||||
// sometimes we'll get double responses
|
||||
|
@ -771,7 +772,7 @@ void
|
|||
llarp_host_resolved(dnsc_answer_request *const request)
|
||||
{
|
||||
dns_tracker *tracker = (dns_tracker *)request->context->tracker;
|
||||
auto val = std::find_if(
|
||||
auto val = std::find_if(
|
||||
tracker->client_request.begin(), tracker->client_request.end(),
|
||||
[request](
|
||||
std::pair< const uint32_t, std::unique_ptr< dnsc_answer_request > >
|
||||
|
@ -812,7 +813,7 @@ llarp_dnsc_init(struct dnsc_context *const dnsc,
|
|||
llarp::LogInfo("DNSc adding relay ", dnsc_sockaddr);
|
||||
dnsc->resolvers.push_back(dnsc_sockaddr);
|
||||
dnsc->tracker = &dns_udp_tracker;
|
||||
dnsc->logic = logic;
|
||||
dnsc->logic = logic;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -396,8 +396,7 @@ handle_dnsc_result(dnsc_answer_request *client_request)
|
|||
|
||||
// our generic version
|
||||
void
|
||||
handle_recvfrom(llarp_buffer_t buffer,
|
||||
dnsd_question_request *request)
|
||||
handle_recvfrom(llarp_buffer_t buffer, dnsd_question_request *request)
|
||||
{
|
||||
const size_t HDR_OFFSET = 12;
|
||||
const char *p_buffer = (const char *)buffer.base;
|
||||
|
@ -546,7 +545,8 @@ llarp_handle_dnsd_recvfrom(struct llarp_udp_io *udp,
|
|||
}
|
||||
|
||||
void
|
||||
raw_handle_recvfrom(int *sockfd, const struct sockaddr *saddr, llarp_buffer_t buffer)
|
||||
raw_handle_recvfrom(int *sockfd, const struct sockaddr *saddr,
|
||||
llarp_buffer_t buffer)
|
||||
{
|
||||
if(!dns_udp_tracker.dnsd)
|
||||
{
|
||||
|
|
|
@ -299,8 +299,10 @@ namespace llarp
|
|||
if(wantInternet && !m_PermitExit)
|
||||
return false;
|
||||
huint32_t ip = GetIPForIdent(pk);
|
||||
m_ActiveExits.insert(std::make_pair(
|
||||
(llarp::PubKey)pk, std::make_unique<llarp::exit::Endpoint>(pk, path, !wantInternet, ip, this)));
|
||||
m_ActiveExits.insert(
|
||||
std::make_pair((llarp::PubKey)pk,
|
||||
std::make_unique< llarp::exit::Endpoint >(
|
||||
pk, path, !wantInternet, ip, this)));
|
||||
m_Paths[path] = pk;
|
||||
return HasLocalMappedAddrFor(pk);
|
||||
}
|
||||
|
|
|
@ -152,12 +152,12 @@ _llarp_nt_getadaptersaddresses(struct llarp_nt_ifaddrs_t** ifap)
|
|||
fprintf(stderr, "IP_ADAPTER_ADDRESSES buffer length %lu bytes.\n", dwSize);
|
||||
#endif
|
||||
pAdapterAddresses = (IP_ADAPTER_ADDRESSES*)_llarp_nt_heap_alloc(dwSize);
|
||||
dwRet = GetAdaptersAddresses(
|
||||
AF_UNSPEC,
|
||||
GAA_FLAG_INCLUDE_PREFIX | GAA_FLAG_SKIP_ANYCAST
|
||||
| GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME
|
||||
| GAA_FLAG_SKIP_MULTICAST,
|
||||
nullptr, pAdapterAddresses, &dwSize);
|
||||
dwRet = GetAdaptersAddresses(AF_UNSPEC,
|
||||
GAA_FLAG_INCLUDE_PREFIX | GAA_FLAG_SKIP_ANYCAST
|
||||
| GAA_FLAG_SKIP_DNS_SERVER
|
||||
| GAA_FLAG_SKIP_FRIENDLY_NAME
|
||||
| GAA_FLAG_SKIP_MULTICAST,
|
||||
nullptr, pAdapterAddresses, &dwSize);
|
||||
if(ERROR_BUFFER_OVERFLOW == dwRet)
|
||||
{
|
||||
_llarp_nt_heap_free(pAdapterAddresses);
|
||||
|
@ -447,10 +447,10 @@ _llarp_nt_getadaptersaddresses(struct llarp_nt_ifaddrs_t** ifap)
|
|||
ift->_ifa.ifa_next = (struct llarp_nt_ifaddrs_t*)(ift + 1);
|
||||
ift = (struct _llarp_nt_ifaddrs_t*)(ift->_ifa.ifa_next);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
ift->_ifa.ifa_next = nullptr;
|
||||
}
|
||||
ift->_ifa.ifa_next = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -464,7 +464,7 @@ static unsigned
|
|||
_llarp_nt_getadaptersaddresses_nametoindex(const char* ifname)
|
||||
{
|
||||
ULONG ifIndex;
|
||||
DWORD dwSize = 4096, dwRet;
|
||||
DWORD dwSize = 4096, dwRet;
|
||||
IP_ADAPTER_ADDRESSES *pAdapterAddresses = nullptr, *adapter;
|
||||
char szAdapterName[256];
|
||||
|
||||
|
@ -487,7 +487,7 @@ _llarp_nt_getadaptersaddresses_nametoindex(const char* ifname)
|
|||
for(unsigned i = 3; i; i--)
|
||||
{
|
||||
pAdapterAddresses = (IP_ADAPTER_ADDRESSES*)_llarp_nt_heap_alloc(dwSize);
|
||||
dwRet = GetAdaptersAddresses(
|
||||
dwRet = GetAdaptersAddresses(
|
||||
AF_UNSPEC,
|
||||
GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_DNS_SERVER
|
||||
| GAA_FLAG_SKIP_FRIENDLY_NAME | GAA_FLAG_SKIP_MULTICAST,
|
||||
|
@ -524,7 +524,8 @@ _llarp_nt_getadaptersaddresses_nametoindex(const char* ifname)
|
|||
{
|
||||
if(0 == strcmp(szAdapterName, adapter->AdapterName))
|
||||
{
|
||||
//ifIndex = AF_INET6 == iffamily ? adapter->Ipv6IfIndex : adapter->IfIndex;
|
||||
// ifIndex = AF_INET6 == iffamily ? adapter->Ipv6IfIndex :
|
||||
// adapter->IfIndex;
|
||||
_llarp_nt_heap_free(pAdapterAddresses);
|
||||
return ifIndex;
|
||||
}
|
||||
|
|
|
@ -116,10 +116,10 @@ namespace llarp
|
|||
bool
|
||||
Addr::from_char_array(const char* in)
|
||||
{
|
||||
char *str = (char *)in;
|
||||
char *pPosition = strchr(str, ':');
|
||||
bool freeStr = false;
|
||||
if (pPosition)
|
||||
char* str = (char*)in;
|
||||
char* pPosition = strchr(str, ':');
|
||||
bool freeStr = false;
|
||||
if(pPosition)
|
||||
{
|
||||
// parse port
|
||||
char buf[6];
|
||||
|
@ -129,8 +129,8 @@ namespace llarp
|
|||
this->port(port);
|
||||
// trim str
|
||||
// can't VLA
|
||||
str = strdup(in); // copy it
|
||||
str[pPosition - in] = '\0'; // nul terminate it early
|
||||
str = strdup(in); // copy it
|
||||
str[pPosition - in] = '\0'; // nul terminate it early
|
||||
llarp::LogDebug("Truncating to ", str);
|
||||
freeStr = true;
|
||||
}
|
||||
|
@ -147,20 +147,23 @@ namespace llarp
|
|||
if(ret)
|
||||
{
|
||||
llarp::LogError("failed to determine address family: ", str);
|
||||
if (freeStr) free(str);
|
||||
if(freeStr)
|
||||
free(str);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(res->ai_family == AF_INET6)
|
||||
{
|
||||
llarp::LogError("IPv6 address not supported yet", str);
|
||||
if (freeStr) free(str);
|
||||
if(freeStr)
|
||||
free(str);
|
||||
return false;
|
||||
}
|
||||
else if(res->ai_family != AF_INET)
|
||||
{
|
||||
llarp::LogError("Address family not supported yet", str);
|
||||
if (freeStr) free(str);
|
||||
if(freeStr)
|
||||
free(str);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -169,10 +172,12 @@ namespace llarp
|
|||
if(inet_aton(str, addr) == 0)
|
||||
{
|
||||
llarp::LogError("failed to parse ", str);
|
||||
if (freeStr) free(str);
|
||||
if(freeStr)
|
||||
free(str);
|
||||
return false;
|
||||
}
|
||||
if (freeStr) free(str);
|
||||
if(freeStr)
|
||||
free(str);
|
||||
|
||||
_addr.sin6_family = res->ai_family;
|
||||
_addr4.sin_family = res->ai_family;
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace llarp
|
|||
public:
|
||||
static constexpr size_t Alignment = 64;
|
||||
|
||||
using AtomicIndex = std::atomic<std::uint32_t>;
|
||||
using AtomicIndex = std::atomic< std::uint32_t >;
|
||||
|
||||
private:
|
||||
AtomicIndex m_pushIndex; // Index in the buffer that the next
|
||||
|
@ -90,7 +90,7 @@ namespace llarp
|
|||
const uint32_t m_maxCombinedIndex; // Maximum combined value of index and
|
||||
// generation for this object.
|
||||
|
||||
std::atomic<std::uint32_t>* m_states; // Array of index states.
|
||||
std::atomic< std::uint32_t >* m_states; // Array of index states.
|
||||
|
||||
AtomicIndex&
|
||||
pushIndex();
|
||||
|
|
Loading…
Reference in New Issue