Skip to content

Commit bb220da

Browse files
committed
[同步]1. 同步主库到2024年8月8日 14ced0f
14ced0f - never allow unmasked client websocket package
1 parent 9bd4a5b commit bb220da

1 file changed

Lines changed: 13 additions & 5 deletions

File tree

src/GameFrameX.SuperSocket.WebSocket/WebSocketPipelineFilter.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
using System;
2-
using System.Buffers;
3-
using System.Collections.Generic;
1+
using System.Buffers;
42
using System.Collections.Specialized;
5-
using System.IO;
63
using System.Text;
74
using GameFrameX.SuperSocket.ProtoBase;
85

@@ -18,6 +15,17 @@ public class WebSocketPipelineFilter : IPipelineFilter<WebSocketPackage>
1815

1916
private static readonly ReadOnlyMemory<byte> _headerTerminator = new byte[] { (byte)'\r', (byte)'\n', (byte)'\r', (byte)'\n' };
2017

18+
private readonly bool _requireMask = true;
19+
20+
public WebSocketPipelineFilter()
21+
{
22+
}
23+
24+
public WebSocketPipelineFilter(bool requireMask)
25+
{
26+
_requireMask = requireMask;
27+
}
28+
2129
public IPackageDecoder<WebSocketPackage> Decoder { get; set; }
2230

2331
public IPipelineFilter<WebSocketPackage> NextFilter { get; internal set; }
@@ -33,7 +41,7 @@ public WebSocketPackage Filter(ref SequenceReader<byte> reader)
3341

3442
var package = ParseHandshake(ref pack);
3543

36-
NextFilter = new WebSocketDataPipelineFilter(package.HttpHeader);
44+
NextFilter = new WebSocketDataPipelineFilter(package.HttpHeader, _requireMask);
3745

3846
return package;
3947
}

0 commit comments

Comments
 (0)