Fix DNS checkpoint consensus code

It's supposed to load all records and pick one that it finds twice.
This commit is contained in:
moneromooo-monero 2015-06-14 11:05:13 +01:00
parent d6ba5ef8c5
commit bbc5475418
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -177,24 +177,21 @@ bool load_checkpoints_from_dns(cryptonote::checkpoints& checkpoints, bool testne
records[cur_index] = tools::DNSResolver::instance().get_txt_record(url, avail, valid); records[cur_index] = tools::DNSResolver::instance().get_txt_record(url, avail, valid);
if (!avail) if (!avail)
{ {
records[cur_index].clear();
LOG_PRINT_L2("DNSSEC not available for checkpoint update at URL: " << url << ", skipping."); LOG_PRINT_L2("DNSSEC not available for checkpoint update at URL: " << url << ", skipping.");
} }
if (!valid) if (!valid)
{ {
records[cur_index].clear();
LOG_PRINT_L2("DNSSEC validation failed for checkpoint update at URL: " << url << ", skipping."); LOG_PRINT_L2("DNSSEC validation failed for checkpoint update at URL: " << url << ", skipping.");
} }
if (records[cur_index].size() == 0 || !avail || !valid) cur_index++;
if (cur_index == dns_urls.size())
{ {
cur_index++; cur_index = 0;
if (cur_index == dns_urls.size())
{
cur_index = 0;
}
records[cur_index].clear();
continue;
} }
break; records[cur_index].clear();
} while (cur_index != first_index); } while (cur_index != first_index);
size_t num_valid_records = 0; size_t num_valid_records = 0;