diff --git a/NuGet.config b/NuGet.config index 66f5d2f4634d..1d1ed063d794 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,8 +4,10 @@ + + @@ -28,8 +30,10 @@ + + diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props index 3fd723523160..ffeba29a66d4 100644 --- a/eng/Baseline.Designer.props +++ b/eng/Baseline.Designer.props @@ -2,117 +2,117 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 @@ -120,279 +120,279 @@ - 9.0.6 + 9.0.7 - - - + + + - - - + + + - - - + + + - 9.0.6 + 9.0.7 - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - - - - - + + + + + - 9.0.6 + 9.0.7 - - - - - + + + + + - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - - - - - + + + + + + - 9.0.6 + 9.0.7 - - - + + + - 9.0.6 + 9.0.7 - - - + + + - + - - - + + + - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - + - + - 9.0.6 + 9.0.7 - - - - - - + + + + + + - + - - - - - - - + + + + + + + - - - - - - + + + + + + - + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - - + + - - + + - - + + - 9.0.6 + 9.0.7 - + - + - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 @@ -401,83 +401,83 @@ - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - - - + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - 9.0.6 + 9.0.7 - - + + - + - - + + - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 @@ -493,510 +493,510 @@ - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - + + - - + + - - + + - 9.0.6 + 9.0.7 - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - 9.0.6 + 9.0.7 - - + + - + - - + + - - - + + + - 9.0.6 + 9.0.7 - + - + - + - 9.0.6 + 9.0.7 - + - + - + - 9.0.6 + 9.0.7 - + - + - + - 9.0.6 + 9.0.7 - - - - + + + + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - + + - - + + - - + + - 9.0.6 + 9.0.7 - - - + + + - - - + + + - - - + + + - - - + + + - 9.0.6 + 9.0.7 - - + + - - + + - - + + - 9.0.6 + 9.0.7 - - - - - + + + + + - - - - + + + + - - - - - + + + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - + - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - - - + + + - - - + + + - - - + + + - 9.0.6 + 9.0.7 - - - + + + - - - + + + - - - + + + - 9.0.6 + 9.0.7 - - - - + + + + - - - - + + + + - - - - + + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - - - + + + - - + + - - - + + + - 9.0.6 + 9.0.7 - 9.0.6 + 9.0.7 - + - 9.0.6 + 9.0.7 - + \ No newline at end of file diff --git a/eng/Baseline.xml b/eng/Baseline.xml index 4c39c3649c99..3efad5672524 100644 --- a/eng/Baseline.xml +++ b/eng/Baseline.xml @@ -4,110 +4,110 @@ This file contains a list of all the packages and their versions which were rele Update this list when preparing for a new patch. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a7f172e3418c..9b5557957a57 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -9,325 +9,325 @@ --> - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 8751e6d519fda94d5154187358765311ed4a4e84 + 67d253c17619e6ba325e5390905ea2a13cc7f532 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 https://github.com/dotnet/xdt @@ -367,9 +367,9 @@ bc1c3011064a493b0ca527df6fb7215e2e5cfa96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 @@ -380,9 +380,9 @@ - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 3875b54e7b10b10606b105340199946d0b877754 + 3c298d9f00936d651cc47d221762474e25277672 https://github.com/dotnet/winforms diff --git a/eng/Versions.props b/eng/Versions.props index 3623e8e7d13d..06a532daf18c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,7 +11,7 @@ 8 - false + true 8.0.1 *-* - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6-servicing.25266.13 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6-servicing.25266.13 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6-servicing.25266.13 - 9.0.6-servicing.25266.13 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7-servicing.25316.16 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7-servicing.25316.16 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7-servicing.25316.16 + 9.0.7-servicing.25316.16 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 - 9.0.6-servicing.25266.13 - 9.0.6 + 9.0.7-servicing.25316.16 + 9.0.7 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 9.8.0-preview.1.25354.1 9.8.0-preview.1.25354.1 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 - 9.0.6 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 + 9.0.7 4.11.0-3.24554.2 4.11.0-3.24554.2 diff --git a/global.json b/global.json index af226bcbc749..50846f295c7d 100644 --- a/global.json +++ b/global.json @@ -1,9 +1,9 @@ { "sdk": { - "version": "9.0.107" + "version": "9.0.108" }, "tools": { - "dotnet": "9.0.107", + "dotnet": "9.0.108", "runtimes": { "dotnet/x86": [ "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)" diff --git a/src/Http/Headers/test/CookieHeaderValueTest.cs b/src/Http/Headers/test/CookieHeaderValueTest.cs index 6623a8ed13dd..6ad2e962d005 100644 --- a/src/Http/Headers/test/CookieHeaderValueTest.cs +++ b/src/Http/Headers/test/CookieHeaderValueTest.cs @@ -75,7 +75,7 @@ public static TheoryData InvalidCookieValues } } - public static TheoryData, string?[]> ListOfCookieHeaderDataSet + public static TheoryData, string?[]> ListOfStrictCookieHeaderDataSet { get { @@ -94,19 +94,30 @@ public static TheoryData InvalidCookieValues dataset.Add(new[] { header1 }.ToList(), new[] { string1 }); dataset.Add(new[] { header1, header1 }.ToList(), new[] { string1, string1 }); - dataset.Add(new[] { header1, header1 }.ToList(), new[] { string1, null, "", " ", ";", " , ", string1 }); dataset.Add(new[] { header2 }.ToList(), new[] { string2 }); dataset.Add(new[] { header1, header2 }.ToList(), new[] { string1, string2 }); - dataset.Add(new[] { header1, header2 }.ToList(), new[] { string1 + ", " + string2 }); dataset.Add(new[] { header2, header1 }.ToList(), new[] { string2 + "; " + string1 }); dataset.Add(new[] { header1, header2, header3, header4 }.ToList(), new[] { string1, string2, string3, string4 }); - dataset.Add(new[] { header1, header2, header3, header4 }.ToList(), new[] { string.Join(",", string1, string2, string3, string4) }); dataset.Add(new[] { header1, header2, header3, header4 }.ToList(), new[] { string.Join(";", string1, string2, string3, string4) }); return dataset; } } + public static TheoryData, string?[]> ListOfCookieHeaderDataSet + { + get + { + var header1 = new CookieHeaderValue("name1", "n1=v1&n2=v2&n3=v3"); + var string1 = "name1=n1=v1&n2=v2&n3=v3"; + + var dataset = new TheoryData, string?[]>(); + dataset.Concat(ListOfStrictCookieHeaderDataSet); + dataset.Add(new[] { header1, header1 }.ToList(), new[] { string1, null, "", " ", ";", " , ", string1 }); + return dataset; + } + } + public static TheoryData?, string?[]> ListWithInvalidCookieHeaderDataSet { get @@ -127,18 +138,19 @@ public static TheoryData InvalidCookieValues dataset.Add(new[] { header1 }.ToList(), new[] { validString1, invalidString1 }); dataset.Add(new[] { header1 }.ToList(), new[] { validString1, null, "", " ", ";", " , ", invalidString1 }); dataset.Add(new[] { header1 }.ToList(), new[] { invalidString1, null, "", " ", ";", " , ", validString1 }); - dataset.Add(new[] { header1 }.ToList(), new[] { validString1 + ", " + invalidString1 }); - dataset.Add(new[] { header2 }.ToList(), new[] { invalidString1 + ", " + validString2 }); + dataset.Add(null, new[] { validString1 + ", " }); + dataset.Add(null, new[] { invalidString1 + ", " + validString2 }); dataset.Add(new[] { header1 }.ToList(), new[] { invalidString1 + "; " + validString1 }); dataset.Add(new[] { header2 }.ToList(), new[] { validString2 + "; " + invalidString1 }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { invalidString1, validString1, validString2, validString3 }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { validString1, invalidString1, validString2, validString3 }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { validString1, validString2, invalidString1, validString3 }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { validString1, validString2, validString3, invalidString1 }); - dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(",", invalidString1, validString1, validString2, validString3) }); - dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(",", validString1, invalidString1, validString2, validString3) }); - dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(",", validString1, validString2, invalidString1, validString3) }); - dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(",", validString1, validString2, validString3, invalidString1) }); + dataset.Add(null, new[] { string.Join(",", invalidString1, validString1, validString2, validString3) }); + dataset.Add(null, new[] { string.Join(",", validString1, invalidString1, validString2, validString3) }); + dataset.Add(null, new[] { string.Join(",", validString1, validString2, invalidString1, validString3) }); + dataset.Add(null, new[] { string.Join(",", validString1, validString2, validString3, invalidString1) }); + dataset.Add(null, new[] { string.Join(",", validString1, validString2, validString3) }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(";", invalidString1, validString1, validString2, validString3) }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(";", validString1, invalidString1, validString2, validString3) }); dataset.Add(new[] { header1, header2, header3 }.ToList(), new[] { string.Join(";", validString1, validString2, invalidString1, validString3) }); @@ -248,7 +260,7 @@ public void CookieHeaderValue_ParseList_AcceptsValidValues(IList cookies, string[] input) { var results = CookieHeaderValue.ParseStrictList(input); @@ -267,7 +279,7 @@ public void CookieHeaderValue_TryParseList_AcceptsValidValues(IList cookies, string[] input) { var result = CookieHeaderValue.TryParseStrictList(input, out var results); diff --git a/src/Http/Http.Extensions/test/HeaderDictionaryTypeExtensionsTest.cs b/src/Http/Http.Extensions/test/HeaderDictionaryTypeExtensionsTest.cs index 33ecc3ff1ea8..b4071866534b 100644 --- a/src/Http/Http.Extensions/test/HeaderDictionaryTypeExtensionsTest.cs +++ b/src/Http/Http.Extensions/test/HeaderDictionaryTypeExtensionsTest.cs @@ -214,7 +214,7 @@ public void GetListT_StringWithQualityHeaderValidValue_Success() public void GetListT_CookieHeaderValue_Success() { var context = new DefaultHttpContext(); - context.Request.Headers.Cookie = "cookie1=a,cookie2=b"; + context.Request.Headers.Cookie = "cookie1=a;cookie2=b"; var result = context.Request.GetTypedHeaders().GetList(HeaderNames.Cookie); diff --git a/src/Http/Http/test/RequestCookiesCollectionTests.cs b/src/Http/Http/test/RequestCookiesCollectionTests.cs index e08a53f29711..d584f2db0599 100644 --- a/src/Http/Http/test/RequestCookiesCollectionTests.cs +++ b/src/Http/Http/test/RequestCookiesCollectionTests.cs @@ -33,11 +33,18 @@ public void ParseManyCookies() [Theory] [InlineData(",", null)] [InlineData(";", null)] - [InlineData("er=dd,cc,bb", new[] { "dd" })] - [InlineData("er=dd,err=cc,errr=bb", new[] { "dd", "cc", "bb" })] - [InlineData("errorcookie=dd,:(\"sa;", new[] { "dd" })] + [InlineData("er=dd,cc,bb", null)] + [InlineData("er=dd,err=cc,errr=bb", null)] + [InlineData("errorcookie=dd,:(\"sa;", null)] [InlineData("s;", null)] [InlineData("er=;,err=,errr=\\,errrr=\"", null)] + [InlineData("a@a=a;", null)] + [InlineData("a@ a=a;", null)] + [InlineData("a a=a;", null)] + [InlineData(",a=a;", null)] + [InlineData(",a=a", null)] + [InlineData("a=a;,b=b", new []{ "a" })] // valid cookie followed by invalid cookie + [InlineData(",a=a;b=b", new[] { "b" })] // invalid cookie followed by valid cookie public void ParseInvalidCookies(string cookieToParse, string[] expectedCookieValues) { var cookies = RequestCookieCollection.Parse(new StringValues(new[] { cookieToParse })); diff --git a/src/Http/Shared/CookieHeaderParserShared.cs b/src/Http/Shared/CookieHeaderParserShared.cs index e4b1d83e519a..0eb1c64d533a 100644 --- a/src/Http/Shared/CookieHeaderParserShared.cs +++ b/src/Http/Shared/CookieHeaderParserShared.cs @@ -89,6 +89,17 @@ public static bool TryParseValue(StringSegment value, ref int index, bool suppor if (!TryGetCookieLength(value, ref current, out parsedName, out parsedValue)) { + var separatorIndex = value.IndexOf(';', current); + if (separatorIndex > 0) + { + // Skip the invalid values and keep trying. + index = separatorIndex; + } + else + { + // No more separators, so we're done. + index = value.Length; + } return false; } @@ -97,6 +108,17 @@ public static bool TryParseValue(StringSegment value, ref int index, bool suppor // If we support multiple values and we've not reached the end of the string, then we must have a separator. if ((separatorFound && !supportsMultipleValues) || (!separatorFound && (current < value.Length))) { + var separatorIndex = value.IndexOf(';', current); + if (separatorIndex > 0) + { + // Skip the invalid values and keep trying. + index = separatorIndex; + } + else + { + // No more separators, so we're done. + index = value.Length; + } return false; } @@ -112,7 +134,7 @@ private static int GetNextNonEmptyOrWhitespaceIndex(StringSegment input, int sta separatorFound = false; var current = startIndex + HttpRuleParser.GetWhitespaceLength(input, startIndex); - if ((current == input.Length) || (input[current] != ',' && input[current] != ';')) + if (current == input.Length || input[current] != ';') { return current; } @@ -125,8 +147,8 @@ private static int GetNextNonEmptyOrWhitespaceIndex(StringSegment input, int sta if (skipEmptyValues) { - // Most headers only split on ',', but cookies primarily split on ';' - while ((current < input.Length) && ((input[current] == ',') || (input[current] == ';'))) + // Cookies are split on ';' + while (current < input.Length && input[current] == ';') { current++; // skip delimiter. current = current + HttpRuleParser.GetWhitespaceLength(input, current); @@ -136,6 +158,18 @@ private static int GetNextNonEmptyOrWhitespaceIndex(StringSegment input, int sta return current; } + /* + * https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1 + * cookie-pair = cookie-name "=" cookie-value + * cookie-name = token + * token = 1* + separators = "(" | ")" | "<" | ">" | "@" + | "," | ";" | ":" | "\" | <"> + | "/" | "[" | "]" | "?" | "=" + | "{" | "}" | SP | HT + CTL = + */ // name=value; name="value" internal static bool TryGetCookieLength(StringSegment input, ref int offset, [NotNullWhen(true)] out StringSegment? parsedName, [NotNullWhen(true)] out StringSegment? parsedValue) {