[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libmicrohttpd] 06/10: transmit_error_response(): check whether it is st
From: |
gnunet |
Subject: |
[libmicrohttpd] 06/10: transmit_error_response(): check whether it is still possible to send a response |
Date: |
Wed, 29 Sep 2021 19:52:48 +0200 |
This is an automated email from the git hooks/post-receive script.
karlson2k pushed a commit to branch master
in repository libmicrohttpd.
commit 85afdbaf90d645532b0eeb07d33c7c6f1b5b960f
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Wed Sep 29 17:49:02 2021 +0300
transmit_error_response(): check whether it is still possible to send a
response
---
src/microhttpd/connection.c | 27 ++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
index 941b21a3..2f8f211c 100644
--- a/src/microhttpd/connection.c
+++ b/src/microhttpd/connection.c
@@ -2209,6 +2209,26 @@ transmit_error_response_len (struct MHD_Connection
*connection,
return;
}
connection->stop_with_error = true;
+#ifdef HAVE_MESSAGES
+ MHD_DLOG (connection->daemon,
+ _ ("Error processing request (HTTP response code is %u ('%s')). " \
+ "Closing connection.\n"),
+ status_code,
+ message);
+#endif
+ if (MHD_CONNECTION_START_REPLY < connection->state)
+ {
+#ifdef HAVE_MESSAGES
+ MHD_DLOG (connection->daemon,
+ _ ("Too late to send an error response, " \
+ "response is being sent already.\n"),
+ status_code,
+ message);
+#endif
+ CONNECTION_CLOSE_ERROR (connection,
+ _ ("Too late for error response."));
+ return;
+ }
/* TODO: remove when special error queue function is implemented */
connection->state = MHD_CONNECTION_FULL_REQ_RECEIVED;
if (0 != connection->read_buffer_size)
@@ -2221,13 +2241,6 @@ transmit_error_response_len (struct MHD_Connection
*connection,
0);
connection->read_buffer_size = 0;
}
-#ifdef HAVE_MESSAGES
- MHD_DLOG (connection->daemon,
- _ (
- "Error processing request (HTTP response code is %u (`%s')).
Closing connection.\n"),
- status_code,
- message);
-#endif
if (NULL != connection->response)
{
MHD_destroy_response (connection->response);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [libmicrohttpd] branch master updated (c07f4464 -> d7cac578), gnunet, 2021/09/29
- [libmicrohttpd] 01/10: connection.c: fixed compile with disabled messages, gnunet, 2021/09/29
- [libmicrohttpd] 04/10: transmit_error_response(): avoid double sending of error responses, gnunet, 2021/09/29
- [libmicrohttpd] 02/10: memorypool: added assert in MHD_pool_reallocate(), gnunet, 2021/09/29
- [libmicrohttpd] 03/10: connection_close_error(): fixed set of error flag with messages disabled, gnunet, 2021/09/29
- [libmicrohttpd] 08/10: transmit_error_response(): improved error log messages, gnunet, 2021/09/29
- [libmicrohttpd] 05/10: connection_reset(): notify app with correct code, gnunet, 2021/09/29
- [libmicrohttpd] 06/10: transmit_error_response(): check whether it is still possible to send a response,
gnunet <=
- [libmicrohttpd] 07/10: transmit_error_response(): log error if response cannot be created, gnunet, 2021/09/29
- [libmicrohttpd] 09/10: transmit_error_response(): reset read buffer offset as well, gnunet, 2021/09/29
- [libmicrohttpd] 10/10: connection_maximize_write_buffer(): don't try to grow if no space is available, gnunet, 2021/09/29