diff --git a/lib/websocket/driver/hybi.rb b/lib/websocket/driver/hybi.rb index 3487c4a..e823c48 100644 --- a/lib/websocket/driver/hybi.rb +++ b/lib/websocket/driver/hybi.rb @@ -322,6 +322,10 @@ def parse_length(octet) if @require_masking and not @frame.masked return fail(:unacceptable, 'Received unmasked frame but masking is required') end + + if @masking and @frame.masked + return fail(:protocol_error, 'Received masked frame but masking is forbidden') + end end def parse_extended_length(buffer)