libmicrohttpd

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

commit 2f4438ab7a9575e605c4a746614cb2b453b8f48d
parent 5876da15e6f788d8c8619b7521686917008dac18
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Thu, 29 Oct 2020 18:41:12 +0300

websocket_threaded_example.c: minor improvement and warning fixes

Diffstat:
Msrc/examples/websocket_threaded_example.c | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/examples/websocket_threaded_example.c b/src/examples/websocket_threaded_example.c @@ -491,8 +491,8 @@ ws_get_accept_value (const char *key, char **val) { return MHD_NO; } - strcpy (str, key); - strcat (str, WS_GUID); + strncpy (str, key, (WS_KEY_LEN + WS_GUID_LEN + 1)); + strncat (str, WS_GUID, (WS_GUID_LEN + 1)); SHA1Reset (&ctx); SHA1Input (&ctx, (const unsigned char *) str, WS_KEY_GUID_LEN); SHA1Result (&ctx, hash); @@ -816,6 +816,7 @@ ahc_cb (void *cls, struct MHD_Connection *con, const char *url, const char *ws_key_header; char *ws_ac_value; enum MHD_Result ret; + size_t key_size; (void) cls; /* Unused. Silent compiler warning. */ (void) url; /* Unused. Silent compiler warning. */ @@ -848,9 +849,9 @@ ahc_cb (void *cls, struct MHD_Connection *con, const char *url, { return send_upgrade_required (con); } - ws_key_header = MHD_lookup_connection_value ( - con, MHD_HEADER_KIND, MHD_HTTP_HEADER_SEC_WEBSOCKET_KEY); - if ((NULL == ws_key_header) || (strlen (ws_key_header) != 24)) + ws_key_header = MHD_lookup_connection_value_n ( + con, MHD_HEADER_KIND, MHD_HTTP_HEADER_SEC_WEBSOCKET_KEY, &key_size); + if ((NULL == ws_key_header) || (key_size != WS_KEY_LEN)) { return send_bad_request (con); }