]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* modules/proxy/proxy_util.c (ap_proxy_share_balancer): Create the
authorJoe Orton <jorton@apache.org>
Thu, 8 Aug 2019 12:03:14 +0000 (12:03 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 8 Aug 2019 12:03:14 +0000 (12:03 +0000)
  nonce as a pseudo-UUID using the PRNG.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1864693 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/proxy_util.c

index 4c5d4c89f0748d8421134dd161e34f062bfabce0..b4e26672dc88250c590ac2207114244b095ce525 100644 (file)
@@ -1247,10 +1247,11 @@ PROXY_DECLARE(apr_status_t) ap_proxy_share_balancer(proxy_balancer *balancer,
     if (*balancer->s->nonce == PROXY_UNSET_NONCE) {
         char nonce[APR_UUID_FORMATTED_LENGTH + 1];
         apr_uuid_t uuid;
-        /* Retrieve a UUID and store the nonce for the lifetime of
-         * the process.
-         */
-        apr_uuid_get(&uuid);
+
+        /* Generate a pseudo-UUID from the PRNG to use as a nonce for
+         * the lifetime of the process. uuid.data is a char array so
+         * this is an adequate substitute for apr_uuid_get(). */
+        ap_random_insecure_bytes(uuid.data, sizeof uuid.data);
         apr_uuid_format(nonce, &uuid);
         rv = PROXY_STRNCPY(balancer->s->nonce, nonce);
     }