diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-12-26 11:56:43 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-12-26 12:41:48 +0300 |
commit | 430d7251faa8f3eb28a6f58856235f2a6305da1b (patch) | |
tree | 765ec7f196c007a96afe693722db532cc4933b9b | |
parent | 005d1f25b2a8b2db5bc81f7134f3ca9e75fafa06 (diff) | |
download | libmicrohttpd-430d7251faa8f3eb28a6f58856235f2a6305da1b.tar.gz libmicrohttpd-430d7251faa8f3eb28a6f58856235f2a6305da1b.zip |
Reduced maximum possible connection timeout
The maximum timeout value is still too large to be used (more than
hundred thousand years).
-rw-r--r-- | src/microhttpd/connection.c | 10 | ||||
-rw-r--r-- | src/microhttpd/daemon.c | 10 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index 79014352..02fc0e71 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c | |||
@@ -4999,8 +4999,8 @@ MHD_set_connection_option (struct MHD_Connection *connection, | |||
4999 | va_start (ap, option); | 4999 | va_start (ap, option); |
5000 | ui_val = va_arg (ap, unsigned int); | 5000 | ui_val = va_arg (ap, unsigned int); |
5001 | va_end (ap); | 5001 | va_end (ap); |
5002 | #if (SIZEOF_UINT64_T - 1) <= SIZEOF_UNSIGNED_INT | 5002 | #if (SIZEOF_UINT64_T - 2) <= SIZEOF_UNSIGNED_INT |
5003 | if ((UINT64_MAX / 2000 - 1) < ui_val) | 5003 | if ((UINT64_MAX / 4000 - 1) < ui_val) |
5004 | { | 5004 | { |
5005 | #ifdef HAVE_MESSAGES | 5005 | #ifdef HAVE_MESSAGES |
5006 | MHD_DLOG (connection->daemon, | 5006 | MHD_DLOG (connection->daemon, |
@@ -5008,12 +5008,12 @@ MHD_set_connection_option (struct MHD_Connection *connection, | |||
5008 | "large. Maximum allowed value (%" PRIu64 ") will be used " \ | 5008 | "large. Maximum allowed value (%" PRIu64 ") will be used " \ |
5009 | "instead.\n"), | 5009 | "instead.\n"), |
5010 | ui_val, | 5010 | ui_val, |
5011 | (UINT64_MAX / 2000 - 1)); | 5011 | (UINT64_MAX / 4000 - 1)); |
5012 | #endif | 5012 | #endif |
5013 | ui_val = UINT64_MAX / 2000 - 1; | 5013 | ui_val = UINT64_MAX / 4000 - 1; |
5014 | } | 5014 | } |
5015 | else | 5015 | else |
5016 | #endif /* (SIZEOF_UINT64_T - 1) <= SIZEOF_UNSIGNED_INT */ | 5016 | #endif /* (SIZEOF_UINT64_T - 2) <= SIZEOF_UNSIGNED_INT */ |
5017 | connection->connection_timeout_ms = ui_val * 1000; | 5017 | connection->connection_timeout_ms = ui_val * 1000; |
5018 | if ( (0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) && | 5018 | if ( (0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) && |
5019 | (! connection->suspended) ) | 5019 | (! connection->suspended) ) |
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 9f220263..d4064dd7 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -5658,8 +5658,8 @@ parse_options_va (struct MHD_Daemon *daemon, | |||
5658 | case MHD_OPTION_CONNECTION_TIMEOUT: | 5658 | case MHD_OPTION_CONNECTION_TIMEOUT: |
5659 | uv = va_arg (ap, | 5659 | uv = va_arg (ap, |
5660 | unsigned int); | 5660 | unsigned int); |
5661 | #if (SIZEOF_UINT64_T - 1) <= SIZEOF_UNSIGNED_INT | 5661 | #if (SIZEOF_UINT64_T - 2) <= SIZEOF_UNSIGNED_INT |
5662 | if ((UINT64_MAX / 2000 - 1) < uv) | 5662 | if ((UINT64_MAX / 4000 - 1) < uv) |
5663 | { | 5663 | { |
5664 | #ifdef HAVE_MESSAGES | 5664 | #ifdef HAVE_MESSAGES |
5665 | MHD_DLOG (daemon, | 5665 | MHD_DLOG (daemon, |
@@ -5667,11 +5667,11 @@ parse_options_va (struct MHD_Daemon *daemon, | |||
5667 | "Maximum allowed value (%" PRIu64 ") will be used " \ | 5667 | "Maximum allowed value (%" PRIu64 ") will be used " \ |
5668 | "instead.\n"), | 5668 | "instead.\n"), |
5669 | uv, | 5669 | uv, |
5670 | (UINT64_MAX / 2000 - 1)); | 5670 | (UINT64_MAX / 4000 - 1)); |
5671 | #endif | 5671 | #endif |
5672 | uv = UINT64_MAX / 2000 - 1; | 5672 | uv = UINT64_MAX / 4000 - 1; |
5673 | } | 5673 | } |
5674 | #endif /* (SIZEOF_UINT64_T - 1) <= SIZEOF_UNSIGNED_INT */ | 5674 | #endif /* (SIZEOF_UINT64_T - 2) <= SIZEOF_UNSIGNED_INT */ |
5675 | daemon->connection_timeout_ms = uv * 1000; | 5675 | daemon->connection_timeout_ms = uv * 1000; |
5676 | break; | 5676 | break; |
5677 | case MHD_OPTION_NOTIFY_COMPLETED: | 5677 | case MHD_OPTION_NOTIFY_COMPLETED: |