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
commit0ada5ddd569848cdf757daed161bf6edd7ca38bb (patch)
treed7e0a0721daa5e5ebbfa560cbf3c1eaa7b4ba8ae
parent1ee37abc70498661c4ee33395c09ffecc73bbc73 (diff)
downloadprosody-0ada5ddd569848cdf757daed161bf6edd7ca38bb.tar.gz
prosody-0ada5ddd569848cdf757daed161bf6edd7ca38bb.zip
mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)vault/0.11.4
-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