aboutsummaryrefslogtreecommitdiffstats
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
commite84ead8c296f6f5b4d7f11be2c3e1e4eb61ff20d (patch)
treed7e0a0721daa5e5ebbfa560cbf3c1eaa7b4ba8ae
parent87f0c198e51e0ea76090681ceb8705055ed3942b (diff)
downloadprosody-e84ead8c296f6f5b4d7f11be2c3e1e4eb61ff20d.tar.gz
prosody-e84ead8c296f6f5b4d7f11be2c3e1e4eb61ff20d.zip
mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)
-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