Skip to content

Commit

Permalink
Merge pull request #710 from pi-hole/tweak/FORCE_LOCAL_RESOLVER
Browse files Browse the repository at this point in the history
Internal resolver tweaks
  • Loading branch information
DL6ER authored Mar 25, 2020
2 parents 3e2ef28 + 5872ebb commit 603507c
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/resolve.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,12 @@ static char *resolveHostname(const char *addr)
return hostname;
}

// Back up first ns record in _res and ...
struct in_addr nsbck;
nsbck = _res.nsaddr_list[0].sin_addr;
// Force last available (MAXNS-1) server used for lookups to 127.0.0.1 (FTL itself)
struct in_addr nsbck = { 0 };
// Back up corresponding ns record in _res and ...
nsbck = _res.nsaddr_list[MAXNS-1].sin_addr;
// ... force FTL resolver to 127.0.0.1
inet_pton(AF_INET, "127.0.0.1", &_res.nsaddr_list[0].sin_addr);
inet_pton(AF_INET, "127.0.0.1", &_res.nsaddr_list[MAXNS-1].sin_addr);

// Test if we want to resolve an IPv6 address
if(strstr(addr,":") != NULL)
Expand Down Expand Up @@ -80,8 +81,8 @@ static char *resolveHostname(const char *addr)
strtolower(hostname);
}

// Restore first ns record in _res
_res.nsaddr_list[0].sin_addr = nsbck;
// Restore ns record in _res
_res.nsaddr_list[MAXNS-1].sin_addr = nsbck;

// Return result
return hostname;
Expand Down

0 comments on commit 603507c

Please sign in to comment.