mirror of https://github.com/oxen-io/lokinet
generic_handle_dnsc_recvfrom() remove unneeded parameter, start making daemon/dns better, deprecate raw_handle_recvfrom()
This commit is contained in:
parent
811b8451f5
commit
0046b705e8
|
@ -94,8 +94,11 @@ main(int argc, char *argv[])
|
|||
dns_iptracker_init();
|
||||
|
||||
// llarp::SetLogLevel(llarp::eLogDebug);
|
||||
|
||||
bool enableDLL = false;
|
||||
bool useLlarp = true;
|
||||
|
||||
if(1)
|
||||
if(enableDLL)
|
||||
{
|
||||
// libev version w/router context
|
||||
ctx = llarp_main_init(conffname, !TESTNET);
|
||||
|
@ -163,7 +166,7 @@ main(int argc, char *argv[])
|
|||
llarp_main_run(ctx);
|
||||
llarp_main_free(ctx);
|
||||
}
|
||||
else if(0)
|
||||
else if(useLlarp)
|
||||
{
|
||||
// libev version
|
||||
llarp_ev_loop *netloop = nullptr;
|
||||
|
@ -267,9 +270,30 @@ 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);
|
||||
|
||||
raw_handle_recvfrom(&m_sockfd, (const struct sockaddr *)&clientAddress,
|
||||
buffer, nbytes);
|
||||
// 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)
|
||||
{
|
||||
request->packet.header = 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,
|
||||
// buffer, nbytes);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -63,9 +63,17 @@ llarp_handle_dnsc_recvfrom(struct llarp_udp_io *const udp,
|
|||
/// because we don't need a callback like recvfrom
|
||||
/// because we're not evented
|
||||
/// however daemon/dns expects this
|
||||
/*
|
||||
void
|
||||
raw_handle_recvfrom(int *sockfd, const struct sockaddr *addr, const void *buf,
|
||||
const ssize_t sz);
|
||||
*/
|
||||
|
||||
// removed saddr, if needed get through request
|
||||
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
|
||||
|
|
|
@ -153,8 +153,6 @@ answer_request_alloc(struct dnsc_context *dnsc, void *sock, const char *url,
|
|||
/// generic dnsc handler
|
||||
void
|
||||
generic_handle_dnsc_recvfrom(dnsc_answer_request *request,
|
||||
__attribute__((unused))
|
||||
const struct sockaddr *saddr,
|
||||
llarp_buffer_t buffer, dns_msg_header *hdr)
|
||||
{
|
||||
if(!request)
|
||||
|
@ -644,8 +642,7 @@ raw_resolve_host(struct dnsc_context *const dnsc, const char *url,
|
|||
if (request)
|
||||
{
|
||||
request->packet.header = hdr;
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(), nullptr,
|
||||
lbuffer, hdr);
|
||||
generic_handle_dnsc_recvfrom(tracker->client_request[hdr->id].get(), lbuffer, hdr);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -689,7 +686,7 @@ llarp_handle_dnsc_recvfrom(struct llarp_udp_io *const udp,
|
|||
if(request)
|
||||
{
|
||||
request->packet.header = hdr;
|
||||
generic_handle_dnsc_recvfrom(request, saddr, buffer, hdr);
|
||||
generic_handle_dnsc_recvfrom(request, buffer, hdr);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue