# HG changeset patch
# User Florian Zeitz <florob@babelmonkeys.de>
# 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