From: Pieter Lexis Date: Wed, 24 Oct 2018 13:07:39 +0000 (+0200) Subject: tsigutils: more uint32_t X-Git-Tag: auth-4.2.0-alpha1~17^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17a1a693663bf8ed365eae31fcd0c00599a641fc;p=thirdparty%2Fpdns.git tsigutils: more uint32_t --- diff --git a/pdns/tsigutils.cc b/pdns/tsigutils.cc index af67dac5ed..7e75731993 100644 --- a/pdns/tsigutils.cc +++ b/pdns/tsigutils.cc @@ -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::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::max()); + memcpy(&tmpkey.at(i), &t, sizeof(uint32_t)); } + return Base64Encode(tmpkey); }