[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.
- [libmicrohttpd] branch master updated (8bb89d0b -> 47f5f725), gnunet, 2024/01/04
- [libmicrohttpd] 01/03: test_upgrade: changed the order of send/receive, gnunet, 2024/01/04
- [libmicrohttpd] 03/03: test_upgrade{,_large}{,_tls}: unified code, removed workarounds, added new test, gnunet, 2024/01/04
- [libmicrohttpd] 02/03: MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: added ignore of zero value,
gnunet <=