commit 5f207ceedeb07b2d5a0a937ede0da92a52f7e804
parent 1e43edd529d3d7be89b4fedb7735a41e4e5ea725
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 2 Apr 2026 00:13:41 +0200
fix bug in list traversal that could cause ready connections to be skipped if other connections were suspended
Diffstat:
6 files changed, 265 insertions(+), 246 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Apr 2 12:13:57 AM CEST 2026
+ Fixed bug in connection list traversal logic that could
+ cause ready connections to be skipped (possibly indefinitely)
+ if another connection was being suspended.
+ Releasing GNU libmicrohttpd 1.0.3. -CG
+
Sat Feb 28 23:38:39 CET 2026
Added MHD_OPTION_ALLOW_BIN_ZERO_IN_URI_PATH daemon option.
Added new function MHD_get_connection_URI_path_n(). -EG
diff --git a/NEWS b/NEWS
@@ -1,3 +1,13 @@
+Thu Apr 2 12:16:28 AM CEST 2026
+Released GNU libmicrohttpd 1.0.3.
+
+ This is a bugfix release.
+ It primarily fixes a list traversal issue that could
+ cause connection handling issues when other connections
+ were suspended.
+
+ -- Christian Grothoff
+
Mon Jul 14 2025 05:03:07 PM CEST
Released GNU libmicrohttpd 1.0.2.
diff --git a/configure.ac b/configure.ac
@@ -1,5 +1,5 @@
# This file is part of libmicrohttpd.
-# (C) 2006-2021 Christian Grothoff (and other contributing authors)
+# (C) 2006-2026 Christian Grothoff (and other contributing authors)
# (C) 2014-2024 Evgeny Grin (Karlson2k)
#
# libmicrohttpd is free software; you can redistribute it and/or modify
@@ -23,7 +23,7 @@
#
AC_PREREQ([2.64])
LT_PREREQ([2.4.0])
-AC_INIT([GNU libmicrohttpd],[1.0.2],[libmicrohttpd@gnu.org])
+AC_INIT([GNU libmicrohttpd],[1.0.3],[libmicrohttpd@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
MHD_AUX_DIR='build-aux' # Must be set to the same value as in the previous line
AC_CONFIG_HEADERS([MHD_config.h])
@@ -31,7 +31,7 @@ AC_CONFIG_MACRO_DIR([m4])
m4_pattern_forbid([^_?MHD_[A-Z_]+_CC_])dnl
LIB_VERSION_CURRENT=74
-LIB_VERSION_REVISION=2
+LIB_VERSION_REVISION=3
LIB_VERSION_AGE=62
AC_SUBST([LIB_VERSION_CURRENT])
AC_SUBST([LIB_VERSION_REVISION])
diff --git a/po/libmicrohttpd.pot b/po/libmicrohttpd.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: GNU libmicrohttpd 1.0.2\n"
+"Project-Id-Version: GNU libmicrohttpd 1.0.3\n"
"Report-Msgid-Bugs-To: libmicrohttpd@gnu.org\n"
-"POT-Creation-Date: 2025-07-14 17:05+0200\n"
+"POT-Creation-Date: 2026-04-02 00:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,467 +17,467 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/microhttpd/connection.c:611
+#: src/microhttpd/connection.c:633
msgid "The operation would block, retry later"
msgstr ""
-#: src/microhttpd/connection.c:613
+#: src/microhttpd/connection.c:635
msgid "The connection was forcibly closed by remote peer"
msgstr ""
-#: src/microhttpd/connection.c:615
+#: src/microhttpd/connection.c:637
msgid "The socket is not connected"
msgstr ""
-#: src/microhttpd/connection.c:617
+#: src/microhttpd/connection.c:639
msgid "Not enough system resources to serve the request"
msgstr ""
-#: src/microhttpd/connection.c:619
+#: src/microhttpd/connection.c:641
msgid "Bad FD value"
msgstr ""
-#: src/microhttpd/connection.c:621
+#: src/microhttpd/connection.c:643
msgid "Argument value is invalid"
msgstr ""
-#: src/microhttpd/connection.c:623
+#: src/microhttpd/connection.c:645
msgid "Argument value is not supported"
msgstr ""
-#: src/microhttpd/connection.c:625
+#: src/microhttpd/connection.c:647
msgid "The socket is no longer available for sending"
msgstr ""
-#: src/microhttpd/connection.c:627
+#: src/microhttpd/connection.c:649
msgid "TLS encryption or decryption error"
msgstr ""
-#: src/microhttpd/connection.c:632
+#: src/microhttpd/connection.c:654
msgid "Not an error code"
msgstr ""
-#: src/microhttpd/connection.c:635
+#: src/microhttpd/connection.c:657
msgid "Wrong error code value"
msgstr ""
-#: src/microhttpd/connection.c:1316 src/microhttpd/connection.c:1335
-#: src/microhttpd/daemon.c:3280 src/microhttpd/daemon.c:4108
-#: src/microhttpd/daemon.c:8982
+#: src/microhttpd/connection.c:1364 src/microhttpd/connection.c:1383
+#: src/microhttpd/daemon.c:3280 src/microhttpd/daemon.c:4107
+#: src/microhttpd/daemon.c:8992
msgid "Failed to remove FD from epoll set.\n"
msgstr ""
-#: src/microhttpd/connection.c:1429 src/microhttpd/connection.c:1538
+#: src/microhttpd/connection.c:1477 src/microhttpd/connection.c:1586
msgid "Closing connection (out of memory)."
msgstr ""
-#: src/microhttpd/connection.c:1474
+#: src/microhttpd/connection.c:1522
msgid "Closing connection (application reported error generating data)."
msgstr ""
-#: src/microhttpd/connection.c:1602
+#: src/microhttpd/connection.c:1650
msgid "No callback for the chunked data."
msgstr ""
-#: src/microhttpd/connection.c:1619
+#: src/microhttpd/connection.c:1667
msgid "Closing connection (application error generating response)."
msgstr ""
-#: src/microhttpd/connection.c:1644
+#: src/microhttpd/connection.c:1692
msgid "Closing connection (application returned more data than requested)."
msgstr ""
-#: src/microhttpd/connection.c:2274
+#: src/microhttpd/connection.c:2322
#, c-format
msgid ""
"This reply with response code %u cannot use reply body. Non-empty response "
"body is ignored and not used.\n"
msgstr ""
-#: src/microhttpd/connection.c:2282
+#: src/microhttpd/connection.c:2330
#, c-format
msgid ""
"This reply with response code %u cannot use reply body. Application defined "
"\"Content-Length\" header violatesHTTP specification.\n"
msgstr ""
-#: src/microhttpd/connection.c:2800
+#: src/microhttpd/connection.c:2848
#, c-format
msgid ""
"Error processing request (HTTP response code is %u ('%s')). Closing "
"connection.\n"
msgstr ""
-#: src/microhttpd/connection.c:2809
+#: src/microhttpd/connection.c:2857
msgid "Too late to send an error response, response is being sent already.\n"
msgstr ""
-#: src/microhttpd/connection.c:2815
+#: src/microhttpd/connection.c:2863
msgid "Too late for error response."
msgstr ""
-#: src/microhttpd/connection.c:2844
+#: src/microhttpd/connection.c:2892
msgid "Failed to create error response.\n"
msgstr ""
-#: src/microhttpd/connection.c:2891
+#: src/microhttpd/connection.c:2939
msgid "Closing connection (failed to queue error response)."
msgstr ""
-#: src/microhttpd/connection.c:2922
+#: src/microhttpd/connection.c:2971
msgid "Closing connection (failed to create error response header)."
msgstr ""
-#: src/microhttpd/connection.c:3441
+#: src/microhttpd/connection.c:3505
msgid ""
"No space left in the read buffer when receiving the initial part of the "
"request line."
msgstr ""
-#: src/microhttpd/connection.c:3461
+#: src/microhttpd/connection.c:3525
msgid ""
"No space left in the read buffer when receiving the URI in the request line. "
"The request uses non-standard HTTP request method token."
msgstr ""
-#: src/microhttpd/connection.c:3738
+#: src/microhttpd/connection.c:3802
msgid "Invalid TLS state value.\n"
msgstr ""
-#: src/microhttpd/connection.c:3746 src/microhttpd/connection.c:6507
-#: src/microhttpd/connection.c:6605 src/microhttpd/connection.c:7204
+#: src/microhttpd/connection.c:3810 src/microhttpd/connection.c:6708
+#: src/microhttpd/connection.c:6806 src/microhttpd/connection.c:7405
#, c-format
msgid "In function %s handling connection at state: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:3896
+#: src/microhttpd/connection.c:3960
msgid "Not enough memory in pool to allocate header record!\n"
msgstr ""
-#: src/microhttpd/connection.c:4187
+#: src/microhttpd/connection.c:4251
msgid ""
"The Cookie header has been parsed, but it is not fully compliant with the "
"standard.\n"
msgstr ""
-#: src/microhttpd/connection.c:4202
+#: src/microhttpd/connection.c:4266
msgid "The Cookie header has been ignored as it contains malformed data.\n"
msgstr ""
-#: src/microhttpd/connection.c:4209
+#: src/microhttpd/connection.c:4273
msgid ""
"The Cookie header has been only partially parsed as it contains malformed "
"data.\n"
msgstr ""
-#: src/microhttpd/connection.c:4216
+#: src/microhttpd/connection.c:4280
msgid "The Cookie header has malformed data.\n"
msgstr ""
-#: src/microhttpd/connection.c:4222
+#: src/microhttpd/connection.c:4286
msgid "Not enough memory in the connection pool to parse client cookies!\n"
msgstr ""
-#: src/microhttpd/connection.c:4385 src/microhttpd/connection.c:4629
+#: src/microhttpd/connection.c:4449 src/microhttpd/connection.c:4706
msgid "Application reported internal error, closing connection."
msgstr ""
-#: src/microhttpd/connection.c:4636 src/microhttpd/postprocessor.c:56
+#: src/microhttpd/connection.c:4713 src/microhttpd/postprocessor.c:56
msgid "libmicrohttpd API violation.\n"
msgstr ""
-#: src/microhttpd/connection.c:4653
+#: src/microhttpd/connection.c:4730
msgid ""
"WARNING: Access Handler Callback has not processed any upload data and "
"connection is not suspended. This may result in hung connection.\n"
msgstr ""
-#: src/microhttpd/connection.c:4745
+#: src/microhttpd/connection.c:4822
msgid "Received HTTP/1.1 request without `Host' header.\n"
msgstr ""
-#: src/microhttpd/connection.c:4798
+#: src/microhttpd/connection.c:4875
msgid ""
"The 'Content-Length' request header is ignored as chunked Transfer-Encoding "
"is used for this request.\n"
msgstr ""
-#: src/microhttpd/connection.c:4830
+#: src/microhttpd/connection.c:4907
msgid "Too large value of 'Content-Length' header. Closing connection.\n"
msgstr ""
-#: src/microhttpd/connection.c:4843
+#: src/microhttpd/connection.c:4920
msgid "Failed to parse 'Content-Length' header. Closing connection.\n"
msgstr ""
-#: src/microhttpd/connection.c:5002
+#: src/microhttpd/connection.c:5079
msgid "Too many meaningless extra empty lines received before the request"
msgstr ""
-#: src/microhttpd/connection.c:5077
+#: src/microhttpd/connection.c:5154
msgid "Bare CR characters are not allowed in the request line.\n"
msgstr ""
-#: src/microhttpd/connection.c:5104
+#: src/microhttpd/connection.c:5181
msgid "Bare LF characters are not allowed in the request line.\n"
msgstr ""
-#: src/microhttpd/connection.c:5229
+#: src/microhttpd/connection.c:5306
msgid "The request line is malformed.\n"
msgstr ""
-#: src/microhttpd/connection.c:5292
+#: src/microhttpd/connection.c:5369
msgid "The request line starts with a whitespace.\n"
msgstr ""
-#: src/microhttpd/connection.c:5330
+#: src/microhttpd/connection.c:5407
msgid "The request line has more than two whitespaces.\n"
msgstr ""
-#: src/microhttpd/connection.c:5419
+#: src/microhttpd/connection.c:5496
msgid "Invalid character is in the request line.\n"
msgstr ""
-#: src/microhttpd/connection.c:5428
+#: src/microhttpd/connection.c:5505
msgid "The NUL character is in the request line.\n"
msgstr ""
-#: src/microhttpd/connection.c:5477
+#: src/microhttpd/connection.c:5554
msgid ""
"The request has whitespace character is in the URI and the URI is too large "
"to send automatic redirect to fixed URI.\n"
msgstr ""
-#: src/microhttpd/connection.c:5541
+#: src/microhttpd/connection.c:5618
msgid "The request has whitespace character is in the URI.\n"
msgstr ""
-#: src/microhttpd/connection.c:5935
+#: src/microhttpd/connection.c:6126
msgid "Whitespace-prefixed first header line has been skipped.\n"
msgstr ""
-#: src/microhttpd/connection.c:6237
+#: src/microhttpd/connection.c:6438
#, c-format
msgid "Failed to allocate memory in the connection memory pool to store %s.\n"
msgstr ""
-#: src/microhttpd/connection.c:6239 src/microhttpd/connection.c:6303
-#: src/microhttpd/connection.c:6310
+#: src/microhttpd/connection.c:6440 src/microhttpd/connection.c:6504
+#: src/microhttpd/connection.c:6511
msgid "header"
msgstr ""
-#: src/microhttpd/connection.c:6239 src/microhttpd/connection.c:6303
-#: src/microhttpd/connection.c:6310
+#: src/microhttpd/connection.c:6440 src/microhttpd/connection.c:6504
+#: src/microhttpd/connection.c:6511
msgid "footer"
msgstr ""
-#: src/microhttpd/connection.c:6285
+#: src/microhttpd/connection.c:6486
#, c-format
msgid "One bare CR character has been replaced with space in %s.\n"
msgstr ""
-#: src/microhttpd/connection.c:6288
+#: src/microhttpd/connection.c:6489
msgid "the request line or in the request headers"
msgstr ""
-#: src/microhttpd/connection.c:6289
+#: src/microhttpd/connection.c:6490
msgid "the request footers"
msgstr ""
-#: src/microhttpd/connection.c:6294
+#: src/microhttpd/connection.c:6495
#, c-format
msgid ""
"%<PRIu64> bare CR characters have been replaced with spaces in the request "
"line and/or in the request %s.\n"
msgstr ""
-#: src/microhttpd/connection.c:6297
+#: src/microhttpd/connection.c:6498
msgid "headers"
msgstr ""
-#: src/microhttpd/connection.c:6297
+#: src/microhttpd/connection.c:6498
msgid "footers"
msgstr ""
-#: src/microhttpd/connection.c:6302
+#: src/microhttpd/connection.c:6503
#, c-format
msgid "One %s line without colon has been skipped.\n"
msgstr ""
-#: src/microhttpd/connection.c:6308
+#: src/microhttpd/connection.c:6509
#, c-format
msgid "%<PRIu64> %s lines without colons has been skipped.\n"
msgstr ""
-#: src/microhttpd/connection.c:6456
+#: src/microhttpd/connection.c:6657
msgid "Socket has been disconnected when reading request.\n"
msgstr ""
-#: src/microhttpd/connection.c:6468
+#: src/microhttpd/connection.c:6669
#, c-format
msgid "Connection socket is closed when reading request due to the error: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:6486
+#: src/microhttpd/connection.c:6687
msgid "Connection was closed by remote side with incomplete request.\n"
msgstr ""
-#: src/microhttpd/connection.c:6632
+#: src/microhttpd/connection.c:6833
#, c-format
msgid "Failed to send data in request for %s.\n"
msgstr ""
-#: src/microhttpd/connection.c:6641
+#: src/microhttpd/connection.c:6842
#, c-format
msgid "Sent 100 continue response: `%.*s'\n"
msgstr ""
-#: src/microhttpd/connection.c:6718
+#: src/microhttpd/connection.c:6919
#, c-format
msgid ""
"Failed to send the response headers for the request for `%s'. Error: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:6784
+#: src/microhttpd/connection.c:6985
msgid "Data offset exceeds limit.\n"
msgstr ""
-#: src/microhttpd/connection.c:6794
+#: src/microhttpd/connection.c:6995
#, c-format
msgid "Sent %d-byte DATA response: `%.*s'\n"
msgstr ""
-#: src/microhttpd/connection.c:6811
+#: src/microhttpd/connection.c:7012
#, c-format
msgid "Failed to send the response body for the request for `%s'. Error: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:6843
+#: src/microhttpd/connection.c:7044
#, c-format
msgid ""
"Failed to send the chunked response body for the request for `%s'. Error: "
"%s\n"
msgstr ""
-#: src/microhttpd/connection.c:6879
+#: src/microhttpd/connection.c:7080
#, c-format
msgid "Failed to send the footers for the request for `%s'. Error: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:6908
+#: src/microhttpd/connection.c:7109
msgid "Internal error.\n"
msgstr ""
-#: src/microhttpd/connection.c:6947
+#: src/microhttpd/connection.c:7148
#, c-format
msgid "Detected system clock %u milliseconds jump back.\n"
msgstr ""
-#: src/microhttpd/connection.c:6954
+#: src/microhttpd/connection.c:7155
#, c-format
msgid "Detected too large system clock %<PRIu64> milliseconds jump back.\n"
msgstr ""
-#: src/microhttpd/connection.c:7036
+#: src/microhttpd/connection.c:7237
msgid ""
"Failed to signal end of connection via inter-thread communication channel.\n"
msgstr ""
-#: src/microhttpd/connection.c:7350
+#: src/microhttpd/connection.c:7551
msgid "Closing connection (failed to create response header).\n"
msgstr ""
-#: src/microhttpd/connection.c:7484
+#: src/microhttpd/connection.c:7685
msgid "Closing connection (failed to create response footer)."
msgstr ""
-#: src/microhttpd/connection.c:7595 src/microhttpd/daemon.c:2985
-#: src/microhttpd/daemon.c:5541 src/microhttpd/daemon.c:5574
-#: src/microhttpd/daemon.c:7455 src/microhttpd/daemon.c:7474
+#: src/microhttpd/connection.c:7796 src/microhttpd/daemon.c:2985
+#: src/microhttpd/daemon.c:5543 src/microhttpd/daemon.c:5576
+#: src/microhttpd/daemon.c:7465 src/microhttpd/daemon.c:7484
#: src/microhttpd/response.c:2073 src/microhttpd/response.c:2099
#, c-format
msgid "Call to epoll_ctl failed: %s\n"
msgstr ""
-#: src/microhttpd/connection.c:7759 src/microhttpd/daemon.c:6687
+#: src/microhttpd/connection.c:7960 src/microhttpd/daemon.c:6690
#, c-format
msgid ""
"The specified connection timeout (%u) is too large. Maximum allowed value "
"(%<PRIu64>) will be used instead.\n"
msgstr ""
-#: src/microhttpd/connection.c:7875
+#: src/microhttpd/connection.c:8076
msgid "Attempted to queue response on wrong thread!\n"
msgstr ""
-#: src/microhttpd/connection.c:7899
+#: src/microhttpd/connection.c:8100
msgid ""
"Attempted 'upgrade' connection on daemon without MHD_ALLOW_UPGRADE option!\n"
msgstr ""
-#: src/microhttpd/connection.c:7908
+#: src/microhttpd/connection.c:8109
msgid "Application used invalid status code for 'upgrade' response!\n"
msgstr ""
-#: src/microhttpd/connection.c:7917
+#: src/microhttpd/connection.c:8118
msgid "Application used invalid response without \"Connection\" header!\n"
msgstr ""
-#: src/microhttpd/connection.c:7931
+#: src/microhttpd/connection.c:8132
msgid ""
"Application used invalid response without \"upgrade\" token in "
"\"Connection\" header!\n"
msgstr ""
-#: src/microhttpd/connection.c:7941
+#: src/microhttpd/connection.c:8142
msgid "Connection \"Upgrade\" can be used only with HTTP/1.1 connections!\n"
msgstr ""
-#: src/microhttpd/connection.c:7955
+#: src/microhttpd/connection.c:8156
msgid ""
"Application used status code 101 \"Switching Protocols\" with non-'upgrade' "
"response!\n"
msgstr ""
-#: src/microhttpd/connection.c:7963
+#: src/microhttpd/connection.c:8164
msgid ""
"Application used status code 101 \"Switching Protocols\", but this MHD was "
"built without \"Upgrade\" support!\n"
msgstr ""
-#: src/microhttpd/connection.c:7974
+#: src/microhttpd/connection.c:8175
#, c-format
msgid ""
"Refused wrong status code (%u). HTTP requires three digits status code!\n"
msgstr ""
-#: src/microhttpd/connection.c:7986
+#: src/microhttpd/connection.c:8187
#, c-format
msgid ""
"Wrong status code (%u) refused. HTTP/1.0 clients do not support 1xx status "
"codes!\n"
msgstr ""
-#: src/microhttpd/connection.c:7997
+#: src/microhttpd/connection.c:8198
#, c-format
msgid ""
"Wrong status code (%u) refused. HTTP/1.0 reply mode does not support 1xx "
"status codes!\n"
msgstr ""
-#: src/microhttpd/connection.c:8009
+#: src/microhttpd/connection.c:8210
#, c-format
msgid ""
"Successful (%u) response code cannot be used to answer \"CONNECT\" request!\n"
msgstr ""
-#: src/microhttpd/connection.c:8021
+#: src/microhttpd/connection.c:8222
msgid ""
"HEAD-only response cannot be used when the request requires reply body to be "
"sent!\n"
msgstr ""
-#: src/microhttpd/connection.c:8032
+#: src/microhttpd/connection.c:8233
msgid ""
"The response has application-defined \"Content-Length\" header. The reply to "
"the request will be not HTTP-compliant and may result in hung connection or "
@@ -539,7 +539,7 @@ msgid ""
"unsupported.\n"
msgstr ""
-#: src/microhttpd/daemon.c:1222 src/microhttpd/daemon.c:4681
+#: src/microhttpd/daemon.c:1222 src/microhttpd/daemon.c:4683
#, c-format
msgid ""
"%s() called with fd_setsize (%u) less than value set by "
@@ -547,7 +547,7 @@ msgid ""
"MHD_OPTION_APP_FD_SETSIZE with the correct value.\n"
msgstr ""
-#: src/microhttpd/daemon.c:1231 src/microhttpd/daemon.c:4690
+#: src/microhttpd/daemon.c:1231 src/microhttpd/daemon.c:4692
#, c-format
msgid ""
"%s() called with fd_setsize (%u) less than FD_SETSIZE used by MHD (%d). Some "
@@ -555,14 +555,14 @@ msgid ""
"option.\n"
msgstr ""
-#: src/microhttpd/daemon.c:1244 src/microhttpd/daemon.c:4703
+#: src/microhttpd/daemon.c:1244 src/microhttpd/daemon.c:4705
#, c-format
msgid ""
"%s() called with fd_setsize (%u) less than fixed FD_SETSIZE value (%d) used "
"on the platform.\n"
msgstr ""
-#: src/microhttpd/daemon.c:1474 src/microhttpd/daemon.c:9118
+#: src/microhttpd/daemon.c:1474 src/microhttpd/daemon.c:9128
msgid ""
"Initiated daemon shutdown while \"upgraded\" connection was not closed.\n"
msgstr ""
@@ -654,8 +654,8 @@ msgid "Connection rejected by application. Closing connection.\n"
msgstr ""
#: src/microhttpd/daemon.c:2599 src/microhttpd/daemon.c:2628
-#: src/microhttpd/daemon.c:2886 src/microhttpd/daemon.c:5020
-#: src/microhttpd/daemon.c:6574
+#: src/microhttpd/daemon.c:2886 src/microhttpd/daemon.c:5022
+#: src/microhttpd/daemon.c:6577
#, c-format
msgid "Error allocating memory: %s\n"
msgstr ""
@@ -681,7 +681,7 @@ msgstr ""
msgid "TLS connection on non-TLS daemon.\n"
msgstr ""
-#: src/microhttpd/daemon.c:2947 src/microhttpd/daemon.c:8752
+#: src/microhttpd/daemon.c:2947 src/microhttpd/daemon.c:8762
msgid ""
"Failed to create a new thread because it would have exceeded the system "
"limit on the number of threads or no system resources available.\n"
@@ -727,13 +727,13 @@ msgstr ""
msgid "Failed to signal resume via inter-thread communication channel.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3566
+#: src/microhttpd/daemon.c:3565
msgid ""
"Failed to signal resume of connection via inter-thread communication "
"channel.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3622
+#: src/microhttpd/daemon.c:3621
msgid ""
"MHD_add_connection() has been called for daemon started without MHD_USE_ITC "
"flag.\n"
@@ -741,128 +741,128 @@ msgid ""
"already added sockets.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3636 src/microhttpd/daemon.c:3662
+#: src/microhttpd/daemon.c:3635 src/microhttpd/daemon.c:3661
msgid "MHD_add_connection() has been called with incorrect 'addrlen' value.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3647 src/microhttpd/daemon.c:3673
+#: src/microhttpd/daemon.c:3646 src/microhttpd/daemon.c:3672
msgid ""
"MHD_add_connection() has been called with non-zero value of 'sa_len' member "
"of 'struct sockaddr' which does not match 'sa_family'.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3693
+#: src/microhttpd/daemon.c:3692
#, c-format
msgid "Failed to set nonblocking mode on new client socket: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:3713
+#: src/microhttpd/daemon.c:3712
#, c-format
msgid "Failed to suppress SIGPIPE on new client socket: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:3737
+#: src/microhttpd/daemon.c:3736
msgid "Failed to set noninheritable mode on new client socket.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3899
+#: src/microhttpd/daemon.c:3898
#, c-format
msgid "Error accepting connection: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:3912
+#: src/microhttpd/daemon.c:3911
msgid ""
"Hit process or system resource limit at FIRST connection. This is really bad "
"as there is no sane way to proceed. Will try busy waiting for system "
"resources to become magically available.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3929
+#: src/microhttpd/daemon.c:3928
#, c-format
msgid ""
"Hit process or system resource limit at %u connections, temporarily "
"suspending accept(). Consider setting a lower MHD_OPTION_CONNECTION_LIMIT.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3945
+#: src/microhttpd/daemon.c:3944
msgid ""
"Accepted socket has zero-length address. Processing the new socket as a "
"socket with unknown type.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3958
+#: src/microhttpd/daemon.c:3957
msgid ""
"Accepted socket address is larger than expected by system headers. "
"Processing the new socket as a socket with unknown type.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3970
+#: src/microhttpd/daemon.c:3969
#, c-format
msgid "Failed to set nonblocking mode on incoming connection socket: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:3984
+#: src/microhttpd/daemon.c:3983
msgid "Failed to set noninheritable mode on incoming connection socket.\n"
msgstr ""
-#: src/microhttpd/daemon.c:3996
+#: src/microhttpd/daemon.c:3995
#, c-format
msgid "Failed to suppress SIGPIPE on incoming connection socket: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:4018
+#: src/microhttpd/daemon.c:4017
#, c-format
msgid "Accepted connection on socket %d\n"
msgstr ""
-#: src/microhttpd/daemon.c:4064 src/microhttpd/daemon.c:9160
-#: src/microhttpd/daemon.c:9192 src/microhttpd/daemon.c:9225
-#: src/microhttpd/daemon.c:9339
+#: src/microhttpd/daemon.c:4063 src/microhttpd/daemon.c:9170
+#: src/microhttpd/daemon.c:9202 src/microhttpd/daemon.c:9235
+#: src/microhttpd/daemon.c:9349
msgid "Failed to join a thread.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4243
+#: src/microhttpd/daemon.c:4242
msgid "Illegal call to MHD_get_timeout.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4665
+#: src/microhttpd/daemon.c:4667
msgid ""
"MHD_run_from_select() called with except_fd_set set to NULL. Such behavior "
"is deprecated.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4835
+#: src/microhttpd/daemon.c:4837
msgid "Could not obtain daemon fdsets.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4854
+#: src/microhttpd/daemon.c:4856
msgid "Could not add control inter-thread communication channel FD to fdset.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4880
+#: src/microhttpd/daemon.c:4882
msgid "Could not add listen socket to fdset.\n"
msgstr ""
-#: src/microhttpd/daemon.c:4948
+#: src/microhttpd/daemon.c:4950
#, c-format
msgid "select failed: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:5097 src/microhttpd/daemon.c:5254
+#: src/microhttpd/daemon.c:5099 src/microhttpd/daemon.c:5256
#, c-format
msgid "poll failed: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:5396 src/microhttpd/daemon.c:5628
+#: src/microhttpd/daemon.c:5398 src/microhttpd/daemon.c:5631
#, c-format
msgid "Call to epoll_wait failed: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:5593 src/microhttpd/daemon.c:6184
+#: src/microhttpd/daemon.c:5595 src/microhttpd/daemon.c:6187
msgid "Failed to remove listen FD from epoll set.\n"
msgstr ""
-#: src/microhttpd/daemon.c:5911
+#: src/microhttpd/daemon.c:5914
#, c-format
msgid ""
"MHD_run()/MHD_run_wait() called for daemon started with "
@@ -872,455 +872,455 @@ msgid ""
"MHD_OPTION_APP_FD_SETSIZE option.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6012
+#: src/microhttpd/daemon.c:6015
#, c-format
msgid "Failed to block SIGPIPE on daemon thread: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:6075
+#: src/microhttpd/daemon.c:6078
msgid "The URL encoding is broken.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6164
+#: src/microhttpd/daemon.c:6167
msgid "Using MHD_quiesce_daemon in this mode requires MHD_USE_ITC.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6192
+#: src/microhttpd/daemon.c:6195
msgid "Failed to signal quiesce via inter-thread communication channel.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6215
+#: src/microhttpd/daemon.c:6218
msgid "failed to signal quiesce via inter-thread communication channel.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6379
+#: src/microhttpd/daemon.c:6382
msgid ""
"GnuTLS priorities have been initialised with @LIBMICROHTTPD application-"
"specific system-wide configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6385
+#: src/microhttpd/daemon.c:6388
msgid ""
"GnuTLS priorities have been initialised with @SYSTEM system-wide "
"configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6391
+#: src/microhttpd/daemon.c:6394
msgid ""
"GnuTLS priorities have been initialised with GnuTLS default configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6397
+#: src/microhttpd/daemon.c:6400
msgid "GnuTLS priorities have been initialised with NORMAL configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6410
+#: src/microhttpd/daemon.c:6413
#, c-format
msgid "Failed to set GnuTLS priorities. Last error: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:6488
+#: src/microhttpd/daemon.c:6491
msgid ""
"GnuTLS priorities have been initialised with priorities specified by "
"application appended to @LIBMICROHTTPD application-specific system-wide "
"configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6495
+#: src/microhttpd/daemon.c:6498
msgid ""
"GnuTLS priorities have been initialised with priorities specified by "
"application appended to @SYSTEM system-wide configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6502
+#: src/microhttpd/daemon.c:6505
msgid ""
"GnuTLS priorities have been initialised with priorities specified by "
"application appended to GnuTLS default configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6509
+#: src/microhttpd/daemon.c:6512
msgid ""
"GnuTLS priorities have been initialised with priorities specified by "
"application appended to NORMAL configuration.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6523
+#: src/microhttpd/daemon.c:6526
#, c-format
msgid ""
"Failed to set GnuTLS priorities. Last error: %s. The problematic part starts "
"at: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:6639
+#: src/microhttpd/daemon.c:6642
msgid ""
"Warning: specified MHD_OPTION_CONNECTION_MEMORY_LIMIT value is too small and "
"rounded up to 64.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6665
+#: src/microhttpd/daemon.c:6668
msgid ""
"Warning: specified MHD_OPTION_CONNECTION_MEMORY_INCREMENT value is too large "
"and rounded down to 1/4 of MHD_OPTION_CONNECTION_MEMORY_LIMIT.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6751
+#: src/microhttpd/daemon.c:6754
msgid ""
"Warning: value \"1\", specified as the thread pool size, is ignored. Thread "
"pool is not used.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6765
+#: src/microhttpd/daemon.c:6768
#, c-format
msgid "Specified thread pool size (%u) too big.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6777
+#: src/microhttpd/daemon.c:6780
msgid ""
"MHD_OPTION_THREAD_POOL_SIZE option is specified but "
"MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6786
+#: src/microhttpd/daemon.c:6789
msgid ""
"Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION "
"flag are specified.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6803 src/microhttpd/daemon.c:6816
-#: src/microhttpd/daemon.c:6829 src/microhttpd/daemon.c:6842
-#: src/microhttpd/daemon.c:6894 src/microhttpd/daemon.c:6940
-#: src/microhttpd/daemon.c:6961 src/microhttpd/daemon.c:6983
-#: src/microhttpd/daemon.c:7312
+#: src/microhttpd/daemon.c:6806 src/microhttpd/daemon.c:6819
+#: src/microhttpd/daemon.c:6832 src/microhttpd/daemon.c:6845
+#: src/microhttpd/daemon.c:6897 src/microhttpd/daemon.c:6943
+#: src/microhttpd/daemon.c:6964 src/microhttpd/daemon.c:6986
+#: src/microhttpd/daemon.c:7322
#, c-format
msgid "MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6863
+#: src/microhttpd/daemon.c:6866
msgid "Error initializing DH parameters.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6873
+#: src/microhttpd/daemon.c:6876
msgid "Diffie-Hellman parameters string too long.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6884
+#: src/microhttpd/daemon.c:6887
msgid "Bad Diffie-Hellman parameters format.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6919
+#: src/microhttpd/daemon.c:6922
#, c-format
msgid ""
"Setting priorities to '%s' failed: %s The problematic part starts at: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:6949
+#: src/microhttpd/daemon.c:6952
msgid ""
"MHD_OPTION_HTTPS_CERT_CALLBACK requires building MHD with GnuTLS >= 3.0.\n"
msgstr ""
-#: src/microhttpd/daemon.c:6971
+#: src/microhttpd/daemon.c:6974
msgid ""
"MHD_OPTION_HTTPS_CERT_CALLBACK2 requires building MHD with GnuTLS >= 3.6.3.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7042
+#: src/microhttpd/daemon.c:7045
msgid "Digest Auth is disabled for this build of GNU libmicrohttpd.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7060
+#: src/microhttpd/daemon.c:7063
msgid ""
"MHD_OPTION_EXTERNAL_LOGGER is not the first option specified for the daemon. "
"Some messages may be printed by the standard MHD logger.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7085
+#: src/microhttpd/daemon.c:7088
msgid "TCP fastopen is not supported on this platform.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7109
+#: src/microhttpd/daemon.c:7112
msgid ""
"Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behaviour is "
"specified by MHD_OPTION_STRICT_CLIENT.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7122
+#: src/microhttpd/daemon.c:7125
msgid ""
"Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behaviour is "
"specified by MHD_OPTION_CLIENT_DISCIPLINE_LVL.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7286
+#: src/microhttpd/daemon.c:7296
#, c-format
msgid "MHD HTTPS option %d passed to MHD compiled without GNUtls >= 3.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7336
+#: src/microhttpd/daemon.c:7346
#, c-format
msgid "MHD HTTPS option %d passed to MHD compiled without HTTPS support.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7346
+#: src/microhttpd/daemon.c:7356
#, c-format
msgid "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?).\n"
msgstr ""
-#: src/microhttpd/daemon.c:7376
+#: src/microhttpd/daemon.c:7386
#, c-format
msgid "Call to epoll_create1 failed: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:7386
+#: src/microhttpd/daemon.c:7396
msgid "Failed to set noninheritable mode on epoll FD.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7428
+#: src/microhttpd/daemon.c:7438
msgid "The epoll FD is too large to be used with fd_set.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7510
+#: src/microhttpd/daemon.c:7520
#, c-format
msgid "MHD_OPTION_APP_FD_SETSIZE value (%d) is not positive.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7519
+#: src/microhttpd/daemon.c:7529
msgid ""
"MHD_OPTION_APP_FD_SETSIZE is ignored for daemon started with "
"MHD_USE_INTERNAL_POLLING_THREAD.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7528
+#: src/microhttpd/daemon.c:7538
msgid ""
"MHD_OPTION_APP_FD_SETSIZE is ignored for daemon started with MHD_USE_POLL.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7540
+#: src/microhttpd/daemon.c:7550
#, c-format
msgid ""
"MHD_OPTION_APP_FD_SETSIZE value (%d) does not match the platform FD_SETSIZE "
"value (%d) and this platform does not support overriding of FD_SETSIZE.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7565
+#: src/microhttpd/daemon.c:7575
msgid "The value provided for MHD_OPTION_LISTEN_SOCKET is invalid.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7575
+#: src/microhttpd/daemon.c:7585
msgid ""
"MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET "
"flag set.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7605
+#: src/microhttpd/daemon.c:7615
msgid ""
"MHD_OPTION_LISTEN_SOCKET cannot be used together with "
"MHD_OPTION_SOCK_ADDR_LEN or MHD_OPTION_SOCK_ADDR.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7614
+#: src/microhttpd/daemon.c:7624
msgid ""
"MHD_OPTION_SOCK_ADDR_LEN or MHD_OPTION_SOCK_ADDR specified for daemon with "
"MHD_USE_NO_LISTEN_SOCKET flag set.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7895
+#: src/microhttpd/daemon.c:7905
msgid "Failed to initialise GnuTLS priorities.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7907
+#: src/microhttpd/daemon.c:7917
msgid ""
"Warning: MHD_USE_THREAD_PER_CONNECTION must be used only with "
"MHD_USE_INTERNAL_POLLING_THREAD. Flag MHD_USE_INTERNAL_POLLING_THREAD was "
"added. Consider setting MHD_USE_INTERNAL_POLLING_THREAD explicitly.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7923
+#: src/microhttpd/daemon.c:7933
msgid "Using debug build of libmicrohttpd.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7937
+#: src/microhttpd/daemon.c:7947
#, c-format
msgid "Failed to create inter-thread communication channel: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:7952
+#: src/microhttpd/daemon.c:7962
msgid ""
"file descriptor for inter-thread communication channel exceeds maximum "
"value.\n"
msgstr ""
-#: src/microhttpd/daemon.c:7991
+#: src/microhttpd/daemon.c:8001
msgid "Specified value for NC_SIZE too large.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8007
+#: src/microhttpd/daemon.c:8017
#, c-format
msgid "Failed to allocate memory for nonce-nc map: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8025
+#: src/microhttpd/daemon.c:8035
msgid "MHD failed to initialize nonce-nc mutex.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8046
+#: src/microhttpd/daemon.c:8056
msgid "MHD thread polling only works with MHD_USE_INTERNAL_POLLING_THREAD.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8076
+#: src/microhttpd/daemon.c:8086
msgid ""
"MHD_USE_IPv6 is enabled, but 'struct sockaddr *' specified for "
"MHD_OPTION_SOCK_ADDR_LEN or MHD_OPTION_SOCK_ADDR is not IPv6 address.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8095 src/microhttpd/daemon.c:8140
+#: src/microhttpd/daemon.c:8105 src/microhttpd/daemon.c:8150
msgid "The size specified for MHD_OPTION_SOCK_ADDR_LEN option is wrong.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8107 src/microhttpd/daemon.c:8152
+#: src/microhttpd/daemon.c:8117 src/microhttpd/daemon.c:8162
msgid ""
"The value of 'struct sockaddr.sa_len' provided via MHD_OPTION_SOCK_ADDR_LEN "
"option is not zero and does not match 'sa_family' value of the same "
"structure.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8190
+#: src/microhttpd/daemon.c:8200
msgid ""
"The 'sa_family' of the 'struct sockaddr' provided via MHD_OPTION_SOCK_ADDR "
"option is not supported.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8267
+#: src/microhttpd/daemon.c:8277
#, c-format
msgid "Failed to create socket for listening: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8278 src/microhttpd/daemon.c:8471
+#: src/microhttpd/daemon.c:8288 src/microhttpd/daemon.c:8481
#, c-format
msgid ""
"Listen socket descriptor (%d) is not less than daemon FD_SETSIZE value "
"(%d).\n"
msgstr ""
-#: src/microhttpd/daemon.c:8301 src/microhttpd/daemon.c:8320
-#: src/microhttpd/daemon.c:8343 src/microhttpd/daemon.c:8381
-#: src/microhttpd/daemon.c:8414 src/microhttpd/daemon.c:8446
+#: src/microhttpd/daemon.c:8311 src/microhttpd/daemon.c:8330
+#: src/microhttpd/daemon.c:8353 src/microhttpd/daemon.c:8391
+#: src/microhttpd/daemon.c:8424 src/microhttpd/daemon.c:8456
#, c-format
msgid "setsockopt failed: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8353
+#: src/microhttpd/daemon.c:8363
msgid "Cannot allow listening address reuse: SO_REUSEPORT not defined.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8389
+#: src/microhttpd/daemon.c:8399
msgid ""
"Cannot disallow listening address reuse: SO_EXCLUSIVEADDRUSE not defined.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8427
+#: src/microhttpd/daemon.c:8437
#, c-format
msgid "Failed to bind to port %u: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8457
+#: src/microhttpd/daemon.c:8467
#, c-format
msgid "Failed to listen for connections: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8558
+#: src/microhttpd/daemon.c:8568
#, c-format
msgid "Failed to get listen port number: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8568
+#: src/microhttpd/daemon.c:8578
msgid ""
"Failed to get listen port number (`struct sockaddr_storage` too small!?).\n"
msgstr ""
-#: src/microhttpd/daemon.c:8615
+#: src/microhttpd/daemon.c:8625
msgid "Listen socket has unknown address family!\n"
msgstr ""
-#: src/microhttpd/daemon.c:8632
+#: src/microhttpd/daemon.c:8642
#, c-format
msgid "Failed to set nonblocking mode on listening socket: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8668
+#: src/microhttpd/daemon.c:8678
msgid ""
"Combining MHD_USE_THREAD_PER_CONNECTION and MHD_USE_EPOLL is not supported.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8683
+#: src/microhttpd/daemon.c:8693
msgid "MHD failed to initialize IP connection limit mutex.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8696
+#: src/microhttpd/daemon.c:8706
msgid "Failed to initialize TLS support.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8726 src/microhttpd/daemon.c:8803
-#: src/microhttpd/daemon.c:8923
+#: src/microhttpd/daemon.c:8736 src/microhttpd/daemon.c:8813
+#: src/microhttpd/daemon.c:8933
msgid "Failed to initialise internal lists mutex.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8735 src/microhttpd/daemon.c:8811
-#: src/microhttpd/daemon.c:8932
+#: src/microhttpd/daemon.c:8745 src/microhttpd/daemon.c:8821
+#: src/microhttpd/daemon.c:8942
msgid "Failed to initialise mutex.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8758
+#: src/microhttpd/daemon.c:8768
#, c-format
msgid "Failed to create listen thread: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8822
+#: src/microhttpd/daemon.c:8832
#, c-format
msgid "Failed to create worker inter-thread communication channel: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:8835
+#: src/microhttpd/daemon.c:8845
msgid ""
"File descriptor for worker inter-thread communication channel exceeds "
"maximum value.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8896
+#: src/microhttpd/daemon.c:8906
msgid ""
"Failed to create a new pool thread because it would have exceeded the system "
"limit on the number of threads or no system resources available.\n"
msgstr ""
-#: src/microhttpd/daemon.c:8902
+#: src/microhttpd/daemon.c:8912
#, c-format
msgid "Failed to create pool thread: %s\n"
msgstr ""
-#: src/microhttpd/daemon.c:9104 src/microhttpd/daemon.c:9137
+#: src/microhttpd/daemon.c:9114 src/microhttpd/daemon.c:9147
msgid "MHD_stop_daemon() called while we have suspended connections.\n"
msgstr ""
-#: src/microhttpd/daemon.c:9176 src/microhttpd/daemon.c:9282
-#: src/microhttpd/daemon.c:9320
+#: src/microhttpd/daemon.c:9186 src/microhttpd/daemon.c:9292
+#: src/microhttpd/daemon.c:9330
msgid "Failed to signal shutdown via inter-thread communication channel.\n"
msgstr ""
-#: src/microhttpd/daemon.c:9250
+#: src/microhttpd/daemon.c:9260
msgid "MHD_stop_daemon() was called twice."
msgstr ""
-#: src/microhttpd/daemon.c:9839
+#: src/microhttpd/daemon.c:9849
msgid "Failed to initialize winsock.\n"
msgstr ""
-#: src/microhttpd/daemon.c:9841
+#: src/microhttpd/daemon.c:9851
msgid "Winsock version 2.2 is not available.\n"
msgstr ""
-#: src/microhttpd/daemon.c:9850 src/microhttpd/daemon.c:9854
+#: src/microhttpd/daemon.c:9860 src/microhttpd/daemon.c:9864
msgid "Failed to initialise multithreading in libgcrypt.\n"
msgstr ""
-#: src/microhttpd/daemon.c:9860
+#: src/microhttpd/daemon.c:9870
msgid "libgcrypt is too old. MHD was compiled for libgcrypt 1.6.0 or newer.\n"
msgstr ""
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
@@ -101,7 +101,7 @@ MHD_C_DECLRATIONS_START_HERE_
* they are parsed as decimal numbers.
* Example: 0x01093001 = 1.9.30-1.
*/
-#define MHD_VERSION 0x01000201
+#define MHD_VERSION 0x01000300
/* If generic headers don't work on your platform, include headers
which define 'va_list', 'size_t', 'ssize_t', 'intptr_t', 'off_t',
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
@@ -3533,7 +3533,6 @@ resume_suspended_connections (struct MHD_Daemon *daemon)
/* Data forwarding was finished (for TLS connections) AND
* application was closed upgraded connection.
* Insert connection into cleanup list. */
-
if ( (NULL != daemon->notify_completed) &&
(! MHD_D_IS_USING_THREAD_PER_CONN_ (daemon)) &&
(pos->rq.client_aware) )
@@ -4548,13 +4547,16 @@ internal_run_from_select (struct MHD_Daemon *daemon,
{
/* do not have a thread per connection, process all connections now */
struct MHD_Connection *pos;
- for (pos = daemon->connections_tail; NULL != pos; pos = pos->prev)
+ struct MHD_Connection *prev;
+
+ for (pos = daemon->connections_tail; NULL != pos; pos = prev)
{
MHD_socket cs;
bool r_ready;
bool w_ready;
bool has_err;
+ prev = pos->prev;
cs = pos->socket_fd;
if (MHD_INVALID_SOCKET == cs)
continue;
@@ -5598,7 +5600,8 @@ MHD_epoll (struct MHD_Daemon *daemon,
(MHD_NO != resume_suspended_connections (daemon)) )
millisec = 0;
- timeout_ms = get_timeout_millisec_int (daemon, millisec);
+ timeout_ms = get_timeout_millisec_int (daemon,
+ millisec);
/* Reset. New value will be set when connections are processed. */
/* Note: Used mostly for uniformity here as same situation is