]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Ensure all the bits in a generated TSIG key are filled
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 4 Sep 2018 14:05:38 +0000 (16:05 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 8 Oct 2018 09:02:26 +0000 (11:02 +0200)
pdns/tsigutils.cc

index 20fb1c59eadf0f6120ac3ceaf7640c91cedd9281..af67dac5edc73b52b81bcc5417e629ffbe2157d3 100644 (file)
@@ -48,10 +48,10 @@ std::string makeTSIGKey(const DNSName& algorithm) {
   string tmpkey;
   tmpkey.resize(klen);
 
-  for (size_t i = 0; i < klen; i += sizeof(uint32_t)) {
-    unsigned int t = dns_random(std::numeric_limits<uint32_t>::max());
-    memcpy(&tmpkey.at(i), &t, sizeof(uint32_t));
-    if (i + sizeof(uint32_t) > 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);