From aa0bc86143cfe72070cd393fc829d29189f0b3d9 Mon Sep 17 00:00:00 2001 From: David Galeano Date: Wed, 9 Jan 2013 15:31:46 +0800 Subject: [PATCH] Changed client handshake to use "Origin" instead of "Sec-WebSocket-Origin" as defined by RFC 6455 when using version 13 of the protocol. --- lib/libwebsockets.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index ef4a3c52b..0263c8001 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -950,9 +950,16 @@ libwebsockets_generate_client_handshake(struct libwebsocket_context *context, strcpy(p, wsi->key_b64); p += strlen(wsi->key_b64); p += sprintf(p, "\x0d\x0a"); - if (wsi->c_origin) + if (wsi->c_origin) { + if (wsi->ietf_spec_revision == 13) { + p += sprintf(p, "Origin: %s\x0d\x0a", + wsi->c_origin); + } + else { p += sprintf(p, "Sec-WebSocket-Origin: %s\x0d\x0a", wsi->c_origin); + } + } if (wsi->c_protocol) p += sprintf(p, "Sec-WebSocket-Protocol: %s\x0d\x0a", wsi->c_protocol);