aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r--src/microhttpd/daemon.c65
1 files changed, 38 insertions, 27 deletions
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,
6617 switch (opt) 6617 switch (opt)
6618 { 6618 {
6619 case MHD_OPTION_CONNECTION_MEMORY_LIMIT: 6619 case MHD_OPTION_CONNECTION_MEMORY_LIMIT:
6620 daemon->pool_size = va_arg (ap, 6620 if (1)
6621 size_t);
6622 if (64 > daemon->pool_size)
6623 { 6621 {
6622 size_t val;
6623
6624 val = va_arg (ap,
6625 size_t);
6626 if (0 != val)
6627 {
6628 daemon->pool_size = val;
6629 if (64 > daemon->pool_size)
6630 {
6624#ifdef HAVE_MESSAGES 6631#ifdef HAVE_MESSAGES
6625 MHD_DLOG (daemon, 6632 MHD_DLOG (daemon,
6626 _ ("Warning: specified MHD_OPTION_CONNECTION_MEMORY_LIMIT " \ 6633 _ ("Warning: specified " \
6627 "value is too small and rounded up to 64.\n")); 6634 "MHD_OPTION_CONNECTION_MEMORY_LIMIT " \
6635 "value is too small and rounded up to 64.\n"));
6628#endif /* HAVE_MESSAGES */ 6636#endif /* HAVE_MESSAGES */
6629 daemon->pool_size = 64; 6637 daemon->pool_size = 64;
6638 }
6639 if (daemon->pool_size / 4 < daemon->pool_increment)
6640 daemon->pool_increment = daemon->pool_size / 4;
6641 }
6630 } 6642 }
6631 if (daemon->pool_size / 4 < daemon->pool_increment)
6632 daemon->pool_increment = daemon->pool_size / 4;
6633 break; 6643 break;
6634 case MHD_OPTION_CONNECTION_MEMORY_INCREMENT: 6644 case MHD_OPTION_CONNECTION_MEMORY_INCREMENT:
6635 daemon->pool_increment = va_arg (ap, 6645 if (1)
6636 size_t);
6637 if (0 == daemon->pool_increment)
6638 {
6639#ifdef HAVE_MESSAGES
6640 MHD_DLOG (daemon,
6641 _ ("The MHD_OPTION_CONNECTION_MEMORY_INCREMENT value " \
6642 "cannot be zero.\n"));
6643#endif /* HAVE_MESSAGES */
6644 return MHD_NO;
6645 }
6646 if (daemon->pool_size / 4 < daemon->pool_increment)
6647 { 6646 {
6647 size_t val;
6648
6649 val = va_arg (ap,
6650 size_t);
6651
6652 if (0 != val)
6653 {
6654 daemon->pool_increment = val;
6655 if (daemon->pool_size / 4 < daemon->pool_increment)
6656 {
6648#ifdef HAVE_MESSAGES 6657#ifdef HAVE_MESSAGES
6649 MHD_DLOG (daemon, 6658 MHD_DLOG (daemon,
6650 _ ("Warning: specified " \ 6659 _ ("Warning: specified " \
6651 "MHD_OPTION_CONNECTION_MEMORY_INCREMENT value is too " \ 6660 "MHD_OPTION_CONNECTION_MEMORY_INCREMENT value is " \
6652 "large and rounded down to 1/4 of " \ 6661 "too large and rounded down to 1/4 of " \
6653 "MHD_OPTION_CONNECTION_MEMORY_LIMIT.\n")); 6662 "MHD_OPTION_CONNECTION_MEMORY_LIMIT.\n"));
6654#endif /* HAVE_MESSAGES */ 6663#endif /* HAVE_MESSAGES */
6655 daemon->pool_increment = daemon->pool_size / 4; 6664 daemon->pool_increment = daemon->pool_size / 4;
6665 }
6666 }
6656 } 6667 }
6657 break; 6668 break;
6658 case MHD_OPTION_CONNECTION_LIMIT: 6669 case MHD_OPTION_CONNECTION_LIMIT: