Merge "When comparing DNS server configs, also compare number of servers"

This commit is contained in:
Lorenzo Colitti 2014-09-09 10:22:17 +00:00 committed by Gerrit Code Review
commit c71483c0b3

View File

@ -1965,10 +1965,25 @@ _resolv_is_nameservers_equal_locked(struct resolv_cache_info* cache_info,
{
int i;
char** ns;
int currentservers;
int equal = 1;
// compare each name server against current name servers
if (numservers > MAXNS) numservers = MAXNS;
// Find out how many nameservers we had before.
currentservers = 0;
for (ns = cache_info->nameservers; *ns; ns++)
currentservers++;
if (currentservers != numservers)
return 0;
// Compare each name server against current name servers.
// TODO: this is incorrect if the list of current or previous nameservers
// contains duplicates. This does not really matter because the framework
// filters out duplicates, but we should probably fix it. It's also
// insensitive to the order of the nameservers; we should probably fix that
// too.
for (i = 0; i < numservers && equal; i++) {
ns = cache_info->nameservers;
equal = 0;