# HG changeset patch # User Florian Zeitz # Date 1411762341 -7200 # Node ID b6514e691a70bc417980ec81f94a56567467332c # Parent f799b45cf73586aafaaf553342b48a4dfa4fd2ac net.websocket: Make data masking configurable diff -r f799b45cf735 -r b6514e691a70 net/websocket.lua --- a/net/websocket.lua Sun Sep 28 03:06:29 2014 +0200 +++ b/net/websocket.lua Fri Sep 26 22:12:21 2014 +0200 @@ -134,7 +134,7 @@ log("debug", "closing WebSocket with code %i: %s" , code , tostring(reason)); self.readyState = 2; local handler = self.handler; - handler:write(frames.build_close(code, reason)); + handler:write(frames.build_close(code, reason, true)); -- Do not close socket straight away, wait for acknowledgement from server. self.close_timer = timer.add_task(close_timeout, close_timeout_cb, self); elseif self.readyState == 2 then diff -r f799b45cf735 -r b6514e691a70 net/websocket/frames.lua --- a/net/websocket/frames.lua Sun Sep 28 03:06:29 2014 +0200 +++ b/net/websocket/frames.lua Fri Sep 26 22:12:21 2014 +0200 @@ -171,7 +171,7 @@ return code, message end -local function build_close(code, message) +local function build_close(code, message, mask) local data = pack_uint16be(code); if message then assert(#message<=123, "Close reason must be <=123 bytes"); @@ -180,7 +180,7 @@ return build_frame({ opcode = 0x8; FIN = true; - MASK = true; + MASK = mask; data = data; }); end