aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_websocket.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-01-02 10:49:37 +0100
committerKim Alvefur <zash@zash.se>2020-01-02 10:49:37 +0100
commit954b42849d39da059603d00d1ee8851d25894636 (patch)
treed7e0a0721daa5e5ebbfa560cbf3c1eaa7b4ba8ae /plugins/mod_websocket.lua
parentec0307ecb6909240163cb68b401568326c8a4d37 (diff)
downloadprosody-954b42849d39da059603d00d1ee8851d25894636.tar.gz
prosody-954b42849d39da059603d00d1ee8851d25894636.zip
mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)
Diffstat (limited to 'plugins/mod_websocket.lua')
-rw-r--r--plugins/mod_websocket.lua1
1 files changed, 1 insertions, 0 deletions
diff --git a/plugins/mod_websocket.lua b/plugins/mod_websocket.lua
index 686a8981..6625c676 100644
--- a/plugins/mod_websocket.lua
+++ b/plugins/mod_websocket.lua
@@ -236,6 +236,7 @@ function handle_request(event)
return;
elseif opcode == 0x9 then -- Ping frame
frame.opcode = 0xA;
+ frame.MASK = false; -- Clients send masked frames, servers don't, see #1484
conn:write(build_frame(frame));
return "";
elseif opcode == 0xA then -- Pong frame, MAY be sent unsolicited, eg as keepalive