chore(deps): remove Microsoft.Data.SqlClient transitive pin once EF Core SqlServer floats a patched SqlClient

オープン
#610 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
58/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
csharp, postgresql
領域
devops, security

調査の方向性

Read the Directory.Packages.props pin and the issue's linked background in #602 / PR #609. Test a candidate EFCoreVersion with the pin temporarily removed, then run dotnet nuget why Datasync.Toolkit.sln System.Security.Cryptography.Pkcs and the vulnerable package check. Done when a patched SqlClient is floated, the pin and comment are removed, and the listed restore, build, and test checks pass.

索引モデルが issue の本文から書いたものです。

説明

Blocked dependencies Infrastructure

Part of the outdated-package sweep (#587-#594). Follow-up to #602 / PR #609.

Background

#602 added an explicit transitive pin in the root Directory.Packages.props:

<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.8" />

Microsoft.EntityFrameworkCore.SqlServer 10.0.14 floats Microsoft.Data.SqlClient 6.1.7, which depends on System.Security.Cryptography.Pkcs 9.0.11 (GHSA-846f-f764-76mx, GHSA-2fmv-rv2c-59x7; fixed in 9.0.21 / 10.0.13). The pin is a workaround and should not live forever.

Task

Remove the Microsoft.Data.SqlClient pin (and its explanatory comment) once a Microsoft.EntityFrameworkCore.SqlServer release floats a Microsoft.Data.SqlClient that is not affected, i.e. one that depends on System.Security.Cryptography.Pkcs >= 9.0.21 (net9.0 group) / >= 10.0.13.

How to check

  1. Bump EFCoreVersion (or test a candidate version) and run dotnet nuget why Datasync.Toolkit.sln System.Security.Cryptography.Pkcs with the pin temporarily removed.
  2. If the resolved Pkcs is >= 9.0.21 and the resolved Microsoft.Data.SqlClient is >= 6.1.8, the pin is no longer needed.

Acceptance criteria

  • Pin and comment removed from Directory.Packages.props.
  • dotnet restore shows no NU1901-NU1904 warnings.
  • dotnet list Datasync.Toolkit.sln package --vulnerable --include-transitive reports nothing.
  • dotnet build && dotnet test pass (Docker running for the SQL Server Testcontainers suite); build-library.yml green.
  • Suggested PR title: chore(deps): remove Microsoft.Data.SqlClient transitive pin.
主要言語
C#
スター
184
フォーク
48
平均マージ
12分
マージ済み PR(30日)
21

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CommunityToolkit/Datasync のほかの issue

CommunityToolkit/Datasync の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。