diff --git a/lib/client-handshake.c b/lib/client-handshake.c index de306a67..adcee07a 100644 --- a/lib/client-handshake.c +++ b/lib/client-handshake.c @@ -108,6 +108,7 @@ libwebsocket_client_connect(struct libwebsocket_context *context, break; case 5: case 6: + case 7: wsi->xor_mask = xor_mask_05; break; default: diff --git a/lib/handshake.c b/lib/handshake.c index bac5f7f4..46197ff0 100644 --- a/lib/handshake.c +++ b/lib/handshake.c @@ -670,6 +670,7 @@ libwebsocket_read(struct libwebsocket_context *context, struct libwebsocket *wsi break; case 5: case 6: + case 7: wsi->xor_mask = xor_mask_05; debug("libwebsocket_parse calling handshake_04\n"); if (handshake_0405(wsi)) diff --git a/lib/parsers.c b/lib/parsers.c index 263b36da..52386008 100644 --- a/lib/parsers.c +++ b/lib/parsers.c @@ -1295,6 +1295,7 @@ int libwebsocket_write(struct libwebsocket *wsi, unsigned char *buf, case 4: case 5: case 6: + case 7: switch (protocol & 0xf) { case LWS_WRITE_TEXT: n = LWS_WS_OPCODE_04__TEXT_FRAME;