diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index d342d475..abc7e3a4 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -721,6 +721,13 @@ namespace WebSocketSharp return false; } + if (!_ignoreExtensions + && !validateSecWebSocketExtensionsClientHeader (headers["Sec-WebSocket-Extensions"]) + ) { + message = "Includes an invalid Sec-WebSocket-Extensions header."; + return false; + } + return true; } @@ -1697,6 +1704,12 @@ namespace WebSocketSharp return value != null && value == CreateResponseKey (_base64Key); } + // As server + private bool validateSecWebSocketExtensionsClientHeader (string value) + { + return value == null || value.Length > 0; + } + // As client private bool validateSecWebSocketExtensionsHeader (string value) {