]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Also use new dns_random(void *, size_t) for client cookie 15763/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 2 Jul 2025 07:39:20 +0000 (09:39 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 2 Jul 2025 07:39:20 +0000 (09:39 +0200)
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
pdns/ednscookies.cc

index c390865ef7a01c0b19cf2fb1cc30306ec644aa2c..96178998f1e2337e401b5390dbec459e6e9f2422 100644 (file)
@@ -148,12 +148,9 @@ bool EDNSCookiesOpt::shouldRefresh() const
 
 void EDNSCookiesOpt::makeClientCookie()
 {
-  uint32_t lower = dns_random_uint32();
-  uint32_t upper = dns_random_uint32();
-  client = string();
-  client.resize(sizeof(lower) + sizeof(upper));
-  memcpy(client.data(), &lower, sizeof(lower));
-  memcpy(&client.at(sizeof(lower)), &upper, sizeof(upper));
+  const size_t clientCookieSize = 8;
+  client.resize(clientCookieSize);
+  dns_random(client.data(), clientCookieSize);
 }
 
 bool EDNSCookiesOpt::makeServerCookie([[maybe_unused]] const string& secret, [[maybe_unused]] const ComboAddress& source)