Skip to content

Commit e2f8d14

Browse files
committed
Browser connections fail with "A server must not mask any frames that it sends to the client" #213
1 parent 9013228 commit e2f8d14

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

source/NetCoreServer/NetCoreServer.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>
5-
<Version>6.4.0.0</Version>
5+
<Version>6.5.0.0</Version>
66
<Authors>Ivan Shynkarenka</Authors>
77
<Copyright>Copyright (c) 2019-2022 Ivan Shynkarenka</Copyright>
88
<RepositoryUrl>https://github.com/chronoxor/NetCoreServer</RepositoryUrl>

source/NetCoreServer/WsSession.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public long SendText(ReadOnlySpan<byte> buffer)
2727
{
2828
lock (WebSocket.WsSendLock)
2929
{
30-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, true, buffer);
30+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, false, buffer);
3131
return base.Send(WebSocket.WsSendBuffer.AsSpan());
3232
}
3333
}
@@ -40,7 +40,7 @@ public bool SendTextAsync(ReadOnlySpan<byte> buffer)
4040
{
4141
lock (WebSocket.WsSendLock)
4242
{
43-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, true, buffer);
43+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, false, buffer);
4444
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
4545
}
4646
}
@@ -58,7 +58,7 @@ public long SendBinary(ReadOnlySpan<byte> buffer)
5858
{
5959
lock (WebSocket.WsSendLock)
6060
{
61-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, true, buffer);
61+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, false, buffer);
6262
return base.Send(WebSocket.WsSendBuffer.AsSpan());
6363
}
6464
}
@@ -71,7 +71,7 @@ public bool SendBinaryAsync(ReadOnlySpan<byte> buffer)
7171
{
7272
lock (WebSocket.WsSendLock)
7373
{
74-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, true, buffer);
74+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, false, buffer);
7575
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
7676
}
7777
}
@@ -89,7 +89,7 @@ public long SendClose(int status, ReadOnlySpan<byte> buffer)
8989
{
9090
lock (WebSocket.WsSendLock)
9191
{
92-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, true, buffer, status);
92+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, false, buffer, status);
9393
return base.Send(WebSocket.WsSendBuffer.AsSpan());
9494
}
9595
}
@@ -102,7 +102,7 @@ public bool SendCloseAsync(int status, ReadOnlySpan<byte> buffer)
102102
{
103103
lock (WebSocket.WsSendLock)
104104
{
105-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, true, buffer, status);
105+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, false, buffer, status);
106106
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
107107
}
108108
}
@@ -120,7 +120,7 @@ public long SendPing(ReadOnlySpan<byte> buffer)
120120
{
121121
lock (WebSocket.WsSendLock)
122122
{
123-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, true, buffer);
123+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, false, buffer);
124124
return base.Send(WebSocket.WsSendBuffer.AsSpan());
125125
}
126126
}
@@ -133,7 +133,7 @@ public bool SendPingAsync(ReadOnlySpan<byte> buffer)
133133
{
134134
lock (WebSocket.WsSendLock)
135135
{
136-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, true, buffer);
136+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, false, buffer);
137137
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
138138
}
139139
}
@@ -151,7 +151,7 @@ public long SendPong(ReadOnlySpan<byte> buffer)
151151
{
152152
lock (WebSocket.WsSendLock)
153153
{
154-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, true, buffer);
154+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, false, buffer);
155155
return base.Send(WebSocket.WsSendBuffer.AsSpan());
156156
}
157157
}
@@ -164,7 +164,7 @@ public bool SendPongAsync(ReadOnlySpan<byte> buffer)
164164
{
165165
lock (WebSocket.WsSendLock)
166166
{
167-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, true, buffer);
167+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, false, buffer);
168168
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
169169
}
170170
}

source/NetCoreServer/WssSession.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public long SendText(ReadOnlySpan<byte> buffer)
2727
{
2828
lock (WebSocket.WsSendLock)
2929
{
30-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, true, buffer);
30+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, false, buffer);
3131
return base.Send(WebSocket.WsSendBuffer.AsSpan());
3232
}
3333
}
@@ -40,7 +40,7 @@ public bool SendTextAsync(ReadOnlySpan<byte> buffer)
4040
{
4141
lock (WebSocket.WsSendLock)
4242
{
43-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, true, buffer);
43+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_TEXT, false, buffer);
4444
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
4545
}
4646
}
@@ -58,7 +58,7 @@ public long SendBinary(ReadOnlySpan<byte> buffer)
5858
{
5959
lock (WebSocket.WsSendLock)
6060
{
61-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, true, buffer);
61+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, false, buffer);
6262
return base.Send(WebSocket.WsSendBuffer.AsSpan());
6363
}
6464
}
@@ -71,7 +71,7 @@ public bool SendBinaryAsync(ReadOnlySpan<byte> buffer)
7171
{
7272
lock (WebSocket.WsSendLock)
7373
{
74-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, true, buffer);
74+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_BINARY, false, buffer);
7575
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
7676
}
7777
}
@@ -89,7 +89,7 @@ public long SendClose(int status, ReadOnlySpan<byte> buffer)
8989
{
9090
lock (WebSocket.WsSendLock)
9191
{
92-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, true, buffer, status);
92+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, false, buffer, status);
9393
return base.Send(WebSocket.WsSendBuffer.AsSpan());
9494
}
9595
}
@@ -102,7 +102,7 @@ public bool SendCloseAsync(int status, ReadOnlySpan<byte> buffer)
102102
{
103103
lock (WebSocket.WsSendLock)
104104
{
105-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, true, buffer, status);
105+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_CLOSE, false, buffer, status);
106106
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
107107
}
108108
}
@@ -120,7 +120,7 @@ public long SendPing(ReadOnlySpan<byte> buffer)
120120
{
121121
lock (WebSocket.WsSendLock)
122122
{
123-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, true, buffer);
123+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, false, buffer);
124124
return base.Send(WebSocket.WsSendBuffer.AsSpan());
125125
}
126126
}
@@ -133,7 +133,7 @@ public bool SendPingAsync(ReadOnlySpan<byte> buffer)
133133
{
134134
lock (WebSocket.WsSendLock)
135135
{
136-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, true, buffer);
136+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PING, false, buffer);
137137
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
138138
}
139139
}
@@ -151,7 +151,7 @@ public long SendPong(ReadOnlySpan<byte> buffer)
151151
{
152152
lock (WebSocket.WsSendLock)
153153
{
154-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, true, buffer);
154+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, false, buffer);
155155
return base.Send(WebSocket.WsSendBuffer.AsSpan());
156156
}
157157
}
@@ -164,7 +164,7 @@ public bool SendPongAsync(ReadOnlySpan<byte> buffer)
164164
{
165165
lock (WebSocket.WsSendLock)
166166
{
167-
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, true, buffer);
167+
WebSocket.PrepareSendFrame(WebSocket.WS_FIN | WebSocket.WS_PONG, false, buffer);
168168
return base.SendAsync(WebSocket.WsSendBuffer.AsSpan());
169169
}
170170
}

tests/tests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
1010
<PackageReference Include="xunit" Version="2.4.2" />
1111
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
1212
<PrivateAssets>all</PrivateAssets>

0 commit comments

Comments
 (0)