]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
tsigutils: more uint32_t
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 24 Oct 2018 13:07:39 +0000 (15:07 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 24 Oct 2018 13:07:39 +0000 (15:07 +0200)
pdns/tsigutils.cc

index af67dac5edc73b52b81bcc5417e629ffbe2157d3..7e75731993ef27ceaf938b96e1e91409ce4764dc 100644 (file)
@@ -48,16 +48,11 @@ std::string makeTSIGKey(const DNSName& algorithm) {
   string tmpkey;
   tmpkey.resize(klen);
 
-  for (size_t i = 0; i < klen; i += sizeof(unsigned int)) {
-    unsigned int t = dns_random(std::numeric_limits<unsigned int>::max());
-    memcpy(&tmpkey.at(i), &t, sizeof(unsigned int));
-    if (i + sizeof(unsigned int) > klen) {
-      size_t needed_bytes = klen - i;
-      for (size_t j = 0; j < needed_bytes; j++) {
-        uint8_t v = dns_random(0xff);
-        memcpy(&tmpkey.at(i + j), &v, sizeof(uint8_t));
-      }
-    }
+  // Fill out the key
+  for (size_t i = 0; i < klen; i += sizeof(uint32_t)) {
+    uint32_t t = dns_random(std::numeric_limits<uint32_t>::max());
+    memcpy(&tmpkey.at(i), &t, sizeof(uint32_t));
   }
+
   return Base64Encode(tmpkey);
 }