netty5/codec-http/src/main/java/io/netty/handler/codec/http/websocketx
Nick Travers 48911e0b63 Set (and override) websocket handshake headers after custom headers (#7975)
Motivation:

Currently, when passing custom headers to a WebSocketClientHandshaker,
if values are added for headers that are reserved for use in the
websocket handshake performed with the server, these custom values can
be used by the server to compute the websocket handshake challenge. If
the server computes the response to the challenge with the custom header
values, rather than the values computed by the client handshaker, the
handshake may fail.

Modifications:

Update the client handshaker implementations to add the custom header
values first, and then set the reserved websocket header values.

Result:

Reserved websocket handshake headers, if present in the custom headers
passed to the client handshaker, will not be propagated to the server.
Instead the client handshaker will propagate the values it generates.

Fixes #7973.
2018-05-30 19:52:40 +02:00
..
extensions fix the typos 2017-04-20 04:56:09 +02:00
BinaryWebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
CloseWebSocketFrame.java Apply appropriate methods for writing CharSequence into ByteBuf 2017-06-27 07:58:39 +02:00
ContinuationWebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
package-info.java Use our own URL shortener wherever possible 2014-07-31 17:06:19 -07:00
PingWebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
PongWebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
TextWebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
Utf8FrameValidator.java Removed unused imports 2016-01-04 14:32:29 +01:00
Utf8Validator.java ByteString introduced as AsciiString super class 2015-04-14 16:35:17 -07:00
WebSocket07FrameDecoder.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocket07FrameEncoder.java #751 - Added support for legacy websocket v7 in order to pass SocksJS tests 2012-12-19 12:35:56 +01:00
WebSocket08FrameDecoder.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocket08FrameEncoder.java Fix spelling in javadocs and field name. 2016-02-01 12:03:14 +01:00
WebSocket13FrameDecoder.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocket13FrameEncoder.java Update license headers 2012-06-04 13:31:44 -07:00
WebSocket00FrameDecoder.java Fixed NPE in WebSocket00FrameDecoder if end couldn't be found in text frame 2014-07-16 20:03:57 +02:00
WebSocket00FrameEncoder.java [#2768] Correctly duplicate buffer for CloseWebSocketFrames 2014-08-14 09:54:35 +02:00
WebSocketChunkedInput.java Support WebSocket data chunked transfer 2016-06-13 08:55:07 +02:00
WebSocketClientHandshaker.java Correct filling an origin header for WS client 2017-10-23 11:38:34 +02:00
WebSocketClientHandshaker07.java Set (and override) websocket handshake headers after custom headers (#7975) 2018-05-30 19:52:40 +02:00
WebSocketClientHandshaker08.java Set (and override) websocket handshake headers after custom headers (#7975) 2018-05-30 19:52:40 +02:00
WebSocketClientHandshaker13.java Set (and override) websocket handshake headers after custom headers (#7975) 2018-05-30 19:52:40 +02:00
WebSocketClientHandshaker00.java Set (and override) websocket handshake headers after custom headers (#7975) 2018-05-30 19:52:40 +02:00
WebSocketClientHandshakerFactory.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocketClientProtocolHandler.java Propagate pong frames in WebSocketProtocolHandler (#7955) 2018-05-24 20:27:29 +02:00
WebSocketClientProtocolHandshakeHandler.java Fix the leak in the WebSocketClientProtocolHandshakeHandler 2014-10-12 20:26:12 +02:00
WebSocketFrame.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
WebSocketFrameAggregator.java HttpObjectAggregator doesn't check content-length header 2015-08-17 09:26:50 -07:00
WebSocketFrameDecoder.java [#1515] Add WebSocketFrameEncoder and WebSocketFrameDecoder interfaces and let our impls implement it 2013-07-04 06:41:22 +02:00
WebSocketFrameEncoder.java [#1515] Add WebSocketFrameEncoder and WebSocketFrameDecoder interfaces and let our impls implement it 2013-07-04 06:41:22 +02:00
WebSocketHandshakeException.java Update license headers 2012-06-04 13:31:44 -07:00
WebSocketProtocolHandler.java Propagate pong frames in WebSocketProtocolHandler (#7955) 2018-05-24 20:27:29 +02:00
WebSocketScheme.java Immediate caching the strings wrapped to AsciiString 2017-08-15 06:22:14 +02:00
WebSocketServerHandshaker.java Removed custom split method as it is not effective anymore. 2016-08-01 21:49:33 +02:00
WebSocketServerHandshaker07.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocketServerHandshaker08.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocketServerHandshaker13.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocketServerHandshaker00.java [#4754] Correctly detect websocket upgrade 2016-02-04 14:03:08 +01:00
WebSocketServerHandshakerFactory.java Correct comment for allowMaskMismatch parameter 2017-02-16 17:03:55 +01:00
WebSocketServerProtocolHandler.java Propagate pong frames in WebSocketProtocolHandler (#7955) 2018-05-24 20:27:29 +02:00
WebSocketServerProtocolHandshakeHandler.java Improvement : WebSocketServerProtocolHandshakeHandler.getWebSocketLocation now applies concat optimization and WebSocket path check moved to separated method. 2017-03-01 10:47:20 +01:00
WebSocketUtil.java Correctly reset MessageDigest before reusing it. 2016-01-04 14:29:21 +01:00
WebSocketVersion.java #751 - Added support for legacy websocket v7 in order to pass SocksJS tests 2012-12-19 12:35:56 +01:00