gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libmicrohttpd] 02/03: MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: a


From: gnunet
Subject: [libmicrohttpd] 02/03: MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: added ignore of zero value
Date: Thu, 04 Jan 2024 14:47:23 +0100

This is an automated email from the git hooks/post-receive script.

karlson2k pushed a commit to branch master
in repository libmicrohttpd.

commit 8bfaec71d55f2e9e3251829c9fd15ae92b1203f8
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Thu Jan 4 16:33:36 2024 +0300

    MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: added ignore of zero value
---
 src/include/microhttpd.h |  4 ++-
 src/microhttpd/daemon.c  | 65 ++++++++++++++++++++++++++++--------------------
 2 files changed, 41 insertions(+), 28 deletions(-)

diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
index 194a268c..b0b06d51 100644
--- a/src/include/microhttpd.h
+++ b/src/include/microhttpd.h
@@ -96,7 +96,7 @@ extern "C"
  * they are parsed as decimal numbers.
  * Example: 0x01093001 = 1.9.30-1.
  */
-#define MHD_VERSION 0x00097709
+#define MHD_VERSION 0x00097710
 
 /* If generic headers don't work on your platform, include headers
    which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t',
@@ -1667,6 +1667,7 @@ enum MHD_OPTION
    * of the memory will be typically used for IO, and TCP buffers are
    * unlikely to support window sizes above 64k on most systems.
    * Values below 64 bytes are completely unusable.
+   * Since #MHD_VERSION 0x00097710 silently ignored if followed by zero value.
    */
   MHD_OPTION_CONNECTION_MEMORY_LIMIT = 1,
 
@@ -1910,6 +1911,7 @@ enum MHD_OPTION
    * Increment to use for growing the read buffer (followed by a
    * `size_t`).
    * Must not be higher than 1/4 of #MHD_OPTION_CONNECTION_MEMORY_LIMIT.
+   * Since #MHD_VERSION 0x00097710 silently ignored if followed by zero value.
    */
   MHD_OPTION_CONNECTION_MEMORY_INCREMENT = 21,
 
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 721c5ba7..b433bff4 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -6617,42 +6617,53 @@ parse_options_va (struct MHD_Daemon *daemon,
     switch (opt)
     {
     case MHD_OPTION_CONNECTION_MEMORY_LIMIT:
-      daemon->pool_size = va_arg (ap,
-                                  size_t);
-      if (64 > daemon->pool_size)
+      if (1)
       {
+        size_t val;
+
+        val = va_arg (ap,
+                      size_t);
+        if (0 != val)
+        {
+          daemon->pool_size = val;
+          if (64 > daemon->pool_size)
+          {
 #ifdef HAVE_MESSAGES
-        MHD_DLOG (daemon,
-                  _ ("Warning: specified MHD_OPTION_CONNECTION_MEMORY_LIMIT " \
-                     "value is too small and rounded up to 64.\n"));
+            MHD_DLOG (daemon,
+                      _ ("Warning: specified " \
+                         "MHD_OPTION_CONNECTION_MEMORY_LIMIT " \
+                         "value is too small and rounded up to 64.\n"));
 #endif /* HAVE_MESSAGES */
-        daemon->pool_size = 64;
+            daemon->pool_size = 64;
+          }
+          if (daemon->pool_size / 4 < daemon->pool_increment)
+            daemon->pool_increment = daemon->pool_size / 4;
+        }
       }
-      if (daemon->pool_size / 4 < daemon->pool_increment)
-        daemon->pool_increment = daemon->pool_size / 4;
       break;
     case MHD_OPTION_CONNECTION_MEMORY_INCREMENT:
-      daemon->pool_increment = va_arg (ap,
-                                       size_t);
-      if (0 == daemon->pool_increment)
-      {
-#ifdef HAVE_MESSAGES
-        MHD_DLOG (daemon,
-                  _ ("The MHD_OPTION_CONNECTION_MEMORY_INCREMENT value " \
-                     "cannot be zero.\n"));
-#endif /* HAVE_MESSAGES */
-        return MHD_NO;
-      }
-      if (daemon->pool_size / 4 < daemon->pool_increment)
+      if (1)
       {
+        size_t val;
+
+        val = va_arg (ap,
+                      size_t);
+
+        if (0 != val)
+        {
+          daemon->pool_increment = val;
+          if (daemon->pool_size / 4 < daemon->pool_increment)
+          {
 #ifdef HAVE_MESSAGES
-        MHD_DLOG (daemon,
-                  _ ("Warning: specified " \
-                     "MHD_OPTION_CONNECTION_MEMORY_INCREMENT value is too " \
-                     "large and rounded down to 1/4 of " \
-                     "MHD_OPTION_CONNECTION_MEMORY_LIMIT.\n"));
+            MHD_DLOG (daemon,
+                      _ ("Warning: specified " \
+                         "MHD_OPTION_CONNECTION_MEMORY_INCREMENT value is " \
+                         "too large and rounded down to 1/4 of " \
+                         "MHD_OPTION_CONNECTION_MEMORY_LIMIT.\n"));
 #endif /* HAVE_MESSAGES */
-        daemon->pool_increment = daemon->pool_size / 4;
+            daemon->pool_increment = daemon->pool_size / 4;
+          }
+        }
       }
       break;
     case MHD_OPTION_CONNECTION_LIMIT:

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]