]> granicus.if.org Git - ejabberd/commitdiff
ejabberd_websocket: Ignore case of header values
authorHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 5 Apr 2015 12:48:08 +0000 (14:48 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 5 Apr 2015 12:48:08 +0000 (14:48 +0200)
RFC 6455 says that the client's opening handshake includes an Upgrade
header field "containing the value 'websocket', treated as an ASCII
case-insensitive value."

Closes #510.

src/ejabberd_websocket.erl

index 8cd1b2289a13d769b423112dec715bd5014a0c9a..9d5f32c33c7f06c729a45bc089376f8d5da887e9 100644 (file)
@@ -73,9 +73,10 @@ check(_Path, Headers) ->
                  {_, HVal} ->
                      case Val of
                        ignore -> false; % ignore value -> ok, remove from list
-                       HVal -> false;   % expected val -> ok, remove from list
                        _ ->
-                           true         % val is different, keep in list
+                           % expected value -> ok, remove from list (false)
+                           % value is different, keep in list (true)
+                           str:to_lower(HVal) /= Val
                       end
                 end
         end,