From 2ebe7a859cdfa1860067bca65bbd642a04687e95 Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Fri, 11 Mar 2022 15:57:41 +0300 Subject: [PATCH] Disallowed successful responses for CONNECT requests MHD currently does not support CONNECT pass-through. However, support could be added relatively easily. Contact MHD maintainers if you need CONNECT support. --- src/microhttpd/connection.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index e16d5ed1..465e0326 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c @@ -5264,6 +5264,17 @@ MHD_queue_response (struct MHD_Connection *connection, return MHD_NO; } } + if ( (MHD_HTTP_MTHD_CONNECT == connection->http_mthd) && + (2 == status_code / 100) ) + { +#ifdef HAVE_MESSAGES + MHD_DLOG (daemon, + _ ("Successful (%u) response code cannot be used to answer " \ + "\"CONNECT\" request!\n"), + (status_code)); +#endif + return MHD_NO; + } #ifdef HAVE_MESSAGES if ( (0 != (MHD_RF_INSANITY_HEADER_CONTENT_LENGTH & response->flags)) &&