Skip to content

Commit 5ccd19f

Browse files
authored
Merge pull request #616 from nivalxer/fix_tls_net8
Fix the issue of TLS handshake failure in .NET 8 environment.
2 parents 296166b + 392137e commit 5ccd19f

18 files changed

Lines changed: 28 additions & 16 deletions

File tree

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 0.7.0.{build}
22
pull_requests:
33
do_not_increment_build_number: true
4-
image: Visual Studio 2019
4+
image: Visual Studio 2022
55
build_script:
66
- cmd: powershell .\build.ps1 -target PR
77
test: off

src/DotNetty.Handlers/Tls/TlsHandler.MediationStream.Net.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ ValueTask<int> InLoopReadAsync(Memory<byte> buffer, CancellationToken cancellati
6969
int read = this.ReadFromInput(buffer);
7070
return new ValueTask<int>(read);
7171
}
72+
//.NET8 sslStream will return 0 sometimes.like:https://github.com/dotnet/wcf/issues/5205
73+
if (buffer.IsEmpty)
74+
{
75+
return new ValueTask<int>(0);
76+
}
7277

7378
Contract.Assert(this.sslOwnedMemory.IsEmpty);
7479
// take note of buffer - we will pass bytes there once available
@@ -89,6 +94,12 @@ Task<int> OutOfLoopReadAsync(Memory<byte> buffer, CancellationToken cancellation
8994
return Task.FromResult(read);
9095
}
9196

97+
//.NET8 sslStream will return 0 sometimes.like:https://github.com/dotnet/wcf/issues/5205
98+
if (buffer.IsEmpty)
99+
{
100+
return Task.FromResult(0);
101+
}
102+
92103
Contract.Assert(this.sslOwnedMemory.IsEmpty);
93104
// take note of buffer - we will pass bytes there once available
94105
this.sslOwnedMemory = buffer;

test/DotNetty.Buffers.Tests/DotNetty.Buffers.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Codecs.Http.Tests/DotNetty.Codecs.Http.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Codecs.Mqtt.Tests/DotNetty.Codecs.Mqtt.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Codecs.Protobuf.Tests/DotNetty.Codecs.Protobuf.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Codecs.ProtocolBuffers.Tests/DotNetty.Codecs.ProtocolBuffers.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<Configurations>Debug;Release;Package</Configurations>
77
<Platforms>AnyCPU</Platforms>

test/DotNetty.Codecs.Redis.Tests/DotNetty.Codecs.Redis.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Codecs.Tests/DotNetty.Codecs.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

test/DotNetty.Common.Tests/DotNetty.Common.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4-
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net472;net5.0;net6.0;net8.0</TargetFrameworks>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyOriginatorKeyFile>../../DotNetty.snk</AssemblyOriginatorKeyFile>
77
<SignAssembly>true</SignAssembly>

0 commit comments

Comments
 (0)