/* if hashPlaintext is true, the password is in cleartext and hashing is available,
the hashed form will be kept in memory.
Note that accepting hashed password from an untrusted source might open
- us to a denial of service, since we currently don't cap the the parameters,
+ us to a denial of service, since we currently don't cap the parameters,
including the work factor */
CredentialsHolder(std::string&& password, bool hashPlaintext);
~CredentialsHolder();
{"NoneAction", true, "", "Does nothing. Subsequent rules are processed after this action"},
{"NotRule", true, "selector", "Matches the traffic if the selector rule does not match"},
{"OpcodeRule", true, "code", "Matches queries with opcode code. code can be directly specified as an integer, or one of the built-in DNSOpcodes"},
- {"OrRule", true, "selectors", "Matches the traffic if one or more of the the selectors rules does match"},
+ {"OrRule", true, "selectors", "Matches the traffic if one or more of the selectors rules does match"},
{"PoolAction", true, "poolname [, stop]", "set the packet into the specified pool"},
{"PoolAvailableRule", true, "poolname", "Check whether a pool has any servers available to handle queries"},
{"PoolOutstandingRule", true, "poolname, limit", "Check whether a pool has outstanding queries above limit"},
static std::map<std::string, std::list<std::pair<AddressAndPortRange, unsigned int>>> getHitsForTopNetmasks();
static std::map<std::string, std::list<std::pair<DNSName, unsigned int>>> getHitsForTopSuffixes();
- /* get the the top offenders based on the current value of the counters */
+ /* get the top offenders based on the current value of the counters */
static std::map<std::string, std::list<std::pair<AddressAndPortRange, unsigned int>>> getTopNetmasks(size_t topN);
static std::map<std::string, std::list<std::pair<DNSName, unsigned int>>> getTopSuffixes(size_t topN);
static void purgeExpired(const struct timespec& now);
cached.clear();
- /* Also check that the the part in additional is still not auth */
+ /* Also check that the part in additional is still not auth */
BOOST_REQUIRE_GE(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), MemRecursorCache::None, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth), -1);
BOOST_CHECK_EQUAL(cached.size(), 1U);
BOOST_CHECK_EQUAL(wasAuth, false);
std::vector<DNSZoneRecord>::iterator first;
std::vector<DNSZoneRecord>::iterator second;
- // We assume the CNAMES are listed first in the ANSWER section and the the other records
+ // We assume the CNAMES are listed first in the ANSWER section and the other records
// and we want to shuffle the other records only
// First we scan for the first non-CNAME ANSWER record
raise AssertionError("RRSIG found in answers for:\n%s" % ret)
def assertAnswerEmpty(self, msg):
- self.assertEqual(len(msg.answer), 0, "Data found in the the answer section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.answer])))
+ self.assertEqual(len(msg.answer), 0, "Data found in the answer section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.answer])))
def assertAnswerNotEmpty(self, msg):
self.assertGreater(len(msg.answer), 0, "Answer is empty")
raise AssertionError("RRSIG found in answers for:\n%s" % ret)
def assertAnswerEmpty(self, msg):
- self.assertEqual(len(msg.answer), 0, "Data found in the the answer section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.answer])))
+ self.assertEqual(len(msg.answer), 0, "Data found in the answer section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.answer])))
def assertAdditionalEmpty(self, msg):
- self.assertEqual(len(msg.additional), 0, "Data found in the the additional section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.additional])))
+ self.assertEqual(len(msg.additional), 0, "Data found in the additional section for %s:\n%s" % (msg.question[0].to_text(), '\n'.join([i.to_text() for i in msg.additional])))
def assertRcodeEqual(self, msg, rcode):
if not isinstance(msg, dns.message.Message):
testinstance.assertTrue(dnstap.message.HasField('socket_family'))
testinstance.assertEqual(dnstap.message.socket_family, dnstap_pb2.INET)
#
- # The query address and port are from the the recursor, we don't know the port
+ # The query address and port are from the recursor, we don't know the port
#
testinstance.assertTrue(dnstap.message.HasField('query_address'))
testinstance.assertEqual(socket.inet_ntop(socket.AF_INET, dnstap.message.query_address), initiator)