Skip to content

Adding Microsoft.CodeAnalysis.BannedApiAnalyzers for SignalR MessagePackHubProtocol #18291

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 30 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
541b5e2
update MessagePack fron 1.7.x to 2.0.323 (and required transitive Sys…
tebeco Jan 9, 2020
1cd9a8d
Use MessagePackReader for deserialization
tebeco Jan 3, 2020
17819a3
Update StringFormatter with the new interface of IMessagePackFormatte…
tebeco Jan 5, 2020
5dc6313
MessagePack v2.0 now use MessagePackSerializerOptions instead of IFor…
tebeco Jan 5, 2020
82eab12
Using MessagePackWriter for serialization
tebeco Jan 5, 2020
d089b50
Update MessagePackUtil to use MessagePackReader
tebeco Jan 5, 2020
065754e
update RedisProtocol to use MessagePack v2.0
tebeco Jan 5, 2020
35c4cbc
review: Remove empty line
tebeco Jan 6, 2020
c469099
Remove MessagePackUtil.cs as it exposed the same API as the MessagePa…
tebeco Jan 6, 2020
a962ce3
review: Move MessagePackWriter instanciation inside the try block
tebeco Jan 6, 2020
c55f72f
review: change ReadSerializedHubMessage signature to re-use the exist…
tebeco Jan 6, 2020
470c747
review: Fix a typo to properly initialize the _msgPackSerializerOptions
tebeco Jan 6, 2020
c2c22e7
review: Remove unsed ArraySegment to directly read the payload
tebeco Jan 7, 2020
5557054
review: Move MessagePackWriter instantiation inside try block
tebeco Jan 7, 2020
9150ab3
Replace call to MessagePackWriter.WriteInt32 by MessagePackWriter.Wri…
tebeco Jan 9, 2020
9a710e0
Replace call to MessagePackWriter.WriteInt16 by MessagePackWriter.Wri…
tebeco Jan 9, 2020
0c76ad1
removing code comment for feedback during PR review : https://github.…
tebeco Jan 9, 2020
23bd8fa
Call MessagePackWriter.Flush() before existing WriteMessageCore
tebeco Jan 9, 2020
40f1ba2
a MemoryBufferWriter is still needed because we need to write and kno…
tebeco Jan 9, 2020
a947073
Remove unused code that was previously used for TryParseMessage
tebeco Jan 9, 2020
4fc94cc
Fix a typo to make MessagePackWriter write to the temp MemoryBufferWr…
tebeco Jan 9, 2020
bdd1d4b
MessagePackWriter.Flush() is mandatory to be sure all data has proper…
tebeco Jan 9, 2020
05d3233
Original DateTime is now Converted to DateTimeKind.Utc if it is a Loc…
tebeco Jan 9, 2020
d93a722
Replace internal class CombinedResolvers by MessagePack public Compos…
tebeco Jan 9, 2020
50f2368
Moving throw statement into the catch block for Deserialization methods
tebeco Jan 11, 2020
31fffb1
Adding a new dependency to the solution for Microsoft.AspNetCore.Sign…
tebeco Jan 11, 2020
c499d12
Adding "BannedSymbols.txt" to Microsoft.AspNetCore.SignalR.Protocols.…
tebeco Jan 11, 2020
0d6669f
Adding MessagePackSerializer.SerializeXXX() to the list of Banned API…
tebeco Jan 11, 2020
d793abd
Adding MessagePackSerializer.DeserliazeXXX() to the list of Banned AP…
tebeco Jan 11, 2020
7189117
Adding MessagePackSerializer.ConvertXXX() to the list of Banned API w…
tebeco Jan 11, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions eng/Dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ and are generated based on the last package release.
<LatestPackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="$(MicrosoftAspNetCoreRazorLanguagePackageVersion)" />
<LatestPackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="$(MicrosoftBclAsyncInterfacesPackageVersion)" />
<LatestPackageReference Include="Microsoft.Azure.SignalR" Version="$(MicrosoftAzureSignalRPackageVersion)" />
<LatestPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="$(MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion)" />
<LatestPackageReference Include="Microsoft.CodeAnalysis.Common" Version="$(MicrosoftCodeAnalysisCommonPackageVersion)" />
<LatestPackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion)" />
<LatestPackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(MicrosoftCodeAnalysisCSharpPackageVersion)" />
Expand Down
4 changes: 4 additions & 0 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
<Sha>1b2afd86341b753ed82622b3e08a2d2e82c5b9a7</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.BannedApi" Version="2.9.8">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
<Sha>1d07ec78d0094b99c4f9f21864bb811e44344b99</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="5.0.0-alpha.1.20060.2">
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
<Sha>1b2afd86341b753ed82622b3e08a2d2e82c5b9a7</Sha>
Expand Down
5 changes: 3 additions & 2 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@
<SystemCommandlineExperimentalPackageVersion>0.3.0-alpha.19317.1</SystemCommandlineExperimentalPackageVersion>
<SystemComponentModelPackageVersion>4.3.0</SystemComponentModelPackageVersion>
<SystemNetHttpPackageVersion>4.3.2</SystemNetHttpPackageVersion>
<SystemThreadingTasksExtensionsPackageVersion>4.5.2</SystemThreadingTasksExtensionsPackageVersion>
<SystemThreadingTasksExtensionsPackageVersion>4.5.3</SystemThreadingTasksExtensionsPackageVersion>
<!-- Packages developed by @aspnet, but manually updated as necessary. -->
<LibuvPackageVersion>1.10.0</LibuvPackageVersion>
<MicrosoftAspNetWebApiClientPackageVersion>5.2.6</MicrosoftAspNetWebApiClientPackageVersion>
Expand All @@ -211,6 +211,7 @@
<MicrosoftBuildFrameworkPackageVersion>15.8.166</MicrosoftBuildFrameworkPackageVersion>
<MicrosoftBuildLocatorPackageVersion>1.2.6</MicrosoftBuildLocatorPackageVersion>
<MicrosoftBuildUtilitiesCorePackageVersion>15.8.166</MicrosoftBuildUtilitiesCorePackageVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>2.9.8</MicrosoftCodeAnalysisBannedApiAnalyzersPackageVersion>
<MicrosoftCodeAnalysisCommonPackageVersion>3.0.0</MicrosoftCodeAnalysisCommonPackageVersion>
<MicrosoftCodeAnalysisCSharpPackageVersion>3.0.0</MicrosoftCodeAnalysisCSharpPackageVersion>
<MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>3.0.0</MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>
Expand Down Expand Up @@ -242,7 +243,7 @@
<IdentityServer4PackageVersion>3.0.0</IdentityServer4PackageVersion>
<IdentityServer4StoragePackageVersion>3.0.0</IdentityServer4StoragePackageVersion>
<IdentityServer4EntityFrameworkStoragePackageVersion>3.0.0</IdentityServer4EntityFrameworkStoragePackageVersion>
<MessagePackPackageVersion>1.7.3.7</MessagePackPackageVersion>
<MessagePackPackageVersion>2.0.323</MessagePackPackageVersion>
<MoqPackageVersion>4.10.0</MoqPackageVersion>
<MonoCecilPackageVersion>0.10.1</MonoCecilPackageVersion>
<NewtonsoftJsonBsonPackageVersion>1.0.2</NewtonsoftJsonBsonPackageVersion>
Expand Down
56 changes: 56 additions & 0 deletions src/SignalR/common/Protocols.MessagePack/src/BannedSymbols.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
M:MessagePackSerializer.Serialize(System.Type, System.IO.Stream, System.Object);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, System.Object);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(System.Buffers.IBufferWriter<byte>,``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, ref MessagePack.MessagePackWriter, System.Object);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(System.IO.Stream,``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(ref MessagePack.MessagePackWriter,``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, System.Buffers.IBufferWriter<byte>, System.Object);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeAsync(System.Type, System.IO.Stream, System.Object);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeAsync``1(System.IO.Stream,``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeToJson``1(``0);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeToJson``1(TextWriter textWriter,``0);Don't use this method without passing MessagePackSerializerOptions

M:MessagePackSerializer.Serialize(System.Type, System.IO.Stream, System.Object, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, System.Object, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(System.Buffers.IBufferWriter<byte>,``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, ref MessagePack.MessagePackWriter, System.Object, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(System.IO.Stream,``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize``1(ref MessagePack.MessagePackWriter,``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Serialize(System.Type, System.Buffers.IBufferWriter<byte>, System.Object, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeAsync(System.Type, System.IO.Stream, System.Object, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeAsync``1(System.IO.Stream,``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeToJson``1(``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.SerializeToJson``1(TextWriter textWriter,``0, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions

M:MessagePackSerializer.Deserialize(System.Type, ref MessagePack.MessagePackReader);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(System.IO.Stream);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(System.ReadOnlyMemory<byte>);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(ref MessagePack.MessagePackReader);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(in System.Buffers.ReadOnlySequence<byte>);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.IO.Stream);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.ReadOnlyMemory<byte>);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.Buffers.ReadOnlySequence<byte>);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.DeserializeAsync``1(System.IO.Stream);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.DeserializeAsync(System.Type, System.IO.Stream);Don't use this method without passing MessagePackSerializerOptions

M:MessagePackSerializer.Deserialize``1(System.IO.Stream, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(System.ReadOnlyMemory<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize``1(in System.Buffers.ReadOnlySequence<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.IO.Stream, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.ReadOnlyMemory<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.Deserialize(System.Type, System.Buffers.ReadOnlySequence<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.DeserializeAsync``1(System.IO.Stream, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.DeserializeAsync(System.Type, System.IO.Stream, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions

M:MessagePackSerializer.ConvertFromJson(System.String);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertFromJson(System.String, ref MessagePack.MessagePackWriter);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertFromJson(System.IO.TextReader, ref MessagePack.MessagePackWriter);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertToJson(in System.Buffers.ReadOnlySequence<byte>)
M:MessagePackSerializer.ConvertToJson(ref MessagePack.MessagePackReader, System.IO.TextWriter);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertToJson(System.ReadOnlyMemory<byte>)

M:MessagePackSerializer.ConvertFromJson(System.String, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertToJson(in System.Buffers.ReadOnlySequence<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
M:MessagePackSerializer.ConvertToJson(System.ReadOnlyMemory<byte>, System.Threading.CancellationToken);Don't use this method without passing MessagePackSerializerOptions
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Description>Implements the SignalR Hub Protocol over MsgPack.</Description>
Expand All @@ -17,6 +17,11 @@
<ItemGroup>
<Reference Include="Microsoft.AspNetCore.SignalR.Common" />
<Reference Include="MessagePack" />
<Reference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" />
</ItemGroup>

<ItemGroup>
<AdditionalFiles Include="BannedSymbols.txt" />
</ItemGroup>

</Project>
Loading