libmicrohttpd

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

commit 08134cf85ade4eb39b6a384af1df58db7af9266b
parent 100cf4ae10eccfd691a706987a80e3ab97f6ed42
Author: silvioprog <silvioprog@gmail.com>
Date:   Fri, 10 Apr 2020 13:50:12 -0300

Fixed websocket example.

Diffstat:
Msrc/examples/websocket_threaded_example.c | 43++++++++++++++++++++++---------------------
1 file changed, 22 insertions(+), 21 deletions(-)

diff --git a/src/examples/websocket_threaded_example.c b/src/examples/websocket_threaded_example.c @@ -133,7 +133,7 @@ struct SHA1Context uint32_t length_low; uint32_t length_high; int_least16_t message_block_index; - char message_block[64]; + unsigned char message_block[64]; int computed; int corrupted; }; @@ -269,7 +269,8 @@ SHA1Reset (struct SHA1Context *context) static enum SHA1_RESULT -SHA1Result (struct SHA1Context *context, char Message_Digest[SHA1HashSize]) +SHA1Result (struct SHA1Context *context, unsigned char + Message_Digest[SHA1HashSize]) { int i; @@ -302,7 +303,7 @@ SHA1Result (struct SHA1Context *context, char Message_Digest[SHA1HashSize]) static enum SHA1_RESULT -SHA1Input (struct SHA1Context *context, const char *message_array, +SHA1Input (struct SHA1Context *context, const unsigned char *message_array, unsigned length) { if (! length) @@ -477,7 +478,7 @@ static enum MHD_Result ws_get_accept_value (const char *key, char **val) { struct SHA1Context ctx; - char hash[SHA1HashSize]; + unsigned char hash[SHA1HashSize]; char *str; ssize_t len; @@ -493,7 +494,7 @@ ws_get_accept_value (const char *key, char **val) strcpy (str, key); strcat (str, WS_GUID); SHA1Reset (&ctx); - SHA1Input (&ctx, (const char *) str, WS_KEY_GUID_LEN); + SHA1Input (&ctx, (const unsigned char *) str, WS_KEY_GUID_LEN); SHA1Result (&ctx, hash); free (str); len = BASE64Encode (hash, SHA1HashSize, val); @@ -527,7 +528,7 @@ make_blocking (MHD_socket fd) static size_t -send_all (MHD_socket sock, const char *buf, size_t len) +send_all (MHD_socket sock, const unsigned char *buf, size_t len) { ssize_t ret; size_t off; @@ -556,8 +557,8 @@ send_all (MHD_socket sock, const char *buf, size_t len) static int ws_send_frame (int sock, const char *msg, size_t length) { - char *response; - char frame[10]; + unsigned char *response; + unsigned char frame[10]; unsigned char idx_first_rdata; int idx_response; int output; @@ -580,14 +581,14 @@ ws_send_frame (int sock, const char *msg, size_t length) else { frame[1] = 127; - frame[2] = (char) ((length >> 56) & 0xFF); - frame[3] = (char) ((length >> 48) & 0xFF); - frame[4] = (char) ((length >> 40) & 0xFF); - frame[5] = (char) ((length >> 32) & 0xFF); - frame[6] = (char) ((length >> 24) & 0xFF); - frame[7] = (char) ((length >> 16) & 0xFF); - frame[8] = (char) ((length >> 8) & 0xFF); - frame[9] = (char) (length & 0xFF); + frame[2] = (unsigned char) ((length >> 56) & 0xFF); + frame[3] = (unsigned char) ((length >> 48) & 0xFF); + frame[4] = (unsigned char) ((length >> 40) & 0xFF); + frame[5] = (unsigned char) ((length >> 32) & 0xFF); + frame[6] = (unsigned char) ((length >> 24) & 0xFF); + frame[7] = (unsigned char) ((length >> 16) & 0xFF); + frame[8] = (unsigned char) ((length >> 8) & 0xFF); + frame[9] = (unsigned char) (length & 0xFF); idx_first_rdata = 10; } idx_response = 0; @@ -626,12 +627,12 @@ ws_send_frame (int sock, const char *msg, size_t length) static unsigned char * ws_receive_frame (unsigned char *frame, ssize_t *length, int *type) { + unsigned char masks[4]; + unsigned char mask; unsigned char *msg; - char masks[4]; - char mask; - char flength; - char idx_first_mask; - char idx_first_data; + unsigned char flength; + unsigned char idx_first_mask; + unsigned char idx_first_data; ssize_t data_length; int i; int j;