Merge branch 'master' of ssh://github.com/loki-project/loki-network

pull/38/head
Jeff Becker 6 years ago
commit 1645000a5e
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -285,6 +285,7 @@ extern "C"
llarp::LogDebug("handling as dnsd question"); llarp::LogDebug("handling as dnsd question");
llarp_handle_dnsd_recvfrom(udp, addr, buf, sz); llarp_handle_dnsd_recvfrom(udp, addr, buf, sz);
} }
delete hdr;
/* /*
llarp::LogInfo("msg op ", hdr->opcode); llarp::LogInfo("msg op ", hdr->opcode);
llarp::LogInfo("msg rc ", hdr->rcode); llarp::LogInfo("msg rc ", hdr->rcode);

@ -105,9 +105,12 @@ llarp_dotlokilookup_checkQuery(void *u, uint64_t orig, uint64_t left)
} }
// make a dnsd_query_hook_response for the cache // make a dnsd_query_hook_response for the cache
/*
dnsd_query_hook_response *response = new dnsd_query_hook_response; dnsd_query_hook_response *response = new dnsd_query_hook_response;
response->dontLookUp = true; response->dontLookUp = true;
response->dontSendResponse = false; response->dontSendResponse = false;
loki_tld_lookup_cache[addr.ToString()]=response;
*/
// we can't delete response now... // we can't delete response now...
sockaddr_in saddr; sockaddr_in saddr;
saddr.sin_family = AF_INET; saddr.sin_family = AF_INET;

@ -82,6 +82,7 @@ build_dns_packet(char *url, uint16_t id, uint16_t reqType)
} }
word = strtok(nullptr, "."); word = strtok(nullptr, ".");
} }
free(strTemp);
dnsQuery->request[dnsQuery->length++] = 0x00; // End of the host name dnsQuery->request[dnsQuery->length++] = 0x00; // End of the host name
dnsQuery->request[dnsQuery->length++] = dnsQuery->request[dnsQuery->length++] =
0x00; // 0x0001 - Query is a Type A query (host address) 0x00; // 0x0001 - Query is a Type A query (host address)
@ -109,7 +110,9 @@ answer_request_alloc(struct dnsc_context *dnsc, void *sock, const char *url,
request->context = dnsc; request->context = dnsc;
char *sUrl = strdup(url); char *sUrl = strdup(url);
request->question.name = (char *)sUrl; request->question.name = (char *)sUrl; // since it's a std::String
// we can nuke sUrl now
free(sUrl);
// leave 256 bytes available // leave 256 bytes available
if(request->question.name.size() > 255) if(request->question.name.size() > 255)
@ -323,7 +326,7 @@ generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
if(answer == nullptr) if(answer == nullptr)
{ {
llarp::LogWarn("nameserver ", upstreamAddr, llarp::LogWarn("nameserver ", upstreamAddr,
" didnt return any answers for ", question->name); " didnt return any answers for ", question?question->name:"null question");
request->resolved(request); request->resolved(request);
return; return;
} }

@ -379,7 +379,7 @@ handle_recvfrom(const char *buffer, ssize_t nbytes, const struct sockaddr *from,
return; return;
} }
*/ */
delete fromCopy;
if(request->llarp) if(request->llarp)
{ {
// make async request // make async request

@ -105,11 +105,7 @@ namespace llarp
strncpy(tunif.ifaddr, addr.c_str(), sizeof(tunif.ifaddr) - 1); strncpy(tunif.ifaddr, addr.c_str(), sizeof(tunif.ifaddr) - 1);
// set up address in dotLokiLookup // set up address in dotLokiLookup
struct sockaddr_in source_addr; llarp::Addr tunIp(tunif.ifaddr);
source_addr.sin_addr.s_addr = inet_addr(tunif.ifaddr);
source_addr.sin_family = AF_INET;
llarp::Addr tunIp(source_addr);
// related to dns_iptracker_setup_dotLokiLookup(&this->dll, tunIp); // related to dns_iptracker_setup_dotLokiLookup(&this->dll, tunIp);
dns_iptracker_setup(this->dll.ip_tracker, dns_iptracker_setup(this->dll.ip_tracker,
tunIp); // claim GW IP to make sure it's not inuse tunIp); // claim GW IP to make sure it's not inuse

Loading…
Cancel
Save