libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 05b59a0199523ad87bfc87330a1f46c0be4eba79
parent db659970f999f2a3592918e713cf916b34a64aed
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Thu, 30 Mar 2023 18:12:40 +0200

Upgraded connection: replaced two checks with asserts

The response should be checked by "queue" function.

Diffstat:
Msrc/microhttpd/response.c | 24++++++++----------------
1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/src/microhttpd/response.c b/src/microhttpd/response.c @@ -1942,22 +1942,14 @@ MHD_response_execute_upgrade_ (struct MHD_Response *response, MHD_thread_ID_match_current_ (connection->pid) ); #endif /* MHD_USE_THREADS */ - if (0 == (daemon->options & MHD_ALLOW_UPGRADE)) - return MHD_NO; - - if (NULL == - MHD_get_response_element_n_ (response, MHD_HEADER_KIND, - MHD_HTTP_HEADER_UPGRADE, - MHD_STATICSTR_LEN_ ( \ - MHD_HTTP_HEADER_UPGRADE))) - { -#ifdef HAVE_MESSAGES - MHD_DLOG (daemon, - _ ("Invalid response for upgrade: " \ - "application failed to set the 'Upgrade' header!\n")); -#endif - return MHD_NO; - } + /* "Upgrade" responses accepted only if MHD_ALLOW_UPGRADE is enabled */ + mhd_assert (0 != (daemon->options & MHD_ALLOW_UPGRADE)); + /* The header was checked when response queued */ + mhd_assert (NULL != \ + MHD_get_response_element_n_ (response, MHD_HEADER_KIND, + MHD_HTTP_HEADER_UPGRADE, + MHD_STATICSTR_LEN_ ( \ + MHD_HTTP_HEADER_UPGRADE))); urh = MHD_calloc_ (1, sizeof (struct MHD_UpgradeResponseHandle)); if (NULL == urh)