aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2014-09-29 13:59:16 -0400
committerdaurnimator <quae@daurnimator.com>2014-09-29 13:59:16 -0400
commitacf786ed7dcca32a0ee768fac6f33d35674fc1b6 (patch)
tree8df3d5f560f6323de29139b602f253e16dddcbeb
parentf03bdbefca10dd64cd70208bf84261fb850d1be8 (diff)
parent0504583316908806a24c975e9acb775a44d2c317 (diff)
downloadprosody-acf786ed7dcca32a0ee768fac6f33d35674fc1b6.tar.gz
prosody-acf786ed7dcca32a0ee768fac6f33d35674fc1b6.zip
Merge 0.10->trunk
-rw-r--r--net/websocket.lua2
-rw-r--r--net/websocket/frames.lua4
2 files changed, 3 insertions, 3 deletions
diff --git a/net/websocket.lua b/net/websocket.lua
index f8daa278..a4274eec 100644
--- a/net/websocket.lua
+++ b/net/websocket.lua
@@ -134,7 +134,7 @@ function websocket_methods:close(code, reason)
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 --git a/net/websocket/frames.lua b/net/websocket/frames.lua
index 8bbddd1c..fa0e130d 100644
--- a/net/websocket/frames.lua
+++ b/net/websocket/frames.lua
@@ -171,7 +171,7 @@ local function parse_close(data)
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 @@ local function build_close(code, message)
return build_frame({
opcode = 0x8;
FIN = true;
- MASK = true;
+ MASK = mask;
data = data;
});
end