aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2026-11-10 14:36:11 +0100
committercbdev <cb@cbcdn.com>2026-11-10 15:09:55 +0100
commit5b5fa28359d676b09296e866cd3757975bf796af (patch)
treeed7e568aaf1e91c7a929e86b1402cdfe9d4a68a3
parentc4d1da757fc32e8d05e592f3b60484e2bfbf8d67 (diff)
downloadwebsocksy-5b5fa28359d676b09296e866cd3757975bf796af.tar.gz
websocksy-5b5fa28359d676b09296e866cd3757975bf796af.tar.bz2
websocksy-5b5fa28359d676b09296e866cd3757975bf796af.zip
Add base64 padding to the accept key as the nettle documentation indicates this is not contained in BASE64_ENCODE_LENGTHHEADmaster
-rw-r--r--websocket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/websocket.c b/websocket.c
index b720aca..3fe48cc 100644
--- a/websocket.c
+++ b/websocket.c
@@ -159,7 +159,7 @@ static int ws_upgrade_http(websocket* ws){
struct sha1_ctx ws_accept_ctx;
struct base64_encode_ctx ws_accept_encode;
uint8_t ws_accept_digest[SHA1_DIGEST_SIZE];
- char ws_accept_key[BASE64_ENCODE_LENGTH(SHA1_DIGEST_SIZE) + 3] = "";
+ char ws_accept_key[BASE64_ENCODE_LENGTH(SHA1_DIGEST_SIZE) + BASE64_ENCODE_FINAL_LENGTH + 3 /*line termination*/] = "";
sha1_init(&ws_accept_ctx);
sha1_update(&ws_accept_ctx, strlen(ws->socket_key), (uint8_t*) ws->socket_key);
sha1_update(&ws_accept_ctx, strlen(RFC6455_MAGIC_KEY), (uint8_t*) RFC6455_MAGIC_KEY);